Micro-SD card on custom jetson nano

Set status as “okay” in /hardware/nvidia/platform/t210/common/kernel-dts/t210-common-platforms/tegra210-p2530-common.dtsi

sdhci@700b0400 {
		mmc-ocr-mask = <0>;
		default-drv-type = <1>;
		uhs-mask = <0x1c>;
		power-off-rail;
		nvidia,update-pinctrl-settings;
		status = "okay";
	};

Set status as “okay”, add " nvidia,vmmc-always-on;", the correct cd-gpio and others properties in both files (I made the changes in both files but I think it’s enough changing just the dts):

hardware/nvidia/platform/t210/porg/kernel-dts/tegra210-porg-p3448-common.dtsi
hardware/nvidia/platform/t210/porg/kernel-dts/tegra210-p3448-0002-p3449-0000-b00.dts

sdhci@700b0400 {
		status = "okay";
		cd-gpios = <&gpio TEGRA_GPIO(V, 0) 0>;
		nvidia,vmmc-always-on;
		vmmc-supply = <&p3448_vdd_3v3_sd>;
		/delete-property/ keep-power-in-suspend;
		/delete-property/ non-removable;
		mmc-ocr-mask = <3>;
		uhs-mask = <0x0>;
		tap-delay = <3>;
		sd-uhs-sdr104;
		sd-uhs-sdr50;
		sd-uhs-sdr25;
		sd-uhs-sdr12;
		mmc-ddr-1_8v;
		mmc-hs200-1_8v;
		no-sdio;
		no-mmc;
	};

/hardware/nvidia/platform/t210/porg/kernel-dts/porg-plugin-manager/tegra210-porg-plugin-manager.dtsi

override@1 {
 				target = <&sdhci2>;
 				_overlay_ {
-					vmmc-supply = <&max77620_ldo6>;
+					status = "okay";
+					vqmmc-supply = <&max77620_ldo6>;
 					no-sdio;
 					no-mmc;
 					sd-uhs-sdr104;

I changed the gpio in vdd-3v3-sd, in /hardware/nvidia/platform/t210/porg/kernel-dts/porg-platforms/tegra210-porg-fixed-p3448-0000-a00.dtsi

p3448_vdd_3v3_sd: regulator@3 {
			compatible = "regulator-fixed-sync";
			reg = <3>;
			regulator-name = "vdd-3v3-sd";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			//gpio = <&gpio TEGRA_GPIO(Z, 3) 0>;
			gpio = <&gpio TEGRA_GPIO(BB, 0) 0>;
			enable-active-high;
			regulator-boot-on;
			vin-supply = <&p3448_vdd_3v3_sys>;
		};

And the hardware problem was that a resistor was missing.

1 Like