Hi Patrick On 4/26/22 14:37, Patrick Delaunay wrote: > Handle the input clock of RCC USB_PHY_48, provided by USBPHYC > and named "ck_usbo_48m". > > Signed-off-by: Patrick Delaunay <[email protected]> > --- > > drivers/clk/clk_stm32mp1.c | 35 ++++++++++++++++++++--------------- > 1 file changed, 20 insertions(+), 15 deletions(-) > > diff --git a/drivers/clk/clk_stm32mp1.c b/drivers/clk/clk_stm32mp1.c > index 83ab6b728e..a02921c43a 100644 > --- a/drivers/clk/clk_stm32mp1.c > +++ b/drivers/clk/clk_stm32mp1.c > @@ -962,6 +962,24 @@ static ulong stm32mp1_read_pll_freq(struct > stm32mp1_clk_priv *priv, > return dfout; > } > > +static ulong stm32mp1_clk_get_by_name(const char *name) > +{ > + struct clk clk; > + struct udevice *dev = NULL; > + ulong clock = 0; > + > + if (!uclass_get_device_by_name(UCLASS_CLK, name, &dev)) { > + if (clk_request(dev, &clk)) { > + log_err("%s request", name); > + } else { > + clk.id = 0; > + clock = clk_get_rate(&clk); > + } > + } > + > + return clock; > +} > + > static ulong stm32mp1_clk_get(struct stm32mp1_clk_priv *priv, int p) > { > u32 reg; > @@ -1127,24 +1145,11 @@ static ulong stm32mp1_clk_get(struct > stm32mp1_clk_priv *priv, int p) > break; > /* other */ > case _USB_PHY_48: > - clock = 48000000; > + clock = stm32mp1_clk_get_by_name("ck_usbo_48m"); > break; > case _DSI_PHY: > - { > - struct clk clk; > - struct udevice *dev = NULL; > - > - if (!uclass_get_device_by_name(UCLASS_CLK, "ck_dsi_phy", > - &dev)) { > - if (clk_request(dev, &clk)) { > - log_err("ck_dsi_phy request"); > - } else { > - clk.id = 0; > - clock = clk_get_rate(&clk); > - } > - } > + clock = stm32mp1_clk_get_by_name("ck_dsi_phy"); > break; > - } > default: > break; > } Reviewed-by: Patrice Chotard <[email protected]>
Thanks Patrice

