+Aisheng. Best Regards Haibo Chen > -----Original Message----- > From: linux-mmc-owner@xxxxxxxxxxxxxxx [mailto:linux-mmc- > owner@xxxxxxxxxxxxxxx] On Behalf Of Leonardo G. Veiga > Sent: Tuesday, November 01, 2016 11:58 PM > To: ulf.hansson@xxxxxxxxxx > Cc: linux-mmc@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; > stefan@xxxxxxxx; raul.munoz@xxxxxxxxxxx; leonardo.veiga@xxxxxxxxxxx > Subject: [PATCH] sdhci-esdhc-imx: fix bus-width for 1-bit operation. > > From: Leonardo Graboski Veiga <leonardo.veiga@xxxxxxxxxxx> > > The 1-bit operation mode, enabled by seeting the 'bus-width' property of the > device tree 'esdhc' node to <1>, not work while using SD card. > > The behavior is only noticed when only the data pin 0 is connected to the > hardware. A series of kernel errors are printed to the console, all of them > returning the following error message followed by some explanation: > mmcblk0: error -84 transferring data > > If four data lines are connected, it ignores the device-tree property and works > in 4-bit mode of operation without errors. The hardware used for testing does > not support 8-bit mode. > > Check the 'bus-width' property and if set to <1>, enable the > SDHCI_QUIRK_FORCE_1_BIT_DATA quirk. > > Signed-off-by: Leonardo Graboski Veiga <leonardo.veiga@xxxxxxxxxxx> > --- > drivers/mmc/host/sdhci-esdhc-imx.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci- > esdhc-imx.c > index c9fbc4c3..88d7d22 100644 > --- a/drivers/mmc/host/sdhci-esdhc-imx.c > +++ b/drivers/mmc/host/sdhci-esdhc-imx.c > @@ -1003,6 +1003,10 @@ sdhci_esdhc_imx_probe_dt(struct platform_device > *pdev, > host->quirks2 |= SDHCI_QUIRK2_NO_1_8_V; > } > > + if (!of_property_read_u32(np, "bus-width", &boarddata- > >max_bus_width) > + && boarddata->max_bus_width == 1) > + host->quirks |= SDHCI_QUIRK_FORCE_1_BIT_DATA; > + > /* call to generic mmc_of_parse to support additional capabilities */ > ret = mmc_of_parse(host->mmc); > if (ret) > -- > 2.7.4 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the > body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at > http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html