From aebb523a23818a8ee4199c9532b51e3d4020696f Mon Sep 17 00:00:00 2001 From: Tanmay Kathpalia Date: Wed, 3 Dec 2025 04:21:32 -0800 Subject: [PATCH] mmc: mmc-uclass: Use max-frequency from device tree with default handling When the max-frequency property is not specified in the device tree, the function now explicitly defaults to 0 instead of leaving cfg->f_max uninitialized. This allows sdhci_setup_cfg() to properly detect the absence of a device tree specified frequency and fall back to using the host controller's maximum base clock frequency from the capabilities register. Signed-off-by: Tanmay Kathpalia Reviewed-by: Peng Fan Signed-off-by: Peng Fan --- drivers/mmc/mmc-uclass.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/mmc/mmc-uclass.c b/drivers/mmc/mmc-uclass.c index 2f4dc5bd887..bf0bea93853 100644 --- a/drivers/mmc/mmc-uclass.c +++ b/drivers/mmc/mmc-uclass.c @@ -243,8 +243,13 @@ int mmc_of_parse(struct udevice *dev, struct mmc_config *cfg) return -EINVAL; } - /* f_max is obtained from the optional "max-frequency" property */ - dev_read_u32(dev, "max-frequency", &cfg->f_max); + /* + * Maximum frequency is obtained from the optional "max-frequency" property. + * If not specified in device tree, defaults to 0 and sdhci_setup_cfg() + * will set the MMC configuration maximum frequency to the host controller's + * maximum base clock frequency from capabilities register. + */ + cfg->f_max = dev_read_u32_default(dev, "max-frequency", 0); if (dev_read_bool(dev, "cap-sd-highspeed")) cfg->host_caps |= MMC_CAP(SD_HS);