[PATCH v4 3/8] dt-bindings: clock: Add Marvell PXA1908 clock bindings

Duje Mihanović duje.mihanovic at skole.hr
Tue Aug 8 03:41:22 PDT 2023


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






More information about the linux-arm-kernel mailing list