blob: 66e400f2a3a4f03a02426285f3e1c17f59e19be1 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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
7title: Allwinner A10 PWM
8
9maintainers:
10 - Chen-Yu Tsai <wens@csie.org>
11 - Maxime Ripard <mripard@kernel.org>
12
13properties:
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 - 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
39
40 reg:
41 maxItems: 1
42
43 clocks:
44 minItems: 1
45 items:
46 - description: Module Clock
47 - description: Bus Clock
48
49 # Even though it only applies to subschemas under the conditionals,
50 # not listing them here will trigger a warning because of the
51 # additionalsProperties set to false.
52 clock-names: true
53
54 resets:
55 maxItems: 1
56
57
58allOf:
59 - $ref: pwm.yaml#
60
61 - if:
62 properties:
63 compatible:
64 contains:
65 const: allwinner,sun50i-h6-pwm
66
67 then:
68 properties:
69 clocks:
70 maxItems: 2
71
72 clock-names:
73 items:
74 - const: mod
75 - const: bus
76
77 required:
78 - clock-names
79 - resets
80
81 else:
82 properties:
83 clocks:
84 maxItems: 1
85
86required:
87 - compatible
88 - reg
89 - clocks
90
91additionalProperties: false
92
93examples:
94 - |
95 pwm: pwm@1c20e00 {
96 compatible = "allwinner,sun7i-a20-pwm";
97 reg = <0x01c20e00 0xc>;
98 clocks = <&osc24M>;
99 #pwm-cells = <3>;
100 };
101
102 - |
103 #include <dt-bindings/clock/sun50i-h6-ccu.h>
104 #include <dt-bindings/reset/sun50i-h6-ccu.h>
105
106 pwm@300a000 {
107 compatible = "allwinner,sun50i-h6-pwm";
108 reg = <0x0300a000 0x400>;
109 clocks = <&osc24M>, <&ccu CLK_BUS_PWM>;
110 clock-names = "mod", "bus";
111 resets = <&ccu RST_BUS_PWM>;
112 #pwm-cells = <3>;
113 };
114
115...