diff options
Diffstat (limited to 'drivers/mmc/host/sdhci-esdhc-imx.c')
| -rw-r--r-- | drivers/mmc/host/sdhci-esdhc-imx.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c index 2e9cca19c90b..9b82910b9dbb 100644 --- a/drivers/mmc/host/sdhci-esdhc-imx.c +++ b/drivers/mmc/host/sdhci-esdhc-imx.c | |||
| @@ -17,6 +17,7 @@ | |||
| 17 | #include <linux/clk.h> | 17 | #include <linux/clk.h> |
| 18 | #include <linux/mmc/host.h> | 18 | #include <linux/mmc/host.h> |
| 19 | #include <linux/mmc/sdhci-pltfm.h> | 19 | #include <linux/mmc/sdhci-pltfm.h> |
| 20 | #include <mach/hardware.h> | ||
| 20 | #include "sdhci.h" | 21 | #include "sdhci.h" |
| 21 | #include "sdhci-pltfm.h" | 22 | #include "sdhci-pltfm.h" |
| 22 | #include "sdhci-esdhc.h" | 23 | #include "sdhci-esdhc.h" |
| @@ -112,6 +113,13 @@ static int esdhc_pltfm_init(struct sdhci_host *host, struct sdhci_pltfm_data *pd | |||
| 112 | clk_enable(clk); | 113 | clk_enable(clk); |
| 113 | pltfm_host->clk = clk; | 114 | pltfm_host->clk = clk; |
| 114 | 115 | ||
| 116 | if (cpu_is_mx35() || cpu_is_mx51()) | ||
| 117 | host->quirks |= SDHCI_QUIRK_BROKEN_TIMEOUT_VAL; | ||
| 118 | |||
| 119 | /* Fix errata ENGcm07207 which is present on i.MX25 and i.MX35 */ | ||
| 120 | if (cpu_is_mx25() || cpu_is_mx35()) | ||
| 121 | host->quirks |= SDHCI_QUIRK_NO_MULTIBLOCK; | ||
| 122 | |||
| 115 | return 0; | 123 | return 0; |
| 116 | } | 124 | } |
| 117 | 125 | ||
| @@ -133,10 +141,8 @@ static struct sdhci_ops sdhci_esdhc_ops = { | |||
| 133 | }; | 141 | }; |
| 134 | 142 | ||
| 135 | struct sdhci_pltfm_data sdhci_esdhc_imx_pdata = { | 143 | struct sdhci_pltfm_data sdhci_esdhc_imx_pdata = { |
| 136 | .quirks = ESDHC_DEFAULT_QUIRKS | SDHCI_QUIRK_NO_MULTIBLOCK | 144 | .quirks = ESDHC_DEFAULT_QUIRKS | SDHCI_QUIRK_BROKEN_ADMA, |
| 137 | | SDHCI_QUIRK_BROKEN_ADMA, | ||
| 138 | /* ADMA has issues. Might be fixable */ | 145 | /* ADMA has issues. Might be fixable */ |
| 139 | /* NO_MULTIBLOCK might be MX35 only (Errata: ENGcm07207) */ | ||
| 140 | .ops = &sdhci_esdhc_ops, | 146 | .ops = &sdhci_esdhc_ops, |
| 141 | .init = esdhc_pltfm_init, | 147 | .init = esdhc_pltfm_init, |
| 142 | .exit = esdhc_pltfm_exit, | 148 | .exit = esdhc_pltfm_exit, |
