xref: /freebsd/sys/contrib/device-tree/Bindings/pwm/renesas,tpu-pwm.yaml (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
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
438bab661aSEmmanuel Vadot          - renesas,tpu-r8a779g0  # R-Car V4H
44*b2d2a78aSEmmanuel Vadot          - renesas,tpu-r8a779h0  # R-Car V4M
45c66ec88fSEmmanuel Vadot      - const: renesas,tpu
46c66ec88fSEmmanuel Vadot
47c66ec88fSEmmanuel Vadot  reg:
48c66ec88fSEmmanuel Vadot    # Base address and length of each memory resource used by the PWM
49c66ec88fSEmmanuel Vadot    # controller hardware module.
50c66ec88fSEmmanuel Vadot    maxItems: 1
51c66ec88fSEmmanuel Vadot
52c66ec88fSEmmanuel Vadot  interrupts:
53c66ec88fSEmmanuel Vadot    maxItems: 1
54c66ec88fSEmmanuel Vadot
55c66ec88fSEmmanuel Vadot  '#pwm-cells':
56c66ec88fSEmmanuel Vadot    # should be 3. See pwm.yaml in this directory for a description of
57c66ec88fSEmmanuel Vadot    # the cells format. The only third cell flag supported by this binding is
58c66ec88fSEmmanuel Vadot    # PWM_POLARITY_INVERTED.
59c66ec88fSEmmanuel Vadot    const: 3
60c66ec88fSEmmanuel Vadot
61c66ec88fSEmmanuel Vadot  clocks:
62c66ec88fSEmmanuel Vadot    maxItems: 1
63c66ec88fSEmmanuel Vadot
64c66ec88fSEmmanuel Vadot  power-domains:
65c66ec88fSEmmanuel Vadot    maxItems: 1
66c66ec88fSEmmanuel Vadot
67c66ec88fSEmmanuel Vadot  resets:
68c66ec88fSEmmanuel Vadot    maxItems: 1
69c66ec88fSEmmanuel Vadot
70c66ec88fSEmmanuel Vadotrequired:
71c66ec88fSEmmanuel Vadot  - compatible
72c66ec88fSEmmanuel Vadot  - reg
735956d97fSEmmanuel Vadot  - clocks
745956d97fSEmmanuel Vadot  - power-domains
755956d97fSEmmanuel Vadot
765956d97fSEmmanuel VadotallOf:
775956d97fSEmmanuel Vadot  - $ref: pwm.yaml#
785956d97fSEmmanuel Vadot
795956d97fSEmmanuel Vadot  - if:
805956d97fSEmmanuel Vadot      not:
815956d97fSEmmanuel Vadot        properties:
825956d97fSEmmanuel Vadot          compatible:
835956d97fSEmmanuel Vadot            contains:
845956d97fSEmmanuel Vadot              enum:
855956d97fSEmmanuel Vadot                - renesas,tpu-r8a73a4
865956d97fSEmmanuel Vadot                - renesas,tpu-r8a7740
875956d97fSEmmanuel Vadot    then:
885956d97fSEmmanuel Vadot      required:
895956d97fSEmmanuel Vadot        - resets
90c66ec88fSEmmanuel Vadot
91c66ec88fSEmmanuel VadotadditionalProperties: false
92c66ec88fSEmmanuel Vadot
93c66ec88fSEmmanuel Vadotexamples:
94c66ec88fSEmmanuel Vadot  - |
95c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/r8a7740-clock.h>
96c66ec88fSEmmanuel Vadot
97c66ec88fSEmmanuel Vadot    tpu: pwm@e6600000 {
98c66ec88fSEmmanuel Vadot        compatible = "renesas,tpu-r8a7740", "renesas,tpu";
99c66ec88fSEmmanuel Vadot        reg = <0xe6600000 0x148>;
100c66ec88fSEmmanuel Vadot        clocks = <&mstp3_clks R8A7740_CLK_TPU0>;
101c66ec88fSEmmanuel Vadot        power-domains = <&pd_a3sp>;
102c66ec88fSEmmanuel Vadot        #pwm-cells = <3>;
103c66ec88fSEmmanuel Vadot    };
104