Detect SD card after bypassing Load Switch in Jetson Nano Production

Hello,

We’re trying to detect micro sd card with jetson nano production module with JetPack 4.5.1 and l4t 32.5.1.

So far we have followed:
(MicroSD card not detected on Jetson Nano production module)

In summary:
We added:
(1)
sdhci@700b0400 { /* SDMMC3 for external SD card */
status = “okay”;
};
in tegra210-p3448-0002-p3449-0000-b00.dts

(2)
sdhci@700b0400 { /* SDMMC3 for external SD card /
/
/delete-property/ keep-power-in-suspend;
/delete-property/ non-removable;/
default-drv-type = <1>;
mmc-ddr-1_8v;
mmc-ocr-mask = <3>;
uhs-mask = <0x0>;
tap-delay = <3>;
max-clk-limit = <400000>; /
Milan*/
nvidia,vmmc-always-on;
// no-sdio;
// no-mmc;
status = “okay”;
};
in tegra210-porg-p3448-common.dtsi

Please go through with attached files which are modified. :)

tegra210-p3448-0002-p3449-0000-b00.dts (3.5 KB)
tegra210-porg-p3448-common.dtsi (22.1 KB)
tegra210-porg-power-tree-p3448-0000-a00.dtsi (12.3 KB)


After successfully flashing with above modification we got the dmesg log as shown below:

[ 1.407045] mmc0: SDHCI controller on sdhci-tegra.3 [sdhci-tegra.3] using ADMA 64-bit with 64 bit addr
[ 1.411048] mmc1: SDHCI controller on sdhci-tegra.2 [sdhci-tegra.2] using ADMA 64-bit with 64 bit addr

As shown mmc1 is enabled but couldn’t detect the sd card.
We also checked by df -h and /dev/ folder also.

dmesg.txt (70.1 KB)


Kindly have a look into our schematic.

Compared to Reference Design guide we have directly powered SD card bypassing load switch.

image

The most important dts properties to add sdcard to sdmmc3 are:

  1. vmmc-supply
  2. cd-gpios. If your sdcard requires to hotplug.
  3. nvidia,vmmc-always-on. If your power source is a always on system power.

Since you give a always-on 3v3 power source, please find a 3v3 regulator to the vmmc-supply.

1 Like

Thanks @WayneWWW for your reply !
In tegra210-porg-p3448-common.dtsi file I already did nvidia,vmmc-always-on;
Is it the right and only file for modification?
Kindly have a look for my changes: (I’d add diff file but here are the only changes)
image

May I know more about point 1 & 2 and steps to taken care for ?
For hotplug we already changed in PinMux excel i.e. SDMMC3_CD

There could be a small step we’re missing or we’re doing something wrong here; kindly help us !

Hi,

The pinmux just means this pin is set to GPIO. But it does not tell which driver should use this GPIO.

Thus, you still need to tell the sdhci driver where to find the cd gpio.

For example, some users take pin Z,2 as his gpio, so he can write as

cd-gpios = <&gpio TEGRA_GPIO(Z, 2) 0>;

Modify this to match your design.

And you still need to tell the sdhci driver which regulator is for the power. Though it is a dummy one.

Try to give vdd-3v3-sd to the vmmc-supply. This is one always-on regulator from “nvidia/platform/t210/porg/kernel-dts/porg-platforms/tegra210-porg-fixed-p3448-0000-a00.dtsi”.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.