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

Geert Uytterhoeven geert at linux-m68k.org
Mon Jan 15 13:59:08 UTC 2024


Hi Sato-san,

On Tue, Jan 9, 2024 at 9:23 AM Yoshinori Sato
<ysato at users.sourceforge.jp> 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 at users.sourceforge.jp>

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@glider.be

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at 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


More information about the dri-devel mailing list