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: MMC2 Configuration in AM625 - Not working

Part Number: AM625

Tool/software:

Hi all,

We are trying to connect an SD card to the MMC2 Port on our system, we have enabled the sdhci2 on your device tree, but it seems it is not working , i mean when card is connected we are not able to detect in the linux. we are able to see mmc2 driver is loaded in the kernal boot logs, but whenever we connect the SD card, it is not detected.

below are the Device tree added in our system:

by default 3.3v is provided to the SD card. we are able to see 1.8V on the SD_CD when the card is not detected and when connected it goes LOW.

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
sdhci2: mmc@fa20000 {
compatible = "ti,am62-sdhci";
reg = <0x00 0x0fa20000 0x00 0x1000>, <0x00 0x0fa28000 0x00 0x400>;
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
power-domains = <&k3_pds 184 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 184 5>, <&k3_clks 184 6>;
clock-names = "clk_ahb", "clk_xin";
bus-width = <4>;
ti,clkbuf-sel = <0x7>;
ti,otap-del-sel-legacy = <0x8>;
ti,otap-del-sel-sd-hs = <0x0>;
ti,otap-del-sel-sdr12 = <0x0>;
ti,otap-del-sel-sdr25 = <0x0>;
ti,otap-del-sel-sdr50 = <0x8>;
ti,otap-del-sel-sdr104 = <0x7>;
ti,otap-del-sel-ddr50 = <0x8>;
ti,itap-del-sel-legacy = <0xa>;
ti,itap-del-sel-sd-hs = <0xa>;
ti,itap-del-sel-sdr12 = <0xa>;
ti,itap-del-sel-sdr25 = <0x1>;
status = "disabled";
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • Hi, can you please clarify how are you booting to Linux Kernel?

    Thanks!

  • Hi,

    I am booting via mmc0, emmc card

  • Hi, any update on this?

  • Hi Any update on this issue?

  • Hi,

    Please disable the higher speed modes like so & try booting. If you still see failure then please share the Kernel logs.

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    &sdhci2 {
    ...
    /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-sdr104;
    /delete-property/ ti,otap-del-sel-ddr50;
    ...
    };
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Thanks!

  • Hi 

    still the same issue, SD card is not detected.

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [ 0.000000] Linux version 6.1.80-6.7.0-devel+git.603f75dc931d (oe-user@oe-host) (aarch64-tdx-linux-gcc (GCC) 11.4.0, GNU ld (GNU Binutils) 2.38.20220708) #1 SMP PREEMPT Wed Aug 28 15:15:41 UTC 2024
    [ 0.000000] Machine model: Toradex Verdin AM62 on Verdin Development Board
    [ 0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
    [ 0.000000] printk: bootconsole [ns16550a0] enabled
    [ 0.000000] efi: UEFI not found.
    [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009db00000, size 12 MiB
    [ 0.000000] OF: reserved mem: initialized node r5f-memory@9db00000, compatible id shared-dma-pool
    [ 0.000000] Zone ranges:
    [ 0.000000] DMA [mem 0x0000000080000000-0x00000000bfffffff]
    [ 0.000000] DMA32 empty
    [ 0.000000] Normal empty
    [ 0.000000] Movable zone start for each node
    [ 0.000000] Early memory node ranges
    [ 0.000000] node 0: [mem 0x0000000080000000-0x000000009dafffff]
    [ 0.000000] node 0: [mem 0x000000009db00000-0x000000009e6fffff]
    [ 0.000000] node 0: [mem 0x000000009e700000-0x000000009e77ffff]
    [ 0.000000] node 0: [mem 0x000000009e780000-0x000000009fffffff]
    [ 0.000000] node 0: [mem 0x00000000a0000000-0x00000000bfffffff]
    [ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000bfffffff]
    [ 0.000000] cma: Reserved 128 MiB at 0x00000000b6c00000
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • Any update on this issue?

  • Hi Naveenkumar,

    I see your board has grounded all MMC2 signals, while the EVM MMC1 pulls all signals, except MMC1_CLK, to VDDSHV_SDIO, which will be 3.3v by default, then switch to 1.8v when transition to high-speed modes.

    I am looping in our MMC hardware expert to comment if it is okay to ground all MMC signals.

  • Sorry, I think I misread your board schematics, the MMC2 signals are not directly ground, those are just ESD protection components.

    Have all the MMC2 DAT lines and CMD line been pulled up to 3.3v on your board?

  • Hi Naveenkumar,

    Please share the schematics for SOC MMC2 interface, VDDSHV6 IO power connection and SD card IO  supply level switching logic, SD card power reset implementation.

    Regards,

    Sreenivasa

  • Hi Sreenivasa,

    Thanks for your reply.

    we are using Verdin am62 SOM which has ti am62x, we dont have the schematics of the SOM implementations, but when we measure the voltage levels of the IO on the MMC2, it is always at 1.8V. we don't have an reset logic implemented for MMC2 and SD is always powered using a 3.3v.

  • Hi Naveenkumar,

    You need to check if the SD card implementation provision is available for the MMC2.

    You can configure the MMC2 supply VDDSHV6 to 3.3V and interface with SD card in legacy speed.

    Regards,

    Sreenivasa

  • Hi Sreenivasa,

    VDDSHV6 power domain needs to be pulled upto 3.3V to make SD card work in legacy mode?

    incase VDDSHV6 is connected to 1.8V is there a way we can make SD card work?

  • Hi Naveenkumar,

    I am not aware of a way to make it work.

    Please review the SD card requirements and the software implementation.

    Regards,

    Sreenivasa

  • Hi Naveenkumar,

    Thank you for the note.

    Regards,

    Sreenivasa