From 9cd69b8f61edc246563741cd11d01fa911cd7e91 Mon Sep 17 00:00:00 2001 From: Phil Elwell 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 --- 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 */