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?