TX2-NX SDIO PORT Interface

Hello,

Currently I am working on one of one going project with my custom board where I was interfacing SD card with Jetson TX2-NX SOM through SDIO port.
I made following dtsi changes.
sdhci.dtsi (1.5 KB)
As per given product design guideline I am operating SD card with 3.3V.
When I observed with oscilloscope at the time of boot SOM initialise SDIO interface (I observed clk and CMD pulses) but after some time it stop and card is not detected.
Here is dmesg log at the time of booting,
dmesg.txt (44.6 KB)
dmesg_mmc.txt (2.2 KB)
dmesg_sd.txt (1.8 KB)
I used GPIO 12 as card detect pin.
I am geting card detect signal on that but still SD card memory device is not shown.
I m missing something?

Hi,

sdhci-host = <&sdmmc3>; from bcm4354 needs to be disabled.

Hello,

Thanks a lot for reply.
Thanks a lot for suggestion.
 Now card is been detected and we can able to interface with it.
But still hot plug is not working.
We are working on that .

Thanks a lot for support

Hello,
Our SD card interface is working but Hot pluging is not working.
I include cd gpio pin and configured for that detection but still things are not working.
Please guide me on this.

You can try to share the dmesg so that we can see what happen.

Hello,
Please check attached DMESG log when SD card connected to SOM.
tx2-nx_sdio_dmesg.txt (157.2 KB)

Could you clarify what is the case here?

Was the card inserted + boot up or you insert the card after system already booted up?

Hello,
This log is taken at the time when SD card is already connected to SOM and SOM is booting up.

Didn’t you say you only have hotplug issue now? Why this log looks like even non-hotplug issue has problem?

Hello,

Yes there is an issue.
In lsblk command sd card memory is detected and its visible as mmcblk1.
But when I try to mount it shows read superblock error.
I have given 3.3V supply to SD card.
I observe the SDIO clk pin its pulse voltage is around 3.3V.
But its appear only at the time of booting after that it disappear.
Whenever I tried to do something with card pulses are coming for some time and then disappear but read write is not working.
Please guide me on this.

Hello,

I made following changes in dtsi,

status = “okay”;
cd-gpios = <&tegra_main_gpio TEGRA_MAIN_GPIO(C, 2) GPIO_ACTIVE_HIGH>;
mmc-ocr-mask = <0>;
uhs-mask = <0x8>;
nvidia,vmmc-always-on;
disable-wp;
sd-uhs-sdr104;
sd-uhs-sdr50;
sd-uhs-sdr25;
sd-uhs-sdr12;
mmc-ddr-1_8v;
mmc-hs200-1_8v;
vqmmc-supply = <&spmic_ldo5>;
vmmc-supply = <&spmic_sd3>;
/delete-property/force-non-removable-rescan; //

My microSD card is detected in memory device list,

