Merge commit '81fd23e2b3ccf71c807e671444e8accaba98ca53' of https://git.pengutronix...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / pwm / allwinner,sun4i-a10-pwm.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/pwm/allwinner,sun4i-a10-pwm.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Allwinner A10 PWM Device Tree Bindings
8
9 maintainers:
10   - Chen-Yu Tsai <wens@csie.org>
11   - Maxime Ripard <mripard@kernel.org>
12
13 properties:
14   "#pwm-cells":
15     const: 3
16
17   compatible:
18     oneOf:
19       - const: allwinner,sun4i-a10-pwm
20       - const: allwinner,sun5i-a10s-pwm
21       - const: allwinner,sun5i-a13-pwm
22       - const: allwinner,sun7i-a20-pwm
23       - const: allwinner,sun8i-h3-pwm
24       - items:
25           - const: allwinner,sun8i-a83t-pwm
26           - const: allwinner,sun8i-h3-pwm
27       - items:
28           - const: allwinner,sun8i-v3s-pwm
29           - const: allwinner,sun7i-a20-pwm
30       - items:
31           - const: allwinner,sun50i-a64-pwm
32           - const: allwinner,sun5i-a13-pwm
33       - items:
34           - const: allwinner,sun50i-h5-pwm
35           - const: allwinner,sun5i-a13-pwm
36       - const: allwinner,sun50i-h6-pwm
37
38   reg:
39     maxItems: 1
40
41   clocks:
42     minItems: 1
43     items:
44       - description: Module Clock
45       - description: Bus Clock
46
47   # Even though it only applies to subschemas under the conditionals,
48   # not listing them here will trigger a warning because of the
49   # additionalsProperties set to false.
50   clock-names: true
51
52   resets:
53     maxItems: 1
54
55 if:
56   properties:
57     compatible:
58       contains:
59         const: allwinner,sun50i-h6-pwm
60
61 then:
62   properties:
63     clocks:
64       maxItems: 2
65
66     clock-names:
67       items:
68         - const: mod
69         - const: bus
70
71   required:
72     - clock-names
73     - resets
74
75 else:
76   properties:
77     clocks:
78       maxItems: 1
79
80 required:
81   - "#pwm-cells"
82   - compatible
83   - reg
84   - clocks
85
86 additionalProperties: false
87
88 examples:
89   - |
90     pwm: pwm@1c20e00 {
91         compatible = "allwinner,sun7i-a20-pwm";
92         reg = <0x01c20e00 0xc>;
93         clocks = <&osc24M>;
94         #pwm-cells = <3>;
95     };
96
97   - |
98     #include <dt-bindings/clock/sun50i-h6-ccu.h>
99     #include <dt-bindings/reset/sun50i-h6-ccu.h>
100
101     pwm@300a000 {
102       compatible = "allwinner,sun50i-h6-pwm";
103       reg = <0x0300a000 0x400>;
104       clocks = <&osc24M>, <&ccu CLK_BUS_PWM>;
105       clock-names = "mod", "bus";
106       resets = <&ccu RST_BUS_PWM>;
107       #pwm-cells = <3>;
108     };
109
110 ...