[PATCH v2 2/9] mmc: mmc-uclass: Use max-frequency from device tree with default handling

Tanmay Kathpalia tanmay.kathpalia at altera.com
Wed Dec 3 13:21:32 CET 2025


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 <tanmay.kathpalia at altera.com>
---
 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);
-- 
2.43.7



More information about the U-Boot mailing list