[PATCH] mmc: msm_sdhci: Use max-frequency to get clock rate

Sumit Garg sumit.garg at kernel.org
Mon Apr 13 13:57:44 CEST 2026


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.

-Sumit

>  
>  	ret = clk_get_bulk(dev, &prv->clks);
> -- 
> 2.34.1
> 


More information about the U-Boot mailing list