diff mbox series

[v3,2/2] dt-bindings: thermal: rcar-gen3-thermal: Add r8a779f0 support

Message ID 20220610201701.7946-2-wsa+renesas@sang-engineering.com (mailing list archive)
State New, archived
Delegated to: Daniel Lezcano
Headers show
Series [v3,1/2] dt-bindings: thermal: rcar-gen3-thermal: use positive logic | expand

Commit Message

Wolfram Sang June 10, 2022, 8:17 p.m. UTC
Add support for R-Car S4. The S4 IP differs a bit from its siblings in
such way that it has 3 out of 4 TSC nodes for Linux and the interrupts
are not routed to the INTC-AP but to the ECM.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---

Change since V2:
* make interrupts not required for this SoC

Tested with:
make dtbs_check DT_SCHEMA_FILES=thermal/rcar-gen3-thermal.yaml

 .../bindings/thermal/rcar-gen3-thermal.yaml   | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

Comments

Niklas Söderlund June 12, 2022, 10:18 p.m. UTC | #1
Hi Wolfram,

Thanks for your work.

On 2022-06-10 22:17:01 +0200, Wolfram Sang wrote:
> Add support for R-Car S4. The S4 IP differs a bit from its siblings in
> such way that it has 3 out of 4 TSC nodes for Linux and the interrupts
> are not routed to the INTC-AP but to the ECM.
> 
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>

Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>

> ---
> 
> Change since V2:
> * make interrupts not required for this SoC
> 
> Tested with:
> make dtbs_check DT_SCHEMA_FILES=thermal/rcar-gen3-thermal.yaml
> 
>  .../bindings/thermal/rcar-gen3-thermal.yaml   | 19 ++++++++++++++-----
>  1 file changed, 14 insertions(+), 5 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.yaml b/Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.yaml
> index 72dc7eb27f8d..0f05f5c886c5 100644
> --- a/Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.yaml
> +++ b/Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.yaml
> @@ -8,9 +8,9 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
>  title: Renesas R-Car Gen3 Thermal Sensor
>  
>  description:
> -  On R-Car Gen3 SoCs, the thermal sensor controllers (TSC) control the thermal
> -  sensors (THS) which are the analog circuits for measuring temperature (Tj)
> -  inside the LSI.
> +  On most R-Car Gen3 and later SoCs, the thermal sensor controllers (TSC)
> +  control the thermal sensors (THS) which are the analog circuits for
> +  measuring temperature (Tj) inside the LSI.
>  
>  maintainers:
>    - Niklas Söderlund <niklas.soderlund@ragnatech.se>
> @@ -27,6 +27,7 @@ properties:
>        - renesas,r8a77965-thermal # R-Car M3-N
>        - renesas,r8a77980-thermal # R-Car V3H
>        - renesas,r8a779a0-thermal # R-Car V3U
> +      - renesas,r8a779f0-thermal # R-Car S4-8
>  
>    reg: true
>  
> @@ -79,8 +80,16 @@ else:
>          - description: TSC1 registers
>          - description: TSC2 registers
>          - description: TSC3 registers
> -  required:
> -    - interrupts
> +  if:
> +    not:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - renesas,r8a779f0-thermal
> +  then:
> +    required:
> +      - interrupts
>  
>  additionalProperties: false
>  
> -- 
> 2.35.1
>
Geert Uytterhoeven June 14, 2022, 1:54 p.m. UTC | #2
Hi Wolfram,

On Fri, Jun 10, 2022 at 10:17 PM Wolfram Sang
<wsa+renesas@sang-engineering.com> wrote:
> Add support for R-Car S4. The S4 IP differs a bit from its siblings in
> such way that it has 3 out of 4 TSC nodes for Linux and the interrupts
> are not routed to the INTC-AP but to the ECM.
>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> ---
>
> Change since V2:
> * make interrupts not required for this SoC

Thanks for the update!

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

> --- a/Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.yaml
> +++ b/Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.yaml

> @@ -79,8 +80,16 @@ else:
>          - description: TSC1 registers
>          - description: TSC2 registers
>          - description: TSC3 registers
> -  required:
> -    - interrupts
> +  if:
> +    not:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - renesas,r8a779f0-thermal
> +  then:
> +    required:
> +      - interrupts

While correct, IMHO adding this check here loses again the improvement
made by "[PATCH v3 1/2] dt-bindings: thermal: rcar-gen3-thermal: use
positive logic".

