Kernel error occurs when inserting SD card

hello.
I followed the procedure linked below, but when an SD card is detected, a kernel error is output.
The version of L4T is “32.5.1”.

Kernel error.

[    3.913878] mmc1: CMD CRC or end bit error, int mask 0xa0001
[    3.920648] mmc1: Data CRC error
[    3.924947] sdhci: =========== REGISTER DUMP (mmc1)===========
[    3.931855] sdhci: Sys addr: 0x00000008 | Version:  0x00000303
[    3.938761] sdhci: Blk size: 0x00007200 | Blk cnt:  0x00000008
[    3.945644] sdhci: Argument: 0x00000000 | Trn mode: 0x0000003b
[    3.952508] sdhci: Present:  0x01fb0008 | Host ctl: 0x00000017
[    3.959348] sdhci: Power:    0x00000001 | Blk gap:  0x00000000
[    3.966177] sdhci: Wake-up:  0x00000000 | Clock:    0x00000007
[    3.972995] sdhci: Timeout:  0x0000000e | Int stat: 0x00001000
[    3.979800] sdhci: Int enab: 0x02ff100b | Sig enab: 0x02fc100b
[    3.986597] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
[    3.993381] sdhci: Caps:     0x376cd08c | Caps_1:   0x10006f77
[    4.000160] sdhci: Cmd:      0x0000123a | Max curr: 0x00000000
[    4.006927] sdhci: Host ctl2: 0x0000308b
[    4.011772] sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000000ffefe410
[    4.019253] sdhci: ===========================================
[    4.026029] mmc1: CMD CRC or end bit error, int mask 0xa0001
[   24.326960] Kernel panic - not syncing: Watchdog detected hard LOCKUP on cpu 0
[   24.335192] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 4.9.201-tegra #1
[   24.342703] Hardware name: NVIDIA Jetson Nano Developer Kit (DT)
[   24.349689] Call trace:
[   24.353110] [<ffffff800808b9f8>] dump_backtrace+0x0/0x198
[   24.359493] [<ffffff800808bfbc>] show_stack+0x24/0x30
[   24.365513] [<ffffff800845abe8>] dump_stack+0xa0/0xc8
[   24.371525] [<ffffff80081c0a00>] panic+0x12c/0x2a8
[   24.377275] [<ffffff800818169c>] watchdog_check_hardlockup_other_cpu+0x11c/0x120
[   24.385652] [<ffffff8008180810>] watchdog_timer_fn+0x98/0x2c0
[   24.392382] [<ffffff8008138b60>] __hrtimer_run_queues+0xd8/0x360
[   24.399378] [<ffffff80081394b0>] hrtimer_interrupt+0xa8/0x1e0
[   24.406122] [<ffffff8008c00760>] tegra210_timer_isr+0x38/0x48
[   24.412867] [<ffffff8008121610>] __handle_irq_event_percpu+0x68/0x288
[   24.420317] [<ffffff8008121858>] handle_irq_event_percpu+0x28/0x60
[   24.427503] [<ffffff80081218e0>] handle_irq_event+0x50/0x80
[   24.434073] [<ffffff80081256f4>] handle_fasteoi_irq+0xd4/0x1c0
[   24.440904] [<ffffff80081205c4>] generic_handle_irq+0x34/0x50
[   24.447641] [<ffffff8008120cb0>] __handle_domain_irq+0x68/0xc0
[   24.454457] [<ffffff8008080d44>] gic_handle_irq+0x5c/0xb0
[   24.460832] [<ffffff8008082c28>] el1_irq+0xe8/0x194
[   24.466675] [<ffffff8008ba6948>] cpuidle_enter_state+0xb8/0x380
[   24.473546] [<ffffff8008ba6c84>] cpuidle_enter+0x34/0x48
[   24.479787] [<ffffff800811104c>] call_cpuidle+0x44/0x70
[   24.485936] [<ffffff80081113c8>] cpu_startup_entry+0x1b0/0x200
[   24.492697] [<ffffff8008091cc8>] secondary_start_kernel+0x190/0x1f8
[   24.499894] [<0000000084f671a4>] 0x84f671a4
[   24.505016] SMP: stopping secondary CPUs
[   24.509942] Kernel Offset: disabled
[   24.514379] Memory Limit: none
[   24.524629] Rebooting in 5 seconds..

What’s wrong?

Please check if the cd-gpios, vmmc-supply matches your board design.

hello Wayne.
There was no setting for cd-gpios. Added to device tree.
The vmmc-supply has also been modified below.

vmmc-supply = <&max77620_ldo6>;

By the way, 3.3V is always input without controlling VDD.

However, the SD card cannot be detected and the following dmesg is output.

