aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/sdhci-esdhc-imx.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
index 48832c567f72..968a70f1a420 100644
--- a/drivers/mmc/host/sdhci-esdhc-imx.c
+++ b/drivers/mmc/host/sdhci-esdhc-imx.c
@@ -318,8 +318,15 @@ static void esdhc_writeb_le(struct sdhci_host *host, u8 val, int reg)
318 * circuit relies on. To work around it, we turn the clocks on back 318 * circuit relies on. To work around it, we turn the clocks on back
319 * to keep card detection circuit functional. 319 * to keep card detection circuit functional.
320 */ 320 */
321 if ((reg == SDHCI_SOFTWARE_RESET) && (val & 1)) 321 if ((reg == SDHCI_SOFTWARE_RESET) && (val & 1)) {
322 esdhc_clrset_le(host, 0x7, 0x7, ESDHC_SYSTEM_CONTROL); 322 esdhc_clrset_le(host, 0x7, 0x7, ESDHC_SYSTEM_CONTROL);
323 /*
324 * The reset on usdhc fails to clear MIX_CTRL register.
325 * Do it manually here.
326 */
327 if (is_imx6q_usdhc(imx_data))
328 writel(0, host->ioaddr + ESDHC_MIX_CTRL);
329 }
323} 330}
324 331
325static unsigned int esdhc_pltfm_get_max_clock(struct sdhci_host *host) 332static unsigned int esdhc_pltfm_get_max_clock(struct sdhci_host *host)