Re: [DO NOT MERGE v6 09/37] dt-bindings: timer: renesas,tmu: add renesas,tmu-sh7750

From: Geert Uytterhoeven
Date: Mon Jan 15 2024 - 08:59:36 EST


Hi Sato-san,

On Tue, Jan 9, 2024 at 9:23 AM Yoshinori Sato
<ysato@xxxxxxxxxxxxxxxxxxxx> wrote:
> Add SH7750 TMU entry.
>
> I wanted to replace interrupts and interrupt-names in the if compatible is
> "renesas,tmu-7750", but it seems that I can't rewrite it as expected.
> This resulted in a redundant conditional statement.
>
> Signed-off-by: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx>

Thanks for your patch!

> --- a/Documentation/devicetree/bindings/timer/renesas,tmu.yaml
> +++ b/Documentation/devicetree/bindings/timer/renesas,tmu.yaml
> @@ -39,14 +39,15 @@ properties:
> - renesas,tmu-r8a779a0 # R-Car V3U
> - renesas,tmu-r8a779f0 # R-Car S4-8
> - renesas,tmu-r8a779g0 # R-Car V4H
> + - renesas,tmu-sh7750 # SH7750

OK

> - const: renesas,tmu
>
> reg:
> maxItems: 1
>
> - interrupts:
> - minItems: 2
> - maxItems: 3
> + interrupts: true
> +
> + interrupt-names: true

I would drop this change (see below).

>
> clocks:
> maxItems: 1
> @@ -75,21 +76,55 @@ required:
> - clock-names
> - power-domains
>
> -if:
> - not:
> - properties:
> - compatible:
> - contains:
> - enum:
> - - renesas,tmu-r8a7740
> - - renesas,tmu-r8a7778
> - - renesas,tmu-r8a7779
> -then:
> - required:
> - - resets
> -
> additionalProperties: false
>
> +allOf:
> + - if:
> + not:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - renesas,tmu-r8a7740
> + - renesas,tmu-r8a7778
> + - renesas,tmu-r8a7779
> + - renesas,tmu-sh7750

Adding renesas,tmu-sh7750 to this list is OK.

> +
> + then:
> + required:
> + - resets
> +
> + - if:
> + not:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - renesas,tmu-sh7750
> +
> + then:
> + properties:
> + interrupts:
> + minItems: 2
> + maxItems: 3
> + interrupt-names:
> + items:
> + - const: tuni0
> + - const: tuni1
> + - const: tuni2
> +
> + else:
> + properties:
> + interrupts:
> + minItems: 2
> + maxItems: 4
> + interrupt-names:
> + items:
> + - const: tuni0
> + - const: tuni1
> + - const: tuni2
> + - const: ticpi2
> +
> examples:
> - |
> #include <dt-bindings/clock/r8a7779-clock.h>

The new interrupt logic is not really correct: several TMU instances
on other SoCs do support the fourth interrupt. It just was not
documented before, or supported by the driver.

I have sent a patch to document the fourth interrupt[1]. Once that
patch has been applied, adding support for sh7751 involves adding just
two new lines.

[1] "PATCH] dt-bindings: timer: renesas,tmu: Document input capture
interrupt"
https://lore.kernel.org/r/fb1e38c93e62221f94304edd980a2fb79c1f2995.1705325608.git.geert+renesas@xxxxxxxxx

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68korg

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