aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-3.10/0014-sdhci-bcm2708-add-allow_highspeed-parameter.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-3.10/0014-sdhci-bcm2708-add-allow_highspeed-parameter.patch')
-rw-r--r--target/linux/brcm2708/patches-3.10/0014-sdhci-bcm2708-add-allow_highspeed-parameter.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-3.10/0014-sdhci-bcm2708-add-allow_highspeed-parameter.patch b/target/linux/brcm2708/patches-3.10/0014-sdhci-bcm2708-add-allow_highspeed-parameter.patch
new file mode 100644
index 0000000000..b566ad9b46
--- /dev/null
+++ b/target/linux/brcm2708/patches-3.10/0014-sdhci-bcm2708-add-allow_highspeed-parameter.patch
@@ -0,0 +1,45 @@
+From f779191cd42376e2b1f555be1b2c486dd99b2fef Mon Sep 17 00:00:00 2001
+From: Grigori Goronzy <greg@blackbox>
+Date: Mon, 11 Jun 2012 18:57:13 +0200
+Subject: [PATCH 014/174] sdhci-bcm2708: add allow_highspeed parameter
+
+Add a parameter to disable high-speed mode for the few cards that
+still might have problems. High-speed mode is enabled by default.
+---
+ drivers/mmc/host/sdhci-bcm2708.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+--- a/drivers/mmc/host/sdhci-bcm2708.c
++++ b/drivers/mmc/host/sdhci-bcm2708.c
+@@ -129,6 +129,8 @@ static inline unsigned long int since_ns
+ return (unsigned long)((hptime() - t) * HPTIME_CLK_NS);
+ }
+
++static bool allow_highspeed = 1;
++
+ #if 0
+ static void hptime_test(void)
+ {
+@@ -1254,7 +1256,8 @@ static int sdhci_bcm2708_probe(struct pl
+ host_priv->dma_chan, host_priv->dma_chan_base,
+ host_priv->dma_irq);
+
+- host->mmc->caps |= MMC_CAP_SD_HIGHSPEED | MMC_CAP_MMC_HIGHSPEED;
++ if (allow_highspeed)
++ host->mmc->caps |= MMC_CAP_SD_HIGHSPEED | MMC_CAP_MMC_HIGHSPEED;
+ #endif
+
+ ret = sdhci_add_host(host);
+@@ -1357,8 +1360,12 @@ static void __exit sdhci_drv_exit(void)
+ module_init(sdhci_drv_init);
+ module_exit(sdhci_drv_exit);
+
++module_param(allow_highspeed, bool, 0444);
++
+ MODULE_DESCRIPTION("Secure Digital Host Controller Interface platform driver");
+ MODULE_AUTHOR("Broadcom <info@broadcom.com>");
+ MODULE_LICENSE("GPL v2");
+ MODULE_ALIAS("platform:"DRIVER_NAME);
+
++MODULE_PARM_DESC(allow_highspeed, "Allow high speed transfers modes");
++