Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

iMX8MQ SD boot issue (Re: sdhc1: data crc error)



On Sun, Feb 09, 2025 at 09:26:28AM +0800, Rui-Xiang Guo wrote:
> Hi,
> When trying to boot 10.0 aarch64 on the Google i.MX8MQ Phanbell board
> (a.k.a Coral Dev Board), everything looks fine except 'sdhc1: data crc error'.

Describe it in detail:
1. Boot with default imx8mq-phanbell.dtb and the dmesg shows
[...]
[   1.0000040] sdhc0 at simplebus4: SDMMC (400000 kHz)
[   1.0000040] sdhc0: interrupting on irq 54
[   1.0000040] sdhc0: SDHC 3.0, rev 0, 32-bit ADMA2, 180000 kHz, HS SDR50 DDR50 1.8V 3.0V 3.3V, re-tuning mode 1, 4096 byte blocks
[   1.0000040] sdmmc0 at sdhc0 slot 0
[   1.0000040] sdhc1 at simplebus4: SDMMC (400000 kHz)
[   1.0000040] sdhc1: interrupting on irq 55
[   1.0000040] sdhc1: SDHC 3.0, rev 0, 32-bit ADMA2, 180000 kHz, HS SDR50 DDR50 1.8V 3.0V 3.3V, re-tuning mode 1, 4096 byte blocks
[   1.0000040] sdmmc1 at sdhc1 slot 0
[   1.0000040] /soc@0/bus@32c00000/interrupt-controller@32e2d000 at simplebus6 not configured
[   1.0000040] xhci0 at simplebus1: cannot switch 'otg' mode to host
[   1.0000040] xhci1 at simplebus1: DesignWare USB3 XHCI (rev. 3.10a)
[   1.0000040] xhci1: interrupting on irq 73
[   1.0000040] usb0 at xhci1: USB revision 3.0
[   1.0000040] usb1 at xhci1: USB revision 2.0
[   1.0000040] /soc@0/video-codec@38300000 at simplebus1 not configured
[   1.0000040] armpmu0 at simplebus0: Performance Monitor Unit
[   1.0000040] /soc@0/ddr-pmu@3d800000 at simplebus1 not configured
[   1.8283080] cpufreqdt0: couldn't acquire cpu-supply
[   1.8283080] cpufreqdt1: couldn't acquire cpu-supply
[   1.8383104] cpufreqdt2: couldn't acquire cpu-supply
[   1.8383104] cpufreqdt3: couldn't acquire cpu-supply
[   1.8483087] uhub0 at usb0: NetBSD (0x0000) xHCI root hub (0x0000), class 9/0, rev 3.00/1.00, addr 0
[   1.8583105] uhub1 at usb1: NetBSD (0x0000) xHCI root hub (0x0000), class 9/0, rev 2.00/1.00, addr 0
[   1.8783096] armpmu0: interrupting on GICv3 irq 23
[   1.8783096] WARNING: system needs entropy for security; see entropy(7)
[   2.0283120] sdhc1: data end bit error
[   2.0283120] sdhc1: data crc error
[   2.0283120] sdmmc1: can't get SD status: 60
[   2.0383130] sdmmc1: mem init failed
[   2.0383130] sdmmc1: init failed
[   2.0383130] swwdog0: software watchdog initialized
[   2.0516064] WARNING: 9 errors while detecting hardware; check system log.
[   2.0586909] boot device: <unknown>
[   2.0586909] root device:
[   2.9270786] use one of: enet0 ddb halt reboot
[   2.9270786] root device:

2. Attempt to override
#include "../../../external/gpl2/dts/dist/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts"

&usdhc2 {
        assigned-clocks = <&clk IMX8MQ_CLK_USDHC2>;
        assigned-clock-rates = <200000000>;
};
by referring to imx8mq-hummingboard-pulse.dts
then I get the following results

