Re: [PATCH v4 1/7] dt-bindings: clock: Add StarFive JH7110 PLL clock generator

From: Conor Dooley
Date: Tue May 23 2023 - 04:33:45 EST


On Tue, May 23, 2023 at 10:56:43AM +0800, Xingyu Wu wrote:
> On 2023/5/19 22:16, Conor Dooley wrote:
> > On Fri, May 19, 2023 at 03:57:33PM +0200, Torsten Duwe wrote:
> >> On Fri, May 12, 2023 at 10:20:30AM +0800, Xingyu Wu wrote:
> >> [...]
> >> > #ifndef __DT_BINDINGS_CLOCK_STARFIVE_JH7110_CRG_H__
> >> > #define __DT_BINDINGS_CLOCK_STARFIVE_JH7110_CRG_H__
> >> >
> >> > +/* PLL clocks */
> >> > +#define JH7110_CLK_PLL0_OUT 0
> >> > +#define JH7110_CLK_PLL1_OUT 1
> >> > +#define JH7110_CLK_PLL2_OUT 2
> >>
> >> In U-Boot commit 58c9c60b Yanhong Wang added:
> >>
> >> +
> >> +#define JH7110_SYSCLK_PLL0_OUT 190
> >> +#define JH7110_SYSCLK_PLL1_OUT 191
> >> +#define JH7110_SYSCLK_PLL2_OUT 192
> >> +
> >> +#define JH7110_SYSCLK_END 193
> >>
> >> in that respective file.
> >>
> >> > +#define JH7110_PLLCLK_END 3
> >> > +
> >> > /* SYSCRG clocks */
> >> > #define JH7110_SYSCLK_CPU_ROOT 0
> >>
> >> If the symbolic names referred to the same items, would it be possible
> >> to keep the two files in sync somehow?
> >
> > Ohh, that's not good.. If you pass the U-Boot dtb to Linux it won't
> > understand the numbering. The headers are part of the dt-binding :/
>
> Because PLL driver is separated from SYSCRG drivers in Linux, the numbering
> starts from 0. But in Uboot, the PLL driver is included in the SYSCRG driver,
> and the number follows the SYSCRG.

Unfortunately, how you choose to construct your drivers has nothing to
do with this.
These defines/numbers appear in the dts and are part of the DT ABI.
The same dts is supposed to work for Linux & U-Boot.

Attachment: signature.asc
Description: PGP signature