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.

AM625: SD - Timeout for status update

Part Number: AM625

Good morning,

I'm having this problem. I upgraded to uboot 2025.04, and the configuration I had in uboot 2023.04 isn't working—it doesn't recognize the SD node on the DTs.

vdd_mmc1: regulator-sd {
compatible = "regulator-fixed";
regulator-name = "vdd_mmc1";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-boot-on;
};


main_mmc1_pins_default: main-mmc1-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x23c, PIN_INPUT, 0) /* (A21) MMC1_CMD */
AM62X_IOPAD(0x234, PIN_OUTPUT, 0) /* (B22) MMC1_CLK */
AM62X_IOPAD(0x230, PIN_INPUT, 0) /* (A22) MMC1_DAT0 */
AM62X_IOPAD(0x22c, PIN_INPUT, 0) /* (B21) MMC1_DAT1 */
AM62X_IOPAD(0x228, PIN_INPUT, 0) /* (C21) MMC1_DAT2 */
AM62X_IOPAD(0x224, PIN_INPUT, 0) /* (D22) MMC1_DAT3 */
AM62X_IOPAD(0x240, PIN_INPUT, 0) /* (D17) MMC1_SDCD */
>;
};


&sdhci1 {
/* SD/MMC */
status = "okay";
vmmc-supply = <&vdd_mmc1>;
// vqmmc-supply = <&vdd_sd_dv>;
/delete-property/ ti,otap-del-sel-sdr12;
/delete-property/ ti,otap-del-sel-sdr25;
/delete-property/ ti,otap-del-sel-sdr50;
/delete-property/ ti,otap-del-sel-ddr50;
/delete-property/ ti,otap-del-sel-sdr104;
pinctrl-names = "SD-MMC1";
pinctrl-0 = <&main_mmc1_pins_default>;
ti,driver-strength-ohm = <50>;
bus-width = <4>;
broken-cd;
disable-wp;
no-1-8-v;
bootph-pre-ram;
};




image.png

I supply the module with a constant 3.3V; I do not switch to 1.8V. 

