Sdmmc sd card not worked on JetPack 4.6

Hi Wayne:
I’ve check this thread for solution then try to add same sdhci modify to TX2NX dts on l4t 4.6

 sdhci@3440000 {
	status = "okay";
    cd-gpios = <&tegra_main_gpio TEGRA_MAIN_GPIO(X, 4) 0>;
    vmmc-supply = <&spmic_sd3>;
    nvidia,vmmc-always-on;
    mmc-ocr-mask = <3>;
    sd-uhs-sdr104;
    sd-uhs-sdr50;
    sd-uhs-sdr25;
    sd-uhs-sdr12;
    mmc-ddr-1_8v;
    mmc-hs200-1_8v;

    /delete-property/ non-removable;
    /delete-property/ force-non-removable-rescan;
};

They said sd card should be worked at least , except hot-plugged cd-gpio modify.
But it seems not worked on our board as they did.
My kernel log doesn’t show any mmc1 related info.
tx2nx_dmesg.txt (63.7 KB)
tegra186-p3636-0001-p3509-0000-a01.dts (4.8 KB)
And why their TX2NX dts is so many difference with mine?
Did i modify the right dts of l4t 4.6 on TX2NX?
path is sources/hardware/platform/lanai/kernel-dts/tegra186-p3636-0001-p3509-0000-a01.dts

On NX , we use the same carrier board as TX2NX .
The sd card is worked after modify as above reply told.
cd-gpio PQ02 on NX is mapping to TX2NX PX04
sources/hardware/nvidia/soc/t19x/kernel-dts/tegra194-soc/tegra194-soc-sdhci.dtsi
in sdmmc3

    cd-gpios = <&tegra_main_gpio TEGRA194_MAIN_GPIO(Q, 2) 0>;
	nvidia,cd-wakeup-capable;
	status = "okay";

Hi,

What you need to do is use dtc tool to convert your dtb back to dts and attach it here.

After doing that you will find out your dts looks similar to their case… they posted the full dts but you just attach the partial one.

I’ve re-generated dts and verified changes is taken effect.
Please help to check sdhci settings.
tegra186-p3636-0001-p3509-0000-a01_dtcgen.dts (222.7 KB)

Hi,

mmc1 appears one line in the dmesg but this does not get any enumeration afterwards. It probably means the VDD power source is not provided to the sdhci controller.

Actually, it is possible to be a hardware issue because I do have similar case 2 weeks ago. And that user had similar symptom case as yours.

Hi Wayne:
You mean it may lack settings related to vdd_sdmmc3_sw in the dts i using in TX2NX l4t 4.6 ?
Because we use same carrier board with NX module running sdhci modified 4.4/4.5.1 l4t and sd slot works properly.
So hardware layout on carrier board should be corrent.

Currently, you give spmic_sd3 to the vmmc-supply. Please check if that matches your design.

Also be aware that I don’t know anything about your board design. What I can share is based on my paste experience for such issue.

Hi
Finally , sd is works after i delete only-1-8-v property, which i fought out it is not exist in NX’s sdhci 3440000 setting.

sdhci@3440000 {
	status = "okay";
    cd-gpios = <&tegra_main_gpio TEGRA_MAIN_GPIO(X, 4) 0>;
    vmmc-supply = <&spmic_sd3>;
    nvidia,vmmc-always-on;
    //mmc-ocr-mask = <3>;
    sd-uhs-sdr104;
    sd-uhs-sdr50;
    sd-uhs-sdr25;
    sd-uhs-sdr12;

    	cd-inverted;
    	nvidia,cd-wakeup-capable;
  /delete-property/  only-1-8-v;
    /delete-property/ non-removable;
    /delete-property/ force-non-removable-rescan;
};

attached dmesg and final dts

tegra186-p3636-0001-p3509-0000-a01.dts (222.7 KB)
tx2nx_sd_ok_dmesg.txt (81.8 KB)

3 Likes

thanks a lot, this modification works.