mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-03 10:16:40 +03:00
Revert "mmc: mmc-uclass: Use max-frequency from device tree with default handling"
This reverts commit aebb523a23.
The change to use dev_read_u32_default() with a default value of 0
causes regression for host controller drivers that hardcode f_max
before calling mmc_of_parse().
When the "max-frequency" property is not specified in the device tree,
dev_read_u32_default() returns 0, which overwrites the previously
configured f_max value set by the driver. This effectively resets
the maximum frequency to 0, breaking MMC functionality for those
controllers.
Revert to the original dev_read_u32() behavior which only updates
cfg->f_max when the "max-frequency" property is explicitly present
in the device tree, preserving driver-configured values otherwise.
Signed-off-by: Tanmay Kathpalia <tanmay.kathpalia@altera.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
This commit is contained in:
committed by
Peng Fan
parent
3f208e1a99
commit
c4f5b1d4b0
@@ -243,13 +243,8 @@ int mmc_of_parse(struct udevice *dev, struct mmc_config *cfg)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/*
|
||||
* 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);
|
||||
/* f_max is obtained from the optional "max-frequency" property */
|
||||
dev_read_u32(dev, "max-frequency", &cfg->f_max);
|
||||
|
||||
if (dev_read_bool(dev, "cap-sd-highspeed"))
|
||||
cfg->host_caps |= MMC_CAP(SD_HS);
|
||||
|
||||
Reference in New Issue
Block a user