Merge tag 'block-6.13-20242901' of git://git.kernel.dk/linux
[drm/drm-misc.git] / Documentation / devicetree / bindings / pwm / allwinner,sun4i-a10-pwm.yaml
blob1b192e197b114fd228a5f14c7ef0d285cc67e68d
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#
7 title: Allwinner A10 PWM
9 maintainers:
10   - Chen-Yu Tsai <wens@csie.org>
11   - Maxime Ripard <mripard@kernel.org>
13 properties:
14   "#pwm-cells":
15     const: 3
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           - enum:
29               - allwinner,suniv-f1c100s-pwm
30               - allwinner,sun8i-v3s-pwm
31           - const: allwinner,sun7i-a20-pwm
32       - items:
33           - const: allwinner,sun50i-a64-pwm
34           - const: allwinner,sun5i-a13-pwm
35       - items:
36           - const: allwinner,sun50i-h5-pwm
37           - const: allwinner,sun5i-a13-pwm
38       - const: allwinner,sun50i-h6-pwm
40   reg:
41     maxItems: 1
43   clocks:
44     minItems: 1
45     items:
46       - description: Module Clock
47       - description: Bus Clock
49   clock-names:
50     minItems: 1
51     items:
52       - const: mod
53       - const: bus
55   resets:
56     maxItems: 1
59 allOf:
60   - $ref: pwm.yaml#
62   - if:
63       properties:
64         compatible:
65           contains:
66             const: allwinner,sun50i-h6-pwm
68     then:
69       properties:
70         clocks:
71           maxItems: 2
73         clock-names:
74           items:
75             - const: mod
76             - const: bus
78       required:
79         - clock-names
80         - resets
82     else:
83       properties:
84         clocks:
85           maxItems: 1
87 required:
88   - compatible
89   - reg
90   - clocks
92 additionalProperties: false
94 examples:
95   - |
96     pwm: pwm@1c20e00 {
97         compatible = "allwinner,sun7i-a20-pwm";
98         reg = <0x01c20e00 0xc>;
99         clocks = <&osc24M>;
100         #pwm-cells = <3>;
101     };
103   - |
104     #include <dt-bindings/clock/sun50i-h6-ccu.h>
105     #include <dt-bindings/reset/sun50i-h6-ccu.h>
107     pwm@300a000 {
108       compatible = "allwinner,sun50i-h6-pwm";
109       reg = <0x0300a000 0x400>;
110       clocks = <&osc24M>, <&ccu CLK_BUS_PWM>;
111       clock-names = "mod", "bus";
112       resets = <&ccu RST_BUS_PWM>;
113       #pwm-cells = <3>;
114     };