diff options
Diffstat (limited to 'drivers/mmc/host/sdhci-esdhc-imx.c')
-rw-r--r-- | drivers/mmc/host/sdhci-esdhc-imx.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c index ae57769ba50d..38ebc4ea259f 100644 --- a/drivers/mmc/host/sdhci-esdhc-imx.c +++ b/drivers/mmc/host/sdhci-esdhc-imx.c | |||
@@ -32,6 +32,7 @@ | |||
32 | /* VENDOR SPEC register */ | 32 | /* VENDOR SPEC register */ |
33 | #define SDHCI_VENDOR_SPEC 0xC0 | 33 | #define SDHCI_VENDOR_SPEC 0xC0 |
34 | #define SDHCI_VENDOR_SPEC_SDIO_QUIRK 0x00000002 | 34 | #define SDHCI_VENDOR_SPEC_SDIO_QUIRK 0x00000002 |
35 | #define SDHCI_WTMK_LVL 0x44 | ||
35 | #define SDHCI_MIX_CTRL 0x48 | 36 | #define SDHCI_MIX_CTRL 0x48 |
36 | 37 | ||
37 | /* | 38 | /* |
@@ -476,6 +477,13 @@ static int __devinit sdhci_esdhc_imx_probe(struct platform_device *pdev) | |||
476 | if (is_imx53_esdhc(imx_data)) | 477 | if (is_imx53_esdhc(imx_data)) |
477 | imx_data->flags |= ESDHC_FLAG_MULTIBLK_NO_INT; | 478 | imx_data->flags |= ESDHC_FLAG_MULTIBLK_NO_INT; |
478 | 479 | ||
480 | /* | ||
481 | * The imx6q ROM code will change the default watermark level setting | ||
482 | * to something insane. Change it back here. | ||
483 | */ | ||
484 | if (is_imx6q_usdhc(imx_data)) | ||
485 | writel(0x08100810, host->ioaddr + SDHCI_WTMK_LVL); | ||
486 | |||
479 | boarddata = &imx_data->boarddata; | 487 | boarddata = &imx_data->boarddata; |
480 | if (sdhci_esdhc_imx_probe_dt(pdev, boarddata) < 0) { | 488 | if (sdhci_esdhc_imx_probe_dt(pdev, boarddata) < 0) { |
481 | if (!host->mmc->parent->platform_data) { | 489 | if (!host->mmc->parent->platform_data) { |
@@ -591,14 +599,11 @@ static struct platform_driver sdhci_esdhc_imx_driver = { | |||
591 | .name = "sdhci-esdhc-imx", | 599 | .name = "sdhci-esdhc-imx", |
592 | .owner = THIS_MODULE, | 600 | .owner = THIS_MODULE, |
593 | .of_match_table = imx_esdhc_dt_ids, | 601 | .of_match_table = imx_esdhc_dt_ids, |
602 | .pm = SDHCI_PLTFM_PMOPS, | ||
594 | }, | 603 | }, |
595 | .id_table = imx_esdhc_devtype, | 604 | .id_table = imx_esdhc_devtype, |
596 | .probe = sdhci_esdhc_imx_probe, | 605 | .probe = sdhci_esdhc_imx_probe, |
597 | .remove = __devexit_p(sdhci_esdhc_imx_remove), | 606 | .remove = __devexit_p(sdhci_esdhc_imx_remove), |
598 | #ifdef CONFIG_PM | ||
599 | .suspend = sdhci_pltfm_suspend, | ||
600 | .resume = sdhci_pltfm_resume, | ||
601 | #endif | ||
602 | }; | 607 | }; |
603 | 608 | ||
604 | static int __init sdhci_esdhc_imx_init(void) | 609 | static int __init sdhci_esdhc_imx_init(void) |