mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-02 09:46:37 +03:00
Merge patch series "board: beagle: beagley-ai: Cleanups and stdboot"
Nishanth Menon <nm@ti.com> says:
Just happened to get a BeagleY-AI at desk and happened to test master
branch (7dd49a9264 drivers: scsi: Add 'erase' support), noticed a few
issues which were rather easy to solve.. so, here we go:
Link: https://lore.kernel.org/r/20250425173120.141503-1-nm@ti.com
This commit is contained in:
@@ -53,6 +53,10 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&main_gpio1 {
|
||||
bootph-all;
|
||||
};
|
||||
|
||||
#if IS_ENABLED(CONFIG_TARGET_J722S_R5_BEAGLEY_AI)
|
||||
|
||||
&binman {
|
||||
|
||||
@@ -3,6 +3,4 @@ M: Robert Nelson <robertcnelson@gmail.com>
|
||||
M: Tom Rini <trini@konsulko.com>
|
||||
S: Maintained
|
||||
F: board/beagle/beagley-ai/
|
||||
F: include/configs/beagley_ai.h
|
||||
F: configs/am67a_beagley_ai_r5_defconfig
|
||||
F: configs/am67a_beagley_ai_a53_defconfig
|
||||
N: beagley_ai
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include <env/ti/ti_common.env>
|
||||
#include <env/ti/mmc.env>
|
||||
#include <env/ti/k3_dfu.env>
|
||||
|
||||
#if CONFIG_CMD_REMOTEPROC
|
||||
#include <env/ti/k3_rproc.env>
|
||||
@@ -10,8 +11,11 @@ console=ttyS2,115200n8
|
||||
args_all=setenv optargs ${optargs} earlycon=ns16550a,mmio32,0x02800000
|
||||
${mtdparts}
|
||||
run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr}
|
||||
set_led_state_fail_load=led led-0 off
|
||||
set_led_state_start_load=led led-0 on
|
||||
|
||||
boot_targets=mmc1 mmc0 pxe dhcp
|
||||
boot_targets=mmc1
|
||||
bootmeths=script extlinux efi pxe
|
||||
boot=mmc
|
||||
mmcdev=1
|
||||
bootpart=1:2
|
||||
|
||||
@@ -1,37 +1,146 @@
|
||||
#include <configs/j722s_evm_a53_defconfig>
|
||||
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_K3=y
|
||||
CONFIG_SYS_MALLOC_F_LEN=0x8000
|
||||
CONFIG_TI_COMMON_CMD_OPTIONS=y
|
||||
CONFIG_SPL_GPIO=y
|
||||
CONFIG_SPL_LIBCOMMON_SUPPORT=y
|
||||
CONFIG_SPL_LIBGENERIC_SUPPORT=y
|
||||
CONFIG_SOC_K3_J722S=y
|
||||
CONFIG_TARGET_J722S_A53_BEAGLEY_AI=y
|
||||
|
||||
CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
|
||||
CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80480000
|
||||
CONFIG_ENV_SIZE=0x40000
|
||||
CONFIG_DM_GPIO=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="ti/k3-am67a-beagley-ai"
|
||||
CONFIG_SPL_OF_LIST="ti/k3-am67a-beagley-ai"
|
||||
CONFIG_OF_LIST="ti/k3-am67a-beagley-ai"
|
||||
|
||||
CONFIG_BOOTCOMMAND="run findfdt; run envboot; run distro_bootcmd"
|
||||
CONFIG_EXT4_WRITE=y
|
||||
CONFIG_LZO=y
|
||||
CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
CONFIG_DM_RESET=y
|
||||
CONFIG_SPL_MMC=y
|
||||
CONFIG_SPL_SERIAL=y
|
||||
CONFIG_SPL_STACK_R_ADDR=0x82000000
|
||||
CONFIG_SPL_TEXT_BASE=0x80080000
|
||||
CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
|
||||
CONFIG_SPL_BSS_START_ADDR=0x80a00000
|
||||
CONFIG_SPL_BSS_MAX_SIZE=0x80000
|
||||
CONFIG_SPL_STACK_R=y
|
||||
CONFIG_SPL_FS_FAT=y
|
||||
CONFIG_SPL_LIBDISK_SUPPORT=y
|
||||
# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
|
||||
CONFIG_SPL_LOAD_FIT=y
|
||||
CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
|
||||
CONFIG_BOOTSTD_FULL=y
|
||||
CONFIG_AUTOBOOT_KEYED=y
|
||||
CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
|
||||
CONFIG_AUTOBOOT_DELAY_STR="d"
|
||||
CONFIG_AUTOBOOT_STOP_STR=" "
|
||||
CONFIG_TI_I2C_BOARD_DETECT=n
|
||||
CONFIG_SPL_SPI=n
|
||||
CONFIG_SPL_SPI_FLASH_SUPPORT=n
|
||||
CONFIG_SPL_DM_SPI_FLASH=n
|
||||
CONFIG_SPL_MTD_SUPPORT=n
|
||||
CONFIG_SPL_MTD_SUPPORT=n
|
||||
CONFIG_DM_SPI_FLASH=n
|
||||
CONFIG_SPI_FLASH=n
|
||||
CONFIG_MTD=n
|
||||
CONFIG_MTD_PARTITIONS=n
|
||||
CONFIG_DM_MTD=n
|
||||
CONFIG_MTD_UBI=n
|
||||
CONFIG_CMD_UBIFS=n
|
||||
CONFIG_CMD_UBI=n
|
||||
CONFIG_DFU_SF=n
|
||||
CONFIG_DM_SPI=n
|
||||
CONFIG_SPL_SPI_LOAD=n
|
||||
CONFIG_SPL_MTD=n
|
||||
CONFIG_CMD_SPI=n
|
||||
CONFIG_BOOTCOMMAND="run set_led_state_start_load; run envboot; bootflow scan -lb; run set_led_state_fail_load"
|
||||
CONFIG_BOARD_LATE_INIT=y
|
||||
CONFIG_SPL_MAX_SIZE=0x58000
|
||||
CONFIG_SPL_PAD_TO=0x0
|
||||
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
|
||||
CONFIG_SPL_SYS_MMCSD_RAW_MODE=y
|
||||
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x1400
|
||||
CONFIG_SPL_DMA=y
|
||||
CONFIG_SPL_ENV_SUPPORT=y
|
||||
CONFIG_SPL_FS_LOAD_PAYLOAD_NAME="u-boot.img"
|
||||
CONFIG_SPL_I2C=y
|
||||
CONFIG_SPL_DM_MAILBOX=y
|
||||
CONFIG_SPL_POWER_DOMAIN=y
|
||||
CONFIG_SPL_RAM_DEVICE=y
|
||||
CONFIG_SPL_THERMAL=y
|
||||
CONFIG_SPL_YMODEM_SUPPORT=y
|
||||
CONFIG_CMD_CLK=y
|
||||
CONFIG_CMD_GPIO_READ=y
|
||||
CONFIG_CMD_USB_MASS_STORAGE=y
|
||||
CONFIG_CMD_EFIDEBUG=y
|
||||
CONFIG_OF_CONTROL=y
|
||||
CONFIG_SPL_OF_CONTROL=y
|
||||
CONFIG_OF_UPSTREAM=y
|
||||
CONFIG_MULTI_DTB_FIT=y
|
||||
CONFIG_SPL_MULTI_DTB_FIT=y
|
||||
CONFIG_SPL_MULTI_DTB_FIT_NO_COMPRESSION=y
|
||||
CONFIG_NET_RANDOM_ETHADDR=y
|
||||
CONFIG_SPL_DM=y
|
||||
CONFIG_SPL_DM_DEVICE_REMOVE=y
|
||||
CONFIG_SPL_DM_SEQ_ALIAS=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_SPL_REGMAP=y
|
||||
CONFIG_SPL_SYSCON=y
|
||||
CONFIG_SPL_OF_TRANSLATE=y
|
||||
CONFIG_CLK=y
|
||||
CONFIG_SPL_CLK=y
|
||||
CONFIG_CLK_TI_SCI=y
|
||||
CONFIG_DFU_MMC=y
|
||||
CONFIG_DFU_RAM=y
|
||||
CONFIG_SYS_DFU_DATA_BUF_SIZE=0x40000
|
||||
CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000
|
||||
CONFIG_DMA_CHANNELS=y
|
||||
CONFIG_TI_K3_NAVSS_UDMA=y
|
||||
CONFIG_USB_FUNCTION_FASTBOOT=y
|
||||
CONFIG_FASTBOOT_BUF_ADDR=0xC0000000
|
||||
CONFIG_FASTBOOT_BUF_SIZE=0x2F000000
|
||||
CONFIG_TI_SCI_PROTOCOL=y
|
||||
CONFIG_SPL_DM_GPIO_LOOKUP_LABEL=y
|
||||
CONFIG_DA8XX_GPIO=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_SYS_I2C_OMAP24XX=y
|
||||
CONFIG_LED=y
|
||||
CONFIG_SPL_LED=y
|
||||
CONFIG_LED_GPIO=y
|
||||
CONFIG_SPL_LED_GPIO=y
|
||||
CONFIG_DM_MAILBOX=y
|
||||
CONFIG_K3_SEC_PROXY=y
|
||||
CONFIG_I2C_EEPROM=y
|
||||
CONFIG_SPL_I2C_EEPROM=y
|
||||
CONFIG_FS_LOADER=y
|
||||
CONFIG_MMC_IO_VOLTAGE=y
|
||||
CONFIG_SPL_MMC_IO_VOLTAGE=y
|
||||
CONFIG_MMC_UHS_SUPPORT=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_ADMA=y
|
||||
CONFIG_SPL_MMC_SDHCI_ADMA=y
|
||||
CONFIG_MMC_SDHCI_AM654=y
|
||||
CONFIG_PHY_TI_DP83867=y
|
||||
CONFIG_TI_AM65_CPSW_NUSS=y
|
||||
CONFIG_PINCTRL=y
|
||||
CONFIG_SPL_PINCTRL=y
|
||||
CONFIG_PINCTRL_SINGLE=y
|
||||
CONFIG_POWER_DOMAIN=y
|
||||
CONFIG_TI_SCI_POWER_DOMAIN=y
|
||||
CONFIG_DM_PMIC=y
|
||||
CONFIG_PMIC_TPS65219=y
|
||||
CONFIG_DM_REGULATOR=y
|
||||
CONFIG_SPL_DM_REGULATOR=y
|
||||
CONFIG_DM_REGULATOR_FIXED=y
|
||||
CONFIG_SPL_DM_REGULATOR_FIXED=y
|
||||
CONFIG_DM_REGULATOR_GPIO=y
|
||||
CONFIG_SPL_DM_REGULATOR_GPIO=y
|
||||
CONFIG_DM_REGULATOR_TPS65219=y
|
||||
CONFIG_K3_SYSTEM_CONTROLLER=y
|
||||
CONFIG_RESET_TI_SCI=y
|
||||
CONFIG_DM_SERIAL=y
|
||||
CONFIG_SOC_DEVICE=y
|
||||
CONFIG_SOC_DEVICE_TI_K3=y
|
||||
CONFIG_SOC_TI=y
|
||||
CONFIG_SYSRESET=y
|
||||
CONFIG_SPL_SYSRESET=y
|
||||
CONFIG_SYSRESET_TI_SCI=y
|
||||
CONFIG_DM_THERMAL=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_DM_USB_GADGET=y
|
||||
CONFIG_SPL_DM_USB_GADGET=y
|
||||
CONFIG_SPL_USB_HOST=y
|
||||
CONFIG_USB_XHCI_HCD=y
|
||||
CONFIG_USB_DWC3=y
|
||||
CONFIG_USB_DWC3_GENERIC=y
|
||||
CONFIG_SPL_USB_DWC3_GENERIC=y
|
||||
CONFIG_SPL_USB_DWC3_AM62=y
|
||||
CONFIG_USB_DWC3_AM62=y
|
||||
CONFIG_SPL_USB_STORAGE=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_SPL_USB_GADGET=y
|
||||
CONFIG_USB_GADGET_MANUFACTURER="Texas Instruments"
|
||||
CONFIG_USB_GADGET_VENDOR_NUM=0x0451
|
||||
CONFIG_USB_GADGET_PRODUCT_NUM=0x6165
|
||||
CONFIG_SPL_DFU=y
|
||||
CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
|
||||
CONFIG_LZO=y
|
||||
|
||||
@@ -1,14 +1,105 @@
|
||||
#include <configs/j722s_evm_r5_defconfig>
|
||||
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_K3=y
|
||||
CONFIG_SYS_MALLOC_F_LEN=0x9000
|
||||
CONFIG_SPL_LIBCOMMON_SUPPORT=y
|
||||
CONFIG_SPL_LIBGENERIC_SUPPORT=y
|
||||
CONFIG_SOC_K3_J722S=y
|
||||
CONFIG_K3_QOS=y
|
||||
CONFIG_TARGET_J722S_R5_BEAGLEY_AI=y
|
||||
|
||||
CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
|
||||
CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x43c4a7f0
|
||||
CONFIG_ENV_SIZE=0x20000
|
||||
CONFIG_SPL_DM_SPI=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="k3-am67a-r5-beagley-ai"
|
||||
CONFIG_SPL_OF_LIST="k3-am67a-r5-beagley-ai"
|
||||
CONFIG_OF_LIST="k3-am67a-r5-beagley-ai"
|
||||
|
||||
CONFIG_TI_I2C_BOARD_DETECT=n
|
||||
CONFIG_SPL_DM_SPI_FLASH=n
|
||||
CONFIG_SPL_MTD_SUPPORT=n
|
||||
CONFIG_DM_RESET=y
|
||||
CONFIG_SPL_MMC=y
|
||||
CONFIG_SPL_SERIAL=y
|
||||
CONFIG_SPL_DRIVERS_MISC=y
|
||||
CONFIG_SPL_STACK_R_ADDR=0x82000000
|
||||
CONFIG_SPL_SYS_MALLOC_F_LEN=0x8000
|
||||
CONFIG_SPL_TEXT_BASE=0x43c00000
|
||||
CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
|
||||
CONFIG_SPL_BSS_START_ADDR=0x43c7b000
|
||||
CONFIG_SPL_BSS_MAX_SIZE=0x3000
|
||||
CONFIG_SPL_STACK_R=y
|
||||
CONFIG_SPL_SIZE_LIMIT=0x3C000
|
||||
CONFIG_SPL_SIZE_LIMIT_PROVIDE_STACK=0x5000
|
||||
CONFIG_SPL_FS_FAT=y
|
||||
CONFIG_SPL_LIBDISK_SUPPORT=y
|
||||
CONFIG_SPL_SPI_FLASH_SUPPORT=y
|
||||
CONFIG_SPL_SPI=y
|
||||
CONFIG_SPL_LOAD_FIT=y
|
||||
CONFIG_SPL_LOAD_FIT_ADDRESS=0x80080000
|
||||
# CONFIG_DISPLAY_CPUINFO is not set
|
||||
CONFIG_SPL_SIZE_LIMIT_SUBTRACT_GD=y
|
||||
CONFIG_SPL_SIZE_LIMIT_SUBTRACT_MALLOC=y
|
||||
CONFIG_SPL_MAX_SIZE=0x6ce00
|
||||
CONFIG_SPL_PAD_TO=0x0
|
||||
CONFIG_SPL_SYS_REPORT_STACK_F_USAGE=y
|
||||
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
|
||||
CONFIG_SPL_SEPARATE_BSS=y
|
||||
CONFIG_SPL_EARLY_BSS=y
|
||||
CONFIG_SPL_SYS_MMCSD_RAW_MODE=y
|
||||
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x400
|
||||
CONFIG_SPL_DMA=y
|
||||
CONFIG_SPL_DM_MAILBOX=y
|
||||
CONFIG_SPL_DM_RESET=y
|
||||
CONFIG_SPL_POWER_DOMAIN=y
|
||||
CONFIG_SPL_RAM_DEVICE=y
|
||||
CONFIG_SPL_THERMAL=y
|
||||
CONFIG_SPL_YMODEM_SUPPORT=y
|
||||
CONFIG_HUSH_PARSER=y
|
||||
CONFIG_CMD_ASKENV=y
|
||||
CONFIG_CMD_DFU=y
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_MMC=y
|
||||
# CONFIG_CMD_SETEXPR is not set
|
||||
CONFIG_CMD_TIME=y
|
||||
CONFIG_CMD_FAT=y
|
||||
CONFIG_OF_CONTROL=y
|
||||
CONFIG_SPL_OF_CONTROL=y
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_NO_NET=y
|
||||
CONFIG_SPL_DM=y
|
||||
CONFIG_SPL_DM_DEVICE_REMOVE=y
|
||||
CONFIG_SPL_DM_SEQ_ALIAS=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_SPL_REGMAP=y
|
||||
CONFIG_SPL_OF_TRANSLATE=y
|
||||
CONFIG_CLK=y
|
||||
CONFIG_SPL_CLK=y
|
||||
CONFIG_SPL_CLK_CCF=y
|
||||
CONFIG_SPL_CLK_K3_PLL=y
|
||||
CONFIG_SPL_CLK_K3=y
|
||||
CONFIG_DMA_CHANNELS=y
|
||||
CONFIG_TI_K3_NAVSS_UDMA=y
|
||||
CONFIG_TI_SCI_PROTOCOL=y
|
||||
# CONFIG_GPIO is not set
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_SYS_I2C_OMAP24XX=y
|
||||
CONFIG_DM_MAILBOX=y
|
||||
CONFIG_K3_SEC_PROXY=y
|
||||
CONFIG_ESM_K3=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_ADMA=y
|
||||
CONFIG_SPL_MMC_SDHCI_ADMA=y
|
||||
CONFIG_MMC_SDHCI_AM654=y
|
||||
CONFIG_PINCTRL=y
|
||||
# CONFIG_PINCTRL_GENERIC is not set
|
||||
CONFIG_SPL_PINCTRL=y
|
||||
# CONFIG_SPL_PINCTRL_GENERIC is not set
|
||||
CONFIG_PINCTRL_SINGLE=y
|
||||
CONFIG_POWER_DOMAIN=y
|
||||
CONFIG_TI_POWER_DOMAIN=y
|
||||
CONFIG_K3_SYSTEM_CONTROLLER=y
|
||||
CONFIG_RESET_TI_SCI=y
|
||||
CONFIG_SPECIFY_CONSOLE_INDEX=y
|
||||
CONFIG_DM_SERIAL=y
|
||||
CONFIG_SOC_DEVICE=y
|
||||
CONFIG_SOC_DEVICE_TI_K3=y
|
||||
CONFIG_SOC_TI=y
|
||||
CONFIG_TIMER=y
|
||||
CONFIG_SPL_TIMER=y
|
||||
CONFIG_OMAP_TIMER=y
|
||||
CONFIG_LIB_RATIONAL=y
|
||||
CONFIG_SPL_LIB_RATIONAL=y
|
||||
|
||||
244
doc/board/beagle/am67a_beagley_ai.rst
Normal file
244
doc/board/beagle/am67a_beagley_ai.rst
Normal file
@@ -0,0 +1,244 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
|
||||
.. sectionauthor:: Nishanth Menon <nm@ti.com>
|
||||
|
||||
AM67A Beagleboard.org BeagleY-AI
|
||||
================================
|
||||
|
||||
Introduction:
|
||||
-------------
|
||||
|
||||
BeagleBoard.org BeagleY-AI is an easy to use, affordable open source
|
||||
hardware single board computer based on the Texas Instruments AM67A,
|
||||
which features a quad-core 64-bit Arm CPU subsystem, 2 general-purpose
|
||||
digital-signal-processors (DSP) and matrix-multiply-accelerators (MMA),
|
||||
GPU, vision and deep learning accelerators, and multiple Arm Cortex-R5
|
||||
cores for low-power, low-latency GPIO control.
|
||||
|
||||
Further information can be found at:
|
||||
|
||||
* Product Page: https://beagley-ai.org/
|
||||
* Hardware documentation: https://openbeagle.org/beagley-ai/beagley-ai
|
||||
|
||||
Boot Flow:
|
||||
----------
|
||||
Below is the pictorial representation of boot flow:
|
||||
|
||||
.. image:: ../ti/img/boot_diagram_k3_current.svg
|
||||
:alt: Boot flow diagram
|
||||
|
||||
- On this platform, 'TI Foundational Security' (TIFS) functions as the
|
||||
security enclave master while 'Device Manager' (DM), also known as the
|
||||
'TISCI server' in "TI terminology", offers all the essential services.
|
||||
The A53 or R5F (Aux core) sends requests to TIFS/DM to accomplish these
|
||||
services, as illustrated in the diagram above.
|
||||
|
||||
Sources:
|
||||
--------
|
||||
.. include:: ../ti/k3.rst
|
||||
:start-after: .. k3_rst_include_start_boot_sources
|
||||
:end-before: .. k3_rst_include_end_boot_sources
|
||||
|
||||
.. include:: ../ti/k3.rst
|
||||
:start-after: .. k3_rst_include_start_boot_firmwares
|
||||
:end-before: .. k3_rst_include_end_tifsstub
|
||||
|
||||
Build procedure:
|
||||
----------------
|
||||
0. Setup the environment variables:
|
||||
|
||||
.. include:: ../ti/k3.rst
|
||||
:start-after: .. k3_rst_include_start_common_env_vars_desc
|
||||
:end-before: .. k3_rst_include_end_common_env_vars_desc
|
||||
|
||||
.. include:: ../ti/k3.rst
|
||||
:start-after: .. k3_rst_include_start_board_env_vars_desc
|
||||
:end-before: .. k3_rst_include_end_board_env_vars_desc
|
||||
|
||||
Set the variables corresponding to this platform:
|
||||
|
||||
.. include:: ../ti/k3.rst
|
||||
:start-after: .. k3_rst_include_start_common_env_vars_defn
|
||||
:end-before: .. k3_rst_include_end_common_env_vars_defn
|
||||
.. prompt:: bash $
|
||||
|
||||
export UBOOT_CFG_CORTEXR=am67a_beagley_ai_r5_defconfig
|
||||
export UBOOT_CFG_CORTEXA=am67a_beagley_ai_a53_defconfig
|
||||
export TFA_BOARD=lite
|
||||
# we dont use any extra TFA parameters
|
||||
unset TFA_EXTRA_ARGS
|
||||
export OPTEE_PLATFORM=k3-am62x
|
||||
|
||||
.. include:: ../ti/j722s_evm.rst
|
||||
:start-after: .. j722s_evm_rst_include_start_build_steps
|
||||
:end-before: .. j722s_evm_rst_include_end_build_steps
|
||||
|
||||
Target Images
|
||||
-------------
|
||||
Copy these images to an SD card and boot:
|
||||
|
||||
* tiboot3-j722s-hs-fs-evm.bin from Cortex-R5 build as tiboot3.bin.
|
||||
* tispl.bin and u-boot.img from Cortex-A build.
|
||||
|
||||
Image formats
|
||||
-------------
|
||||
|
||||
- tiboot3.bin
|
||||
|
||||
.. image:: ../ti/img/multi_cert_tiboot3.bin.svg
|
||||
:alt: tiboot3.bin image format
|
||||
|
||||
- tispl.bin
|
||||
|
||||
.. image:: ../ti/img/tifsstub_dm_tispl.bin.svg
|
||||
:alt: tispl.bin image format
|
||||
|
||||
Additional hardware for U-Boot development
|
||||
------------------------------------------
|
||||
|
||||
* Serial Console is critical for U-Boot development on BeagleY-AI. See
|
||||
`BeagleY-AI serial console documentation
|
||||
<https://docs.beagleboard.org/boards/beagley/ai/02-quick-start.html#beagley-ai-headless>`_.
|
||||
* The only onboard storage option is uSD.
|
||||
* (optionally) JTAG is useful when working with very early stages of boot.
|
||||
|
||||
Flash to uSD card or how to deal with "bricked" Board
|
||||
-----------------------------------------------------
|
||||
|
||||
The only storage option on the platform is uSD card. However, if you
|
||||
choose to hand format your own bootable uSD card, be aware that it can
|
||||
be difficult. The following information may be helpful, but remember
|
||||
that it is only sometimes reliable, and partition options can cause
|
||||
issues. These can potentially help:
|
||||
|
||||
* https://git.ti.com/cgit/arago-project/tisdk-setup-scripts/tree/create-sdcard.sh
|
||||
* https://elinux.org/Beagleboard:Expanding_File_System_Partition_On_A_microSD
|
||||
* Or manually as follows (may not take into distro needs such as EFI or swap):
|
||||
|
||||
.. prompt:: bash #
|
||||
|
||||
# Create image with partition table
|
||||
parted --script <SD CARD DEVICE> \
|
||||
mklabel msdos \
|
||||
mkpart primary fat16 4MiB 20MiB \
|
||||
mkpart primary ext4 20MiB 100% \
|
||||
set 1 boot on \
|
||||
set 1 bls_boot off \
|
||||
set 1 lba on
|
||||
# Create boot partition
|
||||
mkfs.vfat <SD CARD DEVICE>1
|
||||
# Create root partition
|
||||
mkfs.ext4 <SD CARD DEVICE>2
|
||||
|
||||
The simplest option is to start with a standard distribution
|
||||
image like those in `BeagleBoard.org Distros Page
|
||||
<https://www.beagleboard.org/distros>`_ and download a disk image for
|
||||
BeagleY-AI. Pick a 16GB+ uSD card to be on the safer side.
|
||||
|
||||
With an SD/MMC Card reader and `Balena Etcher
|
||||
<https://etcher.balena.io/>`_, having a functional setup in minutes is
|
||||
a trivial matter, and it works on almost all Host Operating Systems.
|
||||
Yes Windows users, Windows Subsystem for Linux(WSL) based development
|
||||
with U-Boot and update uSD card is practical.
|
||||
|
||||
Updating U-Boot is a matter of copying the tiboot3.bin, tispl.bin and
|
||||
u-boot.img to the "BOOT" partition of the uSD card. Remember to sync
|
||||
and unmount (or Eject - depending on the Operating System) the uSD
|
||||
card prior to physically removing from SD card reader.
|
||||
|
||||
.. note::
|
||||
Great news! If the board has not been damaged physically, there's no
|
||||
need to worry about it being "bricked" on this platform. You only have
|
||||
to flash an uSD card, plug it in. This means that even if you make a
|
||||
mistake, you can quickly fix it and rest easy.
|
||||
|
||||
If you are frequently working with uSD cards, you might find the
|
||||
following useful:
|
||||
|
||||
* `USB-SD-Mux <https://www.linux-automation.com/en/products/usb-sd-mux.html>`_
|
||||
* `SD-Wire <https://wiki.tizen.org/SDWire>`_
|
||||
|
||||
LED patterns during boot
|
||||
------------------------
|
||||
|
||||
.. list-table:: LED status indication as system boots up
|
||||
:widths: 16 16
|
||||
:header-rows: 1
|
||||
|
||||
* - LED Color
|
||||
- Indicates
|
||||
|
||||
* - Only RED at startup
|
||||
- Boot failure or R5 image not started up
|
||||
|
||||
* - Steady Green
|
||||
- A53 U-boot has started up
|
||||
|
||||
* - Red/Orange
|
||||
- OS boot process has been initiated
|
||||
|
||||
* - Steady Green
|
||||
- OS boot process failed and drops to U-Boot shell
|
||||
|
||||
.. warning ::
|
||||
|
||||
If the "red" power LED is not glowing, the system power supply is not
|
||||
functional. Please refer to `BeagleY-AI documentation
|
||||
<https://beagley-ai.org/>`_ for further information.
|
||||
|
||||
A53 SPL DDR Memory Layout
|
||||
-------------------------
|
||||
|
||||
.. include:: ../ti/j722s_evm.rst
|
||||
:start-after: .. j722s_evm_rst_include_start_ddr_mem_layout
|
||||
:end-before: .. j722s_evm_rst_include_end_ddr_mem_layout
|
||||
|
||||
Debugging U-Boot
|
||||
----------------
|
||||
|
||||
See :ref:`Common Debugging environment - OpenOCD<k3_rst_refer_openocd>`: for
|
||||
detailed setup and debugging information.
|
||||
|
||||
.. warning::
|
||||
|
||||
**OpenOCD support since**: commit 33749a7fbeb5
|
||||
|
||||
If the default package version of OpenOCD in your development
|
||||
environment's distribution needs to be updated, it might be necessary to
|
||||
build OpenOCD from the source.
|
||||
|
||||
.. include:: ../ti/k3.rst
|
||||
:start-after: .. k3_rst_include_start_openocd_connect_tag_connect
|
||||
:end-before: .. k3_rst_include_end_openocd_connect_tag_connect
|
||||
|
||||
.. include:: ../ti/k3.rst
|
||||
:start-after: .. k3_rst_include_start_openocd_cfg_external_intro
|
||||
:end-before: .. k3_rst_include_end_openocd_cfg_external_intro
|
||||
|
||||
For example, with BeagleY-AI (J722S/AM67A platform), the openocd_connect.cfg:
|
||||
|
||||
.. code-block:: tcl
|
||||
|
||||
# TUMPA example:
|
||||
# http://www.tiaowiki.com/w/TIAO_USB_Multi_Protocol_Adapter_User's_Manual
|
||||
source [find interface/ftdi/tumpa.cfg]
|
||||
|
||||
transport select jtag
|
||||
|
||||
# default JTAG configuration has only SRST and no TRST
|
||||
reset_config srst_only srst_push_pull
|
||||
|
||||
# delay after SRST goes inactive
|
||||
adapter srst delay 20
|
||||
|
||||
if { ![info exists SOC] } {
|
||||
# Set the SoC of interest
|
||||
set SOC j722s
|
||||
}
|
||||
|
||||
source [find target/ti_k3.cfg]
|
||||
|
||||
ftdi tdo_sample_edge falling
|
||||
|
||||
# Speeds for FT2232H are in multiples of 2, and 32MHz is tops
|
||||
# max speed we seem to achieve is ~20MHz.. so we pick 16MHz
|
||||
adapter speed 16000
|
||||
@@ -11,4 +11,5 @@ ARM based boards
|
||||
:maxdepth: 2
|
||||
|
||||
am62x_beagleplay
|
||||
am67a_beagley_ai.rst
|
||||
j721e_beagleboneai64
|
||||
|
||||
@@ -44,6 +44,7 @@ K3 Based SoCs
|
||||
K3 SoC based boards in other sections
|
||||
|
||||
* :doc:`../beagle/am62x_beagleplay`
|
||||
* :doc:`../beagle/am67a_beagley_ai`
|
||||
* :doc:`../beagle/j721e_beagleboneai64`
|
||||
* :doc:`../phytec/phycore-am62x`
|
||||
* :doc:`../phytec/phycore-am62ax`
|
||||
|
||||
Reference in New Issue
Block a user