Sdmmc microsd card doesn't work on JetPack 4.5.1 & 4.6

Hi Nvidia
I use emmc version of NX module on our own carrier board .
It has microSD slot on carrier board.
When I use L4T 32.4.3 , JetPack 4.4 , sd card works properly , mount device as mmcblk1p1.

After update to 4.5.1 , sdmmc seems not worked anymore.

. Is there any difference between JetPack 4.4 and newer version are related to SDMMC?

I just helped several users enable their extra sdcard slot in recent weeks. Basically nothing is changed between these release.

What was your modification in device tree?

Finally , i modified the dts on NX , related to cd-gpio , and its works.
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";

PQ02 is the pin we designed on carrier board to use as sd card 's cd-gpio

Another question , but it is on TX2NX
I take similar modify to dts , but it doesn’t work.
hardware/nvidia/soc/t18x/kernel-dts/tegra186-soc/tegra186-soc-sdhci.dtsi
sdmmc3

cd-gpios = <&tegra_main_gpio TEGRA_MAIN_GPIO(X, 4) 0>;
nvidia,cd-wakeup-capable;
status = okay;|

PQ02 pinmux mapping on TX2NX is PX04 , both using same carrier board.
We also modified PX04 pull-high resistor on carrier board as TX2NX pinmux excel shows , which is no required on NX.
But sd card still not work on TX2NX in Ubuntu.
, and PX04=476 gpio can be export , it does’t change state while sd card plugged.
Is there any other modification required on TX2NX of using sd card?

You can refer to this post.

Actually, the most important things are: cd-gpios and vmmc-supply. These two should match your hardware design.

Even if your give a always-on vdd, you have to assign a always-on regulator to the vmmc-supply.

Hi Wayne:
I’ve check this thread for solution then try to add same sdhci modify to my 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.

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

Please take this a common sense that you should provide the full dmesg for debugging issue in kernel.

Also, what is the exact platform that has problem?

NX or TX2 NX? If issuec is on TX2 NX, please file to the correct forum.

Hi Wayne:
I’ve reposted on TX2 section