Openwrt MT7628 и ядро eMMC 4.14: невозможно установить связь/чтение/запись
Я пытаюсь включить поддержку eMMC для MT7628 dan. Для этого я освободил порты Ethernet 2,3 и 4 с помощью mediatek,portmap = <0x18>; в коммутационном узле. Порт 2 используется для UART2, а оставшийся порт используется для поддержки eMMC. Я внес необходимые изменения, чтобы включить eMMC в DTS, следующим образом. После изменения DTS карта eMMC обнаруживается, но выдает ошибку для всех секторов.
mmcblk0: ошибка -145 при передаче данных, сектор 0, номер 8, ответ cmd 0x900, статус карты 0x0
Изменения ДТС:
sdhci: sdhci@10130000 {
compatible = "ralink,mt7620-sdhci";
reg = <0x10130000 0x4000>;
status = "okay";
interrupt-parent = <&intc>;
interrupts = <14>;
pinctrl-names = "default";
pinctrl-0 = <&sdxc_pins>;
bus-width = <4>;
};
Ошибки:
[ 14.581172] msdc0 -> XXX CMD<18> wait xfer_done<4096> timeout!! <- msdc_do_request() : L<1213> PID<mmcqd/0><0x1cf>
[ 14.591748] msdc0 -> DMA_SA = 0x3b9c000 <- msdc_do_request() : L<1214> PID<mmcqd/0><0x1cf>
[ 14.600659] msdc0 -> DMA_CA = 0x3b9c000 <- msdc_do_request() : L<1215> PID<mmcqd/0><0x1cf>
[ 14.609587] msdc0 -> DMA_CTRL = 0x6100 <- msdc_do_request() : L<1216> PID<mmcqd/0><0x1cf>
[ 14.618252] msdc0 -> DMA_CFG = 0x3 <- msdc_do_request() : L<1217> PID<mmcqd/0><0x1cf>
[ 14.724631] PPTP driver version 0.8.5
[ 14.768602] Driver for 1-wire Dallas network protocol.
[ 14.775676] mmcblk0: error -145 transferring data, sector 0, nr 8, cmd response 0x900, card status 0xb00
[ 14.785362] mmcblk0: retrying using single block read
[ 14.827031] wireguard: WireGuard 1.0.20200506 loaded. See www.wireguard.com for information.
[ 14.835673] wireguard: Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
[ 15.083787] xt_time: kernel timezone is -0000
[ 15.311608] kmodloader: done loading kernel modules from /etc/modules.d/*
[ 17.323445] msdc0 -> XXX CMD<17> wait xfer_done<512> timeout!! <- msdc_do_request() : L<1213> PID<mmcqd/0><0x1cf>
[ 17.333915] msdc0 -> DMA_SA = 0x3b9c000 <- msdc_do_request() : L<1214> PID<mmcqd/0><0x1cf>
[ 17.342849] msdc0 -> DMA_CA = 0x3b9c000 <- msdc_do_request() : L<1215> PID<mmcqd/0><0x1cf>
[ 17.351784] msdc0 -> DMA_CTRL = 0x6100 <- msdc_do_request() : L<1216> PID<mmcqd/0><0x1cf>
[ 17.360431] msdc0 -> DMA_CFG = 0x3 <- msdc_do_request() : L<1217> PID<mmcqd/0><0x1cf>
[ 17.531160] mmcblk0: error -145 transferring data, sector 0, nr 8, cmd response 0x900, card status 0x0
[ 17.540619] print_req_error: I/O error, dev mmcblk0, sector 0