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.
I am facing issue while loading u-boot. I tried loading u-boot on one of our AM64x custom board via USB-DFU. I successfully loaded tiboot3.bin and tispl.bin. After loading tispl.bin, the USB isn’t being detected in the PC hence I couldn’t load the u-boot.img file. (Screenshot of the USB-DFU utility and serial console of the board is attached below). Previously, these binaries were working fine on this board.
I tried flashing these files using dediprog at their respective location and after resetting the board, u-boot stops loading at the same location as in USB-DFU. (Screenshot of console is attached below)
Same binaries I could able to flash on other similar custom-board using dediprog and its working fine on that. (Screenshot of console is attached below)
What is the reason of this behavior and how it could be solved?
Below is the USB-DFU utility and serial-console logs.
USB-DFU utility:
Microsoft Windows [Version 10.0.19044.2604] (c) Microsoft Corporation. All rights reserved. D:\ModularRTUShare\U-Boot\dfu-util-0.9-win64>dfu-util -l dfu-util 0.9 Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2016 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to http://sourceforge.net/p/dfu-util/tickets/ Found DFU: [0451:6165] ver=0200, devnum=10, cfg=1, intf=0, path="1-6", alt=1, name="UNKNOWN", serial="UNKNOWN" Found DFU: [0451:6165] ver=0200, devnum=10, cfg=1, intf=0, path="1-6", alt=0, name="UNKNOWN", serial="UNKNOWN" D:\ModularRTUShare\U-Boot\dfu-util-0.9-win64> D:\ModularRTUShare\U-Boot\dfu-util-0.9-win64>clear D:\ModularRTUShare\U-Boot\dfu-util-0.9-win64>dfu-util -l dfu-util 0.9 Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2016 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to http://sourceforge.net/p/dfu-util/tickets/ Found DFU: [0451:6165] ver=0200, devnum=11, cfg=1, intf=0, path="1-6", alt=1, name="SocId", serial="01.00.00.00" Found DFU: [0451:6165] ver=0200, devnum=11, cfg=1, intf=0, path="1-6", alt=0, name="bootloader", serial="01.00.00.00" D:\ModularRTUShare\U-Boot\dfu-util-0.9-win64>dfu-util -R -a bootloader -D tiboot3.bin dfu-util 0.9 Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2016 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to http://sourceforge.net/p/dfu-util/tickets/ Invalid DFU suffix signature A valid DFU suffix will be required in a future dfu-util release!!! Opening DFU capable USB device... ID 0451:6165 Run-time device DFU version 0110 Claiming USB DFU Interface... Setting Alternate Setting #0 ... Determining device status: state = dfuIDLE, status = 0 dfuIDLE, continuing DFU mode device DFU version 0110 Device returned transfer size 512 Copying data from PC to DFU device Download [=========================] 100% 568898 bytes Download done. state(6) = dfuMANIFEST-SYNC, status(0) = No error condition is present state(2) = dfuIDLE, status(0) = No error condition is present Done! can't detach Resetting USB to switch back to runtime mode D:\ModularRTUShare\U-Boot\dfu-util-0.9-win64>dfu-util -R -a tispl.bin -D tispl.bin dfu-util 0.9 Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2016 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to http://sourceforge.net/p/dfu-util/tickets/ Invalid DFU suffix signature A valid DFU suffix will be required in a future dfu-util release!!! Opening DFU capable USB device... ID 0451:6165 Run-time device DFU version 0110 Claiming USB DFU Interface... Setting Alternate Setting #0 ... Determining device status: state = dfuIDLE, status = 0 dfuIDLE, continuing DFU mode device DFU version 0110 Device returned transfer size 4096 Copying data from PC to DFU device Download [=========================] 100% 849207 bytes Download done. state(7) = dfuMANIFEST, status(0) = No error condition is present state(2) = dfuIDLE, status(0) = No error condition is present Done! Resetting USB to switch back to runtime mode D:\ModularRTUShare\U-Boot\dfu-util-0.9-win64>dfu-util -R -a u-boot.img -D u-boot.img dfu-util 0.9 Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2016 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to http://sourceforge.net/p/dfu-util/tickets/ Invalid DFU suffix signature A valid DFU suffix will be required in a future dfu-util release!!! No DFU capable USB device available D:\ModularRTUShare\U-Boot\dfu-util-0.9-win64>
Console log:
U-Boot SPL 2021.01-00001-gf0a5b8927d-dirty (Mar 16 2023 - 14:48:21 +0530) EEPROM not available at 80, trying to read at 81 Reading on-board EEPROM at 0x51 failed 1 SYSFW ABI: 3.1 (firmware rev 0x0016 '22.1.1--v2022.01 (Terrific Llam') esm main init failed: -19 esm mcu init failed: -19 SPL initial stack usage: 13392 bytes Trying to boot from DFU ##########################################DOWNLOAD ... OK Ctrl+C to exit ... init_env from device 10 not supported! Starting ATF on ARM64 core... NOTICE: BL31: v2.5(release):08.03.00.002-dirty NOTICE: BL31: Built : 17:38:37, May 5 2022
Regards,
Vishal
Hello,
It seems USB-DFU didn't work on one of the customer board.
Same binaries I could able to flash on other similar custom-board using dediprog and its working fine on that.
Is "Other similar custom-board" the same as the non-working board?
Best,
-Hong
Yes, the other board is same as the non-working board. The u-boot images can be used as it is on this two boards.
Hello,
Do we have additional board to test to help pinpoint dependency on HW or SW?
Best,
-Hong
Yes Hong,
We have additional board which is exactly same as this non working board. Lets us know what kind of test need to perform.
Hello,
So the intermittent issue seems HW dependent?
I'd recommend to debug the issue on your customer board.
Best,
-Hong
Hi Hong - let me summarize.
There are two boards - one where the U-boot loads, and another where the U-boot does not load. Even after writing the same U-boot binary at the same location in both boards, the observation is that the U-boot does not get loaded. It seems the processor gets stuck inside the Arm Trusted Firmware. Dediprog is able to write to the memory in both boards and also RBL is able to load the SPL - so we can confidently rule out H/W issues with the memory itself in the second board. Vishal has confirmed that the chip versions on both boards are SR1.0. The method used by them to ascertain this was the one documented here. https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/08_04_01_04/exports/docs/linux/Foundational_Components_Migration_Guide.html#device-types
What would be the way to debug this? It is pretty important to have at least two working boards for them currently.
Thanks!
Regards,
Shashank
Hello,
The first stage R5-SPL is running from on-chip SRAM, and the next-stage A53 ATF/OPTEE/SPL/u-boot.... runs from external DDR.
Do we JTAG access on customer board?
Best,
-Hong
Hello,
Some pointers on u-boot JTAG debugging.
software-dl.ti.com/.../Apps-SPL-Debug.html
software-dl.ti.com/.../Apps-Load-in-CCS.html
Best,
-Hong