[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7ec16938-53fa-24dc-8443-ed6428697558@linaro.org>
Date: Sun, 17 Sep 2023 09:52:31 +0200
From: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
To: "Peng Fan (OSS)" <peng.fan@....nxp.com>,
Linus Walleij <linus.walleij@...aro.org>,
Bartosz Golaszewski <brgl@...ev.pl>,
Andy Shevchenko <andy@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>,
Stefan Agner <stefan@...er.ch>,
Shawn Guo <shawnguo@...nel.org>,
Sascha Hauer <s.hauer@...gutronix.de>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Fabio Estevam <festevam@...il.com>,
NXP Linux Team <linux-imx@....com>
Cc: linux-gpio@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
Peng Fan <peng.fan@....com>
Subject: Re: [PATCH v2 2/6] dt-bindings: gpio: vf610: correct i.MX8ULP and
i.MX93
On 16/09/2023 04:03, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@....com>
>
> i.MX8ULP and i.MX93 actually has two interrupts for each gpio
> controller, one for Trustzone non-secure world, one for secure world.
>
> And they has one register based, not two as i.MX7ULP or VF610.
>
> Although the Linux Kernel driver gpio-vf610.c could work with
> fsl,imx7ulp-gpio compatible, it is based on some tricks did in
> device tree with some offset added to base address.
>
> So actually i.MX8ULP/i.MX93 is not compatible with i.MX7ULP.
>
> Last, i.MX93 is directly derived from i.MX8ULP, so make i.MX93 GPIO
> compatible with i.MX8ULP
>
> Signed-off-by: Peng Fan <peng.fan@....com>
> ---
> .../devicetree/bindings/gpio/gpio-vf610.yaml | 41 +++++++++++++++++++---
> 1 file changed, 37 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/gpio/gpio-vf610.yaml b/Documentation/devicetree/bindings/gpio/gpio-vf610.yaml
> index 59427d97adf5..8c1f87a1a393 100644
> --- a/Documentation/devicetree/bindings/gpio/gpio-vf610.yaml
> +++ b/Documentation/devicetree/bindings/gpio/gpio-vf610.yaml
> @@ -20,6 +20,7 @@ description: |
> properties:
> compatible:
> oneOf:
> + - const: fsl,imx8ulp-gpio
> - const: fsl,vf610-gpio
> - items:
> - const: fsl,imx7ulp-gpio
> @@ -27,16 +28,21 @@ properties:
> - items:
> - enum:
> - fsl,imx93-gpio
> - - fsl,imx8ulp-gpio
> - - const: fsl,imx7ulp-gpio
> + - const: fsl,imx8ulp-gpio
>
> reg:
> description: The first reg tuple represents the PORT module, the second tuple
> represents the GPIO module.
> - maxItems: 2
> + items:
> + - description: PORT register base address
> + - description: GPIO register base address
> + minItems: 1
>
> interrupts:
> - maxItems: 1
> + items:
> + - description: GPIO Trustzone non-secure interrupt number
> + - description: GPIO Trustzone secure interrupt number
> + minItems: 1
>
> interrupt-controller: true
>
> @@ -78,6 +84,33 @@ required:
> - "#gpio-cells"
> - gpio-controller
>
> +allOf:
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - fsl,vf610-gpio
> + - fsl,imx7ulp-gpio
> + then:
> + properties:
> + interrupts:
> + items:
> + - description: GPIO interrupt number
So this is different than first interrupt mentioned in top-level?
> + reg:
> + items:
> + - description: PORT register base address
> + - description: GPIO register base address
You have the description in top-level, no need to repeat it. Just
minItems: 2... although it depends whether top-level property will stay.
> + else:
> + properties:
> + interrupts:
> + items:
> + - description: GPIO Trustzone non-secure interrupt number
> + - description: GPIO Trustzone secure interrupt number
> + reg:
> + items:
> + - description: GPIO register base address
So the first entry is different between variants? Then top-level should
be just min/maxItems.
> +
> additionalProperties: false
>
> examples:
>
Best regards,
Krzysztof
Powered by blists - more mailing lists