aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.14/950-0167-mmc-bcm2835-mmc-Support-underclocking.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-4.14/950-0167-mmc-bcm2835-mmc-Support-underclocking.patch')
-rw-r--r--target/linux/brcm2708/patches-4.14/950-0167-mmc-bcm2835-mmc-Support-underclocking.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.14/950-0167-mmc-bcm2835-mmc-Support-underclocking.patch b/target/linux/brcm2708/patches-4.14/950-0167-mmc-bcm2835-mmc-Support-underclocking.patch
new file mode 100644
index 0000000000..c0b18c7f47
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.14/950-0167-mmc-bcm2835-mmc-Support-underclocking.patch
@@ -0,0 +1,31 @@
+From 9cd69b8f61edc246563741cd11d01fa911cd7e91 Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Mon, 22 Jan 2018 12:22:01 +0000
+Subject: [PATCH 167/454] mmc: bcm2835-mmc: Support underclocking
+
+Support underclocking of the SD bus using the max-frequency DT property
+(which currently has no DT parameter). The sd_overclock parameter
+already provides another way to achieve the same thing which should be
+equivalent in end result, but it is a bug not to support max-frequency
+as well.
+
+See: https://github.com/raspberrypi/linux/issues/2350
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ drivers/mmc/host/bcm2835-mmc.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/mmc/host/bcm2835-mmc.c
++++ b/drivers/mmc/host/bcm2835-mmc.c
+@@ -1310,8 +1310,8 @@ static int bcm2835_mmc_add_host(struct b
+
+ host->clk_mul = 0;
+
+- mmc->f_max = host->max_clk;
+- mmc->f_max = host->max_clk;
++ if (!mmc->f_max || mmc->f_max > host->max_clk)
++ mmc->f_max = host->max_clk;
+ mmc->f_min = host->max_clk / SDHCI_MAX_DIV_SPEC_300;
+
+ /* SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK */