diff options
author | Jerry Huang <Chang-Ming.Huang@freescale.com> | 2012-01-16 01:13:03 -0500 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2012-02-13 20:38:59 -0500 |
commit | 81e499224a7ef02e1889736ebb6b432da1735ab6 (patch) | |
tree | ab93daf08770a47ce137cba476c0012ae241315a /drivers/mmc/host/sdhci-pltfm.c | |
parent | 2c4967f741e87cdd63de7271b97807041dccbf3b (diff) |
mmc: esdhc: add PIO mode support
For some FSL ESDHC controllers (e.g. P2020E, Rev1.0), the SDHC can not
work on DMA mode because of the hardware bug, so we set a broken dma flag
and use PIO mode.
Signed-off-by: Jerry Huang <Chang-Ming.Huang@freescale.com>
Signed-off-by: Gao Guanhua <B22826@freescale.com>
Acked-by: Anton Vorontsov <cbouatmailru@gmail.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers/mmc/host/sdhci-pltfm.c')
-rw-r--r-- | drivers/mmc/host/sdhci-pltfm.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/mmc/host/sdhci-pltfm.c b/drivers/mmc/host/sdhci-pltfm.c index 03970bcb3495..67b9ab075dee 100644 --- a/drivers/mmc/host/sdhci-pltfm.c +++ b/drivers/mmc/host/sdhci-pltfm.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * sdhci-pltfm.c Support for SDHCI platform devices | 2 | * sdhci-pltfm.c Support for SDHCI platform devices |
3 | * Copyright (c) 2009 Intel Corporation | 3 | * Copyright (c) 2009 Intel Corporation |
4 | * | 4 | * |
5 | * Copyright (c) 2007 Freescale Semiconductor, Inc. | 5 | * Copyright (c) 2007, 2011 Freescale Semiconductor, Inc. |
6 | * Copyright (c) 2009 MontaVista Software, Inc. | 6 | * Copyright (c) 2009 MontaVista Software, Inc. |
7 | * | 7 | * |
8 | * Authors: Xiaobo Xie <X.Xie@freescale.com> | 8 | * Authors: Xiaobo Xie <X.Xie@freescale.com> |
@@ -71,6 +71,9 @@ void sdhci_get_of_property(struct platform_device *pdev) | |||
71 | if (sdhci_of_wp_inverted(np)) | 71 | if (sdhci_of_wp_inverted(np)) |
72 | host->quirks |= SDHCI_QUIRK_INVERTED_WRITE_PROTECT; | 72 | host->quirks |= SDHCI_QUIRK_INVERTED_WRITE_PROTECT; |
73 | 73 | ||
74 | if (of_device_is_compatible(np, "fsl,p2020-rev1-esdhc")) | ||
75 | host->quirks |= SDHCI_QUIRK_BROKEN_DMA; | ||
76 | |||
74 | clk = of_get_property(np, "clock-frequency", &size); | 77 | clk = of_get_property(np, "clock-frequency", &size); |
75 | if (clk && size == sizeof(*clk) && *clk) | 78 | if (clk && size == sizeof(*clk) && *clk) |
76 | pltfm_host->clock = be32_to_cpup(clk); | 79 | pltfm_host->clock = be32_to_cpup(clk); |