Re: [PATCH v9 04/15] dt-bindings: gpio: pl061: add Ambarella CV75 variant
From: Conor Dooley
Date: Thu Oct 01 2026 - 15:24:09 EST
On Thu, Oct 01, 2026 at 08:40:53PM +0800, Long Zhao via B4 Relay wrote:
> From: Long Zhao <longzhao@xxxxxxxxxxxxx>
>
> 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 <longzhao@xxxxxxxxxxxxx>
> ---
> .../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
>
>
Attachment:
signature.asc
Description: PGP signature