[   20.336320] vddio-sdmmc3-ap: Restricting voltage, 3300000-1950000uV
[   20.342597] vddio-sdmmc3-ap: Restricting voltage, 3300000-1950000uV
[   20.348876] mmc1: Switching to 1.8V signalling voltage failed
[   20.407764] mmc1: error -110 whilst initialising SD card
dmesg | grep mmc1
[    0.609867] tegra210_dvfs: no clock found for sdmmc1_ddr
[    3.614258] mmc1: SDHCI controller on sdhci-tegra.2 [sdhci-tegra.2] using ADMA 64-bit with 64 bit addr
[   20.348876] mmc1: Switching to 1.8V signalling voltage failed
[   20.407764] mmc1: error -110 whilst initialising SD card

The dts of SDMMC3 are as follows.

	sdhci@700b0400 {
		compatible = "nvidia,tegra210-sdhci";
		reg = <0x0 0x700b0400 0x0 0x200>;
		interrupts = <0x0 0x13 0x4>;
		aux-device-name = "sdhci-tegra.2";
		iommus = <0x30 0x1b>;
		nvidia,runtime-pm-type = <0x0>;
		clocks = <0x26 0x45 0x26 0xf3 0x26 0x136 0x26 0xc1>;
		clock-names = "sdmmc", "pll_p", "pll_c4_out2", "sdmmc_legacy_tm";
		resets = <0x26 0x45>;
		reset-names = "sdhci";
		status = "okay";
		tap-delay = <0x3>;
		trim-delay = <0x3>;
		mmc-ocr-mask = <0x3>;
		max-clk-limit = <0xc28cb00>;
		ddr-clk-limit = <0x2dc6c00>;
		bus-width = <0x4>;
		calib-3v3-offsets = <0x7d>;
		calib-1v8-offsets = <0x7b7b>;
		compad-vref-3v3 = <0x7>;
		compad-vref-1v8 = <0x7>;
		pll_source = "pll_p", "pll_c4_out2";
		ignore-pm-notify;
		cap-mmc-highspeed;
		cap-sd-highspeed;
		nvidia,en-io-trim-volt;
		nvidia,en-periodic-calib;
		cd-inverted;
		wp-inverted;
		pwrdet-support;
		nvidia,min-tap-delay = <0x6a>;
		nvidia,max-tap-delay = <0xb9>;
		pinctrl-names = "sdmmc_schmitt_enable", "sdmmc_schmitt_disable", "sdmmc_clk_schmitt_enable", "sdmmc_clk_schmitt_disable", "sdmmc_drv_code", "sdmmc_default_drv_code", "sdmmc_e_33v_enable", "sdmmc_e_33v_disable";
		pinctrl-0 = <0x8d>;
		pinctrl-1 = <0x8e>;
		pinctrl-2 = <0x8f>;
		pinctrl-3 = <0x90>;
		pinctrl-4 = <0x91>;
		pinctrl-5 = <0x92>;
		pinctrl-6 = <0x93>;
		pinctrl-7 = <0x94>;
		vqmmc-supply = <0x5d>;
		vmmc-supply = <0x5d>;
		mmc-ddr-1_8v;
		uhs-mask = <0x0>;
		nvidia,vmmc-always-on;
		nvidia,disable-rtpm;
		cd-gpios = <0x5b 0x1b 0x0>;
		linux,phandle = <0xbd>;
		phandle = <0xbd>;

		prod-settings {
			#prod-cells = <0x3>;

			prod_c_ds {
				prod = <0x100 0xff0000 0x10000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x3000007d>;
			};

			prod_c_hs {
				prod = <0x100 0xff0000 0x10000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x3000007d>;
			};

			prod_c_sdr12 {
				prod = <0x100 0xff0000 0x10000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x30007b7b>;
			};

			prod_c_sdr25 {
				prod = <0x100 0xff0000 0x10000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x30007b7b>;
			};

			prod_c_sdr50 {
				prod = <0x100 0xff0000 0x10000 0x1c0 0xe000 0x8000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x30007b7b>;
			};

			prod_c_sdr104 {
				prod = <0x100 0xff0000 0x10000 0x1c0 0xe000 0x4000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x30007b7b>;
			};

			prod_c_ddr52 {
				prod = <0x100 0x1fff0000 0x0 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x30007b7b>;
			};

			prod {
				prod = <0x100 0x1fff000e 0x3090028 0x1c0 0x8001fc0 0x8000040 0x1c4 0x77 0x0 0x120 0x20001 0x1 0x128 0x43000000 0x0 0x1f0 0x80000 0x80000>;
			};
		};
	};

Is there something wrong with the device tree settings?

max77620_ldo6 is a regulator from 1.8v to 3.3.v. Please write a always-on regulator with voltage fixed in 3.3v.

hello Wayne.

Is it okay to set “regulator-min-microvolt” to “3300000” to fix the voltage to 3.3V as shown below?

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-min-microvolt = <3300000>;
	regulator-max-microvolt = <3300000>;
	regulator-enable-ramp-delay = <36>;
	regulator-disable-ramp-delay = <674>;
	regulator-ramp-delay = <100000>;
	regulator-ramp-delay-scale = <200>;
};

In that case, the following log will not be output, but other errors will be output and the SD card will not be detected.

vddio-sdmmc3-ap: Restricting voltage, 3300000-1950000uV

Is the device tree setting wrong?

You can just check “sdmmc3” keywords on this nano forum and there would be bunches of same issue as yours.

Please refer to their case first. Also, just check the latest post first.

hello Wayne.

I read other forums and tried various things. As a result, the SD card was not detected.
The device tree and dmesg are as follows.
Is there something wrong?

	sdhci@700b0400 {
		compatible = "nvidia,tegra210-sdhci";
		reg = <0x0 0x700b0400 0x0 0x200>;
		interrupts = <0x0 0x13 0x4>;
		aux-device-name = "sdhci-tegra.2";
		iommus = <0x30 0x1b>;
		nvidia,runtime-pm-type = <0x0>;
		clocks = <0x26 0x45 0x26 0xf3 0x26 0x136 0x26 0xc1>;
		clock-names = "sdmmc", "pll_p", "pll_c4_out2", "sdmmc_legacy_tm";
		resets = <0x26 0x45>;
		reset-names = "sdhci";
		status = "okay";
		tap-delay = <0x3>;
		trim-delay = <0x3>;
		mmc-ocr-mask = <0x3>;
		max-clk-limit = <0xc28cb00>;
		ddr-clk-limit = <0x2dc6c00>;
		bus-width = <0x4>;
		calib-3v3-offsets = <0x7d>;
		calib-1v8-offsets = <0x7b7b>;
		compad-vref-3v3 = <0x7>;
		compad-vref-1v8 = <0x7>;
		pll_source = "pll_p", "pll_c4_out2";
		ignore-pm-notify;
		cap-mmc-highspeed;
		cap-sd-highspeed;
		nvidia,en-io-trim-volt;
		nvidia,en-periodic-calib;
		cd-inverted;
		wp-inverted;
		pwrdet-support;
		pinctrl-names = "sdmmc_schmitt_enable", "sdmmc_schmitt_disable", "sdmmc_clk_schmitt_enable", "sdmmc_clk_schmitt_disable", "sdmmc_drv_code", "sdmmc_default_drv_code", "sdmmc_e_33v_enable", "sdmmc_e_33v_disable";
		pinctrl-0 = <0x8d>;
		pinctrl-1 = <0x8e>;
		pinctrl-2 = <0x8f>;
		pinctrl-3 = <0x90>;
		pinctrl-4 = <0x91>;
		pinctrl-5 = <0x92>;
		pinctrl-6 = <0x93>;
		pinctrl-7 = <0x94>;
		vqmmc-supply = <0x5d>;
		vmmc-supply = <0x3b>;
		mmc-ddr-1_8v;
		uhs-mask = <0x0>;
		cd-gpios = <0x5b 0x1b 0x0>;
		nvidia,vmmc-always-on;
		linux,phandle = <0xbd>;
		phandle = <0xbd>;

		prod-settings {
			#prod-cells = <0x3>;

			prod_c_ds {
				prod = <0x100 0xff0000 0x10000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x3000007d>;
			};

			prod_c_hs {
				prod = <0x100 0xff0000 0x10000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x3000007d>;
			};

			prod_c_sdr12 {
				prod = <0x100 0xff0000 0x10000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x30007b7b>;
			};

			prod_c_sdr25 {
				prod = <0x100 0xff0000 0x10000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x30007b7b>;
			};

			prod_c_sdr50 {
				prod = <0x100 0xff0000 0x10000 0x1c0 0xe000 0x8000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x30007b7b>;
			};

			prod_c_sdr104 {
				prod = <0x100 0xff0000 0x10000 0x1c0 0xe000 0x4000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x30007b7b>;
			};

			prod_c_ddr52 {
				prod = <0x100 0x1fff0000 0x0 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x30007b7b>;
			};

			prod {
				prod = <0x100 0x1fff000e 0x3090028 0x1c0 0x8001fc0 0x8000040 0x1c4 0x77 0x0 0x120 0x20001 0x1 0x128 0x43000000 0x0 0x1f0 0x80000 0x80000>;
			};
		};
	};

dmesg.txt (58.1 KB)
grep mmc from dmesg

