Hi Biju, On Fri, Mar 18, 2022 at 6:51 PM Biju Das <biju.das.jz@xxxxxxxxxxxxxx> wrote: > PLL5 generates FOUTPOSTDIV clk and is sourced by LCDC/DSI modules. > The FOUTPOSTDIV is connected to PLL5_4 MUX. Video clock is sourced > from DSI divider which is connected to PLL5_4 MUX. > > This patch adds support for generating FOUTPOSTDIV clk. > > Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx> > --- > RFC->V1: > * Removed LUT. > * Replaced magic numbers with macros. Thanks for the update! > --- a/drivers/clk/renesas/rzg2l-cpg.c > +++ b/drivers/clk/renesas/rzg2l-cpg.c > @@ -266,6 +278,131 @@ rzg2l_cpg_sd_mux_clk_register(const struct cpg_core_clk *core, > return clk_hw->clk; > } > > +struct sipll5 { > + struct clk_hw hw; > + u32 conf; > + struct rzg2l_cpg_priv *priv; > +}; > + > +#define to_sipll5(_hw) container_of(_hw, struct sipll5, hw) > + > +static unsigned long rzg2l_cpg_sipll5_recalc_rate(struct clk_hw *hw, > + unsigned long parent_rate) > +{ > + struct sipll5 *sipll5 = to_sipll5(hw); > + struct rzg2l_cpg_priv *priv = sipll5->priv; > + > + return priv->pll5_params.frequency; > +} > + > +static long rzg2l_cpg_sipll5_round_rate(struct clk_hw *hw, > + unsigned long rate, > + unsigned long *parent_rate) > +{ > + struct sipll5 *sipll5 = to_sipll5(hw); > + struct rzg2l_cpg_priv *priv = sipll5->priv; > + > + return priv->pll5_params.frequency; > +} > + > +static int rzg2l_cpg_sipll5_set_rate(struct clk_hw *hw, > + unsigned long rate, > + unsigned long parent_rate) > +{ The above 3 functions all ignore their input rates and parent_rates, as you rely on setting up pll5_params in the DSI divider (patch 3), and the clock core propagating up to all parents (PLL5_4 in patch 2, and FOUTPOSDIV here), right? I think it would help to document that somewhere. The rest LGTM, so Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds