1faf66c22SYoshihiro Kaneko# SPDX-License-Identifier: GPL-2.0
2faf66c22SYoshihiro Kaneko%YAML 1.2
3faf66c22SYoshihiro Kaneko---
4faf66c22SYoshihiro Kaneko$id: http://devicetree.org/schemas/pwm/renesas,tpu-pwm.yaml#
5faf66c22SYoshihiro Kaneko$schema: http://devicetree.org/meta-schemas/core.yaml#
6faf66c22SYoshihiro Kaneko
7faf66c22SYoshihiro Kanekotitle: Renesas R-Car Timer Pulse Unit PWM Controller
8faf66c22SYoshihiro Kaneko
9faf66c22SYoshihiro Kanekomaintainers:
10faf66c22SYoshihiro Kaneko  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
11faf66c22SYoshihiro Kaneko
12d1dd2167SGeert Uytterhoevenselect:
13d1dd2167SGeert Uytterhoeven  properties:
14d1dd2167SGeert Uytterhoeven    compatible:
15d1dd2167SGeert Uytterhoeven      contains:
16d1dd2167SGeert Uytterhoeven        const: renesas,tpu
17d1dd2167SGeert Uytterhoeven  required:
18d1dd2167SGeert Uytterhoeven    - compatible
19d1dd2167SGeert Uytterhoeven    - '#pwm-cells'
20d1dd2167SGeert Uytterhoeven
21faf66c22SYoshihiro Kanekoproperties:
22faf66c22SYoshihiro Kaneko  compatible:
23faf66c22SYoshihiro Kaneko    items:
24faf66c22SYoshihiro Kaneko      - enum:
25faf66c22SYoshihiro Kaneko          - renesas,tpu-r8a73a4   # R-Mobile APE6
26faf66c22SYoshihiro Kaneko          - renesas,tpu-r8a7740   # R-Mobile A1
276a78dfb8SLad Prabhakar          - renesas,tpu-r8a7742   # RZ/G1H
28faf66c22SYoshihiro Kaneko          - renesas,tpu-r8a7743   # RZ/G1M
29faf66c22SYoshihiro Kaneko          - renesas,tpu-r8a7744   # RZ/G1N
30faf66c22SYoshihiro Kaneko          - renesas,tpu-r8a7745   # RZ/G1E
31faf66c22SYoshihiro Kaneko          - renesas,tpu-r8a7790   # R-Car H2
32ff17bad8SGeert Uytterhoeven          - renesas,tpu-r8a7791   # R-Car M2-W
33ff17bad8SGeert Uytterhoeven          - renesas,tpu-r8a7792   # R-Car V2H
34ff17bad8SGeert Uytterhoeven          - renesas,tpu-r8a7793   # R-Car M2-N
35ff17bad8SGeert Uytterhoeven          - renesas,tpu-r8a7794   # R-Car E2
36faf66c22SYoshihiro Kaneko          - renesas,tpu-r8a7795   # R-Car H3
37faf66c22SYoshihiro Kaneko          - renesas,tpu-r8a7796   # R-Car M3-W
3876c40c22SWolfram Sang          - renesas,tpu-r8a77961  # R-Car M3-W+
39faf66c22SYoshihiro Kaneko          - renesas,tpu-r8a77965  # R-Car M3-N
40faf66c22SYoshihiro Kaneko          - renesas,tpu-r8a77970  # R-Car V3M
41faf66c22SYoshihiro Kaneko          - renesas,tpu-r8a77980  # R-Car V3H
428aea22fbSDuc Nguyen          - renesas,tpu-r8a779a0  # R-Car V3U
43*50315945SGeert Uytterhoeven          - renesas,tpu-r8a779g0  # R-Car V4H
44faf66c22SYoshihiro Kaneko      - const: renesas,tpu
45faf66c22SYoshihiro Kaneko
46faf66c22SYoshihiro Kaneko  reg:
47faf66c22SYoshihiro Kaneko    # Base address and length of each memory resource used by the PWM
48faf66c22SYoshihiro Kaneko    # controller hardware module.
49faf66c22SYoshihiro Kaneko    maxItems: 1
50faf66c22SYoshihiro Kaneko
51faf66c22SYoshihiro Kaneko  interrupts:
52faf66c22SYoshihiro Kaneko    maxItems: 1
53faf66c22SYoshihiro Kaneko
54faf66c22SYoshihiro Kaneko  '#pwm-cells':
5589650a1eSKrzysztof Kozlowski    # should be 3. See pwm.yaml in this directory for a description of
56faf66c22SYoshihiro Kaneko    # the cells format. The only third cell flag supported by this binding is
57faf66c22SYoshihiro Kaneko    # PWM_POLARITY_INVERTED.
58faf66c22SYoshihiro Kaneko    const: 3
59faf66c22SYoshihiro Kaneko
60faf66c22SYoshihiro Kaneko  clocks:
61faf66c22SYoshihiro Kaneko    maxItems: 1
62faf66c22SYoshihiro Kaneko
63faf66c22SYoshihiro Kaneko  power-domains:
64faf66c22SYoshihiro Kaneko    maxItems: 1
65faf66c22SYoshihiro Kaneko
66faf66c22SYoshihiro Kaneko  resets:
67faf66c22SYoshihiro Kaneko    maxItems: 1
68faf66c22SYoshihiro Kaneko
69faf66c22SYoshihiro Kanekorequired:
70faf66c22SYoshihiro Kaneko  - compatible
71faf66c22SYoshihiro Kaneko  - reg
72d91133edSGeert Uytterhoeven  - clocks
73d91133edSGeert Uytterhoeven  - power-domains
74d91133edSGeert Uytterhoeven
75d91133edSGeert UytterhoevenallOf:
76d91133edSGeert Uytterhoeven  - $ref: pwm.yaml#
77d91133edSGeert Uytterhoeven
78d91133edSGeert Uytterhoeven  - if:
79d91133edSGeert Uytterhoeven      not:
80d91133edSGeert Uytterhoeven        properties:
81d91133edSGeert Uytterhoeven          compatible:
82d91133edSGeert Uytterhoeven            contains:
83d91133edSGeert Uytterhoeven              enum:
84d91133edSGeert Uytterhoeven                - renesas,tpu-r8a73a4
85d91133edSGeert Uytterhoeven                - renesas,tpu-r8a7740
86d91133edSGeert Uytterhoeven    then:
87d91133edSGeert Uytterhoeven      required:
88d91133edSGeert Uytterhoeven        - resets
89faf66c22SYoshihiro Kaneko
90faf66c22SYoshihiro KanekoadditionalProperties: false
91faf66c22SYoshihiro Kaneko
92faf66c22SYoshihiro Kanekoexamples:
93faf66c22SYoshihiro Kaneko  - |
94faf66c22SYoshihiro Kaneko    #include <dt-bindings/clock/r8a7740-clock.h>
95faf66c22SYoshihiro Kaneko
96faf66c22SYoshihiro Kaneko    tpu: pwm@e6600000 {
97faf66c22SYoshihiro Kaneko        compatible = "renesas,tpu-r8a7740", "renesas,tpu";
98faf66c22SYoshihiro Kaneko        reg = <0xe6600000 0x148>;
99faf66c22SYoshihiro Kaneko        clocks = <&mstp3_clks R8A7740_CLK_TPU0>;
100faf66c22SYoshihiro Kaneko        power-domains = <&pd_a3sp>;
101faf66c22SYoshihiro Kaneko        #pwm-cells = <3>;
102faf66c22SYoshihiro Kaneko    };
103