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-AM62P-LP: Problem with USB DFU process

Part Number: SK-AM62P-LP
Other Parts Discussed in Thread: AM62P

Tool/software:

Hello experts,

I have received an evaluation board, SK-AM62P-LP. The AM62P might be our SoC of choice for our next gen devices.

Our boot process is heavily dependent on DFU over USB. So far I haven't been able to get it working. I put the SW4 and SW5
into USB boot mode (SW5:00000000 SW4:11001010). When I power the board up, I get:

bomellberg@bosse-buildcom:~/se3linux/yocto-base/build/tmp/deploy/images/am62pxx-evm$ sudo 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="5-2", alt=1, name="SocId", serial="01.00.00.00"
Found DFU: [0451:6165] ver=0200, devnum=10, cfg=1, intf=0, path="5-2", alt=0, name="bootloader", serial="01.00.00.00"

Then I send the first boot file, tiboot3.bín, which I have build using the Yocto build system:

bomellberg@bosse-buildcom:~/se3linux/yocto-base/build/tmp/deploy/images/am62pxx-evm$ sudo dfu-util -a bootloader -D tiboot3-am62px-hs-fs-evm-am62pxx-evm-k3r5-2024.04+git-r0.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/

dfu-util: Invalid DFU suffix signature
dfu-util: 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%       325381 bytes
Download done.
state(6) = dfuMANIFEST-SYNC, status(0) = No error condition is present
dfu-util: unable to read DFU status after completion

Afterwards, I don't get the expected request for sysfw.itb:

bomellberg@bosse-buildcom:~/se3linux/yocto-base/build/tmp/deploy/images/am62pxx-evm$ sudo 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=6, cfg=1, intf=0, path="5-2", alt=1, name="UNKNOWN", serial="UNKNOWN"
Found DFU: [0451:6165] ver=0200, devnum=6, cfg=1, intf=0, path="5-2", alt=0, name="UNKNOWN", serial="UNKNOWN"

I stand on top of the U-Boot 2024.04 branch:

bomellberg@bosse-buildcom:~/se3linux/ti-u-boot$ git st
On branch ti-u-boot-2024.04

and I added the following lines in am62px_evm_a53_defconfig and am62px_evm_r5_defconfig:

include <configs/am62x_a53_usbdfu.config>
and
include <configs/am62x_r5_usbdfu.config>

The uart debug shows this:

U-Boot SPL 2024.04-ti-g29d0c23d67ee (Jun 02 2025 - 11:23:30 +0200)
SYSFW ABI: 4.0 (firmware rev 0x000b '11.0.7--v11.00.07 (Fancy Rat)')
SPL initial stack usage: 17072 bytes
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###


I have tried with the prebuilt files as well, same result.
Putting the files on an SD card works fine. It is the DFU boot process that is the problem.

Regards,
/Bo
  • Hi Bo,

    and I added the following lines in am62px_evm_a53_defconfig and am62px_evm_r5_defconfig:

    include <configs/am62x_a53_usbdfu.config>
    and
    include <configs/am62x_r5_usbdfu.config>

    This step doesn't seem right. You don't need to modify the defconfig files, rather using defconfig “am62px_evm_r5_defconfig am62x_r5_usbdfu.config” instead of “am62px_evm_r5_defconfig”.

    > U-Boot SPL 2024.04-ti-g29d0c23d67ee (Jun 02 2025 - 11:23:30 +0200)
    > SYSFW ABI: 4.0 (firmware rev 0x000b '11.0.7--v11.00.07 (Fancy Rat)')

    By the way, this log seems showing that you mixed U-Boot version with SYSFW version. U-Boot 2024.04 should use SYSFW 10.1.x, or SYSFW 11.0.7 should come with U-Boot 2025.01.

  • Hi Bin,

    This step doesn't seem right. You don't need to modify the defconfig files, rather using defconfig “am62px_evm_r5_defconfig am62x_r5_usbdfu.config” instead of “am62px_evm_r5_defconfig”.

    I see. It is a bit confusing that the "am62px_evm_a52_defconfig" file has three commented out includes, one of them being the usbdfu.config. It gives the impression that the user should use them to activate their wanted functionality.

    I build using Yocto so I added your suggestion to the two recipes in the meta-ti layer. It seems to work fine now:

    U-Boot SPL 2024.04-ti-g29d0c23d67ee (Jun 03 2025 - 09:30:49 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0009 '9.2.8--v09.02.08 (Kool Koala)')
    SPL initial stack usage: 17056 bytes
    Trying to boot from DFU
    ###########################################################DOWNLOAD ... OK
    Ctrl+C to exit ...
    Authentication passed
    Authentication passed
    Authentication passed
    Loading Environment from nowhere... OK
    init_env from device 10 not supported!
    Authentication passed
    Authentication passed
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b87-dirty
    NOTICE:  BL31: Built : 07:58:28, May 28 2025
    
    U-Boot SPL 2024.04-ti-g29d0c23d67ee (Jun 03 2025 - 12:30:55 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0009 '9.2.8--v09.02.08 (Kool Koala)')
    SPL initial stack usage: 1904 bytes
    Trying to boot from DFU
    #####DOWNLOAD ... OK
    Ctrl+C to exit ...
    Authentication passed
    Authentication passed
    
    
    U-Boot 2024.04-ti-g29d0c23d67ee (Jun 03 2025 - 12:30:55 +0000)
    
    SoC:   AM62PX SR1.0 HS-FS
    Model: Texas Instruments AM62P5 SK
    DRAM:  2 GiB (effective 8 GiB)
    Core:  87 devices, 31 uclasses, devicetree: separate
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial
    Out:   serial
    Err:   serial
    Net:   eth0: ethernet@8000000port@1
    Warning: ethernet@8000000port@2 (eth1) using random MAC address - 5e:a4:de:19:66:ba
    , eth1: ethernet@8000000port@2
    Hit any key to stop autoboot:  0
    =>
    

    By the way, this log seems showing that you mixed U-Boot version with SYSFW version. U-Boot 2024.04 should use SYSFW 10.1.x, or SYSFW 11.0.7 should come with U-Boot 2025.01.

    As you can see above, the U-Boot version is 2024.04 and the SYSFW ABI version is 9.2.8 (Kool Koala), which contradicts your statement a bit. Should I update the meta-ti layer so that SYSFW 10.1.x is used instead?

    Thanks for helping out!

    /Bo

  • Hi Bo,

    I am not a Yocto expert to comment on how to configure it, but the version of SYSFW and U-Boot should match to the version listed in the SDK Release notes.