TX2 NX platform: SD card on sdmmc3 is not work

Hardware do work,I try to xavier nx platform + this sd card party also do work,I think that CRC is probably from software config.

Hi @shaorui,

What is the device tree you are using on the NX platform? What is the vmmc-supply you gave on NX case? Also a 3.3V always-on regulator?

code is TX2 NX.My kernel R32.5.1.
I try a test, confirm hardware do work.

I know the issue is on TX2 NX. I just want to know how did you configure NX before? This part should be similar.

Yes.
My question is sd card on TX2 NX.

CRC error is the reason?project time is urgent,Thanks

I already sent you a private message. Please check.

Are there any ideas? project time is urgent,Thanks

Your board should follow the notes in product design as below, please read the doc and change your design accordingly. https://developer.nvidia.com/jetson-tx2-nx-product-design-guide-dg-10141-001-v10pdf

The SD Card supply must be enabled with a GPIO to prevent back-driving the Tegra X2 SDMMC interface during power-on sequencing. The GPIO should have power-on reset (POR) that will ensure the supply is not enabled by default.

And the CARD_CD should be routed to a GPIO not to GND.

My SD card donot hotplug,so CARD_CD should be routed to GND.
CARD_CD affect to hotplug,but SD Card not found,Thanks.

From hardware perspective, please follow the guide to make design, even your board can work with Xavier NX or nano module. Otherwise it can not locate issue.

@shaorui please share your current dts and dmesg here.

dmesg.txt (70.8 KB)
tegra186-p3636-0001-p3509-0000-a01.dts (236.2 KB)

264 sdhci@3440000 {
265 status = “okay”;
266 //nvidia,vmmc-always-on;
267 mmc-ocr-mask = <3>;
268 uhs-mask = <0x8>;
269 disable-wp;
270 sd-uhs-sdr104;
271 sd-uhs-sdr50;
272 sd-uhs-sdr25;
273 sd-uhs-sdr12;
274 mmc-ddr-1_8v;
275 mmc-hs200-1_8v;
276
277 //vmmc-supply = <&en_sd_card>;
278 //vqmmc-supply = <&spmic_ldo5>;
279 //vmmc-supply = <&spmic_sd2>;
280
281 /delete-property/ force-non-removable-rescan;
282 };

Can you check if setting mmc-ocr-mask=<0> would work?

sd card donot word.

264 sdhci@3440000 {
265 status = “okay”;
266 //cd-gpios = <&tegra_main_gpio TEGRA_MAIN_GPIO(C, 3) 0>;
267 //nvidia,vmmc-always-on;
268 mmc-ocr-mask = <0>;
269 uhs-mask = <0x8>;
270 disable-wp;
271 sd-uhs-sdr104;
272 sd-uhs-sdr50;
273 sd-uhs-sdr25;
274 sd-uhs-sdr12;
275 mmc-ddr-1_8v;
276 mmc-hs200-1_8v;
277
278 //vmmc-supply = <&en_sd_card>;
279 //vqmmc-supply = <&spmic_ldo5>;
280 //vmmc-supply = <&spmic_sd2>;
281
282 /delete-property/ force-non-removable-rescan;
283 };

tegra186-p3636-0001-p3509-0000-a01.dts (236.2 KB)
dmesg.txt (70.2 KB)

Can you set your vmmc-supply to spmic_sd3 and enable the nvidia,vmmc-always-on?

Please do not change anything unless we ask you to change.

263 sdhci@3440000 {
264 status = “okay”;
265 cd-gpios = <&tegra_main_gpio TEGRA_MAIN_GPIO(C, 3) 0>;
266 mmc-ocr-mask = <0>;
267 uhs-mask = <0x8>;
268
269 disable-wp;
270 sd-uhs-sdr104;
271 sd-uhs-sdr50;
272 sd-uhs-sdr25;
273 sd-uhs-sdr12;
274 mmc-ddr-1_8v;
275 mmc-hs200-1_8v;
276
277 vqmmc-supply = <&spmic_ldo5>;
278 vmmc-supply = <&spmic_sd2>;
279
280 /delete-property/ force-non-removable-rescan;
281 };

…What is the problem here? I asked to add vmmc-supply to spmic_sd3 but not sd2.

Also, cd-gpios is already said to be removed and you need the non-removable.

We never said you can remove vmmc-supply and nvidia,always-on. That is why I told you do not change anything unless we asked you to change.

modify vmmc-supply to spmic_sd3 ,now sd card do work ,Thanks !

1 Like