
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 patrick.delaunay@foss.st.com
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;
break; case _DSI_PHY:clock = stm32mp1_clk_get_by_name("ck_usbo_48m");
- {
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);
}
}
break;clock = stm32mp1_clk_get_by_name("ck_dsi_phy");
- } default: break; }
Reviewed-by: Patrice Chotard patrice.chotard@foss.st.com
Thanks Patrice