[PATCH v2 15/16] clk: Detect failure to set defaults
Harm Berntsen
harm.berntsen at nedap.com
Wed Aug 18 16:09:34 CEST 2021
On Thu, 2021-05-13 at 19:39 -0600, Simon Glass wrote:
> When the default clocks cannot be set, the clock is silently probed and
> the error is ignored. This is incorrect, since having the clocks at the
> correct speed may be important for operation of the system.
>
> Fix it by checking the return code.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> (no changes since v1)
>
> drivers/clk/clk-uclass.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/clk/clk-uclass.c b/drivers/clk/clk-uclass.c
> index 4ab3c402ed8..2a2e1cfbd61 100644
> --- a/drivers/clk/clk-uclass.c
> +++ b/drivers/clk/clk-uclass.c
> @@ -796,13 +796,17 @@ void devm_clk_put(struct udevice *dev, struct clk
> *clk)
>
> int clk_uclass_post_probe(struct udevice *dev)
> {
> + int ret;
> +
> /*
> * when a clock provider is probed. Call clk_set_defaults()
> * also after the device is probed. This takes care of cases
> * where the DT is used to setup default parents and rates
> * using assigned-clocks
> */
> - clk_set_defaults(dev, 1);
> + ret = clk_set_defaults(dev, 1);
> + if (ret)
> + return log_ret(ret);
>
> return 0;
> }
Note that this patch broke booting my imx8mn based board on U-Boot
v2021.10-rc2. The failure is due to the clock-controller at 30380000
configuration in the imx8mn.dtsi file. I had to remove the following
clocks from the device tree to get my device to boot again (all from
the assigned-clocks of clock-controller at 30380000):
<&clk IMX8MN_CLK_A53_CORE>,
<&clk IMX8MN_CLK_NOC>,
<&clk IMX8MN_CLK_AUDIO_AHB>,
<&clk IMX8MN_CLK_IPG_AUDIO_ROOT>,
<&clk IMX8MN_SYS_PLL3>,
<&clk IMX8MN_AUDIO_PLL1>,
<&clk IMX8MN_AUDIO_PLL2>;
I looked into the clk-imx8mn.c code and I see that we indeed miss
clocks there. Unfortunately I could not port code from the Linux
kernel: we are missing the imx_clk_hw_mux2 function for the
IMX8MN_CLK_A53_CORE clock. I did not look into the other clocks.
-- Harm
More information about the U-Boot
mailing list