Re: [Patch 1/3] ARM: dts: am43xx: add support for clkout1 clock

From: Tony Lindgren
Date: Wed Oct 23 2019 - 11:57:04 EST


* Tony Lindgren <tony@xxxxxxxxxxx> [191022 16:56]:
> * Tero Kristo <t-kristo@xxxxxx> [191022 16:48]:
> > On 22/10/2019 19:21, Benoit Parrot wrote:
> > > Tony Lindgren <tony@xxxxxxxxxxx> wrote on Tue [2019-Oct-22 08:48:16 -0700]:
> > > > * Benoit Parrot <bparrot@xxxxxx> [191016 18:47]:
> > > > > --- a/arch/arm/boot/dts/am43xx-clocks.dtsi
> > > > > +++ b/arch/arm/boot/dts/am43xx-clocks.dtsi
> > > > > @@ -704,6 +704,60 @@
> > > > > ti,bit-shift = <8>;
> > > > > reg = <0x2a48>;
> > > > > };
> > > > > +
> > > > > + clkout1_osc_div_ck: clkout1_osc_div_ck {
> > > > > + #clock-cells = <0>;
> > > > > + compatible = "ti,divider-clock";
> > > > > + clocks = <&sys_clkin_ck>;
> > > > > + ti,bit-shift = <20>;
> > > > > + ti,max-div = <4>;
> > > > > + reg = <0x4100>;
> > > > > + };
> > > >
> > > > Here too please describe why the clock names are not generic.
> > >
> > > Tero originally had this patch in the kernel so this is somewhat of a
> > > revert. Since these "clock" were removed. If the name syntax is no longer
> > > valid for some reason, then I will need a little more informations to
> > > proceed.
> > >
> > > Tero, can you assist here?
> >
> > This one is just following the naming convention of the rest of the clocks
> > atm.
> >
> > If we need to fix all the underscore name clocks, that requires pretty much
> > complete revamp of both the dts data + clock data under the clock driver,
> > and it is not backwards compatible either. How should we tackle that one?
> >
> > We could maybe add support code in kernel to do s/-/_/g for the "new" clocks
> > so that their parent-child relationships would be retained, and then convert
> > the clocks in phases.
>
> Well some of them can be fixed by configuring things based
> on the compatible value and then the node name can be just
> clock like it should be.
>
> Here too one option would be to add custom compatibles like:
>
> compatible = "ti,clkout1-osc-div", "ti,divider-clock";
>
> And then have match data configure the rest.
>
> The other option would be to have lookup tables in the clock
> driver based on the SoC and reg address.
>
> This is a hidden mine though.. We've hit it already several times,
> and any dts clean-up effort has a chance of breaking things.

Hmm maybe in this case just doing this is enough:

clkout1_osc_div_ck: clock@4100 {
...
}

Or do all the TI clocks we have have a dependency to the
node naming?

Regards,

Tony