> Here is part of dmesg -
> [...]
> [   1.0000040] sdhc0 at simplebus4: SDMMC (400000 kHz)
> [   1.0000040] sdhc0: interrupting on irq 54
> [   1.0000040] sdhc0: SDHC 3.0, rev 0, 32-bit ADMA2, 180000 kHz, HS SDR50 DDR50 1.8V 3.0V 3.3V, re-tuning mode 1, 4096 byte blocks
> [   1.0000040] sdmmc0 at sdhc0 slot 0
> [   1.0000040] sdhc1 at simplebus4: SDMMC (200000 kHz)
> [   1.0000040] sdhc1: interrupting on irq 55
> [   1.0000040] sdhc1: SDHC 3.0, rev 0, 32-bit ADMA2, 180000 kHz, HS SDR50 DDR50 1.8V 3.0V 3.3V, re-tuning mode 1, 4096 byte blocks
> [   1.0000040] sdmmc1 at sdhc1 slot 0
> [   1.0000040] /soc@0/bus@32c00000/interrupt-controller@32e2d000 at simplebus6 not configured
> [   1.0000040] xhci0 at simplebus1: cannot switch 'otg' mode to host
> [   1.0000040] xhci1 at simplebus1: DesignWare USB3 XHCI (rev. 3.10a)
> [   1.0000040] xhci1: interrupting on irq 73
> [   1.0000040] usb0 at xhci1: USB revision 3.0
> [   1.0000040] usb1 at xhci1: USB revision 2.0
> [   1.0000040] /soc@0/video-codec@38300000 at simplebus1 not configured
> [   1.0000040] armpmu0 at simplebus0: Performance Monitor Unit
> [   1.0000040] /soc@0/ddr-pmu@3d800000 at simplebus1 not configured
> [   1.8387029] cpufreqdt0: couldn't acquire cpu-supply
> [   1.8387029] cpufreqdt1: couldn't acquire cpu-supply
> [   1.8487055] cpufreqdt2: couldn't acquire cpu-supply
> [   1.8487055] cpufreqdt3: couldn't acquire cpu-supply
> [   1.8587035] uhub0 at usb0: NetBSD (0x0000) xHCI root hub (0x0000), class 9/0, rev 3.00/1.00, addr 0
> [   1.8687052] uhub1 at usb1: NetBSD (0x0000) xHCI root hub (0x0000), class 9/0, rev 2.00/1.00, addr 0
> [   1.8887044] armpmu0: interrupting on GICv3 irq 23
> [   1.8887044] WARNING: system needs entropy for security; see entropy(7)
> [   2.0487077] sdmmc1: SD card status: 4-bit, C10, U1, V10
> [   2.0487077] ld1 at sdmmc1: <0x9f:0x5449:00000:0x00:0x00000384:0x12c>
> [   2.0587075] ld1: 30168 MB, 7661 cyl, 128 head, 63 sec, 512 bytes/sect x 61784064 sectors
> [   2.0698407] dk0 at ld1: "EFI", 163840 blocks at 32768, type: msdos
> [   2.0698407] dk1 at ld1: "netbsd-root", 2891776 blocks at 196608, type: ffs
> [   2.0857484] ld1: 4-bit width, DDR50, 50.000 MHz
> [   2.0904707] swwdog0: software watchdog initialized
> [   2.1004707] WARNING: 6 errors while detecting hardware; check system log.
> [   2.1004707] boot device: dk1
> [   2.1104702] root on dk1
> [   2.1204705] root file system type: ffs
> [   2.1204705] kern.module.path=/stand/evbarm/10.0/modules
> [   2.1304705] WARNING: no TOD clock present
> [   2.1304705] WARNING: using filesystem time
> [   2.1391266] WARNING: CHECK AND RESET THE DATE!
> [   2.1404710] sdhc1: data crc error
> [   7.0305622] entropy: best effort
> [  12.1406582] ld1c: error reading fsbn 280880 of 280880-280959 (ld1 bn 280880; cn 34 tn 106 sn 26), retrying
> [  12.6406669] sdhc1: data crc error
> [  22.6408544] ld1c: error reading fsbn 280880 of 280880-280959 (ld1 bn 280880; cn 34 tn 106 sn 26), retrying
> [  23.1408637] sdhc1: data crc error
> [  33.1410512] ld1c: error reading fsbn 280880 of 280880-280959 (ld1 bn 280880; cn 34 tn 106 sn 26), retrying
> 
> This card is definitely good because it is used to boot the RIoTboard.

Any ideas?

-rxg



Home | Main Index | Thread Index | Old Index