[PATCH 2/4] clk: sophgo: cv1800b: Add clock controller driver for cv1800b SoC
Kongyang Liu
seashell11234455 at gmail.com
Thu May 23 07:38:16 CEST 2024
Yixun Lan <dlan at gentoo.org> 于2024年5月23日周四 07:39写道:
>
> Hi Kongyang:
>
> I've got one compiling error
>
> On 23:07 Sun 19 May , Kongyang Liu wrote:
> > Add clock controller driver for sophgo cv1800b SoC
> >
> > Signed-off-by: Kongyang Liu <seashell11234455 at gmail.com>
> > ---
> >
> > drivers/clk/Kconfig | 1 +
> > drivers/clk/Makefile | 1 +
> > drivers/clk/sophgo/Kconfig | 14 +
> > drivers/clk/sophgo/Makefile | 6 +
> > drivers/clk/sophgo/clk-common.h | 74 +++
> > drivers/clk/sophgo/clk-cv1800b.c | 794 +++++++++++++++++++++++++++++++
> > drivers/clk/sophgo/clk-cv1800b.h | 123 +++++
> > drivers/clk/sophgo/clk-ip.c | 594 +++++++++++++++++++++++
> > drivers/clk/sophgo/clk-ip.h | 288 +++++++++++
> > drivers/clk/sophgo/clk-pll.c | 284 +++++++++++
> > drivers/clk/sophgo/clk-pll.h | 74 +++
> > 11 files changed, 2253 insertions(+)
> > create mode 100644 drivers/clk/sophgo/Kconfig
> > create mode 100644 drivers/clk/sophgo/Makefile
> > create mode 100644 drivers/clk/sophgo/clk-common.h
> > create mode 100644 drivers/clk/sophgo/clk-cv1800b.c
> > create mode 100644 drivers/clk/sophgo/clk-cv1800b.h
> > create mode 100644 drivers/clk/sophgo/clk-ip.c
> > create mode 100644 drivers/clk/sophgo/clk-ip.h
> > create mode 100644 drivers/clk/sophgo/clk-pll.c
> > create mode 100644 drivers/clk/sophgo/clk-pll.h
> >
>
> ...
>
> > +static ulong cv1800b_ipll_set_rate(struct clk *clk, ulong rate)
> > +{
> > + struct cv1800b_clk_ipll *pll = to_clk_ipll(clk);
> > + ulong parent_rate = clk_get_parent_rate(clk);
> > + u32 pre_div, post_div, div;
> > + u32 pre_div_sel, post_div_sel, div_sel;
> > + ulong new_rate, best_rate = 0;
> > + u32 mode, ictrl;
> > + u32 test, val;
> > +
> > + FOR_RANGE(pre_div, PLL_PRE_DIV)
> > + {
> > + FOR_RANGE(post_div, PLL_POST_DIV)
> > + {
> > + FOR_RANGE(div, PLL_DIV)
> > + {
> > + new_rate = DIV_ROUND_DOWN_ULL(parent_rate * div
> ~~~~~~
> miss a comma here
I will fix it.
> > + pre_div * post_div);
> > + if (rate - new_rate < rate - best_rate) {
> > + best_rate = new_rate;
> > + pre_div_sel = pre_div;
> > + post_div_sel = post_div;
> > + div_sel = div;
> > + }
> > + }
> > + }
> > + }
> > +
> > + FOR_RANGE(mode, PLL_MODE)
>
> --
> Yixun Lan (dlan)
> Gentoo Linux Developer
> GPG Key ID AABEFD55
More information about the U-Boot
mailing list