dmesg | grep mmc
[    0.000000] Kernel command line: tegraid=21.1.2.0.0 ddr_die=4096M@2048M section=512M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 console=ttyS0,115200n8 debug_uartport=lsport,4 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=0x1000@0xff780000 core_edp_mv=1075 core_edp_ma=4000 gpt  earlycon=uart8250,mmio32,0x70006000  root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1 quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1
[    0.585562] vddio-sdmmc-ap: 1800 <--> 3300 mV at 3300 mV
[    0.592939] vddio-sdmmc3-ap: 1800 <--> 3300 mV at 2800 mV
[    0.614651] tegra210_dvfs: no clock found for sdmmc2_ddr
[    0.614670] tegra210_dvfs: no clock found for sdmmc4_ddr
[    0.614721] tegra210_dvfs: no clock found for sdmmc1_ddr
[    0.614737] tegra210_dvfs: no clock found for sdmmc3_ddr
[    4.126040] mmc0: SDHCI controller on sdhci-tegra.3 [sdhci-tegra.3] using ADMA 64-bit with 64 bit addr
[    4.134257] mmc1: SDHCI controller on sdhci-tegra.2 [sdhci-tegra.2] using ADMA 64-bit with 64 bit addr
[    4.178688] mmc0: new HS400 Enhanced strobe MMC card at address 0001
[    4.179115] mmcblk0: mmc0:0001 DG4016 14.7 GiB
[    4.179432] mmcblk0boot0: mmc0:0001 DG4016 partition 1 4.00 MiB
[    4.179711] mmcblk0boot1: mmc0:0001 DG4016 partition 2 4.00 MiB
[    4.183943] mmcblk0rpmb: mmc0:0001 DG4016 partition 3 4.00 MiB
[    4.186868]  mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17
[    5.302014] mmcblk mmc0:0001: Card claimed for testing.
[    5.331557] Root device found: mmcblk0p1
[    5.332971] Found dev node: /dev/mmcblk0p1
[    5.352618] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)
[    5.354430] Rootfs mounted over mmcblk0p1
[    5.726866] EXT4-fs (mmcblk0p1): re-mounted. Opts: (null)
[   35.956859] vddio-sdmmc-ap: disabling

Also, cd-gpio is connected to UART0_RTS * (GPIO3_PD.03). Do I need to connect to GPIO08 (GPIO3_PZ.02)?

hello Wayne.

It is the result of “/sys/kernel/debug/mmc1/ios”.

