[PATCH] mmc: msm_sdhci: Use max-frequency to get clock rate
Peng Fan
peng.fan at oss.nxp.com
Tue May 5 15:56:40 CEST 2026
On Mon, Apr 13, 2026 at 05:27:44PM +0530, Sumit Garg wrote:
>On Thu, Apr 09, 2026 at 12:36:20PM +0530, Varadarajan Narayanan wrote:
>> msm_sdc_clk_init() uses clock-frequency to get the clock rate for SDC
>> clocks. However, the DT files seem to use max-frequency for the same.
>> Since msm_sdc_clk_init() doesn't find clock-frequency in the DT, it sets
>> 201500000 as the clock rate and this results in timeout errors on IPQ
>> platforms. Hence, try to get max-frequency if clock-frequency is not
>> present.
>>
>> Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan at oss.qualcomm.com>
>> ---
>> drivers/mmc/msm_sdhci.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/mmc/msm_sdhci.c b/drivers/mmc/msm_sdhci.c
>> index 66f3cf2de4f..2e6120f18ff 100644
>> --- a/drivers/mmc/msm_sdhci.c
>> +++ b/drivers/mmc/msm_sdhci.c
>> @@ -71,8 +71,8 @@ static int msm_sdc_clk_init(struct udevice *dev)
>>
>> var_info = (void *)dev_get_driver_data(dev);
>>
>> - ret = ofnode_read_u32(node, "clock-frequency", (uint *)(&clk_rate));
>> - if (ret)
>> + if (ofnode_read_u32(node, "clock-frequency", (uint *)(&clk_rate)) &&
>> + ofnode_read_u32(node, "max-frequency", (uint *)(&clk_rate)))
>> clk_rate = 201500000;
>
>Looks like clock-frequency is just a leftover from legacy DT nodes. Now
>on Qcom platforms, upstream DT is used. So let's just add max-frequency
>check compliant with DT bindings and drop check for clock-frequency.
For Linux Kernel, we usually keep backwards support to avoid breaking
legacy DT. To U-Boot, I am not very sure, but it should be fine
to drop legacy DT.
Regards
Peng
>
>-Sumit
>
>>
>> ret = clk_get_bulk(dev, &prv->clks);
>> --
>> 2.34.1
>>
>
More information about the U-Boot
mailing list