What could be wrong?

  • Hello,

    Can you please apply the patch from the following thread on top of the default DTS in the uboot 2025.04 and see if the SD card is recognized?

    e2e.ti.com/.../sk-am62p-lp-how-to-set-sd-card-to-3-3v-only-low-speed

  • Hi Prashant,

    I applied the patch you suggested, and the result is what you see in the logs. Any other options?

  • Could you please share the A53 U-Boot image?

  • What do you mean by “a53 uboot image”? To this:

     1651.u-boot.zip

  • I see some differences in the SD node between the DTS extracted from your shared U-Boot image and the DTS extracted from the U-Boot image from SDK v11.02.

    I would like you to use the DTS files from whichever SDK version you have ported to as it is and apply the changes on top of it. You should not be using the DTS files as it is from the previous SDK version to the SDK version you have ported to.

  • The changes made are due to the following: 1) I have a single 3.3V power supply, so it doesn't switch to 1.8V. 2) The name to identify it. 3) SDR and DDR were what you recommended in a previous answer. 4) The control pin is the same; yesterday I changed the CLK pin in this SDK version to input in the pin configuration.

    The error appears before uboot and after tiboot. So I'm guessing it's an SPL problem, what do you think?or the <board>.env file?

  • The error appears before uboot and after tiboot. So I'm guessing it's an SPL problem, what do you think?or the <board>.env file?

    The error is in the A53 U-Boot Proper which exposes the CLI interface for different commands including MMC.

    The changes made are due to the following: 1) I have a single 3.3V power supply, so it doesn't switch to 1.8V.

    You shouldn't need any other changes than deleting the OTAP values as suggested in the other thread. There are other differences like the "bootph-pre-ram" in your DTS and "bootph-all" in the default DTS.

    I would like to minimize the differences in the DTS for us to proceed further.

    Is it the case that you are using the DTS as is from the previous U-Boot version to the new U-Boot version. If so, this may likely cause issues. It is expected that you use the default DTS and port the changes from the previous base to the new base.

  • I did what you told me, but the situation is still the same:



    &sdhci1
    {
    /* SD/MMC */
    status = "okay";
    vmmc-supply = <&vdd_mmc1>;
    /delete-property/ ti,otap-del-sel-sdr12;
    /delete-property/ ti,otap-del-sel-sdr25;
    /delete-property/ ti,otap-del-sel-sdr50;
    /delete-property/ ti,otap-del-sel-ddr50;
    /delete-property/ ti,otap-del-sel-sdr104;
    pinctrl-names = "default";
    pinctrl-0 = <&main_mmc1_pins_default>;
    bus-width = <4>;
    broken-cd;
    disable-wp;
    no-1-8-v;
    bootph-all;
    };
  • I did what you told me, but the situation is still the same:

    In that case, could you please share the latest A53 U-Boot image that you are booting on the board?

    Also, please apply the patch and share the logs

    diff --git a/configs/am62x_evm_a53_defconfig b/configs/am62x_evm_a53_defconfig
    index 70d6e04b108..923b124b531 100644
    --- a/configs/am62x_evm_a53_defconfig
    +++ b/configs/am62x_evm_a53_defconfig
    @@ -161,6 +161,9 @@ CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
     CONFIG_EFI_SET_TIME=y
     CONFIG_SPL_GZIP=y
     
    +CONFIG_MMC_TRACE=y
    +
     #include <configs/k3_efi_capsule.config>
     #include <configs/am62x_a53_usbdfu.config>
     #include <configs/am62x_a53_splashscreen.config>
    +
    

    I assume you have a working baseline with the previous U-Boot version. Could you please apply this patch on this working baseline and share the logs?

  • In that case, could you please share the latest A53 U-Boot image that you are booting on the board?

    u-boot (1).zip

    Also, please apply the patch and share the logs

    U-Boot SPL 2025.01-00847-gf8cc38c9444e (May 08 2026 - 12:15:45 +0000)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.2.5--v11.02.05 (Fancy Rat)')
    Set clock rates for '/a53@0', CPU: 1000MHz at Speed Grade 'S'
    SPL initial stack usage: 13424 bytes
    Trying to boot from DFU
    ##################################################################DOWNLOAD ... OK
    Ctrl+C to exit ...
    ####################################################################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.13.0(release):v2.13.0-259-ge0c4d3903b-dirty
    NOTICE:  BL31: Built : 07:01:36, Jul  1 2025

    U-Boot SPL 2025.01-00847-gf8cc38c9444e (May 08 2026 - 12:15:45 +0000)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.2.5--v11.02.05 (Fancy Rat)')
    SPL initial stack usage: 1936 bytes
    MMC: no card present
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:1
    Error: could not access storage.
    Trying to boot from DFU
    Authentication passed
    Authentication passed


    U-Boot 2025.01-00847-gf8cc38c9444e (May 08 2026 - 12:15:45 +0000)

    SoC:   AM62X SR1.0 HS-FS
    Model: Texas Instruments AM625 CMI - UBOOT
    DRAM:  448 MiB (total 512 MiB)
    Core:  67 devices, 29 uclasses, devicetree: separate
    MMC:   mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial
    Out:   serial
    Err:   serial
    Net:   am65_cpsw_nuss_port ethernet@8000000port@1: Invalid PHY mode, port 1
    am65_cpsw_nuss_port ethernet@8000000port@2: Invalid PHY mode, port 2
    No ethernet found.


    Hit any key to stop autoboot:  0  
    =>

    I assume you have a working baseline with the previous U-Boot version. Could you please apply this patch on this working baseline and share the logs?

    No, I'm starting the build from scratch and migrating the drivers in stages. Right now, I'm trying to get it to recognize the SD card and boot from it.

  • I upgraded to uboot 2025.04, and the configuration I had in uboot 2023.04 isn't working

    I understood this as you have a working baseline with U-Boot 2023.04 and now migrating to U-Boot 2025.04 where you see the issue with the SD card. Isn't this the case?

  • Of course, in the previous version 2023.04 everything worked without problems, the initial boot and booting from SD.

    After migrating to the new version and making the changes according to 2025.04, it won't boot from the SD card. If I boot from USB DFU, I reach the uboot prompt and the SD card is listed as dev 1; I can even boot the kernel from there. But it just doesn't work, and that's why I was wondering if that error was related to something in the SPL.

  • If I boot from USB DFU, I reach the uboot prompt and the SD card is listed as dev 1; I can even boot the kernel from there.

    Is this in the context of the U-Boot v2025.04? If yes, the first response shows that the A53 U-Boot proper fails to recognize the SD card with the command "mmc dev 1". And so far all the logs show that you are booting the U-Boot over DFU.

  • boot from usb-dfu:

    U-Boot SPL 2025.01-00847-gf8cc38c9444e (May 08 2026 - 12:15:45 +0000)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.2.5--v11.02.05 (Fancy Rat)')
    Set clock rates for '/a53@0', CPU: 1000MHz at Speed Grade 'S'
    SPL initial stack usage: 13424 bytes
    Trying to boot from DFU
    ##################################################################DOWNLOAD ... OK
    Ctrl+C to exit ...
    ####################################################################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.13.0(release):v2.13.0-259-ge0c4d3903b-dirty
    NOTICE:  BL31: Built : 07:01:36, Jul  1 2025

    U-Boot SPL 2025.01-00847-gf8cc38c9444e (May 08 2026 - 12:15:45 +0000)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.2.5--v11.02.05 (Fancy Rat)')
    SPL initial stack usage: 1936 bytes
    MMC: no card present
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:1
    Error: could not access storage.
    Trying to boot from DFU
    Authentication passed
    Authentication passed


    U-Boot 2025.01-00847-gf8cc38c9444e (May 08 2026 - 12:15:45 +0000)

    SoC:   AM62X SR1.0 HS-FS
    Model: Texas Instruments AM625 CMI - UBOOT
    DRAM:  448 MiB (total 512 MiB)
    Core:  67 devices, 29 uclasses, devicetree: separate
    MMC:   mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial
    Out:   serial
    Err:   serial
    Net:   am65_cpsw_nuss_port ethernet@8000000port@1: Invalid PHY mode, port 1
    am65_cpsw_nuss_port ethernet@8000000port@2: Invalid PHY mode, port 2
    No ethernet found.


    Hit any key to stop autoboot:  0  
    =>


    boot from SD (MMC1):

    U-Boot SPL 2025.01-00847-gf8cc38c9444e (May 08 2026 - 12:15:45 +0000)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.2.5--v11.02.05 (Fancy Rat)')
    Set clock rates for '/a53@0', CPU: 1000MHz at Speed Grade 'S'
    SPL initial stack usage: 13424 bytes
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###


  • boot from usb-dfu:

    You are not running any "mmc dev 1" command in these DFU boot logs. In the first response of yours, the attached response shows that you are booting U-Boot over USB DFU and running the mmc commands in the A53 U-Boot which runs into issues.

    boot from SD (MMC1):

    I would think this may not be caused by the SD card as the R5 SPL logs would at least have "Trying to boot from MMC2" before trying to initialize the SD card and reading the image from it.

    Could you please apply the following patch and share the boot logs from the SD card

    diff --git a/arch/arm/mach-k3/am62x/boot.c b/arch/arm/mach-k3/am62x/boot.c
    index df5af9c0bce..50a4437bb4a 100644
    --- a/arch/arm/mach-k3/am62x/boot.c
    +++ b/arch/arm/mach-k3/am62x/boot.c
    @@ -3,6 +3,8 @@
     #include <asm/arch/hardware.h>
     #include <asm/arch/am62_spl.h>
     
    +#define debug printf
    +
     static u32 __get_backup_bootmedia(u32 devstat)
     {
     	u32 bkup_bootmode = (devstat & MAIN_DEVSTAT_BACKUP_BOOTMODE_MASK) >>
    diff --git a/configs/am62x_evm_r5_defconfig b/configs/am62x_evm_r5_defconfig
    index 3fab3598cc3..5fc8cbba11a 100644
    --- a/configs/am62x_evm_r5_defconfig
    +++ b/configs/am62x_evm_r5_defconfig
    @@ -127,3 +127,6 @@ CONFIG_SPL_TIMER=y
     CONFIG_OMAP_TIMER=y
     CONFIG_LIB_RATIONAL=y
     CONFIG_SPL_LIB_RATIONAL=y
    +
    +CONFIG_MMC_TRACE=y
    +
    

    If you are migrating to a newer U-Boot version, I would recommend keeping the changes to the minimum on the default TI U-Boot version from the SDK version you are using. Basically, you checkout the U-Boot tag used in the Processor SDK version you are using and do the most minimum changes like integrating your DDR configurations and doing memory map changes if needed.

  • I would recommend keeping the changes to the minimum on the default TI U-Boot version from the SDK version you are using.

    The U-Boot v2025 is last used in the PSDK v11.02. Assuming you are using this SDK version, you would checkout the U-Boot tag for this SDK version, which is the one tested, and apply your changes.

    software-dl.ti.com/.../Release_Specific_Release_Notes.html

  • I don't understand.I already checked the construction issue at that same link.and the SDK version is 11.02.What do you propose to do?

  • U-Boot 2025.01-00847-gf8cc38c9444e (May 08 2026 - 12:15:45 +0000)

    This is not the commit id (f8cc38c9444e) used for the U-Boot in SDK v11.2. My recommendation is to checkout the use the U-Boot version (commit: 7493977a537, tag: 11.02.08) from SDK v11.02 and do the minimal changes like updating the DDR configuration and try booting from the SD card boot. In case of any issues, it would be easier to debug. If the SD card boot works, you may port the patches from previous U-Boot version to the new U-Boot version.

  • I'm using the correct SDK; I've set everything up with your TI oe-layer for Yocto:

    - I have ti-u-boot-2025.01

    - I'm using Yocto with the Texas SDK layers 11.02.08.02

    Here are some more detailed logs:

    from usb-dfu:

    U-Boot SPL 2025.01-00885-g2e31d90794e1 (May 11 2026 - 15:50:09 +0000)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.2.5--v11.02.05 (Fancy Rat)')
    Set clock rates for '/a53@0', CPU: 1000MHz at Speed Grade 'S'
    SPL initial stack usage: 13424 bytes
    Trying to boot from DFU
    ##################################################################DOWNLOAD ... OK
    Ctrl+C to exit ...
    ####################################################################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.13.0(release):v2.13.0-259-ge0c4d3903b-dirty
    NOTICE:  BL31: Built : 07:01:36, Jul  1 2025

    U-Boot SPL 2025.01-00885-g2e31d90794e1 (May 11 2026 - 15:50:09 +0000)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.2.5--v11.02.05 (Fancy Rat)')
    SPL initial stack usage: 1936 bytes
    CMD_SEND:0
                   ARG                      0x00000000
    Timeout for status update: 00000000 00000001
                   RET                      -110
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:1
    Error: could not access storage.
    Trying to boot from DFU
    Authentication passed
    Authentication passed


    U-Boot 2025.01-00885-g2e31d90794e1 (May 11 2026 - 15:50:09 +0000)

    SoC:   AM62X SR1.0 HS-FS
    Model: Texas Instruments AM625 CMI - UBOOT
    DRAM:  448 MiB (total 512 MiB)
    Core:  67 devices, 29 uclasses, devicetree: separate
    MMC:   mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial
    Out:   serial
    Err:   serial
    Net:   am65_cpsw_nuss_port ethernet@8000000port@1: Invalid PHY mode, port 1
    am65_cpsw_nuss_port ethernet@8000000port@2: Invalid PHY mode, port 2
    No ethernet found.


    Hit any key to stop autoboot:  0  
    => mmc dev 1
    CMD_SEND:0
                   ARG                      0x00000000
                   MMC_RSP_NONE
    CMD_SEND:8
                   ARG                      0x000001aa
                   MMC_RSP_R1,5,6,7         0x000001aa  
    CMD_SEND:55
                   ARG                      0x00000000
                   MMC_RSP_R1,5,6,7         0x00000120  
    CMD_SEND:41
                   ARG                      0x40300000
                   MMC_RSP_R3,4             0x40ff8000  
    CMD_SEND:55
                   ARG                      0x00000000
                   MMC_RSP_R1,5,6,7         0x00000120  
    CMD_SEND:41
                   ARG                      0x40300000
                   MMC_RSP_R3,4             0xc0ff8000  
    CMD_SEND:2
                   ARG                      0x00000000
                   MMC_RSP_R2               0x03534453  
                                            0x43313647  
                                            0x8090f5bc  
                                            0x6b016600  

                                           DUMPING DATA
                                           000 - 03 53 44 53  
                                           004 - 43 31 36 47  
                                           008 - 80 90 f5 bc  
                                           012 - 6b 01 66 00  
    CMD_SEND:3
                   ARG                      0x00000000
                   MMC_RSP_R1,5,6,7         0xaaaa0520  
    CMD_SEND:9
                   ARG                      0xaaaa0000
                   MMC_RSP_R2               0x400e0032  
                                            0x5b590000  
                                            0x76b27f80  
                                            0x0a404000  

                                           DUMPING DATA
                                           000 - 40 0e 00 32  
                                           004 - 5b 59 00 00  
                                           008 - 76 b2 7f 80  
                                           012 - 0a 40 40 00  
    CMD_SEND:7
                   ARG                      0xaaaa0000
                   MMC_RSP_R1,5,6,7         0x00000700  
    CMD_SEND:55
                   ARG                      0xaaaa0000
                   MMC_RSP_R1,5,6,7         0x00000920  
    CMD_SEND:51
                   ARG                      0x00000000
                   MMC_RSP_R1,5,6,7         0x00000920  
    CMD_SEND:6
                   ARG                      0x00fffff1
                   MMC_RSP_R1,5,6,7         0x00000900  
    CMD_SEND:55
                   ARG                      0xaaaa0000
                   MMC_RSP_R1,5,6,7         0x00000920  
    CMD_SEND:6
                   ARG                      0x00000002
                   MMC_RSP_R1,5,6,7         0x00000920  
    CMD_SEND:6
                   ARG                      0x80fffff1
                   MMC_RSP_R1,5,6,7         0x00000900  
    CMD_SEND:55
                   ARG                      0xaaaa0000
                   MMC_RSP_R1,5,6,7         0x00000920  
    CMD_SEND:13
                   ARG                      0x00000000
                   MMC_RSP_R1,5,6,7         0x00000920  
    CMD_SEND:16
                   ARG                      0x00000200
                   MMC_RSP_R1,5,6,7         0x00000900  
    CMD_SEND:17
                   ARG                      0x00000000
                   MMC_RSP_R1,5,6,7         0x00000900  
    CMD_SEND:16
                   ARG                      0x00000200
                   MMC_RSP_R1,5,6,7         0x00000900  
    CMD_SEND:17
                   ARG                      0x00000800
                   MMC_RSP_R1,5,6,7         0x00000900  
    CMD_SEND:16
                   ARG                      0x00000200
                   MMC_RSP_R1,5,6,7         0x00000900  
    CMD_SEND:17
                   ARG                      0x00040800
                   MMC_RSP_R1,5,6,7         0x00000900  
    CMD_SEND:16
                   ARG                      0x00000200
                   MMC_RSP_R1,5,6,7         0x00000900  
    CMD_SEND:18
                   ARG                      0x00040802
                   MMC_RSP_R1,5,6,7         0x00000900  
    CMD_SEND:12
                   ARG                      0x00000000
                   MMC_RSP_R1b              0x00000b00  
    CMD_SEND:16
                   ARG                      0x00000200
                   MMC_RSP_R1,5,6,7         0x00000900  
    CMD_SEND:17
                   ARG                      0x00040808
                   MMC_RSP_R1,5,6,7         0x00000900  
    CMD_SEND:16
                   ARG                      0x00000200
                   MMC_RSP_R1,5,6,7         0x00000900  
    CMD_SEND:17
                   ARG                      0x00040b28
                   MMC_RSP_R1,5,6,7         0x00000900  
    switch to partitions #0, OK
    mmc1 is current device
    => mmc part  

    Partition Map for mmc device 1  --   Partition Type: DOS

    Part    Start Sector    Num Sectors     UUID            Type
    CMD_SEND:16
                   ARG                      0x00000200
                   MMC_RSP_R1,5,6,7         0x00000900  
    CMD_SEND:17
                   ARG                      0x00000000
                   MMC_RSP_R1,5,6,7         0x00000900  
     1     2048            262144          076c4a2a-01     0c Boot
     2     264192          1441044         076c4a2a-02     83

    from sd:

    U-Boot SPL 2025.01-00847-gf8cc38c9444e (May 08 2026 - 12:15:45 +0000)
    SYSFW ABI: 4.0 (firmware rev 0x000b '11.2.5--v11.02.05 (Fancy Rat)')
    Set clock rates for '/a53@0', CPU: 1000MHz at Speed Grade 'S'
    SPL initial stack usage: 13424 bytes
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###



  • U-Boot SPL 2025.01-00847-gf8cc38c9444e (May 08 2026 - 12:15:45 +0000)

    Is this image built with the additional DFU fragment? If so, please note the U-Boot binaries must be built separately for DFU and other boot media like SD card.

  • Is this image built with the additional DFU fragment? If so, please note the U-Boot binaries must be built separately for DFU and other boot media like SD card.

    The problem was that I had the setting to boot via DFU enabled on R5. When I removed it, it booted without any issues, and this path also worked because the voltage was set to 3.3V. I thought that if the #include <configs/am62x_r5_usbdfu.config> wasn't included when entering DFU mode, it would be ignored.



    &sdhci1 {
    /* SD/MMC */
    vmmc-supply = <&vdd_mmc1>;
    // vqmmc-supply = <&vdd_sd_dv>;
    /delete-property/ ti,otap-del-sel-sdr12;
    /delete-property/ ti,otap-del-sel-sdr25;
    /delete-property/ ti,otap-del-sel-sdr50;
    /delete-property/ ti,otap-del-sel-ddr50;
    /delete-property/ ti,otap-del-sel-sdr104;
    pinctrl-names = "default";
    pinctrl-0 = <&main_mmc1_pins_default>;
    ti,driver-strength-ohm = <50>;
    bus-width = <4>;
    broken-cd;
    disable-wp;
    no-1-8-v;
    status = "okay";
    };