From aef49698ab059d0e47cf9c80e1e1db9e846d57a9 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 12 Nov 2025 08:51:20 +0000 Subject: [PATCH] mmc: bcm2835-mmc: Relax the 50MHz overclock check EMMC clock speeds are based around divisions of 52Mhz, not the 50MHz used by SD. As such, relax the "full speed" check (intended to stop any overclock whenever an operation has to be retried) so that any requested speed of 50MHz or higher will be overclocked. See: https://github.com/raspberrypi/linux/issues/7120 Signed-off-by: Phil Elwell --- drivers/mmc/host/bcm2835-mmc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mmc/host/bcm2835-mmc.c b/drivers/mmc/host/bcm2835-mmc.c index fec210b33231..c0d25994b166 100644 --- a/drivers/mmc/host/bcm2835-mmc.c +++ b/drivers/mmc/host/bcm2835-mmc.c @@ -1068,7 +1068,7 @@ static void bcm2835_mmc_set_clock(struct bcm2835_host *host, unsigned int clock) unsigned long timeout; unsigned int input_clock = clock; - if (host->overclock_50 && (clock == 50000000)) + if (host->overclock_50 && (clock >= 50000000)) clock = host->overclock_50 * 1000000 + 999999; host->mmc->actual_clock = 0;