clock:          0 Hz
vdd:            0 (invalid)
bus mode:       2 (push-pull)
chip select:    0 (don't care)
power mode:     0 (off)
bus width:      0 (1 bits)
timing spec:    0 (legacy)
signal voltage: 0 (3.30 V)
driver type:    0 (driver type B)

There are only 2 lines of mmc1 search result from your log. Which means the device is not provided by the power at all.

I have no idea what is vmmc-supply = <0x3b>; in your device tree here.

Please check this “0x3b” is matching your board design or not. This is a regulator phandle in somewhere else.

hello Wayne.

I found a forum with almost the same configuration such as a circuit diagram and set up the same device tree.
The CD is connected to UART0_RTS * (GPIO3_PD.03).
Still, the SD card could not be detected.
Attached is SDMMC3D and regulator device tree and dmesg.
Do you know what the problem is?

	sdhci@700b0400 {
		compatible = "nvidia,tegra210-sdhci";
		reg = <0x0 0x700b0400 0x0 0x200>;
		interrupts = <0x0 0x13 0x4>;
		aux-device-name = "sdhci-tegra.2";
		iommus = <0x30 0x1b>;
		nvidia,runtime-pm-type = <0x0>;
		clocks = <0x26 0x45 0x26 0xf3 0x26 0x136 0x26 0xc1>;
		clock-names = "sdmmc", "pll_p", "pll_c4_out2", "sdmmc_legacy_tm";
		resets = <0x26 0x45>;
		reset-names = "sdhci";
		status = "okay";
		tap-delay = <0x3>;
		trim-delay = <0x3>;
		mmc-ocr-mask = <0x3>;
		max-clk-limit = <0xc28cb00>;
		ddr-clk-limit = <0x2dc6c00>;
		bus-width = <0x4>;
		calib-3v3-offsets = <0x7d>;
		calib-1v8-offsets = <0x7b7b>;
		compad-vref-3v3 = <0x7>;
		compad-vref-1v8 = <0x7>;
		pll_source = "pll_p", "pll_c4_out2";
		ignore-pm-notify;
		cap-mmc-highspeed;
		cap-sd-highspeed;
		nvidia,en-io-trim-volt;
		nvidia,en-periodic-calib;
		cd-inverted;
		wp-inverted;
		pwrdet-support;
		nvidia,min-tap-delay = <0x6a>;
		nvidia,max-tap-delay = <0xb9>;
		pinctrl-names = "sdmmc_schmitt_enable", "sdmmc_schmitt_disable", "sdmmc_clk_schmitt_enable", "sdmmc_clk_schmitt_disable", "sdmmc_drv_code", "sdmmc_default_drv_code", "sdmmc_e_33v_enable", "sdmmc_e_33v_disable";
		pinctrl-0 = <0x8d>;
		pinctrl-1 = <0x8e>;
		pinctrl-2 = <0x8f>;
		pinctrl-3 = <0x90>;
		pinctrl-4 = <0x91>;
		pinctrl-5 = <0x92>;
		pinctrl-6 = <0x93>;
		pinctrl-7 = <0x94>;
		vqmmc-supply = <0x3b>;
		vmmc-supply = <0x95>;
		mmc-ddr-1_8v;
		uhs-mask = <0x0>;
		cd-gpios = <0x5b 0x1b 0x0>;
		nvidia,vmmc-always-on;
		sd-uhs-sdr104;
		sd-uhs-sdr50;
		sd-uhs-sdr25;
		sd-uhs-sdr12;
		mmc-hs200-1_8v;
		no-sdio;
		no-mmc;
		linux,phandle = <0xbd>;
		phandle = <0xbd>;

		prod-settings {
			#prod-cells = <0x3>;

			prod_c_ds {
				prod = <0x100 0xff0000 0x10000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x3000007d>;
			};

			prod_c_hs {
				prod = <0x100 0xff0000 0x10000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x3000007d>;
			};

			prod_c_sdr12 {
				prod = <0x100 0xff0000 0x10000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x30007b7b>;
			};

			prod_c_sdr25 {
				prod = <0x100 0xff0000 0x10000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x30007b7b>;
			};

			prod_c_sdr50 {
				prod = <0x100 0xff0000 0x10000 0x1c0 0xe000 0x8000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x30007b7b>;
			};

			prod_c_sdr104 {
				prod = <0x100 0xff0000 0x10000 0x1c0 0xe000 0x4000 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x30007b7b>;
			};

			prod_c_ddr52 {
				prod = <0x100 0x1fff0000 0x0 0x1e0 0xf 0x7 0x1e4 0x30077f7f 0x30007b7b>;
			};

			prod {
				prod = <0x100 0x1fff000e 0x3090028 0x1c0 0x8001fc0 0x8000040 0x1c4 0x77 0x0 0x120 0x20001 0x1 0x128 0x43000000 0x0 0x1f0 0x80000 0x80000>;
			};
		};
	};

				sd3 {
					regulator-name = "vdd-1v8";
					regulator-min-microvolt = <0x1b7740>;
					regulator-max-microvolt = <0x1b7740>;
					regulator-always-on;
					regulator-boot-on;
					maxim,active-fps-source = <0x0>;
					regulator-init-mode = <0x2>;
					maxim,active-fps-power-up-slot = <0x3>;
					maxim,active-fps-power-down-slot = <0x4>;
					regulator-enable-ramp-delay = <0xf2>;
					regulator-disable-ramp-delay = <0x1ccf0>;
					regulator-ramp-delay = <0x6b6c>;
					regulator-ramp-delay-scale = <0x168>;
					linux,phandle = <0x3b>;
					phandle = <0x3b>;
				};

		regulator@3 {
			compatible = "regulator-fixed-sync";
			reg = <0x3>;
			regulator-name = "vdd-3v3-sd";
			regulator-min-microvolt = <0x325aa0>;
			regulator-max-microvolt = <0x325aa0>;
			gpio = <0x5b 0xcb 0x0>;
			enable-active-high;
			regulator-boot-on;
			vin-supply = <0x4c>;
			linux,phandle = <0x95>;
			phandle = <0x95>;

dmesg.txt (58.4 KB)

dmesg | grep mmc

[    0.000000] Kernel command line: tegraid=21.1.2.0.0 ddr_die=4096M@2048M section=512M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 console=ttyS0,115200n8 debug_uartport=lsport,4 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=0x1000@0xff780000 core_edp_mv=1075 core_edp_ma=4000 gpt  earlycon=uart8250,mmio32,0x70006000  root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1 quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1 
[    0.584907] vddio-sdmmc-ap: 1800 <--> 3300 mV at 3300 mV 
[    0.589538] vddio-sdmmc3-ap: Bringing 2800000uV into 3300000-3300000uV
[    0.592239] vddio-sdmmc3-ap: 3300 mV 
[    0.613789] tegra210_dvfs: no clock found for sdmmc2_ddr
[    0.613806] tegra210_dvfs: no clock found for sdmmc4_ddr
[    0.613860] tegra210_dvfs: no clock found for sdmmc1_ddr
[    0.613875] tegra210_dvfs: no clock found for sdmmc3_ddr
[    4.158043] mmc0: SDHCI controller on sdhci-tegra.3 [sdhci-tegra.3] using ADMA 64-bit with 64 bit addr
[    4.166237] mmc1: SDHCI controller on sdhci-tegra.2 [sdhci-tegra.2] using ADMA 64-bit with 64 bit addr
[    4.210117] mmc0: new HS400 Enhanced strobe MMC card at address 0001
[    4.210546] mmcblk0: mmc0:0001 DG4016 14.7 GiB 
[    4.210819] mmcblk0boot0: mmc0:0001 DG4016 partition 1 4.00 MiB
[    4.211021] mmcblk0boot1: mmc0:0001 DG4016 partition 2 4.00 MiB
[    4.211175] mmcblk0rpmb: mmc0:0001 DG4016 partition 3 4.00 MiB
[    4.213845]  mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17
[    4.316302] mmc1: Switching to 1.8V signalling voltage failed
[    4.367818] mmc1: error -110 whilst initialising SD card
[    5.332605] mmcblk mmc0:0001: Card claimed for testing.
[    5.361829] Root device found: mmcblk0p1
[    5.363292] Found dev node: /dev/mmcblk0p1
[    5.382667] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)
[    5.384478] Rootfs mounted over mmcblk0p1
[    5.763305] EXT4-fs (mmcblk0p1): re-mounted. Opts: (null)
[   35.956895] vddio-sdmmc-ap: disabling
[  148.114172] mmc1: Switching to 1.8V signalling voltage failed
[  148.176416] mmc1: error -110 whilst initialising SD card
[  153.521733] mmc1: Switching to 1.8V signalling voltage failed
[  153.584835] mmc1: error -110 whilst initialising SD card

It looks like mmc1 is starting to have some logs. What did you change in comparison with your previous DT?

hello Wayne.

Set p3448_vdd_3v3_sd(regulator@3 above) to vmmc-supply and the following was added.

		sd-uhs-sdr104;
		sd-uhs-sdr50;
		sd-uhs-sdr25;
		sd-uhs-sdr12;
		mmc-hs200-1_8v;
		no-sdio;
		no-mmc;

please assign the vqmmc-supply to max77620_ldo6. sd3 is 1.8v so has error here.

hello Wayne.

When max77620_ldo6 is assigned to vqmmc-supply, the following error occurs and a soft reboot occurs.

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.9.201-tegra (koden@koden) (gcc version 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701] (Linaro GCC 7.3-2018.05) ) #5 SMP PREEMPT Tue Jul 20 10:01:41 JST 2021
[    0.000000] Boot CPU: AArch64 Processor [411fd071]
[    0.000000] OF: fdt:memory scan node memory@80000000, reg size 32,
[    0.000000] OF: fdt: - 80000000 ,  7ee00000
[    0.000000] OF: fdt: - 100000000 ,  7f200000
[    0.000000] earlycon: uart8250 at MMIO32 0x0000000070006000 (options '')
[    0.000000] bootconsole [uart8250] enabled
[    1.084147] tegradc tegradc.1: dpd enable lookup fail:-19
[    1.589878] Host read timeout at address 545c00c4
[    1.600290] tegradc tegradc.1: dp: aux write got error (0x10000100)
[    1.600333] tegradc tegradc.1: dp: Failed for I2C write addr:80, size:1, stat:0x10000100
[    1.612893] tegradc tegradc.1: dp: aux write got error (0x10000100)
[    1.612900] tegradc tegradc.1: dp: Failed to write DPCD data. CMD 0x600, Status 0x10000100
[    1.617947] tegradc tegradc.1: dp: aux write got error (0x10000100)
[    1.617952] tegradc tegradc.1: dp: Failed to write DPCD data. CMD 0x600, Status 0x10000100
[    1.622955] tegradc tegradc.1: dp: aux write got error (0x10000100)
[    1.622960] tegradc tegradc.1: dp: Failed to write DPCD data. CMD 0x600, Status 0x10000100
[    1.627958] tegradc tegradc.1: dp: aux write got error (0x10000100)
[    1.627963] tegradc tegradc.1: dp: Failed to write DPCD data. CMD 0x600, Status 0x10000100
[    1.627967] tegradc tegradc.1: dp: failed to exit panel power save mode (0xfffffff2)
[    1.743876] tegradc tegradc.1: dp: aux write got error (0x10000100)
[    1.750401] tegradc tegradc.1: dp: Failed to write DPCD data. CMD 0x600, Status 0x10000100
[    1.763432] tegradc tegradc.1: dp: aux write got error (0x10000100)
[    1.769818] tegradc tegradc.1: dp: Failed to write DPCD data. CMD 0x600, Status 0x10000100
[    1.783004] tegradc tegradc.1: dp: aux write got error (0x10000100)
[    1.789281] tegradc tegradc.1: dp: Failed to write DPCD data. CMD 0x600, Status 0x10000100
[    1.802569] tegradc tegradc.1: dp: aux write got error (0x10000100)
[    1.808842] tegradc tegradc.1: dp: Failed to write DPCD data. CMD 0x600, Status 0x10000100
[    1.817115] tegradc tegradc.1: dp: failed to exit panel power save mode (0xfffffff2)
[    1.824863] hpd: edid read prepare failed[    2.898806] tegra-vii2c 546c0000.i2c: --- register dump for debugging ----
[    2.905732] tegra-vii2c 546c0000.i2c: I2C_CNFG - 0x22c00
[    2.911070] tegra-vii2c 546c0000.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[    2.917966] tegra-vii2c 546c0000.i2c: I2C_FIFO_CONTROL - 0xe0
[    2.923731] tegra-vii2c 546c0000.i2c: I2C_FIFO_STATUS - 0x800070
[    2.929756] tegra-vii2c 546c0000.i2c: I2C_INT_MASK - 0xac
[    2.935190] tegra-vii2c 546c0000.i2c: I2C_INT_STATUS - 0x0
[    2.940694] tegra-vii2c 546c0000.i2c: msg->len - 2
[    2.945502] tegra-vii2c 546c0000.i2c: is_msg_write - 1
[    2.950658] tegra-vii2c 546c0000.i2c: buf_remaining - 0
[    2.955908] tegra-vii2c 546c0000.i2c: i2c transfer timed out, addr 0x0010, data 0x00
[    2.964408] imx219 7-0010: imx219_board_setup: error during i2c read probe (-110)
[    2.972031] imx219 7-0010: board setup failed
[    4.018805] tegra-vii2c 546c0000.i2c: --- register dump for debugging ----
[    4.025728] tegra-vii2c 546c0000.i2c: I2C_CNFG - 0x22c00
[    4.031051] tegra-vii2c 546c0000.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[    4.037932] tegra-vii2c 546c0000.i2c: I2C_FIFO_CONTROL - 0xe0
[    4.043684] tegra-vii2c 546c0000.i2c: I2C_FIFO_STATUS - 0x800070
[    4.049696] tegra-vii2c 546c0000.i2c: I2C_INT_MASK - 0xac
[    4.055101] tegra-vii2c 546c0000.i2c: I2C_INT_STATUS - 0x0
[    4.060591] tegra-vii2c 546c0000.i2c: msg->len - 2
[    4.065387] tegra-vii2c 546c0000.i2c: is_msg_write - 1
[    4.070529] tegra-vii2c 546c0000.i2c: buf_remaining - 0
[    4.075761] tegra-vii2c 546c0000.i2c: i2c transfer timed out, addr 0x0010, data 0x00
[    4.083588] imx219 8-0010: imx219_board_setup: error during i2c read probe (-110)
[    4.091167] imx219 8-0010: board setup failed
[    4.349087] mmc1: CMD CRC or end bit error, int mask 0xa0001
[    4.354742] mmc1: Data CRC error
[    4.357960] sdhci: =========== REGISTER DUMP (mmc1)===========
[    4.363782] sdhci: Sys addr: 0x00000008 | Version:  0x00000303
[    4.369602] sdhci: Blk size: 0x00007200 | Blk cnt:  0x00000008
[    4.375422] sdhci: Argument: 0x00000000 | Trn mode: 0x0000003b
[    4.381243] sdhci: Present:  0x01fb0008 | Host ctl: 0x00000017
[    4.387063] sdhci: Power:    0x00000001 | Blk gap:  0x00000000
[    4.392883] sdhci: Wake-up:  0x00000000 | Clock:    0x00000007
[    4.398702] sdhci: Timeout:  0x0000000e | Int stat: 0x00001000
[    4.404523] sdhci: Int enab: 0x02ff100b | Sig enab: 0x02fc100b
[    4.410344] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
[    4.416163] sdhci: Caps:     0x376cd08c | Caps_1:   0x10006f77
[    4.421984] sdhci: Cmd:      0x0000123a | Max curr: 0x00000000
[    4.427803] sdhci: Host ctl2: 0x0000308b
[    4.431717] sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000000ffefe410
[    4.438251] sdhci: ===========================================
[    4.444085] mmc1: CMD CRC or end bit error, int mask 0xa0001
[    5.138862] tegra-vii2c 546c0000.i2c: --- register dump for debugging ----
[    5.145743] tegra-vii2c 546c0000.i2c: I2C_CNFG - 0x22c00
[    5.151075] tegra-vii2c 546c0000.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[    5.157949] tegra-vii2c 546c0000.i2c: I2C_FIFO_CONTROL - 0xe0
[    5.163693] tegra-vii2c 546c0000.i2c: I2C_FIFO_STATUS - 0x800070
[    5.169698] tegra-vii2c 546c0000.i2c: I2C_INT_MASK - 0xac
[    5.175094] tegra-vii2c 546c0000.i2c: I2C_INT_STATUS - 0x0
[    5.180577] tegra-vii2c 546c0000.i2c: msg->len - 3
[    5.185369] tegra-vii2c 546c0000.i2c: is_msg_write - 1
[    5.190505] tegra-vii2c 546c0000.i2c: buf_remaining - 0
[    5.195734] tegra-vii2c 546c0000.i2c: i2c transfer timed out, addr 0x0040, data 0x00
[    5.203546] ina3221x 6-0040: ina3221 reset failure status: 0xffffff92
[   15.474863] tegra-i2c 7000d000.i2c: pio timed out addr: 0x3c tlen:28 rlen:4
[   15.481831] tegra-i2c 7000d000.i2c: --- register dump for debugging ----
[   15.488530] tegra-i2c 7000d000.i2c: I2C_CNFG - 0x22c00
[   15.493667] tegra-i2c 7000d000.i2c: I2C_PACKET_TRANSFER_STATUS - 0x1010001
[   15.500539] tegra-i2c 7000d000.i2c: I2C_FIFO_CONTROL - 0xe0
[   15.506109] tegra-i2c 7000d000.i2c: I2C_FIFO_STATUS - 0x800081
[   15.511940] tegra-i2c 7000d000.i2c: I2C_INT_MASK - 0x7d
[   15.517162] tegra-i2c 7000d000.i2c: I2C_INT_STATUS - 0xc3
[   15.522561] tegra-i2c 7000d000.i2c: i2c transfer timed out addr: 0x3c
[   15.529034] tegra_dvfs: failed initial get vdd-core voltage
[   25.714869] tegra-i2c 7000d000.i2c: pio timed out addr: 0x68 tlen:28 rlen:4
[   25.721838] tegra-i2c 7000d000.i2c: --- register dump for debugging ----
[   25.728539] tegra-i2c 7000d000.i2c: I2C_CNFG - 0x22c00
[   25.733676] tegra-i2c 7000d000.i2c: I2C_PACKET_TRANSFER_STATUS - 0x1010001
[   25.740548] tegra-i2c 7000d000.i2c: I2C_FIFO_CONTROL - 0xe0
[   25.746119] tegra-i2c 7000d000.i2c: I2C_FIFO_STATUS - 0x800081
[   25.751952] tegra-i2c 7000d000.i2c: I2C_INT_MASK - 0x7d
[   25.757177] tegra-i2c 7000d000.i2c: I2C_INT_STATUS - 0xc3
[   25.762577] tegra-i2c 7000d000.i2c: i2c transfer timed out addr: 0x68
[   25.769062] max77686-rtc max77620-rtc: Fail to write update reg(ret=-110, data=0x10)
[   26.218846] INFO: rcu_preempt detected stalls on CPUs/tasks:
[   26.224519]  0-...: (1 GPs behind) idle=1ed/2/0 softirq=254/254 fqs=2597
[   26.231295]  (detected by 3, t=5252 jiffies, g=-163, c=-164, q=1386)
[   36.326844] Kernel panic - not syncing: Watchdog detected hard LOCKUP on cpu 0
[   36.334060] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 4.9.201-tegra #5
[   36.340575] Hardware name: NVIDIA Jetson Nano Developer Kit (DT)
[   36.346568] Call trace:
[   36.349012] [<ffffff800808b9f8>] dump_backtrace+0x0/0x198
[   36.354401] [<ffffff800808bfbc>] show_stack+0x24/0x30
[   36.359445] [<ffffff800845abe8>] dump_stack+0xa0/0xc8
[   36.364489] [<ffffff80081c0a00>] panic+0x12c/0x2a8
[   36.369273] [<ffffff800818169c>] watchdog_check_hardlockup_other_cpu+0x11c/0x120
[   36.376655] [<ffffff8008180810>] watchdog_timer_fn+0x98/0x2c0
[   36.382391] [<ffffff8008138b60>] __hrtimer_run_queues+0xd8/0x360
[   36.388386] [<ffffff80081394b0>] hrtimer_interrupt+0xa8/0x1e0
[   36.394124] [<ffffff8008c00a30>] tegra210_timer_isr+0x38/0x48
[   36.399860] [<ffffff8008121610>] __handle_irq_event_percpu+0x68/0x288
[   36.406288] [<ffffff8008121858>] handle_irq_event_percpu+0x28/0x60
[   36.412456] [<ffffff80081218e0>] handle_irq_event+0x50/0x80
[   36.418018] [<ffffff80081256f4>] handle_fasteoi_irq+0xd4/0x1c0
[   36.423838] [<ffffff80081205c4>] generic_handle_irq+0x34/0x50
[   36.429573] [<ffffff8008120cb0>] __handle_domain_irq+0x68/0xc0
[   36.435394] [<ffffff8008080d44>] gic_handle_irq+0x5c/0xb0
[   36.440781] [<ffffff8008082c28>] el1_irq+0xe8/0x194
[   36.445649] [<ffffff8008ba6c18>] cpuidle_enter_state+0xb8/0x380
[   36.451558] [<ffffff8008ba6f54>] cpuidle_enter+0x34/0x48
[   36.456859] [<ffffff800811104c>] call_cpuidle+0x44/0x70
[   36.462074] [<ffffff80081113c8>] cpu_startup_entry+0x1b0/0x200
[   36.467895] [<ffffff8008091cc8>] secondary_start_kernel+0x190/0x1f8
[   36.474150] [<0000000084f671a4>] 0x84f671a4
[   36.478327] SMP: stopping secondary CPUs
[   36.482299] Kernel Offset: disabled
[   36.485778] Memory Limit: none
[   36.495160] Rebooting in 5 seconds..


I don’t think that error is triggered by just putting a regulator to the vqmmc supply. Please resolve those i2c error first.

hello Wayne.
I understand the cause.
This was because the max-clk-limit setting did not match the hardware.
Although max-clk-limit was set to the default of 204MHz, the CLK of 204MHz could not be output correctly on the circuit of the SD card.
I was able to detect the SD card by adjusting max-clk-limit.
Thank you for all your help.