[PATCH v1] mmc: mmc-uclass: Use max-frequency from device tree with driver default fallback

Tanmay Kathpalia tanmay.kathpalia at altera.com
Fri Jan 16 13:50:31 CET 2026


Use dev_read_u32_default() instead of dev_read_u32() to read the
"max-frequency" property from device tree. This preserves the driver-set
cfg->f_max value when the optional "max-frequency" property is not
present, ensuring the controller's default frequency is used as fallback
rather than being overwritten.

Suggested-by: Marek Vasut <marek.vasut+renesas at mailbox.org>
Signed-off-by: Tanmay Kathpalia <tanmay.kathpalia at altera.com>
---
 drivers/mmc/mmc-uclass.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/mmc/mmc-uclass.c b/drivers/mmc/mmc-uclass.c
index 2f4dc5bd887..698530088fe 100644
--- a/drivers/mmc/mmc-uclass.c
+++ b/drivers/mmc/mmc-uclass.c
@@ -243,8 +243,12 @@ 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" DT property.
+	 * Use dev_read_u32_default() to preserve the driver-set f_max value when
+	 * "max-frequency" is not present, ensuring the controller's default is used.
+	 */
+	cfg->f_max = dev_read_u32_default(dev, "max-frequency", cfg->f_max);
 
 	if (dev_read_bool(dev, "cap-sd-highspeed"))
 		cfg->host_caps |= MMC_CAP(SD_HS);
-- 
2.19.0



More information about the U-Boot mailing list