SD card error on custom carrier board

SDK version 32.5

No cd pin, alway power on.

Even no clock output after enable sdmmc3 in dts.

Kernel detected sdcard when add “vqmmc-supply = <&max77620_ldo6>” to dts . But boot fail then.

The console log is:

[ 4.556327] mmc1: Applying tuning correction
[ 4.556365] mmc1: Tap value after applying correction 45
[ 4.556410] mmc1: hw tuning done …
[ 4.556494] mmc1: new ultra high speed SDR104 SDXC card at address aaaa
[ 4.557232] mmcblk1: mmc1:aaaa SC64G 59.5 GiB
[ 4.557976] mmc1: CMD CRC or end bit error, int mask 0x20001
[ 4.557981] mmc1: Data CRC error
[ 4.557982] sdhci: =========== REGISTER DUMP (mmc1)===========
[ 4.557989] sdhci: Sys addr: 0x00000008 | Version: 0x00000303
[ 4.557995] sdhci: Blk size: 0x00007200 | Blk cnt: 0x00000008
[ 4.558001] sdhci: Argument: 0x00000000 | Trn mode: 0x0000003b
[ 4.558006] sdhci: Present: 0x01fb0008 | Host ctl: 0x00000017
[ 4.558012] sdhci: Power: 0x00000001 | Blk gap: 0x00000000
[ 4.558018] sdhci: Wake-up: 0x00000000 | Clock: 0x00000007
[ 4.558023] sdhci: Timeout: 0x0000000e | Int stat: 0x00001000
[ 4.558029] sdhci: Int enab: 0x02ff100b | Sig enab: 0x02fc100b
[ 4.558035] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
[ 4.558040] sdhci: Caps: 0x376cd08c | Caps_1: 0x10006f77
[ 4.558046] sdhci: Cmd: 0x0000123a | Max curr: 0x00000000
[ 4.558049] sdhci: Host ctl2: 0x0000308b
[ 4.558058] sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000000ffefe410
[ 4.558114] sdhci: ===========================================
[ 4.558199] mmc1: CMD CRC or end bit error, int mask 0xa0001
[ 5.430908] random: crng init done
[ 6.025699] extcon-disp-state extcon:disp-state: cable 51 state 1
[ 6.033403] Extcon HDMI: HPD enabled
[ 6.038575] tegradc tegradc.0: hdmi: plugged

The kernel patch mentioned in the post already done in version 32.5. https://forums.developer.nvidia.com/t/jetson-nano-sd-card-can-use-but-kernel-prompt-error/154587

Our dts file list below

sdhci@700b0400 {/*SDMMC3 */
/delete-property/ keep-power-in-suspend;
/delete-property/ non-removable;
vqmmc-supply = <&max77620_ldo6>;
nvidia,vmmc-always-on;
mmc-ddr-1_8v;
mmc-ocr-mask = <3>;
uhs-mask = <0x0>;
sd-uhs-sdr104;
sd-uhs-sdr50;
sd-uhs-sdr25;
sd-uhs-sdr12;
max-clk-limit = <400000>;
tap-delay = <3>;
status = “okay”;
};

Thank you!

  1. No cd pins means you cannot hotplug it. Then you should not remove non-removable;

  2. You still need to assign a fake always-on regulator for your vmmc-supply.

Thank you for reply!!

Update dts, but still same error

Dts:

sdhci@700b0400 {/*SDMMC3 */
/delete-property/ keep-power-in-suspend;
non-removable;
vmmc-supply = <&p3448_vdd_3v3_sys>;
vqmmc-supply = <&max77620_ldo6>;
nvidia,vmmc-always-on;
mmc-ddr-1_8v;
mmc-ocr-mask = <3>;
uhs-mask = <0x0>;
sd-uhs-sdr104;
sd-uhs-sdr50;
sd-uhs-sdr25;
sd-uhs-sdr12;
max-clk-limit = <400000>;
tap-delay = <3>;
status = “okay”;
};

Kernel boot successful after remove sdcard,
list /proc/device-tree/sdhci@700b0400

aux-device-name    interrupts                phandle         reset-names
bus-width          iommus                    pinctrl-0       resets
calib-1v8-offsets  linux,phandle             pinctrl-1       sd-uhs-sdr104
calib-3v3-offsets  max-clk-limit             pinctrl-2       sd-uhs-sdr12
cap-mmc-highspeed  mmc-ddr-1_8v              pinctrl-3       sd-uhs-sdr25
cap-sd-highspeed   mmc-ocr-mask              pinctrl-4       sd-uhs-sdr50
cd-inverted        name                      pinctrl-5       status
clock-names        non-removable             pinctrl-6       tap-delay
clocks             nvidia,en-io-trim-volt    pinctrl-7       trim-delay
compad-vref-1v8    nvidia,en-periodic-calib  pinctrl-names   uhs-mask
compad-vref-3v3    nvidia,max-tap-delay      pll_source      vmmc-supply
compatible         nvidia,min-tap-delay      prod-settings   vqmmc-supply
ddr-clk-limit      nvidia,runtime-pm-type    pwrdet-support  wp-inverted
ignore-pm-notify   nvidia,vmmc-always-on     reg

please give it a regulator that has regulator-always-on property.

Hi, WayneWWW,

The issue still there.
DTS is:

sdhci@700b0400 {/*SDMMC3 */
keep-power-in-suspend;
non-removable;
vmmc-supply = <&max77620_sd2>;
vqmmc-supply = <&max77620_ldo6>;
nvidia,vmmc-always-on;
mmc-ddr-1_8v;
mmc-ocr-mask = <3>;
uhs-mask = <0x0>;
sd-uhs-sdr104;
sd-uhs-sdr50;
sd-uhs-sdr25;
sd-uhs-sdr12;
max-clk-limit = <400000>;
tap-delay = <3>;
status = “okay”;
};

Please also upgrad to new jetpack release. 32.5 seems old.

For Nano, supported max release is 32.7.3.
And I read the release note between 32.5 and 32.7.3, there is no item related with sd card.

Would you please provide a dts sample of sdcard for Nano?
Thanks alot!

Hi,

Release notes do no cover such info. For example, max-clk-limit = 400000 jas beem removed for a long time.

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