plz check my bug! for emmc read is fail but write is ok )))
uname -a
Linux Krescue 5.0.4 #2 SMP PREEMPT Tue Aug 13 13:21:42 MSK 2019 aarch64 GNU/Linux
VIM2 linux-mainline-5.0.4 + uboot legacy
dd if=/dev/mmcblk0 bs=1M count=1 of=/dev/null && echo ok
1+0 records in
1+0 records out
ok
dd if=/dev/mmcblk1 bs=1M count=1 of=/dev/null && echo ok
dd: /dev/mmcblk1: I/O error
dd if=/dev/zero bs=1M count=1 of=/dev/mmcblk1 && echo ok
1+0 records in
1+0 records out
ok
dmesg -c
[ 184.597308] mmcblk0: p1
[ 231.159037] mmcblk0: p1
[ 235.336846] print_req_error: I/O error, dev mmcblk1, sector 0 flags 80700
[ 235.337771] print_req_error: I/O error, dev mmcblk1, sector 0 flags 0
[ 235.337781] Buffer I/O error on dev mmcblk1, logical block 0, async page read
[ 235.338875] print_req_error: I/O error, dev mmcblk1, sector 0 flags 0
[ 235.338884] Buffer I/O error on dev mmcblk1, logical block 0, async page read
[ 268.461628] print_req_error: I/O error, dev mmcblk1, sector 0 flags 80700
[ 268.463128] print_req_error: I/O error, dev mmcblk1, sector 0 flags 0
[ 268.463139] Buffer I/O error on dev mmcblk1, logical block 0, async page read
zcat /proc/config.gz | grep MMC | grep -v \#
CONFIG_MMC=y
CONFIG_PWRSEQ_EMMC=y
CONFIG_MMC_BLOCK=y
CONFIG_MMC_BLOCK_MINORS=32
CONFIG_MMC_ARMMMCI=y
CONFIG_MMC_STM32_SDMMC=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_SDHCI_OF_ARASAN=y
CONFIG_MMC_SDHCI_OF_DWCMSHC=m
CONFIG_MMC_SDHCI_CADENCE=y
CONFIG_MMC_MESON_GX=y
CONFIG_MMC_MESON_MX_SDIO=y
CONFIG_MMC_SPI=y
CONFIG_MMC_DW=y
CONFIG_MMC_DW_PLTFM=y
CONFIG_MMC_DW_EXYNOS=y
CONFIG_MMC_DW_K3=y
CONFIG_MMC_REALTEK_USB=m
CONFIG_MMC_CQHCI=y
CONFIG_MTK_MMC=m
dtc /sys/firmware/fdt 2>/dev/null | grep "mmc@" -A21
mmc@70000 {
compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
reg = <0x0 0x70000 0x0 0x800>;
interrupts = <0x0 0xd8 0x1>;
status = "okay";
clocks = <0xc 0x5e 0xc 0x77 0xc 0x4>;
clock-names = "core", "clkin0", "clkin1";
resets = <0x10 0x2c>;
pinctrl-0 = <0x2c>;
pinctrl-1 = <0x2d>;
pinctrl-names = "default", "clk-gate";
#address-cells = <0x1>;
#size-cells = <0x0>;
bus-width = <0x4>;
cap-sd-highspeed;
max-frequency = <0x5f5e100>;
non-removable;
disable-wp;
mmc-pwrseq = <0x2e>;
vmmc-supply = <0x2f>;
vqmmc-supply = <0x30>;
--
mmc@72000 {
compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
reg = <0x0 0x72000 0x0 0x800>;
interrupts = <0x0 0xd9 0x1>;
status = "okay";
clocks = <0xc 0x5f 0xc 0x7a 0xc 0x4>;
clock-names = "core", "clkin0", "clkin1";
resets = <0x10 0x2d>;
pinctrl-0 = <0x31>;
pinctrl-names = "default";
bus-width = <0x4>;
cap-sd-highspeed;
max-frequency = <0x5f5e100>;
disable-wp;
cd-gpios = <0x14 0x30 0x1>;
vmmc-supply = <0x2f>;
vqmmc-supply = <0x30>;
};
mmc@74000 {
compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
reg = <0x0 0x74000 0x0 0x800>;
interrupts = <0x0 0xda 0x1>;
status = "okay";
clocks = <0xc 0x60 0xc 0x7d 0xc 0x4>;
clock-names = "core", "clkin0", "clkin1";
resets = <0x10 0x2e>;
pinctrl-0 = <0x32 0x33>;
pinctrl-names = "default";
bus-width = <0x8>;
cap-sd-highspeed;
cap-mmc-highspeed;
max-frequency = <0x5f5e100>;
non-removable;
disable-wp;
mmc-ddr-1_8v;
mmc-pwrseq = <0x34>;
vmmc-supply = <0x35>;
vqmmc-supply = <0x30>;
};
uboot works ok