blob: 1690b9d99c3d4fee5f6b007fe1d5b011614e8bd9 [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/clock/allwinner,sun4i-a10-ccu.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Allwinner Clock Control Unit
8
9maintainers:
10 - Chen-Yu Tsai <wens@csie.org>
11 - Maxime Ripard <mripard@kernel.org>
12
13properties:
14 "#clock-cells":
15 const: 1
16
17 "#reset-cells":
18 const: 1
19
20 compatible:
21 enum:
22 - allwinner,sun4i-a10-ccu
23 - allwinner,sun5i-a10s-ccu
24 - allwinner,sun5i-a13-ccu
25 - allwinner,sun6i-a31-ccu
26 - allwinner,sun7i-a20-ccu
27 - allwinner,sun8i-a23-ccu
28 - allwinner,sun8i-a33-ccu
29 - allwinner,sun8i-a83t-ccu
30 - allwinner,sun8i-a83t-r-ccu
31 - allwinner,sun8i-h3-ccu
32 - allwinner,sun8i-h3-r-ccu
33 - allwinner,sun8i-r40-ccu
34 - allwinner,sun8i-v3-ccu
35 - allwinner,sun8i-v3s-ccu
36 - allwinner,sun9i-a80-ccu
37 - allwinner,sun20i-d1-ccu
38 - allwinner,sun20i-d1-r-ccu
39 - allwinner,sun50i-a64-ccu
40 - allwinner,sun50i-a64-r-ccu
41 - allwinner,sun50i-a100-ccu
42 - allwinner,sun50i-a100-r-ccu
43 - allwinner,sun50i-h5-ccu
44 - allwinner,sun50i-h6-ccu
45 - allwinner,sun50i-h6-r-ccu
46 - allwinner,sun50i-h616-ccu
47 - allwinner,sun50i-h616-r-ccu
48 - allwinner,suniv-f1c100s-ccu
49 - nextthing,gr8-ccu
50
51 reg:
52 maxItems: 1
53
54 clocks:
55 minItems: 2
56 items:
57 - description: High Frequency Oscillator (usually at 24MHz)
58 - description: Low Frequency Oscillator (usually at 32kHz)
59 - description: Internal Oscillator
60 - description: Peripherals PLL
61
62 clock-names:
63 minItems: 2
64 items:
65 - const: hosc
66 - const: losc
67 - const: iosc
68 - const: pll-periph
69
70required:
71 - "#clock-cells"
72 - "#reset-cells"
73 - compatible
74 - reg
75 - clocks
76 - clock-names
77
78if:
79 properties:
80 compatible:
81 enum:
82 - allwinner,sun8i-a83t-r-ccu
83 - allwinner,sun8i-h3-r-ccu
84 - allwinner,sun20i-d1-r-ccu
85 - allwinner,sun50i-a64-r-ccu
86 - allwinner,sun50i-a100-r-ccu
87 - allwinner,sun50i-h6-r-ccu
88 - allwinner,sun50i-h616-r-ccu
89
90then:
91 properties:
92 clocks:
93 minItems: 4
94 maxItems: 4
95
96 clock-names:
97 minItems: 4
98 maxItems: 4
99
100else:
101 if:
102 properties:
103 compatible:
104 enum:
105 - allwinner,sun20i-d1-ccu
106 - allwinner,sun50i-a100-ccu
107 - allwinner,sun50i-h6-ccu
108 - allwinner,sun50i-h616-ccu
109
110 then:
111 properties:
112 clocks:
113 minItems: 3
114 maxItems: 3
115
116 clock-names:
117 minItems: 3
118 maxItems: 3
119
120 else:
121 properties:
122 clocks:
123 minItems: 2
124 maxItems: 2
125
126 clock-names:
127 minItems: 2
128 maxItems: 2
129
130additionalProperties: false
131
132examples:
133 - |
134 ccu: clock@1c20000 {
135 compatible = "allwinner,sun8i-h3-ccu";
136 reg = <0x01c20000 0x400>;
137 clocks = <&osc24M>, <&osc32k>;
138 clock-names = "hosc", "losc";
139 #clock-cells = <1>;
140 #reset-cells = <1>;
141 };
142
143 - |
144 r_ccu: clock@1f01400 {
145 compatible = "allwinner,sun50i-a64-r-ccu";
146 reg = <0x01f01400 0x100>;
147 clocks = <&osc24M>, <&osc32k>, <&iosc>, <&ccu 11>;
148 clock-names = "hosc", "losc", "iosc", "pll-periph";
149 #clock-cells = <1>;
150 #reset-cells = <1>;
151 };
152
153...