This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SK-AM64B: SK-AM64B Booting with USB Pen drive

Part Number: SK-AM64B

Hello TI Team,

We are designing our custom board based on TI part number AM6411BSCGHAALV. In our custom design we are using one SDIO interface for WiFi module and other SDIO interface for eMMC.
We are planning to boot the custom board with USB interface with USB host boot mode. we have created partition on USB pen drive similar to the MMC SD card (using create-sdcard.sh) and try to boot the AM642 SK EVM with USB host boot mode and we get below logs.

----------------------------------------------------------------------------------------------
U-Boot SPL 2023.04-g24098ea90d (Jul 06 2023 - 12:59:40 +0000)
EEPROM not available at 0x50, trying to read at 0x51
Resetting on cold boot to workaround ErrataID:i2331
Please resend tiboot3.bin in case of UART/DFU boot
resetting ...

U-Boot SPL 2023.04-g24098ea90d (Jul 06 2023 - 12:59:40 +0000)
EEPROM not available at 0x50, trying to read at 0x51
SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.5--v09.00.05 (Kool Koala)')
SPL initial stack usage: 13376 bytes
Trying to boot from USB
Bus usb@f400000: Register 2000840 NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus usb@f400000 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
Loading Environment from MMC... MMC Device 0 not found
*** Warning - No MMC card found, using default environment

init_env from device 42 not supported!
Starting ATF on ARM64 core...

NOTICE: BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
NOTICE: BL31: Built : 00:42:57, Jan 13 2023
I/TC:
I/TC: OP-TEE version: 3.20.0 (gcc version 11.3.0 (GCC)) #1 Fri Jan 20 15:42:54 UTC 2023 aarch64
I/TC: WARNING: This OP-TEE configuration might be insecure!
I/TC: WARNING: Please check optee.readthedocs.io/.../porting_guidelines.html
I/TC: Primary CPU initializing
I/TC: SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.5--v09.00.05 (Kool Koala)')
I/TC: HUK Initialized
I/TC: Activated SA2UL device
I/TC: Enabled firewalls for SA2UL TRNG device
I/TC: SA2UL TRNG initialized
I/TC: SA2UL Drivers initialized
I/TC: Primary CPU switching to normal world boot

U-Boot SPL 2023.04-g24098ea90d (Jul 06 2023 - 12:59:40 +0000)
SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.5--v09.00.05 (Kool Koala)')
Trying to boot from USB
Bus usb@f400000: cdns-usb3-host usb@f400000: set 1 has failed, back to 0
scanning bus usb@f400000 for devices... 1 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
-------------------------------------------------

To over come this problem we have done below changes in the code and copy tispl.bin in the pen drive boot partition and boot.
File name :arch/arm/dts/k3-am642-sk.dts Line : 429
&usbss0 {
ti,vbus-divider;
+ ti,usb2-only;
};

&usb0 {
...

------------------

U-Boot SPL 2023.04-g24098ea90d (Jul 06 2023 - 12:59:40 +0000)
EEPROM not available at 0x50, trying to read at 0x51
Resetting on cold boot to workaround ErrataID:i2331
Please resend tiboot3.bin in case of UART/DFU boot
resetting ...

U-Boot SPL 2023.04-g24098ea90d (Jul 06 2023 - 12:59:40 +0000)
EEPROM not available at 0x50, trying to read at 0x51
SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.5--v09.00.05 (Kool Koala)')
SPL initial stack usage: 13376 bytes
Trying to boot from USB
Bus usb@f400000: Register 2000840 NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus usb@f400000 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
Loading Environment from MMC... MMC Device 0 not found
*** Warning - No MMC card found, using default environment

init_env from device 42 not supported!
Starting ATF on ARM64 core...

NOTICE: BL31: v2.8(release):v2.8-226-g2fcd408bb
NOTICE: BL31: Built : 15:37:40, Sep 27 2023
I/TC:
I/TC: OP-TEE version: 3.20.0-rc1 (gcc version 11.3.1 20220712 (Arm GNU Toolchain 11.3.Rel1)) #1 Wed Sep 27 10:11:18 UTC 2023 aarch64
I/TC: WARNING: This OP-TEE configuration might be insecure!
I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
I/TC: Primary CPU initializing
I/TC: SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.5--v09.00.05 (Kool Koala)')
I/TC: HUK Initialized
I/TC: Activated SA2UL device
I/TC: Enabled firewalls for SA2UL TRNG device
I/TC: SA2UL TRNG initialized
I/TC: SA2UL Drivers initialized
I/TC: Primary CPU switching to normal world boot

U-Boot SPL 2023.04 (Oct 11 2023 - 12:31:03 +0530)
SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.5--v09.00.05 (Kool Koala)')
Trying to boot from USB
Bus usb@f400000: Register 2000840 NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus usb@f400000 for devices... 2 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
Authentication passed
Authentication passed


U-Boot 2023.04-g24098ea90d (Jul 06 2023 - 12:59:40 +0000)

SoC: AM64X SR2.0 HS-FS
Model: Texas Instruments AM642 SK
Board: AM64B-SKEVM rev A
DRAM: 2 GiB
Core: 63 devices, 31 uclasses, devicetree: separate
MMC: mmc@fa00000: 1
Loading Environment from MMC... MMC Device 0 not found
*** Warning - No MMC card found, using default environment

In: serial@2800000
Out: serial@2800000
Err: serial@2800000
Net: eth0: ethernet@8000000port@1
Warning: ethernet@8000000port@2 MAC addresses don't match:
Address in ROM is 1c:63:49:1a:dc:80
Address in environment is 70:ff:76:1f:45:8c
, eth1: ethernet@8000000port@2
Hit any key to stop autoboot: 0
=>

We required following confirmation from TI.
1) Change we have done to enable USB support in U-boot code is appropriate or not ?
2) we are removing MMC card from hardware design and we are using USB interface for production release flash in blank boards. So Is this USB boot will be continue long term in AM6411BSCGHAALV series of the SoC ?

Please let us know.

  • Hi NIrav,

    1) Change we have done to enable USB support in U-boot code is appropriate or not ?

    Without debugging I am not sure what causes the original boot failure, but adding 'ti,usb2-only' DT property disables USB super-speed mode, and makes the USB port to USB2.0 only.

    So Is this USB boot will be continue long term in AM6411BSCGHAALV series of the SoC ?

    Yes. Currently due to Errata i2328. USB MSC boot is not validated in U-Boot, but we have a sw requirement to validate USB MSC boot in U-Boot for future Processor SDK.