imx6: apply upstream mmc fix for DDR50 cards on UHS-I capable boards
[openwrt/openwrt.git] / target / linux / imx6 / patches-4.9 / 0003-mmc-sdhci-esdhc-imx-increase-the-pad-I-O-drive-stren.patch
1 From 9f327845358d3dd0d8a5a7a5436b0aa5c432e757 Mon Sep 17 00:00:00 2001
2 From: Haibo Chen <haibo.chen@nxp.com>
3 Date: Wed, 19 Apr 2017 10:53:51 +0800
4 Subject: [PATCH] mmc: sdhci-esdhc-imx: increase the pad I/O drive strength for
5 DDR50 card
6
7 Currently for DDR50 card, it need tuning in default. We meet tuning fail
8 issue for DDR50 card and some data CRC error when DDR50 sd card works.
9
10 This is because the default pad I/O drive strength can't make sure DDR50
11 card work stable. So increase the pad I/O drive strength for DDR50 card,
12 and use pins_100mhz.
13
14 This fixes DDR50 card support for IMX since DDR50 tuning was enabled from
15 commit 9faac7b95ea4 ("mmc: sdhci: enable tuning for DDR50")
16
17 Tested-and-reported-by: Tim Harvey <tharvey@gateworks.com>
18 Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
19 Cc: stable@vger.kernel.org # v4.4+
20 Acked-by: Dong Aisheng <aisheng.dong@nxp.com>
21 Acked-by: Adrian Hunter <adrian.hunter@intel.com>
22 Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
23 Signed-off-by: Tim Harvey <tharvey@gateworks.com>
24 ---
25 drivers/mmc/host/sdhci-esdhc-imx.c | 1 +
26 1 file changed, 1 insertion(+)
27
28 diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
29 index 7123ef9..445fc47 100644
30 --- a/drivers/mmc/host/sdhci-esdhc-imx.c
31 +++ b/drivers/mmc/host/sdhci-esdhc-imx.c
32 @@ -830,6 +830,7 @@ static int esdhc_change_pinstate(struct sdhci_host *host,
33
34 switch (uhs) {
35 case MMC_TIMING_UHS_SDR50:
36 + case MMC_TIMING_UHS_DDR50:
37 pinctrl = imx_data->pins_100mhz;
38 break;
39 case MMC_TIMING_UHS_SDR104:
40 --
41 2.7.4
42