user@user-desktop:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 16M 1 loop
sda 8:0 1 57.3G 0 disk
└─sda1 8:1 1 57.3G 0 part /media/user/D6D4-E906
mmcblk0 179:0 0 14.7G 0 disk
├─mmcblk0p1 179:1 0 14G 0 part /
├─mmcblk0p2 179:2 0 4M 0 part
├─mmcblk0p3 179:3 0 4M 0 part
├─mmcblk0p4 179:4 0 512K 0 part
├─mmcblk0p5 179:5 0 512K 0 part
├─mmcblk0p6 179:6 0 512K 0 part
├─mmcblk0p7 179:7 0 512K 0 part
├─mmcblk0p8 179:8 0 3M 0 part
├─mmcblk0p9 179:9 0 3M 0 part
├─mmcblk0p10 179:10 0 2M 0 part
├─mmcblk0p11 179:11 0 4M 0 part
├─mmcblk0p12 179:12 0 4M 0 part
├─mmcblk0p13 179:13 0 604K 0 part
├─mmcblk0p14 179:14 0 604K 0 part
├─mmcblk0p15 179:15 0 1M 0 part
├─mmcblk0p16 179:16 0 1M 0 part
├─mmcblk0p17 179:17 0 2M 0 part
├─mmcblk0p18 179:18 0 2M 0 part
├─mmcblk0p19 179:19 0 6M 0 part
├─mmcblk0p20 179:20 0 6M 0 part
├─mmcblk0p21 179:21 0 2M 0 part
├─mmcblk0p22 179:22 0 128M 0 part
├─mmcblk0p23 179:23 0 128M 0 part
├─mmcblk0p24 179:24 0 63M 0 part
├─mmcblk0p25 179:25 0 512K 0 part
├─mmcblk0p26 179:26 0 256K 0 part
├─mmcblk0p27 179:27 0 256K 0 part
├─mmcblk0p28 179:28 0 80M 0 part
├─mmcblk0p29 179:29 0 80M 0 part
├─mmcblk0p30 179:30 0 512K 0 part
├─mmcblk0p31 179:31 0 512K 0 part
├─mmcblk0p32 259:0 0 100M 0 part
└─mmcblk0p33 259:1 0 61.8M 0 part
mmcblk0boot0 179:32 0 4M 1 disk
mmcblk0boot1 179:64 0 4M 1 disk
mmcblk0rpmb 179:96 0 4M 0 disk
mmcblk1 179:128 0 14.6G 0 disk
zram0 252:0 0 478.7M 0 disk [SWAP]
zram1 252:1 0 478.7M 0 disk [SWAP]
zram2 252:2 0 478.7M 0 disk [SWAP]
zram3 252:3 0 478.7M 0 disk [SWAP]

I got following ios properties of microSD card

user@user-desktop:~$ sudo cat /sys/kernel/debug/mmc1/ios
[sudo] password for user:
clock: 25000000 Hz
vdd: 21 (3.3 ~ 3.4 V)
bus mode: 2 (push-pull)
chip select: 0 (don’t care)
power mode: 2 (on)
bus width: 2 (4 bits)
timing spec: 3 (sd uhs SDR12)
signal voltage: 1 (1.80 V)
driver type: 0 (driver type B)

But still I can’t able to mount microSD card.
I have attached sdhci and mmc logs.
mmc25032023log.txt (10.2 KB)
sdhci25032023log.txt (31.9 KB)

Please guide me on this.

Hello,

Any update on this.

Hello,
One thing I observed here,
In /sys/kernel/debug/mmc1/ios command I got following log
clock: 25000000 Hz
vdd: 21 (3.3 ~ 3.4 V)
bus mode: 2 (push-pull)
chip select: 0 (don’t care)
power mode: 2 (on)
bus width: 2 (4 bits)
timing spec: 3 (sd uhs SDR12)
signal voltage: 1 (1.80 V)
driver type: 0 (driver type B)

Generally If I put same card in my laptop as try same command then most of the things comes same only but signal voltage comes 3.3V.
I even observed on other links that they were getting signal voltage of 3.3V.
But I am getting 1.8V.
Can you please guide me on this?

Attach your schematic and your full dts file converted back from dtb .

Hello,

Thanks a lot for reply.
I made some changes in DTSI and I am getting 3.3V signal voltage but still I can’t able to mount SD card.
SDCARD.dtsi (3.7 KB)

SD card is detected but still its not mountable.
lsblk3003.txt (2.0 KB)
Here its dmesg log,
dmesg3003.txt (142.2 KB)
Please check the schematic.
SD CARD INTERFACE.pdf (259.3 KB)

If you got some clue then please let me know.

Hi,

This is not the dts file I want to check. Please use dtc tool to convert your finalized dtb file back to dts file and attach that here.

Hello,

Sorry for misunderstanding.
Please check attached DTS file after above changes.
finaldtb.dts (240.3 KB)

You have card detect pin, why set non-removable to your DTS?

Hello,

Though I am using card detect pin but as such my hot plug functionality is not working.
If I delete property of non removable then my card is not detected.
My priority is to start SD card interface properly even if hot plug is not work that I will sort later.
One more thing I observed that current configuration I can able to detect only microSD card , normal SD card still not detect.

please remove it and hotplug the sdcard and see when will it show error log.