aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host
diff options
context:
space:
mode:
authorJerry Huang <Chang-Ming.Huang@freescale.com>2012-01-16 01:13:03 -0500
committerChris Ball <cjb@laptop.org>2012-02-13 20:38:59 -0500
commit81e499224a7ef02e1889736ebb6b432da1735ab6 (patch)
treeab93daf08770a47ce137cba476c0012ae241315a /drivers/mmc/host
parent2c4967f741e87cdd63de7271b97807041dccbf3b (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')
-rw-r--r--drivers/mmc/host/sdhci-pltfm.c5
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);