[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240926-apricot-unfasten-5577c54a3e2f@spud>
Date: Thu, 26 Sep 2024 16:38:37 +0100
From: Conor Dooley <conor@...nel.org>
To: Andrei Stefanescu <andrei.stefanescu@....nxp.com>
Cc: Linus Walleij <linus.walleij@...aro.org>,
Bartosz Golaszewski <brgl@...ev.pl>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Chester Lin <chester62515@...il.com>,
Matthias Brugger <mbrugger@...e.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"Rafael J. Wysocki" <rafael@...nel.org>, linux-gpio@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
NXP S32 Linux Team <s32@....com>,
Christophe Lizzi <clizzi@...hat.com>,
Alberto Ruiz <aruizrui@...hat.com>,
Enric Balletbo <eballetb@...hat.com>
Subject: Re: [PATCH v4 2/4] dt-bindings: gpio: add support for NXP
S32G2/S32G3 SoCs
On Thu, Sep 26, 2024 at 05:31:19PM +0300, Andrei Stefanescu wrote:
> Add support for the GPIO driver of the NXP S32G2/S32G3 SoCs.
>
> Signed-off-by: Phu Luu An <phu.luuan@....com>
> Signed-off-by: Larisa Grigore <larisa.grigore@....com>
> Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@....com>
> Signed-off-by: Andrei Stefanescu <andrei.stefanescu@....nxp.com>
What's up with this SoB chain? You're the author what did
the other 3 people do? Are they missing co-developed-by tags?
> ---
> .../bindings/gpio/nxp,s32g2-siul2-gpio.yaml | 110 ++++++++++++++++++
> 1 file changed, 110 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/gpio/nxp,s32g2-siul2-gpio.yaml
>
> diff --git a/Documentation/devicetree/bindings/gpio/nxp,s32g2-siul2-gpio.yaml b/Documentation/devicetree/bindings/gpio/nxp,s32g2-siul2-gpio.yaml
> new file mode 100644
> index 000000000000..4556505ee9c9
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/gpio/nxp,s32g2-siul2-gpio.yaml
> @@ -0,0 +1,110 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +# Copyright 2024 NXP
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/gpio/nxp,s32g2-siul2-gpio.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: NXP S32G2 SIUL2 GPIO controller
> +
> +maintainers:
> + - Ghennadi Procopciuc <Ghennadi.Procopciuc@....com>
> + - Larisa Grigore <larisa.grigore@....com>
> + - Andrei Stefanescu <andrei.stefanescu@....nxp.com>
> +
> +description:
> + Support for the SIUL2 GPIOs found on the S32G2 and S32G3
> + chips. It includes an IRQ controller for all pins which have
> + an EIRQ associated.
> +
> +properties:
> + compatible:
> + oneOf:
> + - const: nxp,s32g2-siul2-gpio
> + - items:
> + - const: nxp,s32g3-siul2-gpio
> + - const: nxp,s32g2-siul2-gpio
> +
> + reg:
> + items:
> + - description: PGPDO (output value) registers for SIUL2_0
> + - description: PGPDO (output value) registers for SIUL2_1
> + - description: PGPDI (input value) registers for SIUL2_0
> + - description: PGPDI (input value) registers for SIUL2_1
> + - description: EIRQ (interrupt) configuration registers from SIUL2_1
> + - description: EIRQ IMCR registers for interrupt muxing between pads
> +
> + reg-names:
> + items:
> + - const: opads0
> + - const: opads1
> + - const: ipads0
> + - const: ipads1
> + - const: eirqs
> + - const: eirq-imcrs
> +
> + gpio-controller: true
> +
> + '#gpio-cells':
> + const: 2
> +
> + interrupts:
> + maxItems: 1
> +
> + interrupt-controller: true
> +
> + "#interrupt-cells":
> + const: 2
> +
> + gpio-ranges:
> + minItems: 2
> + maxItems: 2
> +
> + gpio-reserved-ranges:
> + minItems: 2
> +
> +patternProperties:
> + "-hog(-[0-9]+)?$":
> + required:
> + - gpio-hog
> +
> +required:
> + - compatible
> + - reg
> + - reg-names
> + - gpio-controller
> + - "#gpio-cells"
> + - gpio-ranges
> + - gpio-reserved-ranges
> + - interrupts
> + - interrupt-controller
> + - "#interrupt-cells"
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> + #include <dt-bindings/interrupt-controller/irq.h>
> +
> + gpio@...9d700 {
> + compatible = "nxp,s32g2-siul2-gpio";
> + reg = <0x4009d700 0x10>,
> + <0x44011700 0x18>,
> + <0x4009d740 0x10>,
> + <0x44011740 0x18>,
> + <0x44010010 0xb4>,
> + <0x44011078 0x80>;
Huh, I only noticed this now. Are you sure that this is a correct
representation of this device, and it is not really part of some syscon?
The "random" nature of the addresses and the tiny sizes of the
reservations make it seem that way. What other devices are in these
regions?
Additionally, it looks like "opads0" and "ipads0" are in a different
region to their "1" equivalents. Should this really be represented as
two disctint GPIO controllers?
Cheers,
Conor.
> + reg-names = "opads0", "opads1", "ipads0",
> + "ipads1", "eirqs", "eirq-imcrs";
> + gpio-controller;
> + #gpio-cells = <2>;
> + /* GPIO 0-101 */
> + gpio-ranges = <&pinctrl 0 0 102>,
> + /* GPIO 112-190 */
> + <&pinctrl 112 112 79>;
> + gpio-reserved-ranges = <102 10>, <123 21>;
> + interrupts = <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-controller;
> + #interrupt-cells = <2>;
> + };
> --
> 2.45.2
>
>
Download attachment "signature.asc" of type "application/pgp-signature" (229 bytes)
Powered by blists - more mailing lists