diff options
author | Maxime Ripard <maxime.ripard@free-electrons.com> | 2016-10-16 12:54:26 -0400 |
---|---|---|
committer | Maxime Ripard <maxime.ripard@free-electrons.com> | 2017-01-23 05:45:36 -0500 |
commit | 6b48644b1d29d78c146bc94814afe01625dd0f0d (patch) | |
tree | 2635dad6a1e4090e1a19485333fa6b009d9c32fe | |
parent | 98a59a0fbf80ec6a00c43fd0c62b8bcfe6e1ac24 (diff) |
ARM: gr8: Convert to CCU
Now that we have a driver for the GR8, we can convert our DT to it.
Acked-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
-rw-r--r-- | arch/arm/boot/dts/sun5i-gr8.dtsi | 520 |
1 files changed, 56 insertions, 464 deletions
diff --git a/arch/arm/boot/dts/sun5i-gr8.dtsi b/arch/arm/boot/dts/sun5i-gr8.dtsi index ea86d4d58db6..5165092deffa 100644 --- a/arch/arm/boot/dts/sun5i-gr8.dtsi +++ b/arch/arm/boot/dts/sun5i-gr8.dtsi | |||
@@ -42,9 +42,10 @@ | |||
42 | * OTHER DEALINGS IN THE SOFTWARE. | 42 | * OTHER DEALINGS IN THE SOFTWARE. |
43 | */ | 43 | */ |
44 | 44 | ||
45 | #include <dt-bindings/clock/sun4i-a10-pll2.h> | 45 | #include <dt-bindings/clock/sun5i-ccu.h> |
46 | #include <dt-bindings/dma/sun4i-a10.h> | 46 | #include <dt-bindings/dma/sun4i-a10.h> |
47 | #include <dt-bindings/pinctrl/sun4i-a10.h> | 47 | #include <dt-bindings/pinctrl/sun4i-a10.h> |
48 | #include <dt-bindings/reset/sun5i-ccu.h> | ||
48 | 49 | ||
49 | / { | 50 | / { |
50 | interrupt-parent = <&intc>; | 51 | interrupt-parent = <&intc>; |
@@ -59,7 +60,7 @@ | |||
59 | device_type = "cpu"; | 60 | device_type = "cpu"; |
60 | compatible = "arm,cortex-a8"; | 61 | compatible = "arm,cortex-a8"; |
61 | reg = <0x0>; | 62 | reg = <0x0>; |
62 | clocks = <&cpu>; | 63 | clocks = <&ccu CLK_CPU>; |
63 | }; | 64 | }; |
64 | }; | 65 | }; |
65 | 66 | ||
@@ -68,419 +69,19 @@ | |||
68 | #size-cells = <1>; | 69 | #size-cells = <1>; |
69 | ranges; | 70 | ranges; |
70 | 71 | ||
71 | /* | ||
72 | * This is a dummy clock, to be used as placeholder on | ||
73 | * other mux clocks when a specific parent clock is not | ||
74 | * yet implemented. It should be dropped when the driver | ||
75 | * is complete. | ||
76 | */ | ||
77 | dummy: dummy { | ||
78 | #clock-cells = <0>; | ||
79 | compatible = "fixed-clock"; | ||
80 | clock-frequency = <0>; | ||
81 | }; | ||
82 | |||
83 | osc24M: clk@01c20050 { | 72 | osc24M: clk@01c20050 { |
84 | #clock-cells = <0>; | 73 | #clock-cells = <0>; |
85 | compatible = "allwinner,sun4i-a10-osc-clk"; | 74 | compatible = "fixed-clock"; |
86 | reg = <0x01c20050 0x4>; | ||
87 | clock-frequency = <24000000>; | 75 | clock-frequency = <24000000>; |
88 | clock-output-names = "osc24M"; | 76 | clock-output-names = "osc24M"; |
89 | }; | 77 | }; |
90 | 78 | ||
91 | osc3M: osc3M-clk { | ||
92 | compatible = "fixed-factor-clock"; | ||
93 | #clock-cells = <0>; | ||
94 | clock-div = <8>; | ||
95 | clock-mult = <1>; | ||
96 | clocks = <&osc24M>; | ||
97 | clock-output-names = "osc3M"; | ||
98 | }; | ||
99 | |||
100 | osc32k: clk@0 { | 79 | osc32k: clk@0 { |
101 | #clock-cells = <0>; | 80 | #clock-cells = <0>; |
102 | compatible = "fixed-clock"; | 81 | compatible = "fixed-clock"; |
103 | clock-frequency = <32768>; | 82 | clock-frequency = <32768>; |
104 | clock-output-names = "osc32k"; | 83 | clock-output-names = "osc32k"; |
105 | }; | 84 | }; |
106 | |||
107 | pll1: clk@01c20000 { | ||
108 | #clock-cells = <0>; | ||
109 | compatible = "allwinner,sun4i-a10-pll1-clk"; | ||
110 | reg = <0x01c20000 0x4>; | ||
111 | clocks = <&osc24M>; | ||
112 | clock-output-names = "pll1"; | ||
113 | }; | ||
114 | |||
115 | pll2: clk@01c20008 { | ||
116 | #clock-cells = <1>; | ||
117 | compatible = "allwinner,sun5i-a13-pll2-clk"; | ||
118 | reg = <0x01c20008 0x8>; | ||
119 | clocks = <&osc24M>; | ||
120 | clock-output-names = "pll2-1x", "pll2-2x", | ||
121 | "pll2-4x", "pll2-8x"; | ||
122 | }; | ||
123 | |||
124 | pll3: clk@01c20010 { | ||
125 | #clock-cells = <0>; | ||
126 | compatible = "allwinner,sun4i-a10-pll3-clk"; | ||
127 | reg = <0x01c20010 0x4>; | ||
128 | clocks = <&osc3M>; | ||
129 | clock-output-names = "pll3"; | ||
130 | }; | ||
131 | |||
132 | pll3x2: pll3x2-clk { | ||
133 | compatible = "allwinner,sun4i-a10-pll3-2x-clk"; | ||
134 | #clock-cells = <0>; | ||
135 | clock-div = <1>; | ||
136 | clock-mult = <2>; | ||
137 | clocks = <&pll3>; | ||
138 | clock-output-names = "pll3-2x"; | ||
139 | }; | ||
140 | |||
141 | pll4: clk@01c20018 { | ||
142 | #clock-cells = <0>; | ||
143 | compatible = "allwinner,sun4i-a10-pll1-clk"; | ||
144 | reg = <0x01c20018 0x4>; | ||
145 | clocks = <&osc24M>; | ||
146 | clock-output-names = "pll4"; | ||
147 | }; | ||
148 | |||
149 | pll5: clk@01c20020 { | ||
150 | #clock-cells = <1>; | ||
151 | compatible = "allwinner,sun4i-a10-pll5-clk"; | ||
152 | reg = <0x01c20020 0x4>; | ||
153 | clocks = <&osc24M>; | ||
154 | clock-output-names = "pll5_ddr", "pll5_other"; | ||
155 | }; | ||
156 | |||
157 | pll6: clk@01c20028 { | ||
158 | #clock-cells = <1>; | ||
159 | compatible = "allwinner,sun4i-a10-pll6-clk"; | ||
160 | reg = <0x01c20028 0x4>; | ||
161 | clocks = <&osc24M>; | ||
162 | clock-output-names = "pll6_sata", "pll6_other", "pll6"; | ||
163 | }; | ||
164 | |||
165 | pll7: clk@01c20030 { | ||
166 | #clock-cells = <0>; | ||
167 | compatible = "allwinner,sun4i-a10-pll3-clk"; | ||
168 | reg = <0x01c20030 0x4>; | ||
169 | clocks = <&osc3M>; | ||
170 | clock-output-names = "pll7"; | ||
171 | }; | ||
172 | |||
173 | pll7x2: pll7x2-clk { | ||
174 | compatible = "allwinner,sun4i-a10-pll3-2x-clk"; | ||
175 | #clock-cells = <0>; | ||
176 | clock-div = <1>; | ||
177 | clock-mult = <2>; | ||
178 | clocks = <&pll7>; | ||
179 | clock-output-names = "pll7-2x"; | ||
180 | }; | ||
181 | |||
182 | /* dummy is 200M */ | ||
183 | cpu: cpu@01c20054 { | ||
184 | #clock-cells = <0>; | ||
185 | compatible = "allwinner,sun4i-a10-cpu-clk"; | ||
186 | reg = <0x01c20054 0x4>; | ||
187 | clocks = <&osc32k>, <&osc24M>, <&pll1>, <&dummy>; | ||
188 | clock-output-names = "cpu"; | ||
189 | }; | ||
190 | |||
191 | axi: axi@01c20054 { | ||
192 | #clock-cells = <0>; | ||
193 | compatible = "allwinner,sun4i-a10-axi-clk"; | ||
194 | reg = <0x01c20054 0x4>; | ||
195 | clocks = <&cpu>; | ||
196 | clock-output-names = "axi"; | ||
197 | }; | ||
198 | |||
199 | ahb: ahb@01c20054 { | ||
200 | #clock-cells = <0>; | ||
201 | compatible = "allwinner,sun5i-a13-ahb-clk"; | ||
202 | reg = <0x01c20054 0x4>; | ||
203 | clocks = <&axi>, <&cpu>, <&pll6 1>; | ||
204 | clock-output-names = "ahb"; | ||
205 | /* | ||
206 | * Use PLL6 as parent, instead of CPU/AXI | ||
207 | * which has rate changes due to cpufreq | ||
208 | */ | ||
209 | assigned-clocks = <&ahb>; | ||
210 | assigned-clock-parents = <&pll6 1>; | ||
211 | }; | ||
212 | |||
213 | apb0: apb0@01c20054 { | ||
214 | #clock-cells = <0>; | ||
215 | compatible = "allwinner,sun4i-a10-apb0-clk"; | ||
216 | reg = <0x01c20054 0x4>; | ||
217 | clocks = <&ahb>; | ||
218 | clock-output-names = "apb0"; | ||
219 | }; | ||
220 | |||
221 | apb1: clk@01c20058 { | ||
222 | #clock-cells = <0>; | ||
223 | compatible = "allwinner,sun4i-a10-apb1-clk"; | ||
224 | reg = <0x01c20058 0x4>; | ||
225 | clocks = <&osc24M>, <&pll6 1>, <&osc32k>; | ||
226 | clock-output-names = "apb1"; | ||
227 | }; | ||
228 | |||
229 | axi_gates: clk@01c2005c { | ||
230 | #clock-cells = <1>; | ||
231 | compatible = "allwinner,sun4i-a10-gates-clk"; | ||
232 | reg = <0x01c2005c 0x4>; | ||
233 | clocks = <&axi>; | ||
234 | clock-indices = <0>; | ||
235 | clock-output-names = "axi_dram"; | ||
236 | }; | ||
237 | |||
238 | ahb_gates: clk@01c20060 { | ||
239 | #clock-cells = <1>; | ||
240 | compatible = "allwinner,sun5i-a13-ahb-gates-clk"; | ||
241 | reg = <0x01c20060 0x8>; | ||
242 | clocks = <&ahb>; | ||
243 | clock-indices = <0>, <1>, | ||
244 | <2>, <5>, <6>, | ||
245 | <7>, <8>, <9>, | ||
246 | <10>, <13>, | ||
247 | <14>, <17>, <20>, | ||
248 | <21>, <22>, | ||
249 | <28>, <32>, <34>, | ||
250 | <36>, <40>, <44>, | ||
251 | <46>, <51>, | ||
252 | <52>; | ||
253 | clock-output-names = "ahb_usbotg", "ahb_ehci", | ||
254 | "ahb_ohci", "ahb_ss", "ahb_dma", | ||
255 | "ahb_bist", "ahb_mmc0", "ahb_mmc1", | ||
256 | "ahb_mmc2", "ahb_nand", | ||
257 | "ahb_sdram", "ahb_emac", "ahb_spi0", | ||
258 | "ahb_spi1", "ahb_spi2", | ||
259 | "ahb_hstimer", "ahb_ve", "ahb_tve", | ||
260 | "ahb_lcd", "ahb_csi", "ahb_de_be", | ||
261 | "ahb_de_fe", "ahb_iep", | ||
262 | "ahb_mali400"; | ||
263 | }; | ||
264 | |||
265 | apb0_gates: clk@01c20068 { | ||
266 | #clock-cells = <1>; | ||
267 | compatible = "allwinner,sun4i-a10-gates-clk"; | ||
268 | reg = <0x01c20068 0x4>; | ||
269 | clocks = <&apb0>; | ||
270 | clock-indices = <0>, <3>, | ||
271 | <5>, <6>; | ||
272 | clock-output-names = "apb0_codec", "apb0_i2s0", | ||
273 | "apb0_pio", "apb0_ir"; | ||
274 | }; | ||
275 | |||
276 | apb1_gates: clk@01c2006c { | ||
277 | #clock-cells = <1>; | ||
278 | compatible = "allwinner,sun4i-a10-gates-clk"; | ||
279 | reg = <0x01c2006c 0x4>; | ||
280 | clocks = <&apb1>; | ||
281 | clock-indices = <0>, <1>, | ||
282 | <2>, <17>, | ||
283 | <18>, <19>; | ||
284 | clock-output-names = "apb1_i2c0", "apb1_i2c1", | ||
285 | "apb1_i2c2", "apb1_uart1", | ||
286 | "apb1_uart2", "apb1_uart3"; | ||
287 | }; | ||
288 | |||
289 | nand_clk: clk@01c20080 { | ||
290 | #clock-cells = <0>; | ||
291 | compatible = "allwinner,sun4i-a10-mod0-clk"; | ||
292 | reg = <0x01c20080 0x4>; | ||
293 | clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; | ||
294 | clock-output-names = "nand"; | ||
295 | }; | ||
296 | |||
297 | ms_clk: clk@01c20084 { | ||
298 | #clock-cells = <0>; | ||
299 | compatible = "allwinner,sun4i-a10-mod0-clk"; | ||
300 | reg = <0x01c20084 0x4>; | ||
301 | clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; | ||
302 | clock-output-names = "ms"; | ||
303 | }; | ||
304 | |||
305 | mmc0_clk: clk@01c20088 { | ||
306 | #clock-cells = <1>; | ||
307 | compatible = "allwinner,sun4i-a10-mmc-clk"; | ||
308 | reg = <0x01c20088 0x4>; | ||
309 | clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; | ||
310 | clock-output-names = "mmc0", | ||
311 | "mmc0_output", | ||
312 | "mmc0_sample"; | ||
313 | }; | ||
314 | |||
315 | mmc1_clk: clk@01c2008c { | ||
316 | #clock-cells = <1>; | ||
317 | compatible = "allwinner,sun4i-a10-mmc-clk"; | ||
318 | reg = <0x01c2008c 0x4>; | ||
319 | clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; | ||
320 | clock-output-names = "mmc1", | ||
321 | "mmc1_output", | ||
322 | "mmc1_sample"; | ||
323 | }; | ||
324 | |||
325 | mmc2_clk: clk@01c20090 { | ||
326 | #clock-cells = <1>; | ||
327 | compatible = "allwinner,sun4i-a10-mmc-clk"; | ||
328 | reg = <0x01c20090 0x4>; | ||
329 | clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; | ||
330 | clock-output-names = "mmc2", | ||
331 | "mmc2_output", | ||
332 | "mmc2_sample"; | ||
333 | }; | ||
334 | |||
335 | ts_clk: clk@01c20098 { | ||
336 | #clock-cells = <0>; | ||
337 | compatible = "allwinner,sun4i-a10-mod0-clk"; | ||
338 | reg = <0x01c20098 0x4>; | ||
339 | clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; | ||
340 | clock-output-names = "ts"; | ||
341 | }; | ||
342 | |||
343 | ss_clk: clk@01c2009c { | ||
344 | #clock-cells = <0>; | ||
345 | compatible = "allwinner,sun4i-a10-mod0-clk"; | ||
346 | reg = <0x01c2009c 0x4>; | ||
347 | clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; | ||
348 | clock-output-names = "ss"; | ||
349 | }; | ||
350 | |||
351 | spi0_clk: clk@01c200a0 { | ||
352 | #clock-cells = <0>; | ||
353 | compatible = "allwinner,sun4i-a10-mod0-clk"; | ||
354 | reg = <0x01c200a0 0x4>; | ||
355 | clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; | ||
356 | clock-output-names = "spi0"; | ||
357 | }; | ||
358 | |||
359 | spi1_clk: clk@01c200a4 { | ||
360 | #clock-cells = <0>; | ||
361 | compatible = "allwinner,sun4i-a10-mod0-clk"; | ||
362 | reg = <0x01c200a4 0x4>; | ||
363 | clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; | ||
364 | clock-output-names = "spi1"; | ||
365 | }; | ||
366 | |||
367 | spi2_clk: clk@01c200a8 { | ||
368 | #clock-cells = <0>; | ||
369 | compatible = "allwinner,sun4i-a10-mod0-clk"; | ||
370 | reg = <0x01c200a8 0x4>; | ||
371 | clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; | ||
372 | clock-output-names = "spi2"; | ||
373 | }; | ||
374 | |||
375 | ir0_clk: clk@01c200b0 { | ||
376 | #clock-cells = <0>; | ||
377 | compatible = "allwinner,sun4i-a10-mod0-clk"; | ||
378 | reg = <0x01c200b0 0x4>; | ||
379 | clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; | ||
380 | clock-output-names = "ir0"; | ||
381 | }; | ||
382 | |||
383 | i2s0_clk: clk@01c200b8 { | ||
384 | #clock-cells = <0>; | ||
385 | compatible = "allwinner,sun4i-a10-mod1-clk"; | ||
386 | reg = <0x01c200b8 0x4>; | ||
387 | clocks = <&pll2 SUN4I_A10_PLL2_8X>, | ||
388 | <&pll2 SUN4I_A10_PLL2_4X>, | ||
389 | <&pll2 SUN4I_A10_PLL2_2X>, | ||
390 | <&pll2 SUN4I_A10_PLL2_1X>; | ||
391 | clock-output-names = "i2s0"; | ||
392 | }; | ||
393 | |||
394 | spdif_clk: clk@01c200c0 { | ||
395 | #clock-cells = <0>; | ||
396 | compatible = "allwinner,sun4i-a10-mod1-clk"; | ||
397 | reg = <0x01c200c0 0x4>; | ||
398 | clocks = <&pll2 SUN4I_A10_PLL2_8X>, | ||
399 | <&pll2 SUN4I_A10_PLL2_4X>, | ||
400 | <&pll2 SUN4I_A10_PLL2_2X>, | ||
401 | <&pll2 SUN4I_A10_PLL2_1X>; | ||
402 | clock-output-names = "spdif"; | ||
403 | }; | ||
404 | |||
405 | usb_clk: clk@01c200cc { | ||
406 | #clock-cells = <1>; | ||
407 | #reset-cells = <1>; | ||
408 | compatible = "allwinner,sun5i-a13-usb-clk"; | ||
409 | reg = <0x01c200cc 0x4>; | ||
410 | clocks = <&pll6 1>; | ||
411 | clock-output-names = "usb_ohci0", "usb_phy"; | ||
412 | }; | ||
413 | |||
414 | dram_gates: clk@01c20100 { | ||
415 | #clock-cells = <1>; | ||
416 | compatible = "nextthing,gr8-dram-gates-clk", | ||
417 | "allwinner,sun4i-a10-gates-clk"; | ||
418 | reg = <0x01c20100 0x4>; | ||
419 | clocks = <&pll5 0>; | ||
420 | clock-indices = <0>, | ||
421 | <1>, | ||
422 | <25>, | ||
423 | <26>, | ||
424 | <29>, | ||
425 | <31>; | ||
426 | clock-output-names = "dram_ve", | ||
427 | "dram_csi", | ||
428 | "dram_de_fe", | ||
429 | "dram_de_be", | ||
430 | "dram_ace", | ||
431 | "dram_iep"; | ||
432 | }; | ||
433 | |||
434 | de_be_clk: clk@01c20104 { | ||
435 | #clock-cells = <0>; | ||
436 | #reset-cells = <0>; | ||
437 | compatible = "allwinner,sun4i-a10-display-clk"; | ||
438 | reg = <0x01c20104 0x4>; | ||
439 | clocks = <&pll3>, <&pll7>, <&pll5 1>; | ||
440 | clock-output-names = "de-be"; | ||
441 | }; | ||
442 | |||
443 | de_fe_clk: clk@01c2010c { | ||
444 | #clock-cells = <0>; | ||
445 | #reset-cells = <0>; | ||
446 | compatible = "allwinner,sun4i-a10-display-clk"; | ||
447 | reg = <0x01c2010c 0x4>; | ||
448 | clocks = <&pll3>, <&pll7>, <&pll5 1>; | ||
449 | clock-output-names = "de-fe"; | ||
450 | }; | ||
451 | |||
452 | tcon_ch0_clk: clk@01c20118 { | ||
453 | #clock-cells = <0>; | ||
454 | #reset-cells = <1>; | ||
455 | compatible = "allwinner,sun4i-a10-tcon-ch0-clk"; | ||
456 | reg = <0x01c20118 0x4>; | ||
457 | clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>; | ||
458 | clock-output-names = "tcon-ch0-sclk"; | ||
459 | }; | ||
460 | |||
461 | tcon_ch1_clk: clk@01c2012c { | ||
462 | #clock-cells = <0>; | ||
463 | compatible = "allwinner,sun4i-a10-tcon-ch1-clk"; | ||
464 | reg = <0x01c2012c 0x4>; | ||
465 | clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>; | ||
466 | clock-output-names = "tcon-ch1-sclk"; | ||
467 | }; | ||
468 | |||
469 | codec_clk: clk@01c20140 { | ||
470 | #clock-cells = <0>; | ||
471 | compatible = "allwinner,sun4i-a10-codec-clk"; | ||
472 | reg = <0x01c20140 0x4>; | ||
473 | clocks = <&pll2 SUN4I_A10_PLL2_1X>; | ||
474 | clock-output-names = "codec"; | ||
475 | }; | ||
476 | |||
477 | mbus_clk: clk@01c2015c { | ||
478 | #clock-cells = <0>; | ||
479 | compatible = "allwinner,sun5i-a13-mbus-clk"; | ||
480 | reg = <0x01c2015c 0x4>; | ||
481 | clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; | ||
482 | clock-output-names = "mbus"; | ||
483 | }; | ||
484 | }; | 85 | }; |
485 | 86 | ||
486 | display-engine { | 87 | display-engine { |
@@ -528,7 +129,7 @@ | |||
528 | compatible = "allwinner,sun4i-a10-dma"; | 129 | compatible = "allwinner,sun4i-a10-dma"; |
529 | reg = <0x01c02000 0x1000>; | 130 | reg = <0x01c02000 0x1000>; |
530 | interrupts = <27>; | 131 | interrupts = <27>; |
531 | clocks = <&ahb_gates 6>; | 132 | clocks = <&ccu CLK_AHB_DMA>; |
532 | #dma-cells = <2>; | 133 | #dma-cells = <2>; |
533 | }; | 134 | }; |
534 | 135 | ||
@@ -536,7 +137,7 @@ | |||
536 | compatible = "allwinner,sun4i-a10-nand"; | 137 | compatible = "allwinner,sun4i-a10-nand"; |
537 | reg = <0x01c03000 0x1000>; | 138 | reg = <0x01c03000 0x1000>; |
538 | interrupts = <37>; | 139 | interrupts = <37>; |
539 | clocks = <&ahb_gates 13>, <&nand_clk>; | 140 | clocks = <&ccu CLK_AHB_NAND>, <&ccu CLK_NAND>; |
540 | clock-names = "ahb", "mod"; | 141 | clock-names = "ahb", "mod"; |
541 | dmas = <&dma SUN4I_DMA_DEDICATED 3>; | 142 | dmas = <&dma SUN4I_DMA_DEDICATED 3>; |
542 | dma-names = "rxtx"; | 143 | dma-names = "rxtx"; |
@@ -549,7 +150,7 @@ | |||
549 | compatible = "allwinner,sun4i-a10-spi"; | 150 | compatible = "allwinner,sun4i-a10-spi"; |
550 | reg = <0x01c05000 0x1000>; | 151 | reg = <0x01c05000 0x1000>; |
551 | interrupts = <10>; | 152 | interrupts = <10>; |
552 | clocks = <&ahb_gates 20>, <&spi0_clk>; | 153 | clocks = <&ccu CLK_AHB_SPI0>, <&ccu CLK_SPI0>; |
553 | clock-names = "ahb", "mod"; | 154 | clock-names = "ahb", "mod"; |
554 | dmas = <&dma SUN4I_DMA_DEDICATED 27>, | 155 | dmas = <&dma SUN4I_DMA_DEDICATED 27>, |
555 | <&dma SUN4I_DMA_DEDICATED 26>; | 156 | <&dma SUN4I_DMA_DEDICATED 26>; |
@@ -563,7 +164,7 @@ | |||
563 | compatible = "allwinner,sun4i-a10-spi"; | 164 | compatible = "allwinner,sun4i-a10-spi"; |
564 | reg = <0x01c06000 0x1000>; | 165 | reg = <0x01c06000 0x1000>; |
565 | interrupts = <11>; | 166 | interrupts = <11>; |
566 | clocks = <&ahb_gates 21>, <&spi1_clk>; | 167 | clocks = <&ccu CLK_AHB_SPI1>, <&ccu CLK_SPI1>; |
567 | clock-names = "ahb", "mod"; | 168 | clock-names = "ahb", "mod"; |
568 | dmas = <&dma SUN4I_DMA_DEDICATED 9>, | 169 | dmas = <&dma SUN4I_DMA_DEDICATED 9>, |
569 | <&dma SUN4I_DMA_DEDICATED 8>; | 170 | <&dma SUN4I_DMA_DEDICATED 8>; |
@@ -576,8 +177,8 @@ | |||
576 | tve0: tv-encoder@01c0a000 { | 177 | tve0: tv-encoder@01c0a000 { |
577 | compatible = "allwinner,sun4i-a10-tv-encoder"; | 178 | compatible = "allwinner,sun4i-a10-tv-encoder"; |
578 | reg = <0x01c0a000 0x1000>; | 179 | reg = <0x01c0a000 0x1000>; |
579 | clocks = <&ahb_gates 34>; | 180 | clocks = <&ccu CLK_AHB_TVE>; |
580 | resets = <&tcon_ch0_clk 0>; | 181 | resets = <&ccu RST_TVE>; |
581 | status = "disabled"; | 182 | status = "disabled"; |
582 | 183 | ||
583 | port { | 184 | port { |
@@ -595,11 +196,11 @@ | |||
595 | compatible = "allwinner,sun5i-a13-tcon"; | 196 | compatible = "allwinner,sun5i-a13-tcon"; |
596 | reg = <0x01c0c000 0x1000>; | 197 | reg = <0x01c0c000 0x1000>; |
597 | interrupts = <44>; | 198 | interrupts = <44>; |
598 | resets = <&tcon_ch0_clk 1>; | 199 | resets = <&ccu RST_LCD>; |
599 | reset-names = "lcd"; | 200 | reset-names = "lcd"; |
600 | clocks = <&ahb_gates 36>, | 201 | clocks = <&ccu CLK_AHB_LCD>, |
601 | <&tcon_ch0_clk>, | 202 | <&ccu CLK_TCON_CH0>, |
602 | <&tcon_ch1_clk>; | 203 | <&ccu CLK_TCON_CH1>; |
603 | clock-names = "ahb", | 204 | clock-names = "ahb", |
604 | "tcon-ch0", | 205 | "tcon-ch0", |
605 | "tcon-ch1"; | 206 | "tcon-ch1"; |
@@ -637,14 +238,8 @@ | |||
637 | mmc0: mmc@01c0f000 { | 238 | mmc0: mmc@01c0f000 { |
638 | compatible = "allwinner,sun5i-a13-mmc"; | 239 | compatible = "allwinner,sun5i-a13-mmc"; |
639 | reg = <0x01c0f000 0x1000>; | 240 | reg = <0x01c0f000 0x1000>; |
640 | clocks = <&ahb_gates 8>, | 241 | clocks = <&ccu CLK_AHB_MMC0>, <&ccu CLK_MMC0>; |
641 | <&mmc0_clk 0>, | 242 | clock-names = "ahb", "mmc"; |
642 | <&mmc0_clk 1>, | ||
643 | <&mmc0_clk 2>; | ||
644 | clock-names = "ahb", | ||
645 | "mmc", | ||
646 | "output", | ||
647 | "sample"; | ||
648 | interrupts = <32>; | 243 | interrupts = <32>; |
649 | status = "disabled"; | 244 | status = "disabled"; |
650 | #address-cells = <1>; | 245 | #address-cells = <1>; |
@@ -654,14 +249,8 @@ | |||
654 | mmc1: mmc@01c10000 { | 249 | mmc1: mmc@01c10000 { |
655 | compatible = "allwinner,sun5i-a13-mmc"; | 250 | compatible = "allwinner,sun5i-a13-mmc"; |
656 | reg = <0x01c10000 0x1000>; | 251 | reg = <0x01c10000 0x1000>; |
657 | clocks = <&ahb_gates 9>, | 252 | clocks = <&ccu CLK_AHB_MMC1>, <&ccu CLK_MMC1>; |
658 | <&mmc1_clk 0>, | 253 | clock-names = "ahb", "mmc"; |
659 | <&mmc1_clk 1>, | ||
660 | <&mmc1_clk 2>; | ||
661 | clock-names = "ahb", | ||
662 | "mmc", | ||
663 | "output", | ||
664 | "sample"; | ||
665 | interrupts = <33>; | 254 | interrupts = <33>; |
666 | status = "disabled"; | 255 | status = "disabled"; |
667 | #address-cells = <1>; | 256 | #address-cells = <1>; |
@@ -671,14 +260,8 @@ | |||
671 | mmc2: mmc@01c11000 { | 260 | mmc2: mmc@01c11000 { |
672 | compatible = "allwinner,sun5i-a13-mmc"; | 261 | compatible = "allwinner,sun5i-a13-mmc"; |
673 | reg = <0x01c11000 0x1000>; | 262 | reg = <0x01c11000 0x1000>; |
674 | clocks = <&ahb_gates 10>, | 263 | clocks = <&ccu CLK_AHB_MMC2>, <&ccu CLK_MMC2>; |
675 | <&mmc2_clk 0>, | 264 | clock-names = "ahb", "mmc"; |
676 | <&mmc2_clk 1>, | ||
677 | <&mmc2_clk 2>; | ||
678 | clock-names = "ahb", | ||
679 | "mmc", | ||
680 | "output", | ||
681 | "sample"; | ||
682 | interrupts = <34>; | 265 | interrupts = <34>; |
683 | status = "disabled"; | 266 | status = "disabled"; |
684 | #address-cells = <1>; | 267 | #address-cells = <1>; |
@@ -688,7 +271,7 @@ | |||
688 | usb_otg: usb@01c13000 { | 271 | usb_otg: usb@01c13000 { |
689 | compatible = "allwinner,sun4i-a10-musb"; | 272 | compatible = "allwinner,sun4i-a10-musb"; |
690 | reg = <0x01c13000 0x0400>; | 273 | reg = <0x01c13000 0x0400>; |
691 | clocks = <&ahb_gates 0>; | 274 | clocks = <&ccu CLK_AHB_OTG>; |
692 | interrupts = <38>; | 275 | interrupts = <38>; |
693 | interrupt-names = "mc"; | 276 | interrupt-names = "mc"; |
694 | phys = <&usbphy 0>; | 277 | phys = <&usbphy 0>; |
@@ -705,9 +288,9 @@ | |||
705 | compatible = "allwinner,sun5i-a13-usb-phy"; | 288 | compatible = "allwinner,sun5i-a13-usb-phy"; |
706 | reg = <0x01c13400 0x10 0x01c14800 0x4>; | 289 | reg = <0x01c13400 0x10 0x01c14800 0x4>; |
707 | reg-names = "phy_ctrl", "pmu1"; | 290 | reg-names = "phy_ctrl", "pmu1"; |
708 | clocks = <&usb_clk 8>; | 291 | clocks = <&ccu CLK_USB_PHY0>; |
709 | clock-names = "usb_phy"; | 292 | clock-names = "usb_phy"; |
710 | resets = <&usb_clk 0>, <&usb_clk 1>; | 293 | resets = <&ccu RST_USB_PHY0>, <&ccu RST_USB_PHY1>; |
711 | reset-names = "usb0_reset", "usb1_reset"; | 294 | reset-names = "usb0_reset", "usb1_reset"; |
712 | status = "disabled"; | 295 | status = "disabled"; |
713 | }; | 296 | }; |
@@ -716,7 +299,7 @@ | |||
716 | compatible = "allwinner,sun5i-a13-ehci", "generic-ehci"; | 299 | compatible = "allwinner,sun5i-a13-ehci", "generic-ehci"; |
717 | reg = <0x01c14000 0x100>; | 300 | reg = <0x01c14000 0x100>; |
718 | interrupts = <39>; | 301 | interrupts = <39>; |
719 | clocks = <&ahb_gates 1>; | 302 | clocks = <&ccu CLK_AHB_EHCI>; |
720 | phys = <&usbphy 1>; | 303 | phys = <&usbphy 1>; |
721 | phy-names = "usb"; | 304 | phy-names = "usb"; |
722 | status = "disabled"; | 305 | status = "disabled"; |
@@ -726,7 +309,7 @@ | |||
726 | compatible = "allwinner,sun5i-a13-ohci", "generic-ohci"; | 309 | compatible = "allwinner,sun5i-a13-ohci", "generic-ohci"; |
727 | reg = <0x01c14400 0x100>; | 310 | reg = <0x01c14400 0x100>; |
728 | interrupts = <40>; | 311 | interrupts = <40>; |
729 | clocks = <&usb_clk 6>, <&ahb_gates 2>; | 312 | clocks = <&ccu CLK_USB_OHCI>, <&ccu CLK_AHB_OHCI>; |
730 | phys = <&usbphy 1>; | 313 | phys = <&usbphy 1>; |
731 | phy-names = "usb"; | 314 | phy-names = "usb"; |
732 | status = "disabled"; | 315 | status = "disabled"; |
@@ -736,7 +319,7 @@ | |||
736 | compatible = "allwinner,sun4i-a10-spi"; | 319 | compatible = "allwinner,sun4i-a10-spi"; |
737 | reg = <0x01c17000 0x1000>; | 320 | reg = <0x01c17000 0x1000>; |
738 | interrupts = <12>; | 321 | interrupts = <12>; |
739 | clocks = <&ahb_gates 22>, <&spi2_clk>; | 322 | clocks = <&ccu CLK_AHB_SPI2>, <&ccu CLK_SPI2>; |
740 | clock-names = "ahb", "mod"; | 323 | clock-names = "ahb", "mod"; |
741 | dmas = <&dma SUN4I_DMA_DEDICATED 29>, | 324 | dmas = <&dma SUN4I_DMA_DEDICATED 29>, |
742 | <&dma SUN4I_DMA_DEDICATED 28>; | 325 | <&dma SUN4I_DMA_DEDICATED 28>; |
@@ -746,6 +329,15 @@ | |||
746 | #size-cells = <0>; | 329 | #size-cells = <0>; |
747 | }; | 330 | }; |
748 | 331 | ||
332 | ccu: clock@01c20000 { | ||
333 | compatible = "nextthing,gr8-ccu"; | ||
334 | reg = <0x01c20000 0x400>; | ||
335 | clocks = <&osc24M>, <&osc32k>; | ||
336 | clock-names = "hosc", "losc"; | ||
337 | #clock-cells = <1>; | ||
338 | #reset-cells = <1>; | ||
339 | }; | ||
340 | |||
749 | intc: interrupt-controller@01c20400 { | 341 | intc: interrupt-controller@01c20400 { |
750 | compatible = "allwinner,sun4i-a10-ic"; | 342 | compatible = "allwinner,sun4i-a10-ic"; |
751 | reg = <0x01c20400 0x400>; | 343 | reg = <0x01c20400 0x400>; |
@@ -757,7 +349,7 @@ | |||
757 | compatible = "nextthing,gr8-pinctrl"; | 349 | compatible = "nextthing,gr8-pinctrl"; |
758 | reg = <0x01c20800 0x400>; | 350 | reg = <0x01c20800 0x400>; |
759 | interrupts = <28>; | 351 | interrupts = <28>; |
760 | clocks = <&apb0_gates 5>; | 352 | clocks = <&ccu CLK_APB0_PIO>; |
761 | gpio-controller; | 353 | gpio-controller; |
762 | interrupt-controller; | 354 | interrupt-controller; |
763 | #interrupt-cells = <3>; | 355 | #interrupt-cells = <3>; |
@@ -914,7 +506,7 @@ | |||
914 | pwm: pwm@01c20e00 { | 506 | pwm: pwm@01c20e00 { |
915 | compatible = "allwinner,sun5i-a10s-pwm"; | 507 | compatible = "allwinner,sun5i-a10s-pwm"; |
916 | reg = <0x01c20e00 0xc>; | 508 | reg = <0x01c20e00 0xc>; |
917 | clocks = <&osc24M>; | 509 | clocks = <&ccu CLK_HOSC>; |
918 | #pwm-cells = <3>; | 510 | #pwm-cells = <3>; |
919 | status = "disabled"; | 511 | status = "disabled"; |
920 | }; | 512 | }; |
@@ -923,7 +515,7 @@ | |||
923 | compatible = "allwinner,sun4i-a10-timer"; | 515 | compatible = "allwinner,sun4i-a10-timer"; |
924 | reg = <0x01c20c00 0x90>; | 516 | reg = <0x01c20c00 0x90>; |
925 | interrupts = <22>; | 517 | interrupts = <22>; |
926 | clocks = <&osc24M>; | 518 | clocks = <&ccu CLK_HOSC>; |
927 | }; | 519 | }; |
928 | 520 | ||
929 | wdt: watchdog@01c20c90 { | 521 | wdt: watchdog@01c20c90 { |
@@ -936,7 +528,7 @@ | |||
936 | compatible = "allwinner,sun4i-a10-spdif"; | 528 | compatible = "allwinner,sun4i-a10-spdif"; |
937 | reg = <0x01c21000 0x400>; | 529 | reg = <0x01c21000 0x400>; |
938 | interrupts = <13>; | 530 | interrupts = <13>; |
939 | clocks = <&apb0_gates 1>, <&spdif_clk>; | 531 | clocks = <&ccu CLK_APB0_SPDIF>, <&ccu CLK_SPDIF>; |
940 | clock-names = "apb", "spdif"; | 532 | clock-names = "apb", "spdif"; |
941 | dmas = <&dma SUN4I_DMA_NORMAL 2>, | 533 | dmas = <&dma SUN4I_DMA_NORMAL 2>, |
942 | <&dma SUN4I_DMA_NORMAL 2>; | 534 | <&dma SUN4I_DMA_NORMAL 2>; |
@@ -946,7 +538,7 @@ | |||
946 | 538 | ||
947 | ir0: ir@01c21800 { | 539 | ir0: ir@01c21800 { |
948 | compatible = "allwinner,sun4i-a10-ir"; | 540 | compatible = "allwinner,sun4i-a10-ir"; |
949 | clocks = <&apb0_gates 6>, <&ir0_clk>; | 541 | clocks = <&ccu CLK_APB0_IR>, <&ccu CLK_IR>; |
950 | clock-names = "apb", "ir"; | 542 | clock-names = "apb", "ir"; |
951 | interrupts = <5>; | 543 | interrupts = <5>; |
952 | reg = <0x01c21800 0x40>; | 544 | reg = <0x01c21800 0x40>; |
@@ -958,7 +550,7 @@ | |||
958 | compatible = "allwinner,sun4i-a10-i2s"; | 550 | compatible = "allwinner,sun4i-a10-i2s"; |
959 | reg = <0x01c22400 0x400>; | 551 | reg = <0x01c22400 0x400>; |
960 | interrupts = <16>; | 552 | interrupts = <16>; |
961 | clocks = <&apb0_gates 3>, <&i2s0_clk>; | 553 | clocks = <&ccu CLK_APB0_I2S>, <&ccu CLK_I2S>; |
962 | clock-names = "apb", "mod"; | 554 | clock-names = "apb", "mod"; |
963 | dmas = <&dma SUN4I_DMA_NORMAL 3>, | 555 | dmas = <&dma SUN4I_DMA_NORMAL 3>, |
964 | <&dma SUN4I_DMA_NORMAL 3>; | 556 | <&dma SUN4I_DMA_NORMAL 3>; |
@@ -978,7 +570,7 @@ | |||
978 | compatible = "allwinner,sun4i-a10-codec"; | 570 | compatible = "allwinner,sun4i-a10-codec"; |
979 | reg = <0x01c22c00 0x40>; | 571 | reg = <0x01c22c00 0x40>; |
980 | interrupts = <30>; | 572 | interrupts = <30>; |
981 | clocks = <&apb0_gates 0>, <&codec_clk>; | 573 | clocks = <&ccu CLK_APB0_CODEC>, <&ccu CLK_CODEC>; |
982 | clock-names = "apb", "codec"; | 574 | clock-names = "apb", "codec"; |
983 | dmas = <&dma SUN4I_DMA_NORMAL 19>, | 575 | dmas = <&dma SUN4I_DMA_NORMAL 19>, |
984 | <&dma SUN4I_DMA_NORMAL 19>; | 576 | <&dma SUN4I_DMA_NORMAL 19>; |
@@ -999,7 +591,7 @@ | |||
999 | interrupts = <2>; | 591 | interrupts = <2>; |
1000 | reg-shift = <2>; | 592 | reg-shift = <2>; |
1001 | reg-io-width = <4>; | 593 | reg-io-width = <4>; |
1002 | clocks = <&apb1_gates 17>; | 594 | clocks = <&ccu CLK_APB1_UART1>; |
1003 | status = "disabled"; | 595 | status = "disabled"; |
1004 | }; | 596 | }; |
1005 | 597 | ||
@@ -1009,7 +601,7 @@ | |||
1009 | interrupts = <3>; | 601 | interrupts = <3>; |
1010 | reg-shift = <2>; | 602 | reg-shift = <2>; |
1011 | reg-io-width = <4>; | 603 | reg-io-width = <4>; |
1012 | clocks = <&apb1_gates 18>; | 604 | clocks = <&ccu CLK_APB1_UART2>; |
1013 | status = "disabled"; | 605 | status = "disabled"; |
1014 | }; | 606 | }; |
1015 | 607 | ||
@@ -1019,7 +611,7 @@ | |||
1019 | interrupts = <4>; | 611 | interrupts = <4>; |
1020 | reg-shift = <2>; | 612 | reg-shift = <2>; |
1021 | reg-io-width = <4>; | 613 | reg-io-width = <4>; |
1022 | clocks = <&apb1_gates 19>; | 614 | clocks = <&ccu CLK_APB1_UART3>; |
1023 | status = "disabled"; | 615 | status = "disabled"; |
1024 | }; | 616 | }; |
1025 | 617 | ||
@@ -1027,7 +619,7 @@ | |||
1027 | compatible = "allwinner,sun4i-a10-i2c"; | 619 | compatible = "allwinner,sun4i-a10-i2c"; |
1028 | reg = <0x01c2ac00 0x400>; | 620 | reg = <0x01c2ac00 0x400>; |
1029 | interrupts = <7>; | 621 | interrupts = <7>; |
1030 | clocks = <&apb1_gates 0>; | 622 | clocks = <&ccu CLK_APB1_I2C0>; |
1031 | status = "disabled"; | 623 | status = "disabled"; |
1032 | #address-cells = <1>; | 624 | #address-cells = <1>; |
1033 | #size-cells = <0>; | 625 | #size-cells = <0>; |
@@ -1037,7 +629,7 @@ | |||
1037 | compatible = "allwinner,sun4i-a10-i2c"; | 629 | compatible = "allwinner,sun4i-a10-i2c"; |
1038 | reg = <0x01c2b000 0x400>; | 630 | reg = <0x01c2b000 0x400>; |
1039 | interrupts = <8>; | 631 | interrupts = <8>; |
1040 | clocks = <&apb1_gates 1>; | 632 | clocks = <&ccu CLK_APB1_I2C1>; |
1041 | status = "disabled"; | 633 | status = "disabled"; |
1042 | #address-cells = <1>; | 634 | #address-cells = <1>; |
1043 | #size-cells = <0>; | 635 | #size-cells = <0>; |
@@ -1047,7 +639,7 @@ | |||
1047 | compatible = "allwinner,sun4i-a10-i2c"; | 639 | compatible = "allwinner,sun4i-a10-i2c"; |
1048 | reg = <0x01c2b400 0x400>; | 640 | reg = <0x01c2b400 0x400>; |
1049 | interrupts = <9>; | 641 | interrupts = <9>; |
1050 | clocks = <&apb1_gates 2>; | 642 | clocks = <&ccu CLK_APB1_I2C2>; |
1051 | status = "disabled"; | 643 | status = "disabled"; |
1052 | #address-cells = <1>; | 644 | #address-cells = <1>; |
1053 | #size-cells = <0>; | 645 | #size-cells = <0>; |
@@ -1057,18 +649,18 @@ | |||
1057 | compatible = "allwinner,sun5i-a13-hstimer"; | 649 | compatible = "allwinner,sun5i-a13-hstimer"; |
1058 | reg = <0x01c60000 0x1000>; | 650 | reg = <0x01c60000 0x1000>; |
1059 | interrupts = <82>, <83>; | 651 | interrupts = <82>, <83>; |
1060 | clocks = <&ahb_gates 28>; | 652 | clocks = <&ccu CLK_AHB_HSTIMER>; |
1061 | }; | 653 | }; |
1062 | 654 | ||
1063 | fe0: display-frontend@01e00000 { | 655 | fe0: display-frontend@01e00000 { |
1064 | compatible = "allwinner,sun5i-a13-display-frontend"; | 656 | compatible = "allwinner,sun5i-a13-display-frontend"; |
1065 | reg = <0x01e00000 0x20000>; | 657 | reg = <0x01e00000 0x20000>; |
1066 | interrupts = <47>; | 658 | interrupts = <47>; |
1067 | clocks = <&ahb_gates 46>, <&de_fe_clk>, | 659 | clocks = <&ccu CLK_AHB_DE_FE>, <&ccu CLK_DE_FE>, |
1068 | <&dram_gates 25>; | 660 | <&ccu CLK_DRAM_DE_FE>; |
1069 | clock-names = "ahb", "mod", | 661 | clock-names = "ahb", "mod", |
1070 | "ram"; | 662 | "ram"; |
1071 | resets = <&de_fe_clk>; | 663 | resets = <&ccu RST_DE_FE>; |
1072 | status = "disabled"; | 664 | status = "disabled"; |
1073 | 665 | ||
1074 | ports { | 666 | ports { |
@@ -1091,14 +683,14 @@ | |||
1091 | be0: display-backend@01e60000 { | 683 | be0: display-backend@01e60000 { |
1092 | compatible = "allwinner,sun5i-a13-display-backend"; | 684 | compatible = "allwinner,sun5i-a13-display-backend"; |
1093 | reg = <0x01e60000 0x10000>; | 685 | reg = <0x01e60000 0x10000>; |
1094 | clocks = <&ahb_gates 44>, <&de_be_clk>, | 686 | clocks = <&ccu CLK_AHB_DE_BE>, <&ccu CLK_DE_BE>, |
1095 | <&dram_gates 26>; | 687 | <&ccu CLK_DRAM_DE_BE>; |
1096 | clock-names = "ahb", "mod", | 688 | clock-names = "ahb", "mod", |
1097 | "ram"; | 689 | "ram"; |
1098 | resets = <&de_be_clk>; | 690 | resets = <&ccu RST_DE_BE>; |
1099 | status = "disabled"; | 691 | status = "disabled"; |
1100 | 692 | ||
1101 | assigned-clocks = <&de_be_clk>; | 693 | assigned-clocks = <&ccu CLK_DE_BE>; |
1102 | assigned-clock-rates = <300000000>; | 694 | assigned-clock-rates = <300000000>; |
1103 | 695 | ||
1104 | ports { | 696 | ports { |