[PATCH 3/6] clk: Add clock driver for sun50i-a64
Jules Maselbas
jmaselbas at zdiv.net
Tue Nov 12 07:58:49 PST 2024
resent, as i forgot barebox ml in CC
On Fri Nov 8, 2024 at 1:59 PM CET, Sascha Hauer wrote:
> On Fri, Nov 08, 2024 at 12:08:45PM +0100, Jules Maselbas wrote:
> > Hi Sascha,
> >
> > On Fri Nov 8, 2024 at 11:39 AM CET, Sascha Hauer wrote:
> > > Hi Jules,
> > >
> > > On Thu, Nov 07, 2024 at 03:57:19PM +0100, Jules Maselbas wrote:
> > > > Clock driver adapted from Linux.
> > > > The pll-cpux is set to 816MHz and pll-periph0-2x is set to 1.2GHz.
> > >
> > > From which driver did you adapt this from? I tried copying
> > > drivers/clk/sunxi-ng/ccu-sun50i-a64.c from Linux over your driver and it
> > > looks quite different.
> > Yes this is adapted from drivers/clk/sunxi-ng/ccu-sun50i-a64.c, but it is very
> > different. This is a very stripped down version. I wanted to avoid having to
> > porting all the clock/gate/div code for sunxi and use as much as possible the
> > one available in barebox.
> >
> > > Would it be possible to get closer to the Linux driver? This would pay
> > > off once we want to do an update from Linux.
> > Humm...
> > I could try to get it closer, i would like to not having to copy all the ccu*
> > drivers, but maybe i could define barebox version of SUNXI_CCU_* macros
>
> In my experience Linux clk drivers fit quite nicely into barebox when
> just blindly throwing the code into it. I haven't got any experience
> with the allwinner clk code though, so your mileage may vary.
Allwinner clk driver doesn't uses any common clk such as generic div/mux/gate,
but redefines a lot of different small clk driver.
I tried to port the Allwinner clk into barebox, but it requires some changes:
- get_parent function signatures doesn't match barebox's callback signatures
- include <linux/delay.h> is missing and should include clock.h
- clk drivers uses `struct notifier_block` which isn't supported
- clk drivers uses get_rate_range which isn't supported either
> Putting the (mostly) unmodified versions into barebox has the advantage
> that updating from Linux is easy and adding new SoC support is easy as
> well.
>
> That said, it's fine to have heavily modified ckl driver versions in
> barebox and we can try that if you like. We can always revisit this
> decision should we have to.
I think that right now i don't have the energy to look further into porting
the Linux sunxi clock code to barebox.
I am fine with keeping this modified clk driver.
However, i would like for the V2 to put some functions into a common file
so they can be shared with other sunxi SoC.
Jules
More information about the barebox
mailing list