What about splitting this in two separate checks at the top level:
  - one for regs (R-Car V3U vs. the world), and
  - a second for interrupts (R-Car V3U+S4-8 vs. the world)?

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Wolfram Sang June 14, 2022, 7:12 p.m. UTC | #3
> What about splitting this in two separate checks at the top level:
>   - one for regs (R-Car V3U vs. the world), and
>   - a second for interrupts (R-Car V3U+S4-8 vs. the world)?

I'll try this and see how it looks, thanks for the suggestion!
Rob Herring (Arm) June 14, 2022, 8:07 p.m. UTC | #4
On Fri, 10 Jun 2022 22:17:01 +0200, Wolfram Sang wrote:
> Add support for R-Car S4. The S4 IP differs a bit from its siblings in
> such way that it has 3 out of 4 TSC nodes for Linux and the interrupts
> are not routed to the INTC-AP but to the ECM.
> 
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> ---
> 
> Change since V2:
> * make interrupts not required for this SoC
> 
> Tested with:
> make dtbs_check DT_SCHEMA_FILES=thermal/rcar-gen3-thermal.yaml
> 
>  .../bindings/thermal/rcar-gen3-thermal.yaml   | 19 ++++++++++++++-----
>  1 file changed, 14 insertions(+), 5 deletions(-)
> 

Reviewed-by: Rob Herring <robh@kernel.org>
Wolfram Sang June 14, 2022, 8:18 p.m. UTC | #5
> What about splitting this in two separate checks at the top level:
>   - one for regs (R-Car V3U vs. the world), and
>   - a second for interrupts (R-Car V3U+S4-8 vs. the world)?

This task seems too much for my YAML-foo :( I couldn't get it to work.
Can we leave it as-is for now?
Geert Uytterhoeven June 14, 2022, 9:31 p.m. UTC | #6
Hi Wolfram,

On Tue, Jun 14, 2022 at 10:18 PM Wolfram Sang
<wsa+renesas@sang-engineering.com> wrote:
> > What about splitting this in two separate checks at the top level:
> >   - one for regs (R-Car V3U vs. the world), and
> >   - a second for interrupts (R-Car V3U+S4-8 vs. the world)?
>
> This task seems too much for my YAML-foo :( I couldn't get it to work.
> Can we leave it as-is for now?

You just need an allOf with two if statements, cfr. e.g.
Documentation/devicetree/bindings/media/renesas,vin.yaml?

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Wolfram Sang June 15, 2022, 10:09 a.m. UTC | #7
> > > What about splitting this in two separate checks at the top level:
> > >   - one for regs (R-Car V3U vs. the world), and
> > >   - a second for interrupts (R-Car V3U+S4-8 vs. the world)?
> >
> > This task seems too much for my YAML-foo :( I couldn't get it to work.
> > Can we leave it as-is for now?
> 
> You just need an allOf with two if statements, cfr. e.g.
> Documentation/devicetree/bindings/media/renesas,vin.yaml?

First, I don't think the negative logic is as bad here because there is
no 'else' block which is far away. Second, I think we need a 'not'
anyhow because the condition is:
	'if not r8a779f0 then required interrupts'

Third, I still think we can fix it incrementally later if we want. The
new board has enough issues to take care of. For now, I'd rather
investigate those than YAML ;)
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.yaml b/Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.yaml
index 72dc7eb27f8d..0f05f5c886c5 100644
--- a/Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.yaml
+++ b/Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.yaml
@@ -8,9 +8,9 @@  $schema: http://devicetree.org/meta-schemas/core.yaml#
 title: Renesas R-Car Gen3 Thermal Sensor
 
 description:
-  On R-Car Gen3 SoCs, the thermal sensor controllers (TSC) control the thermal
-  sensors (THS) which are the analog circuits for measuring temperature (Tj)
-  inside the LSI.
+  On most R-Car Gen3 and later SoCs, the thermal sensor controllers (TSC)
+  control the thermal sensors (THS) which are the analog circuits for
+  measuring temperature (Tj) inside the LSI.
 
 maintainers:
   - Niklas Söderlund <niklas.soderlund@ragnatech.se>
@@ -27,6 +27,7 @@  properties:
       - renesas,r8a77965-thermal # R-Car M3-N
       - renesas,r8a77980-thermal # R-Car V3H
       - renesas,r8a779a0-thermal # R-Car V3U
+      - renesas,r8a779f0-thermal # R-Car S4-8
 
   reg: true
 
@@ -79,8 +80,16 @@  else:
         - description: TSC1 registers
         - description: TSC2 registers
         - description: TSC3 registers
-  required:
-    - interrupts
+  if:
+    not:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - renesas,r8a779f0-thermal
+  then:
+    required:
+      - interrupts
 
 additionalProperties: false