Jetson Nano SD problem

Good afternoon, dear Nvidia! After boot I always receiving this messages:

[   32.202149] vdd-usb-vbus: disabling
[   32.202153] vdd-usb-vbus2: disabling
[   32.202163] vddio-sdmmc-ap: disabling
[   32.202231] vddio-sdmmc3-ap: disabling
[   32.202288] vdd-3v3-sd: disabling
[   32.202293] avdd-io-edp-1v05: disabling
[   32.202295] vdd-usb-hub-en: disabling

After this my SD card not working properly. Why am I encounter such a problem? How could I fix this?
My dev tree sdmmc node:

	sdhci@700b0400 {
		status = "okay";
		cd-gpios = <&gpio TEGRA_GPIO(Y, 2) 1>;
		/delete-property/ keep-power-in-suspend;
		/delete-property/ non-removable;
		mmc-ocr-mask = <3>;
		uhs-mask = <0x0>;
		tap-delay = <3>;

Are you talking about making your own custom board and enable sdcard on sdmmc3?

Yes, SD card is working only if it was inserted before this messages, then even after this messages it will work. But if you insert SD after this system will just ignore it

I think you can ask yourself first…

You add “nvidia,vmmc-always-on”. What do you expect from this?

Is your vmmc-supply for the card really a always-on? vmmc-supply is the 3.3v on the card.

No matter what vmmc-supply you are using. You still need to give vmmc-supply field in your sdmmc3 controller.

If it is a always-on one, you need to give a dummy one to your sdmmc3.

Yes, it is really always on.

				max77620_ldo6: ldo6 {
					regulator-name = "vddio-sdmmc3-ap";
					maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>;
					maxim,active-fps-power-up-slot = <0>;
					maxim,active-fps-power-down-slot = <7>;
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <3300000>;
					regulator-enable-ramp-delay = <36>;
					regulator-disable-ramp-delay = <674>;
					regulator-ramp-delay = <100000>;
					regulator-ramp-delay-scale = <200>;

Then give this to your vmmc-supply field in your sdmm3 node.

Sorry, but how should it look?

Since you are not the first one asking this. Let me just share the old post.

I added vmcc-supply:

	sdhci@700b0400 {
		status = "okay";
		vmmc-supply = <&p3448_vdd_3v3_sd>;
		cd-gpios = <&gpio TEGRA_GPIO(Y, 2) 1>;
		/delete-property/ keep-power-in-suspend;
		/delete-property/ non-removable;
		mmc-ocr-mask = <3>;
		uhs-mask = <0x0>;
		tap-delay = <3>;

Still the same:

[   31.858682] vdd-usb-vbus: disabling
[   31.858686] vdd-usb-vbus2: disabling
[   31.858695] vddio-sdmmc-ap: disabling
[   31.858763] vddio-sdmmc3-ap: disabling
[   31.858819] vdd-3v3-sd: disabling
[   31.858822] avdd-io-edp-1v05: disabling
[   31.858825] vdd-usb-hub-en: disabling

Are you sure these regulators really have nothing related to your hardware?

These regulators got disabled because the system detects no one is using them.

Also, what you added is p3448_vdd_3v3_sd. Does this thing also get disabled on those list?

I added nothing to p3448_vdd_3v3_sd:

		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>;
			vin-supply = <&p3448_vdd_3v3_sys>;

…Sorry to say that. I am not asking you to just copy and paste something from other post.
But looks like you don’t know what yourself is doing.

p3448_vdd_3v3_sd is using Tegra GPIO Z,3 which sounds not same as your hardware design…

My point was even a always on 3v3 need a dummy regulator in vmmc-supply…

Also, I just notice that there was a total same discussion with you 4 months ago…

Yes but I didn’t fix this that time.
And I’m working in the same project as him on those post and he couldn’t fix this too those time)
He could make SD working but it is working now only if you inserted it before this messages. How to create dummy power supply I didn’t understand

You can google search it… Regulator framework is not NVIDIA specific kernel driver.
regulator-always-on is needed.

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