On Tuesday, August 8, 2023 9:49:49 AM CEST Conor Dooley wrote: > On Mon, Aug 07, 2023 at 05:42:37PM +0200, Duje Mihanović wrote: > > diff --git a/include/dt-bindings/clock/marvell,pxa1908.h > > b/include/dt-bindings/clock/marvell,pxa1908.h new file mode 100644 > > index 000000000000..0c1f328bf534 > > --- /dev/null > > +++ b/include/dt-bindings/clock/marvell,pxa1908.h > > +#define PXA1908_CLK_PLL4VCODIV3 38 > > +#define PXA1908_MPMU_NR_CLKS 38 > > > > +#define PXA1908_CLK_TWSI3 18 > > +#define PXA1908_APBC_NR_CLKS 50 > > > > +#define PXA1908_CLK_AICER 3 > > +#define PXA1908_APBCP_NR_CLKS 50 > > > > +#define PXA1908_CLK_DVC_DFC_DEBUG 16 > > +#define PXA1908_APMU_NR_CLKS 50 > > How are these "NR_CLKS" things helpful to the binding? They are used by the clock driver when calling mmp_clk_init which then uses that as the size of a struct clk array it allocates. In retrospect, 50 for each block may be too much as from what I can tell by reading the mmp_register_* functions (number of clocks + 1) for each block should be enough, anything less than that causes a null pointer dereference sometime during clock initialization. Regards, Duje