On Thu, Oct 01, 2026 at 08:40:53PM +0800, Long Zhao via B4 Relay wrote: > From: Long Zhao > > The CV75 GPIO banks sit on the AMBA PrimeCell bus but are not > register-compatible with the ARM PL061. Each bank is 32-bit and 32 > lines, with extra mask/enable registers, so arm,pl061 must not be used > as a fallback compatible. What has this got in common with the pl061 beyond using the PrimeCell bus? Current reason for putting them together is a bit tenuous to me. Cheers, Conor. > > The AMBA core matches the PL061 driver by PrimeCell ID, not by the DT > compatible string. These blocks do not implement the standard PL061 ID > (0x00041061) in the ID registers, so arm,primecell-periphid is required > and is fixed to 0x000e8061; the driver uses that ID to select the > Ambarella layout. gpio-ranges is required because each bank is a slice > of the SoC pinctrl pin space. > > Signed-off-by: Long Zhao > --- > .../devicetree/bindings/gpio/pl061-gpio.yaml | 25 +++++++++++++++++++--- > 1 file changed, 22 insertions(+), 3 deletions(-) > > diff --git a/Documentation/devicetree/bindings/gpio/pl061-gpio.yaml b/Documentation/devicetree/bindings/gpio/pl061-gpio.yaml > index 4d970e55104b..c22dd8a1d2c1 100644 > --- a/Documentation/devicetree/bindings/gpio/pl061-gpio.yaml > +++ b/Documentation/devicetree/bindings/gpio/pl061-gpio.yaml > @@ -15,7 +15,9 @@ select: > properties: > compatible: > contains: > - const: arm,pl061 > + enum: > + - arm,pl061 > + - ambarella,cv75-gpio > required: > - compatible > > @@ -25,7 +27,9 @@ properties: > > compatible: > items: > - - const: arm,pl061 > + - enum: > + - ambarella,cv75-gpio > + - arm,pl061 > - const: arm,primecell > > reg: > @@ -64,6 +68,21 @@ required: > - "#gpio-cells" > - gpio-controller > > -additionalProperties: false > +allOf: > + - $ref: /schemas/arm/primecell.yaml# > + - if: > + properties: > + compatible: > + contains: > + const: ambarella,cv75-gpio > + then: > + properties: > + arm,primecell-periphid: > + const: 0x000e8061 > + required: > + - arm,primecell-periphid > + - gpio-ranges > + > +unevaluatedProperties: false > > ... > > -- > 2.34.1 > >