AM62A7: USB MSC boot mode flashing process

Part Number: AM62A7


Hello,

 

I am using am62a7 EVM and i am trying to boot from USB MSC method.

I have generated tiboot3.bin, tispl.bin, u-boot.img by using "am62ax_evm_r5_usbmsc_defconfig".

Bootmode pin conf for USB MSC "SW2 [1-8] --> 11001010    SW3 [1-8] --> 10000000"

It is binaries build successfully. When i tried to boot from USB MSC boot mode it is showing below error message.

image.png

Can you please see why stack overflow and USB controller not initialize.

 

Thanks 

Pankaj Verma

  • Hi Pankaj,

    I have generated tiboot3.bin, tispl.bin, u-boot.img by using "am62ax_evm_r5_usbmsc_defconfig".

    Only tiboot3.bin is to be built using am62ax_evm_r5_usbmsc_defconfig.

    tispl.bin and u-boot.img should be built using am62ax_evm_a53_defconfig.

    Can you provide some more details? (SDK version, build using SDK or Yocto? Steps followed to build?)

    Regards,

    Vinu

  • HI Vinu,

    Yocto TISdk is 9.02.

    Below are the build step:

    Add the following config to local.conf.
    UBOOT_MACHINE:am62axx-evm-k3r5 = "am62ax_evm_r5_usbmsc_defconfig"

    Clean and build u-boot.

    MACHINE=am62axx-evm bitbake mc:k3r5:u-boot-ti-staging -c cleansstate

    MACHINE=am62axx-evm bitbake u-boot-ti-staging -c cleansstate

    MACHINE=am62axx-evm bitbake mc:k3r5:u-boot-ti-staging

    MACHINE=am62axx-evm bitbake u-boot-ti-staging

    Thanks 

    Pankaj Verma

  • Hi Pankaj,

    Thanks for the reply. 

    Can you also share how the USB storage device is partitioned?

    Regards,

    Vinu

  • HI VInu,

    I have make a USB bootable as same like SD card bootable. SD card is working fine.

    In USB there are 2 partition (BOOT and Rootfs).

    We are try to partition USB in linux machine. 

    Below are the step to make device bootable.(USB and SD card)

    1. create a .bmap file from image
    bmaptool create -o tisdk-edgeai-image-am62axx-evm.bmap tisdk-edgeai-image-am62axx-evm-20251127201734.rootfs.wic

    2. flash a image file into device
    sudo bmaptool copy --bmap tisdk-edgeai-image-am62axx-evm.bmap tisdk-edgeai-image-am62axx-evm-20251127201734.rootfs.wic /dev/sdb

    we are trying the same process as same as for SD card.

    Thanks 

    Pankaj Verma

  • Hi Pankaj,

    Thanks for sharing the info. Let me try this on HW from my end.

    I'll get back to you in three days.

    Regards,

    Vinu

  • Hi Pankaj,

    Some additional changes are required to get the USB-MSC working.

    The k3-am62a7-sk.dts need to be updated to enable the USB controller and PHY nodes required for USB MSC boot on AM62Ax.

    diff --git a/arch/arm/dts/k3-am62a7-sk.dts b/arch/arm/dts/k3-am62a7-sk.dts
    index 8b5c25431d4..28b11ffa183 100644
    --- a/arch/arm/dts/k3-am62a7-sk.dts
    +++ b/arch/arm/dts/k3-am62a7-sk.dts
    @@ -327,7 +327,9 @@
     };
     
     &usb0 {
    -	dr_mode = "peripheral";
    +	usb-role-switch;
    +	bootph-all;      /* Added by Gist */
    +	dr_mode = "host"; /* Changed from peripheral to host */
     };
     
     &main_i2c0 {


    Also, if you are getting the FAT cluster size error
    Error: FAT cluster size too big (cs=32768, max=16384)


    update the am62ax defconfigs as below, to make the cluster size 32K.
    diff --git a/configs/am62ax_evm_a53_defconfig b/configs/am62ax_evm_a53_defconfig
    index 5442796a82e..260d5e9ecf0 100644
    --- a/configs/am62ax_evm_a53_defconfig
    +++ b/configs/am62ax_evm_a53_defconfig
    @@ -157,7 +157,7 @@ CONFIG_USB_GADGET_MANUFACTURER="Texas Instruments"
     CONFIG_USB_GADGET_VENDOR_NUM=0x0451
     CONFIG_USB_GADGET_PRODUCT_NUM=0x6165
     CONFIG_USB_FUNCTION_MASS_STORAGE=y
    -CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
    +CONFIG_FS_FAT_MAX_CLUSTSIZE=32768
     CONFIG_OF_LIBFDT_OVERLAY=y
     CONFIG_CMD_REMOTEPROC=y
     CONFIG_SPL_USB_HOST=y
    @@ -165,3 +165,4 @@ CONFIG_SPL_USB_STORAGE=y
     CONFIG_USB_HOST=y
     CONFIG_USB_STORAGE=y
     CONFIG_SUPPORT_EMMC_BOOT=y
    +
    diff --git a/configs/am62ax_evm_r5_usbmsc_defconfig b/configs/am62ax_evm_r5_usbmsc_defconfig
    index 659b2c9e9ba..5ad016b71b5 100644
    --- a/configs/am62ax_evm_r5_usbmsc_defconfig
    +++ b/configs/am62ax_evm_r5_usbmsc_defconfig
    @@ -123,4 +123,4 @@ CONFIG_USB_GADGET_MANUFACTURER="Texas Instruments"
     CONFIG_USB_GADGET_VENDOR_NUM=0x0451
     CONFIG_USB_GADGET_PRODUCT_NUM=0x6165
     CONFIG_USB_GADGET_DOWNLOAD=y
    -CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
    +CONFIG_FS_FAT_MAX_CLUSTSIZE=32768
    

    With these changes, you should be able to get the USB MSC working.

    I'm sharing the working logs below.

    U-Boot SPL 2023.04 (Jan 29 2026 - 10:36:45 +0530)
    SYSFW ABI: 3.1 (firmware rev 0x0009 '9.2.7--v09.02.07 (Kool Koala)')
    am62a_init: board_init_f done
    SPL initial stack usage: 13568 bytes
    SPL possible initial stack overflow detected!!
    am62a_init: spl_boot_device: devstat = 0x153 bootmedia = 0x2a bootindex = 0
    Trying to boot from USB
    Bus usb@31000000: Register 1000840 NbrPorts 1
    Starting the controller
    USB XHCI 1.10
    scanning bus usb@31000000 for devices... 2 USB Device(s) found
           scanning usb for storage devices... 1 Storage Device(s) found
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b87-dirty
    NOTICE:  BL31: Built : 16:09:05, Feb  9 2024
    
    U-Boot SPL 2023.04 (Jan 29 2026 - 10:35:58 +0530)
    SYSFW ABI: 3.1 (firmware rev 0x0009 '9.2.7--v09.02.07 (Kool Koala)')
    am62a_init: board_init_f done
    am62a_init: spl_boot_device: devstat = 0x153 bootmedia = 0x2a bootindex = 0
    Trying to boot from USB
    Bus usb@31000000: Register 1000840 NbrPorts 1
    Starting the controller
    USB XHCI 1.10
    scanning bus usb@31000000 for devices... 2 USB Device(s) found
           scanning usb for storage devices... 1 Storage Device(s) found
    am62a_init: spl_boot_device: devstat = 0x153 bootmedia = 0x2a bootindex = 0
    Authentication passed
    am62a_init: spl_boot_device: devstat = 0x153 bootmedia = 0x2a bootindex = 0
    Authentication passed
    
    
    U-Boot 2023.04 (Jan 29 2026 - 10:35:58 +0530)
    
    SoC:   AM62AX SR1.0 HS-FS
    Model: Texas Instruments AM62A7 SK
    DRAM:  2 GiB (effective 4 GiB)
    Core:  58 devices, 28 uclasses, devicetree: separate
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Net:   eth0: ethernet@8000000port@1
    Hit any key to stop autoboot:  2

    If it still doesn't work, please share the logs and the defconfigs (am62ax_evm_a53_defconfig and am62ax_evm_r5_usbmsc_defconfig)

    Regards,
    Vinu

  • Hi Vinu,

    I have done the changes at my end as you suggested. but the problem is still same.

      

    I have made the changes in u-boot dts  k3-am62a7-sk.dts

    and also in defconfig files sharing with you and build with changes in local.conf file "am62ax_evm_r5_usbmsc_defconfig".

    CONFIG_ARM=y
    CONFIG_ARCH_K3=y
    CONFIG_TI_SECURE_DEVICE=y
    CONFIG_TI_COMMON_CMD_OPTIONS=y
    CONFIG_SPL_GPIO=y
    CONFIG_SYS_MALLOC_F_LEN=0x8000
    CONFIG_BOARD_HAS_32K_RTC_CRYSTAL=y
    CONFIG_SPL_LIBCOMMON_SUPPORT=y
    CONFIG_SPL_LIBGENERIC_SUPPORT=y
    CONFIG_NR_DRAM_BANKS=2
    CONFIG_SOC_K3_AM62A7=y
    CONFIG_K3_ATF_LOAD_ADDR=0x9e780000
    CONFIG_TARGET_AM62A7_A53_EVM=y
    CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
    CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80480000
    CONFIG_DM_GPIO=y
    CONFIG_SF_DEFAULT_SPEED=25000000
    CONFIG_ENV_SIZE=0x40000
    CONFIG_SPL_DM_SPI=y
    CONFIG_DEFAULT_DEVICE_TREE="k3-am62a7-sk"
    CONFIG_SPL_TEXT_BASE=0x80080000
    CONFIG_DM_RESET=y
    CONFIG_SPL_MMC=y
    CONFIG_SPL_SERIAL=y
    CONFIG_SPL_STACK_R_ADDR=0x82000000
    CONFIG_SPL_FS_FAT=y
    CONFIG_SPL_LIBDISK_SUPPORT=y
    CONFIG_SPL_SPI=y
    # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
    CONFIG_SPL_LOAD_FIT=y
    CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
    CONFIG_DISTRO_DEFAULTS=y
    CONFIG_BOOTCOMMAND="run envboot; run distro_bootcmd;"
    CONFIG_SPL_MAX_SIZE=0x58000
    CONFIG_SPL_PAD_TO=0x0
    CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
    CONFIG_SPL_BSS_START_ADDR=0x80a00000
    CONFIG_SPL_BSS_MAX_SIZE=0x80000
    CONFIG_SPL_SYS_MALLOC_SIMPLE=y
    CONFIG_SPL_BOARD_INIT=y
    CONFIG_SPL_STACK_R=y
    CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
    CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x1400
    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_MTD_SUPPORT=y
    CONFIG_SPL_MTD_LOAD=y
    CONFIG_SYS_MTD_U_BOOT_OFFS=0x280000
    CONFIG_SPL_NAND_SPI_SUPPORT=y
    CONFIG_SPL_DM_SPI_FLASH=y
    CONFIG_SPL_POWER_DOMAIN=y
    CONFIG_SPL_RAM_SUPPORT=y
    CONFIG_SPL_USB_GADGET=y
    CONFIG_SPL_DFU=y
    CONFIG_SPL_YMODEM_SUPPORT=y
    CONFIG_SYS_MAXARGS=64
    CONFIG_CMD_MMC=y
    CONFIG_CMD_CLK=y
    CONFIG_CMD_DDRSS=y
    CONFIG_CMD_DFU=y
    CONFIG_CMD_DM=y
    CONFIG_CMD_GPIO=y
    CONFIG_CMD_GPT=y
    CONFIG_CMD_I2C=y
    CONFIG_SUPPORT_EMMC_BOOT=y
    CONFIG_MMC_HS200_SUPPORT=y
    CONFIG_SPL_MMC_HS200_SUPPORT=y
    CONFIG_CMD_MTD=y
    CONFIG_CMD_USB=y
    CONFIG_CMD_USB_MASS_STORAGE=y
    CONFIG_CMD_TIME=y
    CONFIG_CMD_EXT4_WRITE=y
    CONFIG_CMD_MTDPARTS=y
    CONFIG_CMD_UBI=y
    CONFIG_OF_CONTROL=y
    CONFIG_SPL_OF_CONTROL=y
    CONFIG_MULTI_DTB_FIT=y
    CONFIG_SPL_MULTI_DTB_FIT=y
    CONFIG_SPL_MULTI_DTB_FIT_NO_COMPRESSION=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_SYSCON=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_DFU_SF=y
    CONFIG_DFU_MTD=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_PCA953X=y
    CONFIG_SPL_DM_PCA953X=y
    CONFIG_DM_I2C=y
    CONFIG_SYS_I2C_OMAP24XX=y
    CONFIG_DM_MAILBOX=y
    CONFIG_K3_SEC_PROXY=y
    CONFIG_SPL_MISC=y
    CONFIG_MMC_SDHCI=y
    CONFIG_MMC_SDHCI_ADMA=y
    CONFIG_SPL_MMC_SDHCI_ADMA=y
    CONFIG_MMC_SDHCI_AM654=y
    CONFIG_MTD=y
    CONFIG_DM_MTD=y
    CONFIG_MTD_SPI_NAND=y
    CONFIG_DM_SPI_FLASH=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_K3_SYSTEM_CONTROLLER=y
    CONFIG_REMOTEPROC_TI_K3_ARM64=y
    CONFIG_REMOTEPROC_TI_K3_R5F=y
    CONFIG_REMOTEPROC_TI_K3_DSP=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_SPI=y
    CONFIG_DM_SPI=y
    CONFIG_CADENCE_QSPI=y
    CONFIG_SYSRESET=y
    CONFIG_SPL_SYSRESET=y
    CONFIG_SYSRESET_TI_SCI=y
    CONFIG_DM_THERMAL=y
    CONFIG_USB=y
    CONFIG_DM_USB=y
    CONFIG_DM_USB_GADGET=y
    CONFIG_SPL_DM_USB_GADGET=y
    CONFIG_USB_XHCI_HCD=y
    CONFIG_USB_DWC3=y
    CONFIG_SPL_USB_DWC3_GENERIC=y
    CONFIG_USB_DWC3_GENERIC=y
    CONFIG_SPL_USB_DWC3_AM62=y
    CONFIG_USB_DWC3_AM62=y
    CONFIG_USB_GADGET=y
    CONFIG_USB_GADGET_MANUFACTURER="Texas Instruments"
    CONFIG_USB_GADGET_VENDOR_NUM=0x0451
    CONFIG_USB_GADGET_PRODUCT_NUM=0x6165
    CONFIG_USB_FUNCTION_MASS_STORAGE=y
    CONFIG_FS_FAT_MAX_CLUSTSIZE=32768
    CONFIG_OF_LIBFDT_OVERLAY=y
    CONFIG_CMD_REMOTEPROC=y
    CONFIG_SPL_USB_HOST=y
    CONFIG_SPL_USB_STORAGE=y
    CONFIG_USB_HOST=y
    CONFIG_USB_STORAGE=y
    CONFIG_SUPPORT_EMMC_BOOT=y
    
    CONFIG_ARM=y
    CONFIG_ARCH_K3=y
    CONFIG_TI_SECURE_DEVICE=y
    CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x200000
    CONFIG_SYS_MALLOC_F_LEN=0x8000
    CONFIG_SPL_GPIO_SUPPORT=y
    CONFIG_SPL_LIBCOMMON_SUPPORT=y
    CONFIG_SPL_LIBGENERIC_SUPPORT=y
    CONFIG_SOC_K3_AM62A7=y
    CONFIG_TARGET_AM62A7_R5_EVM=y
    CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
    CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x43c3a7f0
    CONFIG_ENV_SIZE=0x20000
    CONFIG_ENV_OFFSET=0x680000
    CONFIG_DM_GPIO=y
    CONFIG_SPL_TEXT_BASE=0x43c00000
    CONFIG_SPL_MMC_SUPPORT=y
    CONFIG_SPL_SERIAL=y
    CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
    CONFIG_SPL_STACK_R_ADDR=0x82000000
    CONFIG_SPL_SIZE_LIMIT=0x3A7F0
    CONFIG_SPL_SIZE_LIMIT_SUBTRACT_MALLOC=y
    CONFIG_SPL_SIZE_LIMIT_SUBTRACT_GD=y
    CONFIG_SPL_SIZE_LIMIT_PROVIDE_STACK=0x3500
    CONFIG_SPL_FS_FAT=y
    CONFIG_SPL_LIBDISK_SUPPORT=y
    CONFIG_DEFAULT_DEVICE_TREE="k3-am62a7-r5-sk"
    CONFIG_SPL_LOAD_FIT=y
    CONFIG_SPL_LOAD_FIT_ADDRESS=0x80080000
    CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y
    # CONFIG_DISPLAY_CPUINFO is not set
    CONFIG_SPL_MAX_SIZE=0x3B000
    CONFIG_SPL_PAD_TO=0x0
    CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
    CONFIG_SPL_BSS_START_ADDR=0x43c3b000
    CONFIG_SPL_BSS_MAX_SIZE=0x3000
    CONFIG_SPL_SYS_REPORT_STACK_F_USAGE=y
    CONFIG_SPL_SYS_MALLOC_SIMPLE=y
    CONFIG_SPL_STACK_R=y
    CONFIG_SPL_SEPARATE_BSS=y
    CONFIG_SPL_EARLY_BSS=y
    CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
    CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x400
    CONFIG_SPL_I2C_SUPPORT=y
    CONFIG_SPL_DM_MAILBOX=y
    CONFIG_SPL_DM_RESET=y
    CONFIG_SPL_POWER_DOMAIN=y
    CONFIG_SPL_RAM_SUPPORT=y
    CONFIG_SPL_RAM_DEVICE=y
    CONFIG_SPL_REMOTEPROC=y
    CONFIG_SPL_YMODEM_SUPPORT=y
    CONFIG_HUSH_PARSER=y
    CONFIG_CMD_ASKENV=y
    CONFIG_CMD_GPT=y
    CONFIG_CMD_MMC=y
    CONFIG_CMD_REMOTEPROC=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_SPL_MULTI_DTB_FIT=y
    CONFIG_SPL_MULTI_DTB_FIT_NO_COMPRESSION=y
    CONFIG_SYS_RELOC_GD_ENV_ADDR=y
    CONFIG_DM=y
    CONFIG_SPL_DM=y
    CONFIG_SPL_DM_SEQ_ALIAS=y
    CONFIG_REGMAP=y
    CONFIG_SPL_REGMAP=y
    CONFIG_SYSCON=y
    CONFIG_SPL_SYSCON=y
    CONFIG_SPL_OF_TRANSLATE=y
    CONFIG_CLK=y
    CONFIG_SPL_CLK=y
    CONFIG_SPL_CLK_CCF=y
    CONFIG_SPL_CLK_K3=y
    CONFIG_SPL_CLK_K3_PLL=y
    CONFIG_DFU_RAM=y
    CONFIG_TI_SCI_PROTOCOL=y
    CONFIG_DA8XX_GPIO=y
    CONFIG_DM_I2C=y
    CONFIG_SYS_I2C_OMAP24XX=y
    CONFIG_DM_MAILBOX=y
    CONFIG_K3_SEC_PROXY=y
    CONFIG_MISC=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_REMOTEPROC_TI_K3_ARM64=y
    CONFIG_DM_RESET=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
    CONFIG_SPL_USB_HOST=y
    CONFIG_SPL_USB_STORAGE=y
    CONFIG_USB_HOST=y
    CONFIG_USB_STORAGE=y
    CONFIG_USB_GADGET=y
    CONFIG_SPL_USB_GADGET=y
    CONFIG_USB=y
    CONFIG_DM_USB=y
    CONFIG_DM_USB_GADGET=y
    CONFIG_SPL_DM_USB_GADGET=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_GADGET_MANUFACTURER="Texas Instruments"
    CONFIG_USB_GADGET_VENDOR_NUM=0x0451
    CONFIG_USB_GADGET_PRODUCT_NUM=0x6165
    CONFIG_USB_GADGET_DOWNLOAD=y
    CONFIG_FS_FAT_MAX_CLUSTSIZE=32768
    

    I am getting the same error. Is i am missing something please let me know

    Thanks 

    Pankaj Verma

  • Hi Pankaj,

    Are you trying this out on the EVM or a custom board?

    Can you try changing the USB stick? Please try with a USB2.0 stick?

    Regards,

    Vinu

  • HI Vinu,

    I am trying this on evm am62a7. I am using yocto image sdk 9.02.

    I have tried with 2 different usb stick which is 2.0 only. result is same. "no working controller found".

    Is i am missing something. Or anything else i need to modify.

    Can you please share me the full path of u-boot k3-am62a7-sk.dts so i will verify at my end also.

    Thanks

    Pankaj Verma

  • Hi Pankaj,

    Is i am missing something. Or anything else i need to modify.

    It would either be because of the DTS changes not coming into effect, or the USB stick not getting partitioned correctly.

    To partition the USB stick, there is a script given along with the mcu_plus_sdk at <mcu_plus_sdk>/tools/boot/scripts/sd_partitioner/partition.sh which should be run as below

    sudo ./partition.sh --device <device>

    Once it creates the partitions, copy the tiboot3.bin, tispl.bin and u-boot.img to the boot partition.

    Can you also describe how you have patched the sources and rebuilt the u-boot?

    Can you please share me the full path of u-boot k3-am62a7-sk.dts so i will verify at my end also.

    It is given in the patch - workspace/sources/u-boot-ti-staging/arch/arm/dts/k3-am62a7-sk.dts

    Regards,
    Vinu

  • HI Vinu,

    Thanks for quick reply,

    I have converted uboot k3-am62a7-sk.dtb file into k3-am62a7-sk.dts file and it showing that the changes are reflected. i am sharing with you doe your reference.

    /dts-v1/;
    
    / {
    	model = "Texas Instruments AM62A7 SK";
    	compatible = "ti,am62a7-sk\0ti,am62a7";
    	interrupt-parent = <0x01>;
    	#address-cells = <0x02>;
    	#size-cells = <0x02>;
    
    	chosen {
    		stdout-path = "serial2:115200n8";
    		tick-timer = "/bus@f0000/timer@2400000";
    	};
    
    	firmware {
    
    		optee {
    			compatible = "linaro,optee-tz";
    			method = "smc";
    		};
    
    		psci {
    			compatible = "arm,psci-1.0";
    			method = "smc";
    		};
    	};
    
    	timer-cl0-cpu0 {
    		compatible = "arm,armv8-timer";
    		interrupts = <0x01 0x0d 0x08 0x01 0x0e 0x08 0x01 0x0b 0x08 0x01 0x0a 0x08>;
    	};
    
    	pmu {
    		compatible = "arm,cortex-a53-pmu";
    		interrupts = <0x01 0x07 0x04>;
    	};
    
    	bus@f0000 {
    		compatible = "simple-bus";
    		#address-cells = <0x02>;
    		#size-cells = <0x02>;
    		ranges = <0x00 0xf0000 0x00 0xf0000 0x00 0x30000 0x00 0x420000 0x00 0x420000 0x00 0x1000 0x00 0x600000 0x00 0x600000 0x00 0x1100 0x00 0x703000 0x00 0x703000 0x00 0x200 0x00 0x70c000 0x00 0x70c000 0x00 0x200 0x00 0xa40000 0x00 0xa40000 0x00 0x800 0x00 0x1000000 0x00 0x1000000 0x00 0x1b28400 0x00 0x8000000 0x00 0x8000000 0x00 0x200000 0x00 0xe000000 0x00 0xe000000 0x00 0x1d20000 0x00 0xfd00000 0x00 0xfd00000 0x00 0x20000 0x00 0x20000000 0x00 0x20000000 0x00 0xa008000 0x00 0x30040000 0x00 0x30040000 0x00 0x80000 0x00 0x30101000 0x00 0x30101000 0x00 0x10100 0x00 0x30200000 0x00 0x30200000 0x00 0x10000 0x00 0x30210000 0x00 0x30210000 0x00 0x10000 0x00 0x31000000 0x00 0x31000000 0x00 0x50000 0x00 0x31100000 0x00 0x31100000 0x00 0x50000 0x00 0x40900000 0x00 0x40900000 0x00 0x30000 0x00 0x43600000 0x00 0x43600000 0x00 0x10000 0x00 0x44043000 0x00 0x44043000 0x00 0xfe0 0x00 0x44860000 0x00 0x44860000 0x00 0x40000 0x00 0x48000000 0x00 0x48000000 0x00 0x6400000 0x00 0x60000000 0x00 0x60000000 0x00 0x8000000 0x00 0x70000000 0x00 0x70000000 0x00 0x10000 0x00 0x7e000000 0x00 0x7e000000 0x00 0x100000 0x01 0x00 0x01 0x00 0x00 0x310000 0x05 0x00 0x05 0x00 0x01 0x00 0x00 0x4000000 0x00 0x4000000 0x00 0x1ff1400 0x00 0x79000000 0x00 0x79000000 0x00 0x8000 0x00 0x79020000 0x00 0x79020000 0x00 0x8000 0x00 0x79100000 0x00 0x79100000 0x00 0x40000 0x00 0x79140000 0x00 0x79140000 0x00 0x40000 0x00 0xb00000 0x00 0xb00000 0x00 0x2400 0x00 0x2b000000 0x00 0x2b000000 0x00 0x300400 0x00 0x43000000 0x00 0x43000000 0x00 0x20000 0x00 0x78000000 0x00 0x78000000 0x00 0x8000 0x00 0x78100000 0x00 0x78100000 0x00 0x8000>;
    		bootph-pre-ram;
    
    		bus@4000000 {
    			compatible = "simple-bus";
    			#address-cells = <0x02>;
    			#size-cells = <0x02>;
    			ranges = <0x00 0x4000000 0x00 0x4000000 0x00 0x1ff1400 0x00 0x79000000 0x00 0x79000000 0x00 0x8000 0x00 0x79020000 0x00 0x79020000 0x00 0x8000 0x00 0x79100000 0x00 0x79100000 0x00 0x40000 0x00 0x79140000 0x00 0x79140000 0x00 0x40000>;
    			bootph-pre-ram;
    
    			sram@79100000 {
    				compatible = "mmio-sram";
    				reg = <0x00 0x79100000 0x00 0x80000>;
    				ranges = <0x00 0x00 0x79100000 0x80000>;
    				#address-cells = <0x01>;
    				#size-cells = <0x01>;
    				phandle = <0x06>;
    
    				mcu_sram1@0 {
    					reg = <0x00 0x80000>;
    				};
    			};
    
    			pinctrl@4084000 {
    				compatible = "pinctrl-single";
    				reg = <0x00 0x4084000 0x00 0x88>;
    				#pinctrl-cells = <0x01>;
    				pinctrl-single,register-width = <0x20>;
    				pinctrl-single,function-mask = <0xffffffff>;
    				status = "disabled";
    				bootph-pre-ram;
    			};
    
    			serial@4a00000 {
    				compatible = "ti,am64-uart\0ti,am654-uart";
    				reg = <0x00 0x4a00000 0x00 0x100>;
    				interrupts = <0x00 0xb9 0x04>;
    				power-domains = <0x02 0x95 0x01>;
    				clocks = <0x03 0x95 0x00>;
    				clock-names = "fclk";
    				status = "disabled";
    			};
    
    			i2c@4900000 {
    				compatible = "ti,am64-i2c\0ti,omap4-i2c";
    				reg = <0x00 0x4900000 0x00 0x100>;
    				interrupts = <0x00 0x6b 0x04>;
    				#address-cells = <0x01>;
    				#size-cells = <0x00>;
    				power-domains = <0x02 0x6a 0x01>;
    				clocks = <0x03 0x6a 0x02>;
    				clock-names = "fck";
    				status = "disabled";
    			};
    
    			r5fss@79000000 {
    				compatible = "ti,am62-r5fss";
    				ti,cluster-mode = <0x00>;
    				#address-cells = <0x01>;
    				#size-cells = <0x01>;
    				ranges = <0x79000000 0x00 0x79000000 0x8000 0x79020000 0x00 0x79020000 0x8000>;
    				power-domains = <0x02 0x07 0x01>;
    
    				r5f@79000000 {
    					compatible = "ti,am62-r5f";
    					reg = <0x79000000 0x8000 0x79020000 0x8000>;
    					reg-names = "atcm\0btcm";
    					ti,sci = <0x04>;
    					ti,sci-dev-id = <0x09>;
    					ti,sci-proc-ids = <0x03 0xff>;
    					resets = <0x05 0x09 0x01>;
    					firmware-name = "am62-mcu-r5f0_0-fw";
    					ti,atcm-enable = <0x00>;
    					ti,btcm-enable = <0x01>;
    					ti,loczrama = <0x00>;
    					sram = <0x06>;
    				};
    			};
    		};
    
    		bus@b00000 {
    			compatible = "simple-bus";
    			#address-cells = <0x02>;
    			#size-cells = <0x02>;
    			ranges = <0x00 0xb00000 0x00 0xb00000 0x00 0x2400 0x00 0x2b000000 0x00 0x2b000000 0x00 0x300400 0x00 0x43000000 0x00 0x43000000 0x00 0x20000 0x00 0x78000000 0x00 0x78000000 0x00 0x8000 0x00 0x78100000 0x00 0x78100000 0x00 0x8000>;
    			bootph-pre-ram;
    
    			syscon@43000000 {
    				compatible = "ti,j721e-system-controller\0syscon\0simple-mfd";
    				reg = <0x00 0x43000000 0x00 0x20000>;
    				#address-cells = <0x01>;
    				#size-cells = <0x01>;
    				ranges = <0x00 0x00 0x43000000 0x20000>;
    				bootph-pre-ram;
    				phandle = <0x12>;
    
    				chipid@14 {
    					compatible = "ti,am654-chipid";
    					reg = <0x14 0x04>;
    					bootph-pre-ram;
    				};
    			};
    
    			serial@2b300000 {
    				compatible = "ti,am64-uart\0ti,am654-uart";
    				reg = <0x00 0x2b300000 0x00 0x100>;
    				interrupts = <0x00 0xba 0x04>;
    				power-domains = <0x02 0x72 0x01>;
    				clocks = <0x03 0x72 0x00>;
    				clock-names = "fclk";
    				status = "disabled";
    				bootph-pre-ram;
    			};
    
    			i2c@2b200000 {
    				compatible = "ti,am64-i2c\0ti,omap4-i2c";
    				reg = <0x00 0x2b200000 0x00 0x100>;
    				interrupts = <0x00 0xa5 0x04>;
    				#address-cells = <0x01>;
    				#size-cells = <0x00>;
    				power-domains = <0x02 0x6b 0x01>;
    				clocks = <0x03 0x6b 0x04>;
    				clock-names = "fck";
    				status = "disabled";
    			};
    
    			rtc@2b1f0000 {
    				compatible = "ti,am62-rtc";
    				reg = <0x00 0x2b1f0000 0x00 0x100>;
    				interrupts = <0x00 0x64 0x04>;
    				clocks = <0x03 0x75 0x06 0x03 0x75 0x00>;
    				clock-names = "vbus\0osc32k";
    				power-domains = <0x02 0x75 0x01>;
    				wakeup-source;
    				status = "disabled";
    			};
    		};
    
    		sram@70000000 {
    			compatible = "mmio-sram";
    			reg = <0x00 0x70000000 0x00 0x10000>;
    			#address-cells = <0x01>;
    			#size-cells = <0x01>;
    			ranges = <0x00 0x00 0x70000000 0x10000>;
    		};
    
    		interrupt-controller@1800000 {
    			compatible = "arm,gic-v3";
    			reg = <0x00 0x1800000 0x00 0x10000 0x00 0x1880000 0x00 0xc0000 0x00 0x1880000 0x00 0xc0000 0x01 0x00 0x00 0x2000 0x01 0x10000 0x00 0x1000 0x01 0x20000 0x00 0x2000>;
    			#address-cells = <0x02>;
    			#size-cells = <0x02>;
    			ranges;
    			#interrupt-cells = <0x03>;
    			interrupt-controller;
    			interrupts = <0x01 0x09 0x04>;
    			phandle = <0x01>;
    
    			msi-controller@1820000 {
    				compatible = "arm,gic-v3-its";
    				reg = <0x00 0x1820000 0x00 0x10000>;
    				socionext,synquacer-pre-its = <0x1000000 0x400000>;
    				msi-controller;
    				#msi-cells = <0x01>;
    			};
    		};
    
    		syscon@100000 {
    			compatible = "ti,j721e-system-controller\0syscon\0simple-mfd";
    			reg = <0x00 0x100000 0x00 0x20000>;
    			#address-cells = <0x01>;
    			#size-cells = <0x01>;
    			ranges = <0x00 0x00 0x100000 0x20000>;
    
    			phy@4044 {
    				compatible = "ti,am654-phy-gmii-sel";
    				reg = <0x4044 0x08>;
    				#phy-cells = <0x01>;
    				phandle = <0x15>;
    			};
    		};
    
    		bus@48000000 {
    			compatible = "simple-bus";
    			#address-cells = <0x02>;
    			#size-cells = <0x02>;
    			dma-ranges;
    			ranges = <0x00 0x48000000 0x00 0x48000000 0x00 0x6000000>;
    			ti,sci-dev-id = <0x19>;
    			bootph-pre-ram;
    
    			mailbox@4d000000 {
    				compatible = "ti,am654-secure-proxy";
    				reg = <0x00 0x4d000000 0x00 0x80000 0x00 0x4a600000 0x00 0x80000 0x00 0x4a400000 0x00 0x80000>;
    				reg-names = "target_data\0rt\0scfg";
    				#mbox-cells = <0x01>;
    				interrupt-names = "rx_012";
    				interrupts = <0x00 0x22 0x04>;
    				bootph-pre-ram;
    				phandle = <0x0a>;
    			};
    
    			interrupt-controller@48000000 {
    				compatible = "ti,sci-inta";
    				reg = <0x00 0x48000000 0x00 0x100000>;
    				#interrupt-cells = <0x00>;
    				interrupt-controller;
    				interrupt-parent = <0x01>;
    				msi-controller;
    				ti,sci = <0x04>;
    				ti,sci-dev-id = <0x1c>;
    				ti,interrupt-ranges = <0x06 0x46 0x22>;
    				ti,unmapped-event-sources = <0x07 0x08>;
    				phandle = <0x09>;
    			};
    
    			dma-controller@485c0100 {
    				compatible = "ti,am64-dmss-bcdma";
    				reg = <0x00 0x485c0100 0x00 0x100 0x00 0x4c000000 0x00 0x20000 0x00 0x4a820000 0x00 0x20000 0x00 0x4aa40000 0x00 0x20000 0x00 0x4bc00000 0x00 0x100000 0x00 0x48600000 0x00 0x8000 0x00 0x484a4000 0x00 0x2000 0x00 0x484c2000 0x00 0x2000>;
    				reg-names = "gcfg\0bchanrt\0rchanrt\0tchanrt\0ringrt\0cfg\0tchan\0rchan";
    				msi-parent = <0x09>;
    				#dma-cells = <0x03>;
    				ti,sci = <0x04>;
    				ti,sci-dev-id = <0x1a>;
    				ti,sci-rm-range-bchan = <0x20>;
    				ti,sci-rm-range-rchan = <0x21>;
    				ti,sci-rm-range-tchan = <0x22>;
    				bootph-pre-ram;
    				phandle = <0x07>;
    			};
    
    			dma-controller@485c0000 {
    				compatible = "ti,am64-dmss-pktdma";
    				reg = <0x00 0x485c0000 0x00 0x100 0x00 0x4a800000 0x00 0x20000 0x00 0x4aa00000 0x00 0x40000 0x00 0x4b800000 0x00 0x400000 0x00 0x485e0000 0x00 0x20000 0x00 0x484a0000 0x00 0x4000 0x00 0x484c0000 0x00 0x2000 0x00 0x48430000 0x00 0x4000>;
    				reg-names = "gcfg\0rchanrt\0tchanrt\0ringrt\0cfg\0tchan\0rchan\0rflow";
    				msi-parent = <0x09>;
    				#dma-cells = <0x02>;
    				ti,sci = <0x04>;
    				ti,sci-dev-id = <0x1e>;
    				ti,sci-rm-range-tchan = <0x23 0x24 0x25 0x26>;
    				ti,sci-rm-range-tflow = <0x10 0x11 0x12 0x13>;
    				ti,sci-rm-range-rchan = <0x29 0x2b 0x2d 0x2f 0x31 0x33>;
    				ti,sci-rm-range-rflow = <0x2a 0x2c 0x2e 0x32>;
    				bootph-pre-ram;
    				phandle = <0x08>;
    			};
    		};
    
    		system-controller@44043000 {
    			compatible = "ti,k2g-sci";
    			reg = <0x00 0x44043000 0x00 0xfe0>;
    			reg-names = "debug_messages";
    			ti,host-id = <0x0c>;
    			mbox-names = "rx\0tx";
    			mboxes = <0x0a 0x0c 0x0a 0x0d>;
    			bootph-pre-ram;
    			phandle = <0x04>;
    
    			power-controller {
    				compatible = "ti,sci-pm-domain";
    				#power-domain-cells = <0x02>;
    				bootph-pre-ram;
    				phandle = <0x02>;
    			};
    
    			clock-controller {
    				compatible = "ti,k2g-sci-clk";
    				#clock-cells = <0x02>;
    				bootph-pre-ram;
    				phandle = <0x03>;
    			};
    
    			reset-controller {
    				compatible = "ti,sci-reset";
    				#reset-cells = <0x02>;
    				bootph-pre-ram;
    				phandle = <0x05>;
    			};
    
    			sysreset-controller {
    				compatible = "ti,sci-sysreset";
    				bootph-pre-ram;
    			};
    		};
    
    		pinctrl@f4000 {
    			compatible = "pinctrl-single";
    			reg = <0x00 0xf4000 0x00 0x2ac>;
    			#pinctrl-cells = <0x01>;
    			pinctrl-single,register-width = <0x20>;
    			pinctrl-single,function-mask = <0xffffffff>;
    			bootph-pre-ram;
    
    			main-uart0-pins-default {
    				pinctrl-single,pins = <0x1c8 0x50000 0x1cc 0x10000>;
    				bootph-pre-ram;
    				phandle = <0x0b>;
    			};
    
    			main-i2c0-pins-default {
    				pinctrl-single,pins = <0x1e0 0x60000 0x1e4 0x60000>;
    				bootph-pre-ram;
    				phandle = <0x0c>;
    			};
    
    			main-i2c1-pins-default {
    				pinctrl-single,pins = <0x1e8 0x60000 0x1ec 0x60000>;
    				bootph-pre-ram;
    				phandle = <0x0d>;
    			};
    
    			main-i2c2-pins-default {
    				pinctrl-single,pins = <0xb0 0x60001 0xb4 0x60001>;
    			};
    
    			main-mmc0-pins-default {
    				pinctrl-single,pins = <0x220 0x50000 0x218 0x50000 0x21c 0x50000 0x214 0x50000 0x210 0x60000 0x20c 0x60000 0x208 0x60000 0x204 0x60000 0x200 0x60000 0x1fc 0x60000 0x1f8 0x60000>;
    				bootph-pre-ram;
    				phandle = <0x0f>;
    			};
    
    			main-mmc1-pins-default {
    				pinctrl-single,pins = <0x23c 0x50000 0x234 0x50000 0x230 0x50000 0x22c 0x50000 0x228 0x50000 0x224 0x50000 0x240 0x50000>;
    				bootph-pre-ram;
    				phandle = <0x11>;
    			};
    
    			usr-led-pins-default {
    				pinctrl-single,pins = <0x244 0x10007>;
    				phandle = <0x2d>;
    			};
    
    			main-usb1-pins-default {
    				pinctrl-single,pins = <0x258 0x10000>;
    			};
    
    			main-mdio1-pins-default {
    				pinctrl-single,pins = <0x160 0x10000 0x15c 0x50000>;
    				phandle = <0x14>;
    			};
    
    			main-rgmii1-pins-default {
    				pinctrl-single,pins = <0x14c 0x50000 0x150 0x50000 0x154 0x50000 0x158 0x50000 0x148 0x50000 0x144 0x50000 0x134 0x50000 0x138 0x50000 0x13c 0x50000 0x140 0x50000 0x130 0x50000 0x12c 0x50000>;
    				phandle = <0x13>;
    			};
    
    			main-rgmii2-exp-conn-pins-default {
    				pinctrl-single,pins = <0x184 0x50000 0x188 0x50000 0x18c 0x50000 0x190 0x50000 0x180 0x50000 0x17c 0x50000 0x16c 0x50000 0x170 0x50000 0x174 0x50000 0x178 0x50000 0x168 0x50000 0x164 0x50000>;
    			};
    
    			ospi0-pins-default {
    				pinctrl-single,pins = <0x00 0x10000 0x2c 0x10000 0x0c 0x50000 0x10 0x50000 0x14 0x50000 0x18 0x50000 0x1c 0x50000 0x20 0x50000 0x24 0x50000 0x28 0x50000 0x08 0x50000>;
    				bootph-pre-ram;
    				phandle = <0x17>;
    			};
    		};
    
    		serial@2800000 {
    			compatible = "ti,am64-uart\0ti,am654-uart";
    			reg = <0x00 0x2800000 0x00 0x100>;
    			interrupts = <0x00 0xb2 0x04>;
    			power-domains = <0x02 0x92 0x01>;
    			clocks = <0x03 0x92 0x00>;
    			clock-names = "fclk";
    			status = "okay";
    			pinctrl-names = "default";
    			pinctrl-0 = <0x0b>;
    			bootph-pre-ram;
    		};
    
    		serial@2810000 {
    			compatible = "ti,am64-uart\0ti,am654-uart";
    			reg = <0x00 0x2810000 0x00 0x100>;
    			interrupts = <0x00 0xb3 0x04>;
    			power-domains = <0x02 0x98 0x01>;
    			clocks = <0x03 0x98 0x00>;
    			clock-names = "fclk";
    			status = "disabled";
    			bootph-pre-ram;
    		};
    
    		serial@2820000 {
    			compatible = "ti,am64-uart\0ti,am654-uart";
    			reg = <0x00 0x2820000 0x00 0x100>;
    			interrupts = <0x00 0xb4 0x04>;
    			power-domains = <0x02 0x99 0x01>;
    			clocks = <0x03 0x99 0x00>;
    			clock-names = "fclk";
    			status = "disabled";
    		};
    
    		serial@2830000 {
    			compatible = "ti,am64-uart\0ti,am654-uart";
    			reg = <0x00 0x2830000 0x00 0x100>;
    			interrupts = <0x00 0xb5 0x04>;
    			power-domains = <0x02 0x9a 0x01>;
    			clocks = <0x03 0x9a 0x00>;
    			clock-names = "fclk";
    			status = "disabled";
    		};
    
    		serial@2840000 {
    			compatible = "ti,am64-uart\0ti,am654-uart";
    			reg = <0x00 0x2840000 0x00 0x100>;
    			interrupts = <0x00 0xb6 0x04>;
    			power-domains = <0x02 0x9b 0x01>;
    			clocks = <0x03 0x9b 0x00>;
    			clock-names = "fclk";
    			status = "disabled";
    		};
    
    		serial@2850000 {
    			compatible = "ti,am64-uart\0ti,am654-uart";
    			reg = <0x00 0x2850000 0x00 0x100>;
    			interrupts = <0x00 0xb7 0x04>;
    			power-domains = <0x02 0x9c 0x01>;
    			clocks = <0x03 0x9c 0x00>;
    			clock-names = "fclk";
    			status = "disabled";
    		};
    
    		serial@2860000 {
    			compatible = "ti,am64-uart\0ti,am654-uart";
    			reg = <0x00 0x2860000 0x00 0x100>;
    			interrupts = <0x00 0xb8 0x04>;
    			power-domains = <0x02 0x9e 0x01>;
    			clocks = <0x03 0x9e 0x00>;
    			clock-names = "fclk";
    			status = "disabled";
    		};
    
    		i2c@20000000 {
    			compatible = "ti,am64-i2c\0ti,omap4-i2c";
    			reg = <0x00 0x20000000 0x00 0x100>;
    			interrupts = <0x00 0xa1 0x04>;
    			#address-cells = <0x01>;
    			#size-cells = <0x00>;
    			power-domains = <0x02 0x66 0x01>;
    			clocks = <0x03 0x66 0x02>;
    			clock-names = "fck";
    			status = "okay";
    			pinctrl-names = "default";
    			pinctrl-0 = <0x0c>;
    			clock-frequency = <0x61a80>;
    			bootph-pre-ram;
    		};
    
    		i2c@20010000 {
    			compatible = "ti,am64-i2c\0ti,omap4-i2c";
    			reg = <0x00 0x20010000 0x00 0x100>;
    			interrupts = <0x00 0xa2 0x04>;
    			#address-cells = <0x01>;
    			#size-cells = <0x00>;
    			power-domains = <0x02 0x67 0x01>;
    			clocks = <0x03 0x67 0x02>;
    			clock-names = "fck";
    			status = "okay";
    			pinctrl-names = "default";
    			pinctrl-0 = <0x0d>;
    			clock-frequency = <0x61a80>;
    			bootph-pre-ram;
    
    			gpio@22 {
    				compatible = "ti,tca6424";
    				reg = <0x22>;
    				gpio-controller;
    				#gpio-cells = <0x02>;
    				gpio-line-names = "GPIO_CPSW2_RST\0GPIO_CPSW1_RST\0BT_EN_SOC\0MMC1_SD_EN\0VPP_EN\0EXP_PS_3V3_En\0EXP_PS_5V0_En\0EXP_HAT_DETECT\0GPIO_AUD_RSTn\0GPIO_eMMC_RSTn\0UART1_FET_BUF_EN\0BT_UART_WAKE_SOC\0GPIO_HDMI_RSTn\0CSI_GPIO0\0CSI_GPIO1\0WLAN_ALERTn\0HDMI_INTn\0TEST_GPIO2\0MCASP1_FET_EN\0MCASP1_BUF_BT_EN\0MCASP1_FET_SEL\0UART1_FET_SEL\0PD_I2C_IRQ\0IO_EXP_TEST_LED";
    				bootph-pre-ram;
    				phandle = <0x2c>;
    			};
    		};
    
    		i2c@20020000 {
    			compatible = "ti,am64-i2c\0ti,omap4-i2c";
    			reg = <0x00 0x20020000 0x00 0x100>;
    			interrupts = <0x00 0xa3 0x04>;
    			#address-cells = <0x01>;
    			#size-cells = <0x00>;
    			power-domains = <0x02 0x68 0x01>;
    			clocks = <0x03 0x68 0x02>;
    			clock-names = "fck";
    			status = "disabled";
    		};
    
    		i2c@20030000 {
    			compatible = "ti,am64-i2c\0ti,omap4-i2c";
    			reg = <0x00 0x20030000 0x00 0x100>;
    			interrupts = <0x00 0xa4 0x04>;
    			#address-cells = <0x01>;
    			#size-cells = <0x00>;
    			power-domains = <0x02 0x69 0x01>;
    			clocks = <0x03 0x69 0x02>;
    			clock-names = "fck";
    			status = "disabled";
    		};
    
    		interrupt-controller@a00000 {
    			compatible = "ti,sci-intr";
    			reg = <0x00 0xa00000 0x00 0x800>;
    			ti,intr-trigger-type = <0x01>;
    			interrupt-controller;
    			interrupt-parent = <0x01>;
    			#interrupt-cells = <0x01>;
    			ti,sci = <0x04>;
    			ti,sci-dev-id = <0x03>;
    			ti,interrupt-ranges = <0x00 0x20 0x10>;
    			status = "okay";
    			phandle = <0x0e>;
    		};
    
    		gpio@600000 {
    			compatible = "ti,am64-gpio\0ti,keystone-gpio";
    			reg = <0x00 0x600000 0x00 0x100>;
    			gpio-controller;
    			#gpio-cells = <0x02>;
    			interrupt-parent = <0x0e>;
    			interrupts = <0xbe 0xbf 0xc0 0xc1 0xc2 0xc3>;
    			interrupt-controller;
    			#interrupt-cells = <0x02>;
    			ti,ngpio = <0x5c>;
    			ti,davinci-gpio-unbanked = <0x00>;
    			power-domains = <0x02 0x4d 0x01>;
    			clocks = <0x03 0x4d 0x00>;
    			clock-names = "gpio";
    			status = "okay";
    			bootph-pre-ram;
    		};
    
    		gpio@601000 {
    			compatible = "ti,am64-gpio\0ti,keystone-gpio";
    			reg = <0x00 0x601000 0x00 0x100>;
    			gpio-controller;
    			#gpio-cells = <0x02>;
    			interrupt-parent = <0x0e>;
    			interrupts = <0xb4 0xb5 0xb6 0xb7 0xb8 0xb9>;
    			interrupt-controller;
    			#interrupt-cells = <0x02>;
    			ti,ngpio = <0x34>;
    			ti,davinci-gpio-unbanked = <0x00>;
    			power-domains = <0x02 0x4e 0x01>;
    			clocks = <0x03 0x4e 0x00>;
    			clock-names = "gpio";
    			status = "okay";
    			phandle = <0x2e>;
    		};
    
    		mmc@fa10000 {
    			compatible = "ti,am62-sdhci";
    			reg = <0x00 0xfa10000 0x00 0x260 0x00 0xfa18000 0x00 0x134>;
    			interrupts = <0x00 0x85 0x04>;
    			power-domains = <0x02 0x39 0x01>;
    			clocks = <0x03 0x39 0x05 0x03 0x39 0x06>;
    			clock-names = "clk_ahb\0clk_xin";
    			assigned-clocks = <0x03 0x39 0x06>;
    			assigned-clock-parents = <0x03 0x39 0x08>;
    			bus-width = <0x08>;
    			mmc-ddr-1_8v;
    			mmc-hs200-1_8v;
    			ti,clkbuf-sel = <0x07>;
    			ti,otap-del-sel-legacy = <0x00>;
    			ti,otap-del-sel-mmc-hs = <0x00>;
    			ti,otap-del-sel-hs200 = <0x06>;
    			status = "okay";
    			pinctrl-names = "default";
    			pinctrl-0 = <0x0f>;
    			disable-wp;
    			bootph-pre-ram;
    		};
    
    		mmc@fa00000 {
    			compatible = "ti,am62-sdhci";
    			reg = <0x00 0xfa00000 0x00 0x260 0x00 0xfa08000 0x00 0x134>;
    			interrupts = <0x00 0x53 0x04>;
    			power-domains = <0x02 0x3a 0x01>;
    			clocks = <0x03 0x3a 0x05 0x03 0x3a 0x06>;
    			clock-names = "clk_ahb\0clk_xin";
    			bus-width = <0x04>;
    			ti,clkbuf-sel = <0x07>;
    			ti,otap-del-sel-legacy = <0x00>;
    			ti,otap-del-sel-sd-hs = <0x00>;
    			ti,otap-del-sel-sdr12 = <0x0f>;
    			ti,otap-del-sel-sdr25 = <0x0f>;
    			ti,otap-del-sel-sdr50 = <0x0c>;
    			ti,otap-del-sel-sdr104 = <0x06>;
    			ti,otap-del-sel-ddr50 = <0x09>;
    			ti,itap-del-sel-legacy = <0x00>;
    			ti,itap-del-sel-sd-hs = <0x00>;
    			ti,itap-del-sel-sdr12 = <0x00>;
    			ti,itap-del-sel-sdr25 = <0x00>;
    			no-1-8-v;
    			status = "okay";
    			vmmc-supply = <0x10>;
    			pinctrl-names = "default";
    			pinctrl-0 = <0x11>;
    			disable-wp;
    			bootph-pre-ram;
    		};
    
    		mmc@fa20000 {
    			compatible = "ti,am62-sdhci";
    			reg = <0x00 0xfa20000 0x00 0x260 0x00 0xfa28000 0x00 0x134>;
    			interrupts = <0x00 0x52 0x04>;
    			power-domains = <0x02 0xb8 0x01>;
    			clocks = <0x03 0xb8 0x05 0x03 0xb8 0x06>;
    			clock-names = "clk_ahb\0clk_xin";
    			bus-width = <0x04>;
    			ti,clkbuf-sel = <0x07>;
    			ti,otap-del-sel-legacy = <0x00>;
    			ti,otap-del-sel-sd-hs = <0x00>;
    			ti,otap-del-sel-sdr12 = <0x0f>;
    			ti,otap-del-sel-sdr25 = <0x0f>;
    			ti,otap-del-sel-sdr50 = <0x0c>;
    			ti,otap-del-sel-sdr104 = <0x06>;
    			ti,otap-del-sel-ddr50 = <0x09>;
    			ti,itap-del-sel-legacy = <0x00>;
    			ti,itap-del-sel-sd-hs = <0x00>;
    			ti,itap-del-sel-sdr12 = <0x00>;
    			ti,itap-del-sel-sdr25 = <0x00>;
    			no-1-8-v;
    			status = "disabled";
    		};
    
    		dwc3-usb@f900000 {
    			compatible = "ti,am62-usb";
    			reg = <0x00 0xf900000 0x00 0x800>;
    			clocks = <0x03 0xa1 0x03>;
    			clock-names = "ref";
    			ti,syscon-phy-pll-refclk = <0x12 0x4008>;
    			#address-cells = <0x02>;
    			#size-cells = <0x02>;
    			power-domains = <0x02 0xb2 0x01>;
    			ranges;
    			status = "okay";
    			ti,vbus-divider;
    			bootph-pre-ram;
    
    			usb@31000000 {
    				compatible = "snps,dwc3";
    				reg = <0x00 0x31000000 0x00 0x50000>;
    				interrupts = <0x00 0xbc 0x04 0x00 0xbc 0x04>;
    				interrupt-names = "host\0peripheral";
    				maximum-speed = "high-speed";
    				dr_mode = "host";
    				usb-role-switch;
    				bootph-all;
    				bootph-pre-ram;
    			};
    		};
    
    		dwc3-usb@f910000 {
    			compatible = "ti,am62-usb";
    			reg = <0x00 0xf910000 0x00 0x800>;
    			clocks = <0x03 0xa2 0x03>;
    			clock-names = "ref";
    			ti,syscon-phy-pll-refclk = <0x12 0x4018>;
    			#address-cells = <0x02>;
    			#size-cells = <0x02>;
    			power-domains = <0x02 0xb3 0x01>;
    			ranges;
    			status = "disabled";
    
    			usb@31100000 {
    				compatible = "snps,dwc3";
    				reg = <0x00 0x31100000 0x00 0x50000>;
    				interrupts = <0x00 0xe2 0x04 0x00 0xe2 0x04>;
    				interrupt-names = "host\0peripheral";
    				maximum-speed = "high-speed";
    				dr_mode = "otg";
    			};
    		};
    
    		ethernet@8000000 {
    			compatible = "ti,am642-cpsw-nuss";
    			#address-cells = <0x02>;
    			#size-cells = <0x02>;
    			reg = <0x00 0x8000000 0x00 0x200000 0x00 0x43000200 0x00 0x08>;
    			reg-names = "cpsw_nuss\0mac_efuse";
    			clocks = <0x03 0x0d 0x00>;
    			assigned-clocks = <0x03 0x0d 0x03>;
    			assigned-clock-parents = <0x03 0x0d 0x0b>;
    			clock-names = "fck";
    			power-domains = <0x02 0x0d 0x01>;
    			status = "okay";
    			dmas = <0x08 0xc600 0x0f 0x08 0xc601 0x0f 0x08 0xc602 0x0f 0x08 0xc603 0x0f 0x08 0xc604 0x0f 0x08 0xc605 0x0f 0x08 0xc606 0x0f 0x08 0xc607 0x0f 0x08 0x4600 0x0f>;
    			dma-names = "tx0\0tx1\0tx2\0tx3\0tx4\0tx5\0tx6\0tx7\0rx";
    			pinctrl-names = "default";
    			pinctrl-0 = <0x13 0x14>;
    			bootph-pre-ram;
    
    			ethernet-ports {
    				#address-cells = <0x01>;
    				#size-cells = <0x00>;
    
    				port@1 {
    					reg = <0x01>;
    					ti,mac-only;
    					label = "port1";
    					phys = <0x15 0x01>;
    					mac-address = [00 00 00 00 00 00];
    					ti,syscon-efuse = <0x12 0x200>;
    					status = "okay";
    					phy-mode = "rgmii-rxid";
    					phy-handle = <0x16>;
    				};
    
    				port@2 {
    					reg = <0x02>;
    					ti,mac-only;
    					label = "port2";
    					phys = <0x15 0x02>;
    					mac-address = [00 00 00 00 00 00];
    					status = "disabled";
    				};
    			};
    
    			mdio@f00 {
    				compatible = "ti,cpsw-mdio\0ti,davinci_mdio";
    				reg = <0x00 0xf00 0x00 0x100>;
    				#address-cells = <0x01>;
    				#size-cells = <0x00>;
    				clocks = <0x03 0x0d 0x00>;
    				clock-names = "fck";
    				bus_freq = <0xf4240>;
    				status = "okay";
    				pinctrl-names = "default";
    				pinctrl-0 = <0x14>;
    
    				ethernet-phy@0 {
    					reg = <0x00>;
    					ti,rx-internal-delay = <0x07>;
    					ti,fifo-depth = <0x01>;
    					ti,min-output-impedance;
    					phandle = <0x16>;
    				};
    			};
    
    			cpts@3d000 {
    				compatible = "ti,j721e-cpts";
    				reg = <0x00 0x3d000 0x00 0x400>;
    				clocks = <0x03 0x0d 0x03>;
    				clock-names = "cpts";
    				interrupts-extended = <0x01 0x00 0x66 0x04>;
    				interrupt-names = "cpts";
    				ti,cpts-ext-ts-inputs = <0x04>;
    				ti,cpts-periodic-outputs = <0x02>;
    			};
    
    			cpsw-phy-sel@04044 {
    				compatible = "ti,am64-phy-gmii-sel";
    				reg = <0x00 0x104044 0x00 0x08>;
    				bootph-pre-ram;
    			};
    		};
    
    		mailbox@29000000 {
    			compatible = "ti,am64-mailbox";
    			reg = <0x00 0x29000000 0x00 0x200>;
    			interrupts = <0x00 0x4c 0x04>;
    			#mbox-cells = <0x01>;
    			ti,mbox-num-users = <0x04>;
    			ti,mbox-num-fifos = <0x10>;
    		};
    
    		mailbox@29010000 {
    			compatible = "ti,am64-mailbox";
    			reg = <0x00 0x29010000 0x00 0x200>;
    			interrupts = <0x00 0x4d 0x04>;
    			#mbox-cells = <0x01>;
    			ti,mbox-num-users = <0x04>;
    			ti,mbox-num-fifos = <0x10>;
    		};
    
    		mailbox@29020000 {
    			compatible = "ti,am64-mailbox";
    			reg = <0x00 0x29020000 0x00 0x200>;
    			interrupts = <0x00 0x6c 0x04>;
    			#mbox-cells = <0x01>;
    			ti,mbox-num-users = <0x04>;
    			ti,mbox-num-fifos = <0x10>;
    		};
    
    		mailbox@29030000 {
    			compatible = "ti,am64-mailbox";
    			reg = <0x00 0x29030000 0x00 0x200>;
    			interrupts = <0x00 0x6d 0x04>;
    			#mbox-cells = <0x01>;
    			ti,mbox-num-users = <0x04>;
    			ti,mbox-num-fifos = <0x10>;
    		};
    
    		dsp@7e000000 {
    			compatible = "ti,am62a-c7xv-dsp";
    			reg = <0x00 0x7e000000 0x00 0x100000>;
    			reg-names = "l2sram";
    			ti,sci = <0x04>;
    			ti,sci-dev-id = <0xd0>;
    			ti,sci-proc-ids = <0x04 0xff>;
    			resets = <0x05 0xd0 0x01>;
    			firmware-name = "am62a-c71_0-fw";
    		};
    
    		bus@fc00000 {
    			compatible = "simple-bus";
    			reg = <0x00 0xfc00000 0x00 0x70000>;
    			#address-cells = <0x02>;
    			#size-cells = <0x02>;
    			ranges;
    			status = "okay";
    			bootph-pre-ram;
    
    			spi@fc40000 {
    				compatible = "ti,am654-ospi\0cdns,qspi-nor";
    				reg = <0x00 0xfc40000 0x00 0x100 0x05 0x00 0x01 0x00>;
    				interrupts = <0x00 0x8b 0x04>;
    				cdns,fifo-depth = <0x100>;
    				cdns,fifo-width = <0x04>;
    				cdns,trigger-address = <0x00>;
    				clocks = <0x03 0x4b 0x07>;
    				assigned-clocks = <0x03 0x4b 0x07>;
    				assigned-clock-parents = <0x03 0x4b 0x08>;
    				assigned-clock-rates = <0x9ef21aa>;
    				power-domains = <0x02 0x4b 0x01>;
    				#address-cells = <0x01>;
    				#size-cells = <0x00>;
    				pinctrl-names = "default";
    				pinctrl-0 = <0x17>;
    				bootph-pre-ram;
    
    				flash@0 {
    					compatible = "spi-nand";
    					reg = <0x00>;
    					spi-tx-bus-width = <0x08>;
    					spi-rx-bus-width = <0x08>;
    					spi-max-frequency = <0x17d7840>;
    					cdns,tshsl-ns = <0x3c>;
    					cdns,tsd2d-ns = <0x3c>;
    					cdns,tchsh-ns = <0x3c>;
    					cdns,tslch-ns = <0x3c>;
    					cdns,read-delay = <0x02>;
    					cdns,phy-mode;
    					bootph-pre-ram;
    
    					partitions {
    						compatible = "fixed-partitions";
    						#address-cells = <0x01>;
    						#size-cells = <0x01>;
    						bootph-pre-ram;
    
    						partition@0 {
    							label = "ospi_nand.tiboot3";
    							reg = <0x00 0x80000>;
    						};
    
    						partition@80000 {
    							label = "ospi_nand.tispl";
    							reg = <0x80000 0x200000>;
    						};
    
    						partition@280000 {
    							label = "ospi_nand.u-boot";
    							reg = <0x280000 0x400000>;
    						};
    
    						partition@680000 {
    							label = "ospi_nand.env";
    							reg = <0x680000 0x40000>;
    						};
    
    						partition@6c0000 {
    							label = "ospi_nand.env.backup";
    							reg = <0x6c0000 0x40000>;
    						};
    
    						partition@2000000 {
    							label = "ospi_nand.rootfs";
    							reg = <0x2000000 0x5fc0000>;
    						};
    
    						partition@7fc0000 {
    							label = "ospi_nand.phypattern";
    							reg = <0x7fc0000 0x40000>;
    						};
    					};
    				};
    			};
    		};
    
    		timer@2400000 {
    			compatible = "ti,omap5430-timer";
    			reg = <0x00 0x2400000 0x00 0x80>;
    			ti,timer-alwon;
    			clock-frequency = <0x17d7840>;
    			bootph-pre-ram;
    		};
    	};
    
    	cpus {
    		#address-cells = <0x01>;
    		#size-cells = <0x00>;
    
    		cpu-map {
    
    			cluster0 {
    
    				core0 {
    					cpu = <0x18>;
    				};
    
    				core1 {
    					cpu = <0x19>;
    				};
    
    				core2 {
    					cpu = <0x1a>;
    				};
    
    				core3 {
    					cpu = <0x1b>;
    				};
    			};
    		};
    
    		cpu@0 {
    			compatible = "arm,cortex-a53";
    			reg = <0x00>;
    			device_type = "cpu";
    			enable-method = "psci";
    			i-cache-size = <0x8000>;
    			i-cache-line-size = <0x40>;
    			i-cache-sets = <0x100>;
    			d-cache-size = <0x8000>;
    			d-cache-line-size = <0x40>;
    			d-cache-sets = <0x80>;
    			next-level-cache = <0x1c>;
    			phandle = <0x18>;
    		};
    
    		cpu@1 {
    			compatible = "arm,cortex-a53";
    			reg = <0x01>;
    			device_type = "cpu";
    			enable-method = "psci";
    			i-cache-size = <0x8000>;
    			i-cache-line-size = <0x40>;
    			i-cache-sets = <0x100>;
    			d-cache-size = <0x8000>;
    			d-cache-line-size = <0x40>;
    			d-cache-sets = <0x80>;
    			next-level-cache = <0x1c>;
    			phandle = <0x19>;
    		};
    
    		cpu@2 {
    			compatible = "arm,cortex-a53";
    			reg = <0x02>;
    			device_type = "cpu";
    			enable-method = "psci";
    			i-cache-size = <0x8000>;
    			i-cache-line-size = <0x40>;
    			i-cache-sets = <0x100>;
    			d-cache-size = <0x8000>;
    			d-cache-line-size = <0x40>;
    			d-cache-sets = <0x80>;
    			next-level-cache = <0x1c>;
    			phandle = <0x1a>;
    		};
    
    		cpu@3 {
    			compatible = "arm,cortex-a53";
    			reg = <0x03>;
    			device_type = "cpu";
    			enable-method = "psci";
    			i-cache-size = <0x8000>;
    			i-cache-line-size = <0x40>;
    			i-cache-sets = <0x100>;
    			d-cache-size = <0x8000>;
    			d-cache-line-size = <0x40>;
    			d-cache-sets = <0x80>;
    			next-level-cache = <0x1c>;
    			phandle = <0x1b>;
    		};
    	};
    
    	l2-cache0 {
    		compatible = "cache";
    		cache-level = <0x02>;
    		cache-size = <0x40000>;
    		cache-line-size = <0x40>;
    		cache-sets = <0x200>;
    		phandle = <0x1c>;
    	};
    
    	binman {
    		multiple-images;
    
    		custMpk {
    			filename = "custMpk.pem";
    
    			blob-ext {
    				filename = "../keys/custMpk.pem";
    			};
    		};
    
    		ti-degenerate-key {
    			filename = "ti-degenerate-key.pem";
    
    			blob-ext {
    				filename = "../keys/ti-degenerate-key.pem";
    			};
    		};
    
    		board-cfg {
    			filename = "board-cfg.bin";
    
    			ti-board-config {
    				config = "board-cfg.yaml";
    				schema = "../common/schema.yaml";
    			};
    		};
    
    		pm-cfg {
    			filename = "pm-cfg.bin";
    
    			ti-board-config {
    				config = "pm-cfg.yaml";
    				schema = "../common/schema.yaml";
    			};
    		};
    
    		rm-cfg {
    			filename = "rm-cfg.bin";
    
    			ti-board-config {
    				config = "rm-cfg.yaml";
    				schema = "../common/schema.yaml";
    			};
    		};
    
    		sec-cfg {
    			filename = "sec-cfg.bin";
    
    			ti-board-config {
    				config = "sec-cfg.yaml";
    				schema = "../common/schema.yaml";
    			};
    		};
    
    		combined-tifs-cfg {
    			filename = "combined-tifs-cfg.bin";
    
    			ti-board-config {
    
    				board-cfg {
    					config = "board-cfg.yaml";
    					schema = "../common/schema.yaml";
    				};
    
    				sec-cfg {
    					config = "sec-cfg.yaml";
    					schema = "../common/schema.yaml";
    				};
    
    				pm-cfg {
    					config = "pm-cfg.yaml";
    					schema = "../common/schema.yaml";
    				};
    
    				rm-cfg {
    					config = "tifs-rm-cfg.yaml";
    					schema = "../common/schema.yaml";
    				};
    			};
    		};
    
    		combined-dm-cfg {
    			filename = "combined-dm-cfg.bin";
    
    			ti-board-config {
    
    				pm-cfg {
    					config = "pm-cfg.yaml";
    					schema = "../common/schema.yaml";
    				};
    
    				rm-cfg {
    					config = "rm-cfg.yaml";
    					schema = "../common/schema.yaml";
    				};
    			};
    		};
    
    		combined-sysfw-cfg {
    			filename = "combined-sysfw-cfg.bin";
    
    			ti-board-config {
    
    				board-cfg {
    					config = "board-cfg.yaml";
    					schema = "../common/schema.yaml";
    				};
    
    				sec-cfg {
    					config = "sec-cfg.yaml";
    					schema = "../common/schema.yaml";
    				};
    
    				pm-cfg {
    					config = "pm-cfg.yaml";
    					schema = "../common/schema.yaml";
    				};
    
    				rm-cfg {
    					config = "rm-cfg.yaml";
    					schema = "../common/schema.yaml";
    				};
    			};
    		};
    
    		tiboot3-am62ax-hs-evm.bin {
    			filename = "tiboot3-am62ax-hs-evm.bin";
    
    			ti-secure-rom {
    				content = <0x1d 0x1e 0x1f 0x20 0x21>;
    				combined;
    				dm-data;
    				sysfw-inner-cert;
    				keyfile = "custMpk.pem";
    				sw-rev = <0x01>;
    				content-sbl = <0x1d>;
    				content-sysfw = <0x1e>;
    				content-sysfw-data = <0x1f>;
    				content-sysfw-inner-cert = <0x21>;
    				content-dm-data = <0x20>;
    				load = <0x43c00000>;
    				load-sysfw = <0x40000>;
    				load-sysfw-data = <0x67000>;
    				load-dm-data = <0x43c3a800>;
    			};
    
    			u-boot-spl {
    				no-expanded;
    				phandle = <0x1d>;
    			};
    
    			ti-fs-enc.bin {
    				filename = "ti-sysfw/ti-fs-firmware-am62ax-hs-enc.bin";
    				type = "blob-ext";
    				optional;
    				phandle = <0x1e>;
    			};
    
    			combined-tifs-cfg.bin {
    				filename = "combined-tifs-cfg.bin";
    				type = "blob-ext";
    				phandle = <0x1f>;
    			};
    
    			sysfw-inner-cert {
    				filename = "ti-sysfw/ti-fs-firmware-am62ax-hs-cert.bin";
    				type = "blob-ext";
    				optional;
    				phandle = <0x21>;
    			};
    
    			combined-dm-cfg.bin {
    				filename = "combined-dm-cfg.bin";
    				type = "blob-ext";
    				phandle = <0x20>;
    			};
    		};
    
    		tiboot3-am62ax-hs-fs-evm.bin {
    			filename = "tiboot3-am62ax-hs-fs-evm.bin";
    			symlink = "tiboot3.bin";
    
    			ti-secure-rom {
    				content = <0x22 0x23 0x24 0x25 0x26>;
    				combined;
    				dm-data;
    				sysfw-inner-cert;
    				keyfile = "custMpk.pem";
    				sw-rev = <0x01>;
    				content-sbl = <0x22>;
    				content-sysfw = <0x23>;
    				content-sysfw-data = <0x24>;
    				content-sysfw-inner-cert = <0x26>;
    				content-dm-data = <0x25>;
    				load = <0x43c00000>;
    				load-sysfw = <0x40000>;
    				load-sysfw-data = <0x67000>;
    				load-dm-data = <0x43c3a800>;
    			};
    
    			u-boot-spl {
    				no-expanded;
    				phandle = <0x22>;
    			};
    
    			ti-fs-enc.bin {
    				filename = "ti-sysfw/ti-fs-firmware-am62ax-hs-fs-enc.bin";
    				type = "blob-ext";
    				optional;
    				phandle = <0x23>;
    			};
    
    			combined-tifs-cfg.bin {
    				filename = "combined-tifs-cfg.bin";
    				type = "blob-ext";
    				phandle = <0x24>;
    			};
    
    			sysfw-inner-cert {
    				filename = "ti-sysfw/ti-fs-firmware-am62ax-hs-fs-cert.bin";
    				type = "blob-ext";
    				optional;
    				phandle = <0x26>;
    			};
    
    			combined-dm-cfg.bin {
    				filename = "combined-dm-cfg.bin";
    				type = "blob-ext";
    				phandle = <0x25>;
    			};
    		};
    
    		tiboot3-am62ax-gp-evm.bin {
    			filename = "tiboot3-am62ax-gp-evm.bin";
    
    			ti-secure-rom {
    				content = <0x27 0x28 0x29 0x2a>;
    				combined;
    				dm-data;
    				content-sbl = <0x27>;
    				load = <0x43c00000>;
    				content-sysfw = <0x28>;
    				load-sysfw = <0x40000>;
    				content-sysfw-data = <0x29>;
    				load-sysfw-data = <0x67000>;
    				content-dm-data = <0x2a>;
    				load-dm-data = <0x43c3a800>;
    				sw-rev = <0x01>;
    				keyfile = "ti-degenerate-key.pem";
    			};
    
    			u-boot-spl {
    				no-expanded;
    				phandle = <0x27>;
    			};
    
    			ti-fs-gp.bin {
    				filename = "ti-sysfw/ti-fs-firmware-am62ax-gp.bin";
    				type = "blob-ext";
    				optional;
    				phandle = <0x28>;
    			};
    
    			combined-tifs-cfg-gp.bin {
    				filename = "combined-tifs-cfg.bin";
    				type = "blob-ext";
    				phandle = <0x29>;
    			};
    
    			combined-dm-cfg-gp.bin {
    				filename = "combined-dm-cfg.bin";
    				type = "blob-ext";
    				phandle = <0x2a>;
    			};
    		};
    	};
    
    	aliases {
    		serial2 = "/bus@f0000/serial@2800000";
    		mmc0 = "/bus@f0000/mmc@fa10000";
    		mmc1 = "/bus@f0000/mmc@fa00000";
    		spi0 = "/bus@f0000/bus@fc00000/spi@fc40000";
    	};
    
    	memory@80000000 {
    		device_type = "memory";
    		reg = <0x00 0x80000000 0x00 0x80000000 0x08 0x80000000 0x00 0x80000000>;
    		bootph-pre-ram;
    	};
    
    	reserved-memory {
    		#address-cells = <0x02>;
    		#size-cells = <0x02>;
    		ranges;
    
    		tfa@9e780000 {
    			reg = <0x00 0x9e780000 0x00 0x80000>;
    			alignment = <0x1000>;
    			no-map;
    		};
    
    		optee@9e800000 {
    			reg = <0x00 0x9e800000 0x00 0x1800000>;
    			alignment = <0x1000>;
    			no-map;
    		};
    
    		r5f-dma-memory@9c800000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x9c800000 0x00 0x100000>;
    			no-map;
    		};
    
    		r5f-dma-memory@9c900000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x9c900000 0x00 0x1e00000>;
    			no-map;
    		};
    
    		r5f-dma-memory@9b800000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x9b800000 0x00 0x100000>;
    			no-map;
    		};
    
    		r5f-dma-memory@9b900000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x9b900000 0x00 0xf00000>;
    			no-map;
    		};
    
    		c7x-dma-memory@99800000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x99800000 0x00 0x100000>;
    			no-map;
    		};
    
    		c7x-memory@99900000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x99900000 0x00 0x1efffff>;
    			no-map;
    		};
    
    		edgeai-rtos-ipc-memory-region {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa0000000 0x00 0x1000000>;
    			no-map;
    		};
    
    		edgeai-dma-memory@a1000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa1000000 0x00 0x2000000>;
    			no-map;
    		};
    
    		edgeai-core-heap-memory@ae000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xae000000 0x00 0x12000000>;
    			no-map;
    		};
    	};
    
    	regulator-0 {
    		compatible = "regulator-fixed";
    		regulator-name = "vmain_pd";
    		regulator-min-microvolt = <0x4c4b40>;
    		regulator-max-microvolt = <0x4c4b40>;
    		regulator-always-on;
    		regulator-boot-on;
    		phandle = <0x2b>;
    	};
    
    	regulator-1 {
    		compatible = "regulator-fixed";
    		regulator-name = "vcc_5v0";
    		regulator-min-microvolt = <0x4c4b40>;
    		regulator-max-microvolt = <0x4c4b40>;
    		vin-supply = <0x2b>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	regulator-2 {
    		compatible = "regulator-fixed";
    		regulator-name = "vcc_3v3_sys";
    		regulator-min-microvolt = <0x325aa0>;
    		regulator-max-microvolt = <0x325aa0>;
    		vin-supply = <0x2b>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	regulator-3 {
    		compatible = "regulator-fixed";
    		regulator-name = "vdd_mmc1";
    		regulator-min-microvolt = <0x325aa0>;
    		regulator-max-microvolt = <0x325aa0>;
    		regulator-boot-on;
    		enable-active-high;
    		gpio = <0x2c 0x03 0x00>;
    		bootph-pre-ram;
    		phandle = <0x10>;
    	};
    
    	leds {
    		compatible = "gpio-leds";
    		pinctrl-names = "default";
    		pinctrl-0 = <0x2d>;
    
    		led-0 {
    			label = "am62a-sk:green:heartbeat";
    			gpios = <0x2e 0x31 0x00>;
    			linux,default-trigger = "heartbeat";
    			function = "heartbeat";
    			default-state = "off";
    		};
    	};
    };
    

    i didn't find any ./partition.sh file in my "mcu_plus_sdk_am62ax_10_01_00_33" sdk in window system.

    if possible can you share the boot file with me also so i can test in my EVM.

    I have clean full sdk and build again but still facing the issue.

    Can you suggest where i can look into.

    Thank 

    Pankaj Verma

  • Hi Pankaj,

    I'm sharing a script to partition the disk correctly.

    Please try it out. (From a Linux host PC)

    # Define your target device
    export DEV=/dev/<device>
    
    sudo umount ${DEV}* 2>/dev/null
    sudo dd if=/dev/zero of=$DEV bs=1M count=10 conv=notrunc
    
    sudo fdisk $DEV << EOF
    o
    n
    p
    1
    
    +62M
    n
    p
    2
    
    
    t
    1
    c
    a
    1
    w
    EOF
    
    sudo partprobe $DEV
    sleep 2
    
    # Format Partitions
    sudo mkfs.vfat -F 32 -n "boot" ${DEV}1
    sudo mkfs.ext4 -L "rootfs" ${DEV}2
    sync
    
    lsblk -f $DEV

    I'm sharing the working tiboot3.bin below.
     7612.tiboot3.zip


    Regards,
    Vinu

  • Hi Vinu,

    Thanks for tiboot3.bin file.

    After replacing your boot file, boot is started but it is not jumping into kernel image.

    logs for your reference.

    U-Boot SPL 2023.04-ti-g94b9fba1d4cc (Jan 29 2026 - 09:56:51 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0009 '9.2.7--v09.02.07 (Kool Koala)')
    am62a_init: board_init_f done
    SPL initial stack usage: 13568 bytes
    SPL possible initial stack overflow detected!!
    am62a_init: spl_boot_device: devstat = 0x153 bootmedia = 0x2a bootindex = 0
    Trying to boot from USB
    Bus usb@31000000: Register 1000840 NbrPorts 1
    Starting the controller
    USB XHCI 1.10
    scanning bus usb@31000000 for devices... 2 USB Device(s) found
           scanning usb for storage devices... 1 Storage Device(s) found
    am62a_init: spl_boot_device: devstat = 0x153 bootmedia = 0x2a bootindex = 0
    Authentication passed
    am62a_init: spl_boot_device: devstat = 0x153 bootmedia = 0x2a bootindex = 0
    Authentication passed
    am62a_init: spl_boot_device: devstat = 0x153 bootmedia = 0x2a bootindex = 0
    Authentication passed
    am62a_init: spl_boot_device: devstat = 0x153 bootmedia = 0x2a bootindex = 0
    Authentication passed
    am62a_init: spl_boot_device: devstat = 0x153 bootmedia = 0x2a bootindex = 0
    Authentication passed
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b87-dirty
    NOTICE:  BL31: Built : 16:09:05, Feb  9 2024
    
    U-Boot SPL 2023.04-ti-gf9b966c67473 (Mar 19 2024 - 20:31:40 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0009 '9.2.7--v09.02.07 (Kool Koala)')
    am62a_init: board_init_f done
    am62a_init: spl_boot_device: devstat = 0x153 bootmedia = 0x2a bootindex = 0
    Trying to boot from USB
    Bus usb@31000000: Register 1000840 NbrPorts 1
    Starting the controller
    USB XHCI 1.10
    scanning bus usb@31000000 for devices... 2 USB Device(s) found
           scanning usb for storage devices... 1 Storage Device(s) found
    am62a_init: spl_boot_device: devstat = 0x153 bootmedia = 0x2a bootindex = 0
    Authentication passed
    am62a_init: spl_boot_device: devstat = 0x153 bootmedia = 0x2a bootindex = 0
    Authentication passed
    
    
    U-Boot 2023.04-ti-gf9b966c67473 (Mar 19 2024 - 20:31:40 +0000)
    
    SoC:   AM62AX SR1.0 HS-FS
    Model: Texas Instruments AM62A7 SK
    DRAM:  2 GiB (effective 4 GiB)
    Core:  58 devices, 28 uclasses, devicetree: separate
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Net:   eth0: ethernet@8000000port@1
    Hit any key to stop autoboot:  0
    MMC: no card present
    SD/MMC found on device 1
    MMC: no card present
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1
    Can't set block device
    MMC: no card present
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1
    Can't set block device
    MMC: no card present
    ** Bad device specification mmc 1 **
    ## Error: "main_cpsw0_qsgmii_phyinit" not defined
    MMC: no card present
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:2
    Can't set block device
    MMC: no card present
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:2
    Can't set block device
    libfdt fdt_check_header(): FDT_ERR_BADMAGIC
    No FDT memory address configured. Please configure
    the FDT address via "fdt addr <address>" command.
    Aborting!
    Bad Linux ARM64 Image magic!
    switch to partitions #0, OK
    mmc0(part 0) is current device
    Scanning mmc 0:1...
    MMC: no card present
    No EFI system partition
    No EFI system partition
    Failed to persist EFI variables
    BootOrder not defined
    EFI boot manager: Cannot load any image
    MMC: no card present
    starting USB...
    Bus usb@31000000: Register 1000840 NbrPorts 1
    Starting the controller
    USB XHCI 1.10
    scanning bus usb@31000000 for devices... 2 USB Device(s) found
           scanning usb for storage devices... 1 Storage Device(s) found
    
    Device 0: Vendor: HP       Rev: PMAP Prod: USB Flash Drive
                Type: Removable Hard Disk
                Capacity: 59153.0 MB = 57.7 GB (121145344 x 512)
    ... is now current device
    Scanning usb 0:1...
    BootOrder not defined
    EFI boot manager: Cannot load any image
    ethernet@8000000port@1 Waiting for PHY auto negotiation to complete......... TIMEOUT !
    am65_cpsw_nuss_port ethernet@8000000port@1: phy_startup failed
    am65_cpsw_nuss_port ethernet@8000000port@1: am65_cpsw_start end error
    missing environment variable: pxeuuid
    Retrieving file: pxelinux.cfg/01-1c-63-49-17-1f-02
    ethernet@8000000port@1 Waiting for PHY auto negotiation to complete......... TIMEOUT !
    am65_cpsw_nuss_port ethernet@8000000port@1: phy_startup failed
    am65_cpsw_nuss_port ethernet@8000000port@1: am65_cpsw_start end error
    Retrieving file: pxelinux.cfg/00000000
    ethernet@8000000port@1 Waiting for PHY auto negotiation to complete......... TIMEOUT !
    am65_cpsw_nuss_port ethernet@8000000port@1: phy_startup failed
    am65_cpsw_nuss_port ethernet@8000000port@1: am65_cpsw_start end error
    Retrieving file: pxelinux.cfg/0000000
    ethernet@8000000port@1 Waiting for PHY auto negotiation to complete..
     

    At my end, Is it confirmed that the build issue because after replacing your file boot started? Or may be any usb driver missing?

    At my end i try to clean and build whole image once again. and let you know.

    Can you please tell me why it is not jump to kernel image (rootfs). 

    Thanks 

    Pankaj Verma

    I will try to clean whole image and try to build again.