Detection issue while using external SD card in Jetson TX2-NX module platform

Hi,

I am facing an issue after configuring SDMMC3(external scard from SODIMM 260 pin connector) as SD card enabled.
I still can not get external sd card access after device tree modification, and find the mmc1 vdd is zero from /sys/kernel/debug/mmc1/ios.
Is there any parameters in device tree I should change?

My system setup is:

  • TX2-NX module with installed in custom carrier board, this custom carrier board is verified okay in nano, Xavier NX module platform.
  • JetPack 4.5.1(02/24 release)
  • Modify device tree to enable external sd card sdmmc3.
    my device tree setting is:
    sources/hardware/nvidia/soc/t18x/kernel-dts/tegra186-soc/tegra186-soc-sdhci.dtsi

diff --git a/kernel-dts/tegra186-soc/tegra186-soc-sdhci.dtsi b/kernel-dts/tegra186-soc/tegra186-soc-sdhci.dtsi
index 1d83d99…374f980 100644
— a/kernel-dts/tegra186-soc/tegra186-soc-sdhci.dtsi
+++ b/kernel-dts/tegra186-soc/tegra186-soc-sdhci.dtsi
@@ -103,7 +103,18 @@
iommus = <&smmu TEGRA_SID_SDMMC3A>;
nvidia,en-periodic-calib;
force-non-removable-rescan;

  •           status = "disabled";
    
  •           //status = "disabled";
    
  •            sd-uhs-sdr104;
    
  •            sd-uhs-sdr50;
    
  •            sd-uhs-sdr25;
    
  •            sd-uhs-sdr12;
    
  •            nvidia,cd-wakeup-capable;
    
  •            nvidia,vmmc-always-on;
    
  •            cd-inverted;
    
  •            wp-inverted;
    
  •            no-sdio;
    
  •            no-mmc;
    
  •           status = "okay";
      };
    
      sdmmc2: sdhci@3420000 { /* Should be used for eMMC. HS400 mode is not supported */
    

kernel-dts-tegra186-soc-tegra186-soc-sdhci-dtsi.patch (850 Bytes)

my dmesg log is TX2-NX-dmesg.log as attachment.
TX2-NX-dmesg.log (60.3 KB)
my dts is TX2-NX.dts as attachment:
dtc /boot/dtb/kernel_tegra186-p3636-0001-p3509-0000-a01.dtb -o TX2-NX.dts
TX2-NX.dts (238.3 KB)

cat /sys/kernel/debug/mmc1/ios
clock: 0 Hz
vdd: 0 (invalid)
bus mode: 2 (push-pull)
chip select: 0 (don’t care)
power mode: 0 (off)
bus width: 0 (1 bits)
timing spec: 0 (legacy)
signal voltage: 0 (3.30 V)
driver type: 0 (driver type B)

Hi,

Could you clean up your comment here? The format goes wrong. Just attach your change as a patch?

Do you have cd-gpio for your sdcard slot?

I have uploaded patch files.

  1. Do you have cd-gpio for your sdcard slot?

  2. What is the vmmc-supply and vqmmc-supply in your device tree?

  3. Why do you add change to tegra186-quill-common.dtsi? It is for TX2. I don’t see any TX2-NX file is using that.

yes, this custom carrier board is verified okay in nano, Xavier NX module, we only change TX2-NX module on it.

But you didn’t add any cd-gpios field to your device tree.

Also, please still reply my other questions above…

==> refer to Jetson_TX2_NX_Product_Design_Guide_DG-10141-001_v1.0.pdf chapter 9: sd card section, I can’t get a TX2-NX GPIO pin in module, map to SOM pin 208(GPIO8) for sd card detect, what should I fill cd-gpios = ?
(we use SOM pin 208(GPIO8) for sd card detect)


==> I do not add vmmc-supply, vqmmc-supply fields in device tree, if I want to enable sdmmc3(external sd card), how do I set the vmmc-supply, vqmmc-supply fileds in device tree?

==> I will remove tegra186-quill-common.dtsi releated wrong patch content.

Thanks.

Please refer to this topic: Announcing Jetson TX2 NX - #3 by XeroX “There is no plan to support using Jetson TX2 NX with the Nano devkit carrier board.”

Customer should follow design guide to make carrier board for TX2 NX, not from custom board of nano/Xavier NX. Also there is Interface Comparison and Migration in DLC for reference.

1 Like

Reference DT:

sdhci@3440000 {
status = “okay”;
mmc-ocr-mask = <3>;
sd-uhs-sdr104;
sd-uhs-sdr50;
sd-uhs-sdr25;
sd-uhs-sdr12;
mmc-ddr-1_8v;
mmc-hs200-1_8v;
vmmc-supply = <&spmic_sd3>;
/delete-property/ non-removable;
/delete-property/ force-non-removable-rescan;