Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
7title: Allwinner A10 PWM Device Tree Bindings
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 - const: allwinner,sun50i-a64-pwm
29 - const: allwinner,sun5i-a13-pwm
30 - items:
31 - const: allwinner,sun50i-h5-pwm
32 - const: allwinner,sun5i-a13-pwm
33 - const: allwinner,sun50i-h6-pwm
34
35 reg:
36 maxItems: 1
37
38 clocks:
39 minItems: 1
40 maxItems: 2
41 items:
42 - description: Module Clock
43 - description: Bus Clock
44
45 # Even though it only applies to subschemas under the conditionals,
46 # not listing them here will trigger a warning because of the
47 # additionalsProperties set to false.
48 clock-names: true
49
50 resets:
51 maxItems: 1
52
53if:
54 properties:
55 compatible:
56 contains:
57 const: allwinner,sun50i-h6-pwm
58
59then:
60 properties:
61 clocks:
62 maxItems: 2
63
64 clock-names:
65 items:
66 - const: mod
67 - const: bus
68
69 required:
70 - clock-names
71 - resets
72
73else:
74 properties:
75 clocks:
76 maxItems: 1
77
78required:
79 - "#pwm-cells"
80 - compatible
81 - reg
82 - clocks
83
84additionalProperties: false
85
86examples:
87 - |
88 pwm: pwm@1c20e00 {
89 compatible = "allwinner,sun7i-a20-pwm";
90 reg = <0x01c20e00 0xc>;
91 clocks = <&osc24M>;
92 #pwm-cells = <3>;
93 };
94
95 - |
96 #include <dt-bindings/clock/sun50i-h6-ccu.h>
97 #include <dt-bindings/reset/sun50i-h6-ccu.h>
98
99 pwm@300a000 {
100 compatible = "allwinner,sun50i-h6-pwm";
101 reg = <0x0300a000 0x400>;
102 clocks = <&osc24M>, <&ccu CLK_BUS_PWM>;
103 clock-names = "mod", "bus";
104 resets = <&ccu RST_BUS_PWM>;
105 #pwm-cells = <3>;
106 };
107
108...