xref: /freebsd/sys/contrib/device-tree/Bindings/pwm/renesas,tpu-pwm.yaml (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/pwm/renesas,tpu-pwm.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: Renesas R-Car Timer Pulse Unit PWM Controller
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
11c66ec88fSEmmanuel Vadot
125956d97fSEmmanuel Vadotselect:
135956d97fSEmmanuel Vadot  properties:
145956d97fSEmmanuel Vadot    compatible:
155956d97fSEmmanuel Vadot      contains:
165956d97fSEmmanuel Vadot        const: renesas,tpu
175956d97fSEmmanuel Vadot  required:
185956d97fSEmmanuel Vadot    - compatible
195956d97fSEmmanuel Vadot    - '#pwm-cells'
205956d97fSEmmanuel Vadot
21c66ec88fSEmmanuel Vadotproperties:
22c66ec88fSEmmanuel Vadot  compatible:
23c66ec88fSEmmanuel Vadot    items:
24c66ec88fSEmmanuel Vadot      - enum:
25c66ec88fSEmmanuel Vadot          - renesas,tpu-r8a73a4   # R-Mobile APE6
26c66ec88fSEmmanuel Vadot          - renesas,tpu-r8a7740   # R-Mobile A1
276be33864SEmmanuel Vadot          - renesas,tpu-r8a7742   # RZ/G1H
28c66ec88fSEmmanuel Vadot          - renesas,tpu-r8a7743   # RZ/G1M
29c66ec88fSEmmanuel Vadot          - renesas,tpu-r8a7744   # RZ/G1N
30c66ec88fSEmmanuel Vadot          - renesas,tpu-r8a7745   # RZ/G1E
31c66ec88fSEmmanuel Vadot          - renesas,tpu-r8a7790   # R-Car H2
32c66ec88fSEmmanuel Vadot          - renesas,tpu-r8a7791   # R-Car M2-W
33c66ec88fSEmmanuel Vadot          - renesas,tpu-r8a7792   # R-Car V2H
34c66ec88fSEmmanuel Vadot          - renesas,tpu-r8a7793   # R-Car M2-N
35c66ec88fSEmmanuel Vadot          - renesas,tpu-r8a7794   # R-Car E2
36c66ec88fSEmmanuel Vadot          - renesas,tpu-r8a7795   # R-Car H3
37c66ec88fSEmmanuel Vadot          - renesas,tpu-r8a7796   # R-Car M3-W
388cc087a1SEmmanuel Vadot          - renesas,tpu-r8a77961  # R-Car M3-W+
39c66ec88fSEmmanuel Vadot          - renesas,tpu-r8a77965  # R-Car M3-N
40c66ec88fSEmmanuel Vadot          - renesas,tpu-r8a77970  # R-Car V3M
41c66ec88fSEmmanuel Vadot          - renesas,tpu-r8a77980  # R-Car V3H
428cc087a1SEmmanuel Vadot          - renesas,tpu-r8a779a0  # R-Car V3U
43*8bab661aSEmmanuel Vadot          - renesas,tpu-r8a779g0  # R-Car V4H
44c66ec88fSEmmanuel Vadot      - const: renesas,tpu
45c66ec88fSEmmanuel Vadot
46c66ec88fSEmmanuel Vadot  reg:
47c66ec88fSEmmanuel Vadot    # Base address and length of each memory resource used by the PWM
48c66ec88fSEmmanuel Vadot    # controller hardware module.
49c66ec88fSEmmanuel Vadot    maxItems: 1
50c66ec88fSEmmanuel Vadot
51c66ec88fSEmmanuel Vadot  interrupts:
52c66ec88fSEmmanuel Vadot    maxItems: 1
53c66ec88fSEmmanuel Vadot
54c66ec88fSEmmanuel Vadot  '#pwm-cells':
55c66ec88fSEmmanuel Vadot    # should be 3. See pwm.yaml in this directory for a description of
56c66ec88fSEmmanuel Vadot    # the cells format. The only third cell flag supported by this binding is
57c66ec88fSEmmanuel Vadot    # PWM_POLARITY_INVERTED.
58c66ec88fSEmmanuel Vadot    const: 3
59c66ec88fSEmmanuel Vadot
60c66ec88fSEmmanuel Vadot  clocks:
61c66ec88fSEmmanuel Vadot    maxItems: 1
62c66ec88fSEmmanuel Vadot
63c66ec88fSEmmanuel Vadot  power-domains:
64c66ec88fSEmmanuel Vadot    maxItems: 1
65c66ec88fSEmmanuel Vadot
66c66ec88fSEmmanuel Vadot  resets:
67c66ec88fSEmmanuel Vadot    maxItems: 1
68c66ec88fSEmmanuel Vadot
69c66ec88fSEmmanuel Vadotrequired:
70c66ec88fSEmmanuel Vadot  - compatible
71c66ec88fSEmmanuel Vadot  - reg
725956d97fSEmmanuel Vadot  - clocks
735956d97fSEmmanuel Vadot  - power-domains
745956d97fSEmmanuel Vadot
755956d97fSEmmanuel VadotallOf:
765956d97fSEmmanuel Vadot  - $ref: pwm.yaml#
775956d97fSEmmanuel Vadot
785956d97fSEmmanuel Vadot  - if:
795956d97fSEmmanuel Vadot      not:
805956d97fSEmmanuel Vadot        properties:
815956d97fSEmmanuel Vadot          compatible:
825956d97fSEmmanuel Vadot            contains:
835956d97fSEmmanuel Vadot              enum:
845956d97fSEmmanuel Vadot                - renesas,tpu-r8a73a4
855956d97fSEmmanuel Vadot                - renesas,tpu-r8a7740
865956d97fSEmmanuel Vadot    then:
875956d97fSEmmanuel Vadot      required:
885956d97fSEmmanuel Vadot        - resets
89c66ec88fSEmmanuel Vadot
90c66ec88fSEmmanuel VadotadditionalProperties: false
91c66ec88fSEmmanuel Vadot
92c66ec88fSEmmanuel Vadotexamples:
93c66ec88fSEmmanuel Vadot  - |
94c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/r8a7740-clock.h>
95c66ec88fSEmmanuel Vadot
96c66ec88fSEmmanuel Vadot    tpu: pwm@e6600000 {
97c66ec88fSEmmanuel Vadot        compatible = "renesas,tpu-r8a7740", "renesas,tpu";
98c66ec88fSEmmanuel Vadot        reg = <0xe6600000 0x148>;
99c66ec88fSEmmanuel Vadot        clocks = <&mstp3_clks R8A7740_CLK_TPU0>;
100c66ec88fSEmmanuel Vadot        power-domains = <&pd_a3sp>;
101c66ec88fSEmmanuel Vadot        #pwm-cells = <3>;
102c66ec88fSEmmanuel Vadot    };
103