2024-02-14 16:32:56

by Théo Lebrun

[permalink] [raw]
Subject: [PATCH 03/23] dt-bindings: gpio: nomadik: add mobileye,eyeq5-gpio compatible

This GPIO controller is used on the Mobileye EyeQ5 SoC. Add its
compatible to the dt-bindings. One difference is that the block as
integrated on EyeQ5 does not support sleep-mode.

Signed-off-by: Théo Lebrun <[email protected]>
---
.../devicetree/bindings/gpio/st,nomadik-gpio.yaml | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/gpio/st,nomadik-gpio.yaml b/Documentation/devicetree/bindings/gpio/st,nomadik-gpio.yaml
index bbd23daed229..e44cf292bc6d 100644
--- a/Documentation/devicetree/bindings/gpio/st,nomadik-gpio.yaml
+++ b/Documentation/devicetree/bindings/gpio/st,nomadik-gpio.yaml
@@ -19,7 +19,9 @@ properties:
pattern: "^gpio@[0-9a-f]+$"

compatible:
- const: st,nomadik-gpio
+ enum:
+ - st,nomadik-gpio
+ - mobileye,eyeq5-gpio

reg:
maxItems: 1
@@ -65,6 +67,18 @@ required:

unevaluatedProperties: false

+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: st,nomadik-gpio
+ then:
+ properties:
+ st,supports-sleepmode:
+ description: Whether the controller can sleep or not.
+ $ref: /schemas/types.yaml#/definitions/flag
+
examples:
- |
gpio1: gpio@8012e080 {

--
2.43.1



2024-02-15 09:13:26

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 03/23] dt-bindings: gpio: nomadik: add mobileye,eyeq5-gpio compatible

On 14/02/2024 17:23, Théo Lebrun wrote:
> This GPIO controller is used on the Mobileye EyeQ5 SoC. Add its
> compatible to the dt-bindings. One difference is that the block as
> integrated on EyeQ5 does not support sleep-mode.
>
> Signed-off-by: Théo Lebrun <[email protected]>
> ---
> .../devicetree/bindings/gpio/st,nomadik-gpio.yaml | 16 +++++++++++++++-
> 1 file changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/gpio/st,nomadik-gpio.yaml b/Documentation/devicetree/bindings/gpio/st,nomadik-gpio.yaml
> index bbd23daed229..e44cf292bc6d 100644
> --- a/Documentation/devicetree/bindings/gpio/st,nomadik-gpio.yaml
> +++ b/Documentation/devicetree/bindings/gpio/st,nomadik-gpio.yaml
> @@ -19,7 +19,9 @@ properties:
> pattern: "^gpio@[0-9a-f]+$"
>
> compatible:
> - const: st,nomadik-gpio
> + enum:
> + - st,nomadik-gpio
> + - mobileye,eyeq5-gpio
>
> reg:
> maxItems: 1
> @@ -65,6 +67,18 @@ required:
>
> unevaluatedProperties: false
>
> +allOf:
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: st,nomadik-gpio
> + then:
> + properties:
> + st,supports-sleepmode:
> + description: Whether the controller can sleep or not.
> + $ref: /schemas/types.yaml#/definitions/flag

You already have such property, so you are defining it second time. You
want instead if: for eyeq5-gpio making it:
then:
properties:
st,supports-sleepmode: false

Best regards,
Krzysztof


2024-02-15 10:28:40

by Théo Lebrun

[permalink] [raw]
Subject: Re: [PATCH 03/23] dt-bindings: gpio: nomadik: add mobileye,eyeq5-gpio compatible

Hello,

On Thu Feb 15, 2024 at 10:13 AM CET, Krzysztof Kozlowski wrote:
> On 14/02/2024 17:23, Théo Lebrun wrote:
> > This GPIO controller is used on the Mobileye EyeQ5 SoC. Add its
> > compatible to the dt-bindings. One difference is that the block as
> > integrated on EyeQ5 does not support sleep-mode.
> >
> > Signed-off-by: Théo Lebrun <[email protected]>
> > ---
> > .../devicetree/bindings/gpio/st,nomadik-gpio.yaml | 16 +++++++++++++++-
> > 1 file changed, 15 insertions(+), 1 deletion(-)
> >
> > diff --git a/Documentation/devicetree/bindings/gpio/st,nomadik-gpio.yaml b/Documentation/devicetree/bindings/gpio/st,nomadik-gpio.yaml
> > index bbd23daed229..e44cf292bc6d 100644
> > --- a/Documentation/devicetree/bindings/gpio/st,nomadik-gpio.yaml
> > +++ b/Documentation/devicetree/bindings/gpio/st,nomadik-gpio.yaml
> > @@ -19,7 +19,9 @@ properties:
> > pattern: "^gpio@[0-9a-f]+$"
> >
> > compatible:
> > - const: st,nomadik-gpio
> > + enum:
> > + - st,nomadik-gpio
> > + - mobileye,eyeq5-gpio
> >
> > reg:
> > maxItems: 1
> > @@ -65,6 +67,18 @@ required:
> >
> > unevaluatedProperties: false
> >
> > +allOf:
> > + - if:
> > + properties:
> > + compatible:
> > + contains:
> > + const: st,nomadik-gpio
> > + then:
> > + properties:
> > + st,supports-sleepmode:
> > + description: Whether the controller can sleep or not.
> > + $ref: /schemas/types.yaml#/definitions/flag
>
> You already have such property, so you are defining it second time. You
> want instead if: for eyeq5-gpio making it:
> then:
> properties:
> st,supports-sleepmode: false

Good catch. I hesitated between declaring the property inside an
if-statement or disabling it inside an if-statement as you show here. I
ended-up mixing those two approaches.

Wil pick the if-eyeq5-then-disable-prop solution.

Thanks for the review Krzysztof!

--
Théo Lebrun, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com