[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1444094562-31165-3-git-send-email-mw@semihalf.com>
Date: Tue, 6 Oct 2015 03:22:36 +0200
From: Marcin Wojtas <mw@...ihalf.com>
To: linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-mmc@...r.kernel.org
Cc: ulf.hansson@...aro.org, sebastian.hesselbarth@...il.com,
andrew@...n.ch, jason@...edaemon.net,
thomas.petazzoni@...e-electrons.com,
gregory.clement@...e-electrons.com, nadavh@...vell.com,
alior@...vell.com, tawfik@...vell.com, mw@...ihalf.com,
jaz@...ihalf.com, <stable@...r.kernel.org>
Subject: [PATCH 2/8] mmc: sdhci-pxav3: disable clock inversion for HS MMC cards
From: Nadav Haklai <nadavh@...vell.com>
According to 'FE-2946959' erratum the clock inversion option is
needed to support slow frequencies when the card input hold time
requirement is high. This setting is not required for high speed
MMC and might cause timing violation.
Signed-off-by: Nadav Haklai <nadavh@...vell.com>
Cc: <stable@...r.kernel.org> # v4.2
---
drivers/mmc/host/sdhci-pxav3.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/mmc/host/sdhci-pxav3.c b/drivers/mmc/host/sdhci-pxav3.c
index 976cddd..89a9e49 100644
--- a/drivers/mmc/host/sdhci-pxav3.c
+++ b/drivers/mmc/host/sdhci-pxav3.c
@@ -291,6 +291,9 @@ static void pxav3_set_uhs_signaling(struct sdhci_host *host, unsigned int uhs)
uhs == MMC_TIMING_UHS_DDR50) {
reg_val &= ~SDIO3_CONF_CLK_INV;
reg_val |= SDIO3_CONF_SD_FB_CLK;
+ } else if (uhs == MMC_TIMING_MMC_HS) {
+ reg_val &= ~SDIO3_CONF_CLK_INV;
+ reg_val &= ~SDIO3_CONF_SD_FB_CLK;
} else {
reg_val |= SDIO3_CONF_CLK_INV;
reg_val &= ~SDIO3_CONF_SD_FB_CLK;
--
1.8.3.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists