diff options
author | Maxime Ripard <maxime.ripard@free-electrons.com> | 2016-08-31 08:58:20 -0400 |
---|---|---|
committer | Maxime Ripard <maxime.ripard@free-electrons.com> | 2016-09-10 05:50:41 -0400 |
commit | 2c89ce4f4b19561218c1acb97172bd7ba1a6ddc2 (patch) | |
tree | d4d669ae82d36614ca762f6e6b0c6756193c9460 /arch/arm/boot | |
parent | 78a9f0dbcd6015cdd1114dc7d78554fd5bb28010 (diff) |
ARM: sun8i: Convert the A23 and A33 to the CCU
Now that we have support for the CCU driver in sunxi-ng, convert the A23
and A33 DTs to that driver.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
Diffstat (limited to 'arch/arm/boot')
-rw-r--r-- | arch/arm/boot/dts/sun8i-a23-a33.dtsi | 257 | ||||
-rw-r--r-- | arch/arm/boot/dts/sun8i-a23.dtsi | 51 | ||||
-rw-r--r-- | arch/arm/boot/dts/sun8i-a33.dtsi | 73 |
3 files changed, 75 insertions, 306 deletions
diff --git a/arch/arm/boot/dts/sun8i-a23-a33.dtsi b/arch/arm/boot/dts/sun8i-a23-a33.dtsi index 6d6509c71009..7246663bacdd 100644 --- a/arch/arm/boot/dts/sun8i-a23-a33.dtsi +++ b/arch/arm/boot/dts/sun8i-a23-a33.dtsi | |||
@@ -46,7 +46,9 @@ | |||
46 | 46 | ||
47 | #include <dt-bindings/interrupt-controller/arm-gic.h> | 47 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
48 | 48 | ||
49 | #include <dt-bindings/clock/sun8i-a23-a33-ccu.h> | ||
49 | #include <dt-bindings/pinctrl/sun4i-a10.h> | 50 | #include <dt-bindings/pinctrl/sun4i-a10.h> |
51 | #include <dt-bindings/reset/sun8i-a23-a33-ccu.h> | ||
50 | 52 | ||
51 | / { | 53 | / { |
52 | interrupt-parent = <&gic>; | 54 | interrupt-parent = <&gic>; |
@@ -60,7 +62,9 @@ | |||
60 | compatible = "allwinner,simple-framebuffer", | 62 | compatible = "allwinner,simple-framebuffer", |
61 | "simple-framebuffer"; | 63 | "simple-framebuffer"; |
62 | allwinner,pipeline = "de_be0-lcd0"; | 64 | allwinner,pipeline = "de_be0-lcd0"; |
63 | clocks = <&pll6 0>; | 65 | clocks = <&ccu CLK_BUS_LCD>, <&ccu CLK_BUS_DE_BE>, |
66 | <&ccu CLK_LCD_CH0>, <&ccu CLK_DE_BE>, | ||
67 | <&ccu CLK_DRAM_DE_BE>, <&ccu CLK_DRC>; | ||
64 | status = "disabled"; | 68 | status = "disabled"; |
65 | }; | 69 | }; |
66 | }; | 70 | }; |
@@ -111,151 +115,6 @@ | |||
111 | clock-frequency = <32768>; | 115 | clock-frequency = <32768>; |
112 | clock-output-names = "osc32k"; | 116 | clock-output-names = "osc32k"; |
113 | }; | 117 | }; |
114 | |||
115 | pll1: clk@01c20000 { | ||
116 | #clock-cells = <0>; | ||
117 | compatible = "allwinner,sun8i-a23-pll1-clk"; | ||
118 | reg = <0x01c20000 0x4>; | ||
119 | clocks = <&osc24M>; | ||
120 | clock-output-names = "pll1"; | ||
121 | }; | ||
122 | |||
123 | /* dummy clock until actually implemented */ | ||
124 | pll5: pll5_clk { | ||
125 | #clock-cells = <0>; | ||
126 | compatible = "fixed-clock"; | ||
127 | clock-frequency = <0>; | ||
128 | clock-output-names = "pll5"; | ||
129 | }; | ||
130 | |||
131 | pll6: clk@01c20028 { | ||
132 | #clock-cells = <1>; | ||
133 | compatible = "allwinner,sun6i-a31-pll6-clk"; | ||
134 | reg = <0x01c20028 0x4>; | ||
135 | clocks = <&osc24M>; | ||
136 | clock-output-names = "pll6", "pll6x2"; | ||
137 | }; | ||
138 | |||
139 | cpu: cpu_clk@01c20050 { | ||
140 | #clock-cells = <0>; | ||
141 | compatible = "allwinner,sun4i-a10-cpu-clk"; | ||
142 | reg = <0x01c20050 0x4>; | ||
143 | |||
144 | /* | ||
145 | * PLL1 is listed twice here. | ||
146 | * While it looks suspicious, it's actually documented | ||
147 | * that way both in the datasheet and in the code from | ||
148 | * Allwinner. | ||
149 | */ | ||
150 | clocks = <&osc32k>, <&osc24M>, <&pll1>, <&pll1>; | ||
151 | clock-output-names = "cpu"; | ||
152 | }; | ||
153 | |||
154 | axi: axi_clk@01c20050 { | ||
155 | #clock-cells = <0>; | ||
156 | compatible = "allwinner,sun8i-a23-axi-clk"; | ||
157 | reg = <0x01c20050 0x4>; | ||
158 | clocks = <&cpu>; | ||
159 | clock-output-names = "axi"; | ||
160 | }; | ||
161 | |||
162 | ahb1: ahb1_clk@01c20054 { | ||
163 | #clock-cells = <0>; | ||
164 | compatible = "allwinner,sun6i-a31-ahb1-clk"; | ||
165 | reg = <0x01c20054 0x4>; | ||
166 | clocks = <&osc32k>, <&osc24M>, <&axi>, <&pll6 0>; | ||
167 | clock-output-names = "ahb1"; | ||
168 | }; | ||
169 | |||
170 | apb1: apb1_clk@01c20054 { | ||
171 | #clock-cells = <0>; | ||
172 | compatible = "allwinner,sun4i-a10-apb0-clk"; | ||
173 | reg = <0x01c20054 0x4>; | ||
174 | clocks = <&ahb1>; | ||
175 | clock-output-names = "apb1"; | ||
176 | }; | ||
177 | |||
178 | apb1_gates: clk@01c20068 { | ||
179 | #clock-cells = <1>; | ||
180 | compatible = "allwinner,sun8i-a23-apb1-gates-clk"; | ||
181 | reg = <0x01c20068 0x4>; | ||
182 | clocks = <&apb1>; | ||
183 | clock-indices = <0>, <5>, | ||
184 | <12>, <13>; | ||
185 | clock-output-names = "apb1_codec", "apb1_pio", | ||
186 | "apb1_daudio0", "apb1_daudio1"; | ||
187 | }; | ||
188 | |||
189 | apb2: clk@01c20058 { | ||
190 | #clock-cells = <0>; | ||
191 | compatible = "allwinner,sun4i-a10-apb1-clk"; | ||
192 | reg = <0x01c20058 0x4>; | ||
193 | clocks = <&osc32k>, <&osc24M>, <&pll6 0>, <&pll6 0>; | ||
194 | clock-output-names = "apb2"; | ||
195 | }; | ||
196 | |||
197 | apb2_gates: clk@01c2006c { | ||
198 | #clock-cells = <1>; | ||
199 | compatible = "allwinner,sun8i-a23-apb2-gates-clk"; | ||
200 | reg = <0x01c2006c 0x4>; | ||
201 | clocks = <&apb2>; | ||
202 | clock-indices = <0>, <1>, | ||
203 | <2>, <16>, | ||
204 | <17>, <18>, | ||
205 | <19>, <20>; | ||
206 | clock-output-names = "apb2_i2c0", "apb2_i2c1", | ||
207 | "apb2_i2c2", "apb2_uart0", | ||
208 | "apb2_uart1", "apb2_uart2", | ||
209 | "apb2_uart3", "apb2_uart4"; | ||
210 | }; | ||
211 | |||
212 | mmc0_clk: clk@01c20088 { | ||
213 | #clock-cells = <1>; | ||
214 | compatible = "allwinner,sun4i-a10-mmc-clk"; | ||
215 | reg = <0x01c20088 0x4>; | ||
216 | clocks = <&osc24M>, <&pll6 0>; | ||
217 | clock-output-names = "mmc0", | ||
218 | "mmc0_output", | ||
219 | "mmc0_sample"; | ||
220 | }; | ||
221 | |||
222 | mmc1_clk: clk@01c2008c { | ||
223 | #clock-cells = <1>; | ||
224 | compatible = "allwinner,sun4i-a10-mmc-clk"; | ||
225 | reg = <0x01c2008c 0x4>; | ||
226 | clocks = <&osc24M>, <&pll6 0>; | ||
227 | clock-output-names = "mmc1", | ||
228 | "mmc1_output", | ||
229 | "mmc1_sample"; | ||
230 | }; | ||
231 | |||
232 | mmc2_clk: clk@01c20090 { | ||
233 | #clock-cells = <1>; | ||
234 | compatible = "allwinner,sun4i-a10-mmc-clk"; | ||
235 | reg = <0x01c20090 0x4>; | ||
236 | clocks = <&osc24M>, <&pll6 0>; | ||
237 | clock-output-names = "mmc2", | ||
238 | "mmc2_output", | ||
239 | "mmc2_sample"; | ||
240 | }; | ||
241 | |||
242 | nand_clk: clk@01c20080 { | ||
243 | #clock-cells = <0>; | ||
244 | compatible = "allwinner,sun4i-a10-mod0-clk"; | ||
245 | reg = <0x01c20080 0x4>; | ||
246 | clocks = <&osc24M>, <&pll6 1>; | ||
247 | clock-output-names = "nand"; | ||
248 | }; | ||
249 | |||
250 | usb_clk: clk@01c200cc { | ||
251 | #clock-cells = <1>; | ||
252 | #reset-cells = <1>; | ||
253 | compatible = "allwinner,sun8i-a23-usb-clk"; | ||
254 | reg = <0x01c200cc 0x4>; | ||
255 | clocks = <&osc24M>; | ||
256 | clock-output-names = "usb_phy0", "usb_phy1", "usb_hsic", | ||
257 | "usb_hsic_12M", "usb_ohci0"; | ||
258 | }; | ||
259 | }; | 118 | }; |
260 | 119 | ||
261 | soc@01c00000 { | 120 | soc@01c00000 { |
@@ -268,23 +127,23 @@ | |||
268 | compatible = "allwinner,sun8i-a23-dma"; | 127 | compatible = "allwinner,sun8i-a23-dma"; |
269 | reg = <0x01c02000 0x1000>; | 128 | reg = <0x01c02000 0x1000>; |
270 | interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; | 129 | interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; |
271 | clocks = <&ahb1_gates 6>; | 130 | clocks = <&ccu CLK_BUS_DMA>; |
272 | resets = <&ahb1_rst 6>; | 131 | resets = <&ccu RST_BUS_DMA>; |
273 | #dma-cells = <1>; | 132 | #dma-cells = <1>; |
274 | }; | 133 | }; |
275 | 134 | ||
276 | mmc0: mmc@01c0f000 { | 135 | mmc0: mmc@01c0f000 { |
277 | compatible = "allwinner,sun5i-a13-mmc"; | 136 | compatible = "allwinner,sun5i-a13-mmc"; |
278 | reg = <0x01c0f000 0x1000>; | 137 | reg = <0x01c0f000 0x1000>; |
279 | clocks = <&ahb1_gates 8>, | 138 | clocks = <&ccu CLK_BUS_MMC0>, |
280 | <&mmc0_clk 0>, | 139 | <&ccu CLK_MMC0>, |
281 | <&mmc0_clk 1>, | 140 | <&ccu CLK_MMC0_OUTPUT>, |
282 | <&mmc0_clk 2>; | 141 | <&ccu CLK_MMC0_SAMPLE>; |
283 | clock-names = "ahb", | 142 | clock-names = "ahb", |
284 | "mmc", | 143 | "mmc", |
285 | "output", | 144 | "output", |
286 | "sample"; | 145 | "sample"; |
287 | resets = <&ahb1_rst 8>; | 146 | resets = <&ccu RST_BUS_MMC0>; |
288 | reset-names = "ahb"; | 147 | reset-names = "ahb"; |
289 | interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; | 148 | interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; |
290 | status = "disabled"; | 149 | status = "disabled"; |
@@ -295,15 +154,15 @@ | |||
295 | mmc1: mmc@01c10000 { | 154 | mmc1: mmc@01c10000 { |
296 | compatible = "allwinner,sun5i-a13-mmc"; | 155 | compatible = "allwinner,sun5i-a13-mmc"; |
297 | reg = <0x01c10000 0x1000>; | 156 | reg = <0x01c10000 0x1000>; |
298 | clocks = <&ahb1_gates 9>, | 157 | clocks = <&ccu CLK_BUS_MMC1>, |
299 | <&mmc1_clk 0>, | 158 | <&ccu CLK_MMC1>, |
300 | <&mmc1_clk 1>, | 159 | <&ccu CLK_MMC1_OUTPUT>, |
301 | <&mmc1_clk 2>; | 160 | <&ccu CLK_MMC1_SAMPLE>; |
302 | clock-names = "ahb", | 161 | clock-names = "ahb", |
303 | "mmc", | 162 | "mmc", |
304 | "output", | 163 | "output", |
305 | "sample"; | 164 | "sample"; |
306 | resets = <&ahb1_rst 9>; | 165 | resets = <&ccu RST_BUS_MMC1>; |
307 | reset-names = "ahb"; | 166 | reset-names = "ahb"; |
308 | interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; | 167 | interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; |
309 | status = "disabled"; | 168 | status = "disabled"; |
@@ -314,15 +173,15 @@ | |||
314 | mmc2: mmc@01c11000 { | 173 | mmc2: mmc@01c11000 { |
315 | compatible = "allwinner,sun5i-a13-mmc"; | 174 | compatible = "allwinner,sun5i-a13-mmc"; |
316 | reg = <0x01c11000 0x1000>; | 175 | reg = <0x01c11000 0x1000>; |
317 | clocks = <&ahb1_gates 10>, | 176 | clocks = <&ccu CLK_BUS_MMC2>, |
318 | <&mmc2_clk 0>, | 177 | <&ccu CLK_MMC2>, |
319 | <&mmc2_clk 1>, | 178 | <&ccu CLK_MMC2_OUTPUT>, |
320 | <&mmc2_clk 2>; | 179 | <&ccu CLK_MMC2_SAMPLE>; |
321 | clock-names = "ahb", | 180 | clock-names = "ahb", |
322 | "mmc", | 181 | "mmc", |
323 | "output", | 182 | "output", |
324 | "sample"; | 183 | "sample"; |
325 | resets = <&ahb1_rst 10>; | 184 | resets = <&ccu RST_BUS_MMC2>; |
326 | reset-names = "ahb"; | 185 | reset-names = "ahb"; |
327 | interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; | 186 | interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; |
328 | status = "disabled"; | 187 | status = "disabled"; |
@@ -334,9 +193,9 @@ | |||
334 | compatible = "allwinner,sun4i-a10-nand"; | 193 | compatible = "allwinner,sun4i-a10-nand"; |
335 | reg = <0x01c03000 0x1000>; | 194 | reg = <0x01c03000 0x1000>; |
336 | interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; | 195 | interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; |
337 | clocks = <&ahb1_gates 13>, <&nand_clk>; | 196 | clocks = <&ccu CLK_BUS_NAND>, <&ccu CLK_NAND>; |
338 | clock-names = "ahb", "mod"; | 197 | clock-names = "ahb", "mod"; |
339 | resets = <&ahb1_rst 13>; | 198 | resets = <&ccu RST_BUS_NAND>; |
340 | reset-names = "ahb"; | 199 | reset-names = "ahb"; |
341 | status = "disabled"; | 200 | status = "disabled"; |
342 | #address-cells = <1>; | 201 | #address-cells = <1>; |
@@ -347,8 +206,8 @@ | |||
347 | compatible = "allwinner,sun8i-a23-ehci", "generic-ehci"; | 206 | compatible = "allwinner,sun8i-a23-ehci", "generic-ehci"; |
348 | reg = <0x01c1a000 0x100>; | 207 | reg = <0x01c1a000 0x100>; |
349 | interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; | 208 | interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; |
350 | clocks = <&ahb1_gates 26>; | 209 | clocks = <&ccu CLK_BUS_EHCI>; |
351 | resets = <&ahb1_rst 26>; | 210 | resets = <&ccu RST_BUS_EHCI>; |
352 | phys = <&usbphy 1>; | 211 | phys = <&usbphy 1>; |
353 | phy-names = "usb"; | 212 | phy-names = "usb"; |
354 | status = "disabled"; | 213 | status = "disabled"; |
@@ -358,18 +217,26 @@ | |||
358 | compatible = "allwinner,sun8i-a23-ohci", "generic-ohci"; | 217 | compatible = "allwinner,sun8i-a23-ohci", "generic-ohci"; |
359 | reg = <0x01c1a400 0x100>; | 218 | reg = <0x01c1a400 0x100>; |
360 | interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; | 219 | interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; |
361 | clocks = <&ahb1_gates 29>, <&usb_clk 16>; | 220 | clocks = <&ccu CLK_BUS_OHCI>, <&ccu CLK_USB_OHCI>; |
362 | resets = <&ahb1_rst 29>; | 221 | resets = <&ccu RST_BUS_OHCI>; |
363 | phys = <&usbphy 1>; | 222 | phys = <&usbphy 1>; |
364 | phy-names = "usb"; | 223 | phy-names = "usb"; |
365 | status = "disabled"; | 224 | status = "disabled"; |
366 | }; | 225 | }; |
367 | 226 | ||
227 | ccu: clock@01c20000 { | ||
228 | reg = <0x01c20000 0x400>; | ||
229 | clocks = <&osc24M>, <&osc32k>; | ||
230 | clock-names = "hosc", "losc"; | ||
231 | #clock-cells = <1>; | ||
232 | #reset-cells = <1>; | ||
233 | }; | ||
234 | |||
368 | pio: pinctrl@01c20800 { | 235 | pio: pinctrl@01c20800 { |
369 | /* compatible gets set in SoC specific dtsi file */ | 236 | /* compatible gets set in SoC specific dtsi file */ |
370 | reg = <0x01c20800 0x400>; | 237 | reg = <0x01c20800 0x400>; |
371 | /* interrupts get set in SoC specific dtsi file */ | 238 | /* interrupts get set in SoC specific dtsi file */ |
372 | clocks = <&apb1_gates 5>; | 239 | clocks = <&ccu CLK_BUS_PIO>; |
373 | gpio-controller; | 240 | gpio-controller; |
374 | interrupt-controller; | 241 | interrupt-controller; |
375 | #interrupt-cells = <3>; | 242 | #interrupt-cells = <3>; |
@@ -437,24 +304,6 @@ | |||
437 | }; | 304 | }; |
438 | }; | 305 | }; |
439 | 306 | ||
440 | ahb1_rst: reset@01c202c0 { | ||
441 | #reset-cells = <1>; | ||
442 | compatible = "allwinner,sun6i-a31-clock-reset"; | ||
443 | reg = <0x01c202c0 0xc>; | ||
444 | }; | ||
445 | |||
446 | apb1_rst: reset@01c202d0 { | ||
447 | #reset-cells = <1>; | ||
448 | compatible = "allwinner,sun6i-a31-clock-reset"; | ||
449 | reg = <0x01c202d0 0x4>; | ||
450 | }; | ||
451 | |||
452 | apb2_rst: reset@01c202d8 { | ||
453 | #reset-cells = <1>; | ||
454 | compatible = "allwinner,sun6i-a31-clock-reset"; | ||
455 | reg = <0x01c202d8 0x4>; | ||
456 | }; | ||
457 | |||
458 | timer@01c20c00 { | 307 | timer@01c20c00 { |
459 | compatible = "allwinner,sun4i-a10-timer"; | 308 | compatible = "allwinner,sun4i-a10-timer"; |
460 | reg = <0x01c20c00 0xa0>; | 309 | reg = <0x01c20c00 0xa0>; |
@@ -490,8 +339,8 @@ | |||
490 | interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; | 339 | interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; |
491 | reg-shift = <2>; | 340 | reg-shift = <2>; |
492 | reg-io-width = <4>; | 341 | reg-io-width = <4>; |
493 | clocks = <&apb2_gates 16>; | 342 | clocks = <&ccu CLK_BUS_UART0>; |
494 | resets = <&apb2_rst 16>; | 343 | resets = <&ccu RST_BUS_UART0>; |
495 | dmas = <&dma 6>, <&dma 6>; | 344 | dmas = <&dma 6>, <&dma 6>; |
496 | dma-names = "rx", "tx"; | 345 | dma-names = "rx", "tx"; |
497 | status = "disabled"; | 346 | status = "disabled"; |
@@ -503,8 +352,8 @@ | |||
503 | interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; | 352 | interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; |
504 | reg-shift = <2>; | 353 | reg-shift = <2>; |
505 | reg-io-width = <4>; | 354 | reg-io-width = <4>; |
506 | clocks = <&apb2_gates 17>; | 355 | clocks = <&ccu CLK_BUS_UART1>; |
507 | resets = <&apb2_rst 17>; | 356 | resets = <&ccu RST_BUS_UART1>; |
508 | dmas = <&dma 7>, <&dma 7>; | 357 | dmas = <&dma 7>, <&dma 7>; |
509 | dma-names = "rx", "tx"; | 358 | dma-names = "rx", "tx"; |
510 | status = "disabled"; | 359 | status = "disabled"; |
@@ -516,8 +365,8 @@ | |||
516 | interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; | 365 | interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; |
517 | reg-shift = <2>; | 366 | reg-shift = <2>; |
518 | reg-io-width = <4>; | 367 | reg-io-width = <4>; |
519 | clocks = <&apb2_gates 18>; | 368 | clocks = <&ccu CLK_BUS_UART2>; |
520 | resets = <&apb2_rst 18>; | 369 | resets = <&ccu RST_BUS_UART2>; |
521 | dmas = <&dma 8>, <&dma 8>; | 370 | dmas = <&dma 8>, <&dma 8>; |
522 | dma-names = "rx", "tx"; | 371 | dma-names = "rx", "tx"; |
523 | status = "disabled"; | 372 | status = "disabled"; |
@@ -529,8 +378,8 @@ | |||
529 | interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; | 378 | interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; |
530 | reg-shift = <2>; | 379 | reg-shift = <2>; |
531 | reg-io-width = <4>; | 380 | reg-io-width = <4>; |
532 | clocks = <&apb2_gates 19>; | 381 | clocks = <&ccu CLK_BUS_UART3>; |
533 | resets = <&apb2_rst 19>; | 382 | resets = <&ccu RST_BUS_UART3>; |
534 | dmas = <&dma 9>, <&dma 9>; | 383 | dmas = <&dma 9>, <&dma 9>; |
535 | dma-names = "rx", "tx"; | 384 | dma-names = "rx", "tx"; |
536 | status = "disabled"; | 385 | status = "disabled"; |
@@ -542,8 +391,8 @@ | |||
542 | interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; | 391 | interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; |
543 | reg-shift = <2>; | 392 | reg-shift = <2>; |
544 | reg-io-width = <4>; | 393 | reg-io-width = <4>; |
545 | clocks = <&apb2_gates 20>; | 394 | clocks = <&ccu CLK_BUS_UART4>; |
546 | resets = <&apb2_rst 20>; | 395 | resets = <&ccu RST_BUS_UART4>; |
547 | dmas = <&dma 10>, <&dma 10>; | 396 | dmas = <&dma 10>, <&dma 10>; |
548 | dma-names = "rx", "tx"; | 397 | dma-names = "rx", "tx"; |
549 | status = "disabled"; | 398 | status = "disabled"; |
@@ -553,8 +402,8 @@ | |||
553 | compatible = "allwinner,sun6i-a31-i2c"; | 402 | compatible = "allwinner,sun6i-a31-i2c"; |
554 | reg = <0x01c2ac00 0x400>; | 403 | reg = <0x01c2ac00 0x400>; |
555 | interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; | 404 | interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; |
556 | clocks = <&apb2_gates 0>; | 405 | clocks = <&ccu CLK_BUS_I2C0>; |
557 | resets = <&apb2_rst 0>; | 406 | resets = <&ccu RST_BUS_I2C0>; |
558 | status = "disabled"; | 407 | status = "disabled"; |
559 | #address-cells = <1>; | 408 | #address-cells = <1>; |
560 | #size-cells = <0>; | 409 | #size-cells = <0>; |
@@ -564,8 +413,8 @@ | |||
564 | compatible = "allwinner,sun6i-a31-i2c"; | 413 | compatible = "allwinner,sun6i-a31-i2c"; |
565 | reg = <0x01c2b000 0x400>; | 414 | reg = <0x01c2b000 0x400>; |
566 | interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; | 415 | interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; |
567 | clocks = <&apb2_gates 1>; | 416 | clocks = <&ccu CLK_BUS_I2C1>; |
568 | resets = <&apb2_rst 1>; | 417 | resets = <&ccu RST_BUS_I2C1>; |
569 | status = "disabled"; | 418 | status = "disabled"; |
570 | #address-cells = <1>; | 419 | #address-cells = <1>; |
571 | #size-cells = <0>; | 420 | #size-cells = <0>; |
@@ -575,8 +424,8 @@ | |||
575 | compatible = "allwinner,sun6i-a31-i2c"; | 424 | compatible = "allwinner,sun6i-a31-i2c"; |
576 | reg = <0x01c2b400 0x400>; | 425 | reg = <0x01c2b400 0x400>; |
577 | interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; | 426 | interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; |
578 | clocks = <&apb2_gates 2>; | 427 | clocks = <&ccu CLK_BUS_I2C2>; |
579 | resets = <&apb2_rst 2>; | 428 | resets = <&ccu RST_BUS_I2C2>; |
580 | status = "disabled"; | 429 | status = "disabled"; |
581 | #address-cells = <1>; | 430 | #address-cells = <1>; |
582 | #size-cells = <0>; | 431 | #size-cells = <0>; |
diff --git a/arch/arm/boot/dts/sun8i-a23.dtsi b/arch/arm/boot/dts/sun8i-a23.dtsi index 92e6616979ea..a915feb3a494 100644 --- a/arch/arm/boot/dts/sun8i-a23.dtsi +++ b/arch/arm/boot/dts/sun8i-a23.dtsi | |||
@@ -49,47 +49,12 @@ | |||
49 | reg = <0x40000000 0x40000000>; | 49 | reg = <0x40000000 0x40000000>; |
50 | }; | 50 | }; |
51 | 51 | ||
52 | clocks { | ||
53 | ahb1_gates: clk@01c20060 { | ||
54 | #clock-cells = <1>; | ||
55 | compatible = "allwinner,sun8i-a23-ahb1-gates-clk"; | ||
56 | reg = <0x01c20060 0x8>; | ||
57 | clocks = <&ahb1>; | ||
58 | clock-indices = <1>, <6>, | ||
59 | <8>, <9>, <10>, | ||
60 | <13>, <14>, | ||
61 | <19>, <20>, | ||
62 | <21>, <24>, <26>, | ||
63 | <29>, <32>, <36>, | ||
64 | <40>, <44>, <46>, | ||
65 | <52>, <53>, | ||
66 | <54>, <57>; | ||
67 | clock-output-names = "ahb1_mipidsi", "ahb1_dma", | ||
68 | "ahb1_mmc0", "ahb1_mmc1", "ahb1_mmc2", | ||
69 | "ahb1_nand", "ahb1_sdram", | ||
70 | "ahb1_hstimer", "ahb1_spi0", | ||
71 | "ahb1_spi1", "ahb1_otg", "ahb1_ehci", | ||
72 | "ahb1_ohci", "ahb1_ve", "ahb1_lcd", | ||
73 | "ahb1_csi", "ahb1_be", "ahb1_fe", | ||
74 | "ahb1_gpu", "ahb1_msgbox", | ||
75 | "ahb1_spinlock", "ahb1_drc"; | ||
76 | }; | ||
77 | |||
78 | mbus_clk: clk@01c2015c { | ||
79 | #clock-cells = <0>; | ||
80 | compatible = "allwinner,sun8i-a23-mbus-clk"; | ||
81 | reg = <0x01c2015c 0x4>; | ||
82 | clocks = <&osc24M>, <&pll6 1>, <&pll5>; | ||
83 | clock-output-names = "mbus"; | ||
84 | }; | ||
85 | }; | ||
86 | |||
87 | soc@01c00000 { | 52 | soc@01c00000 { |
88 | usb_otg: usb@01c19000 { | 53 | usb_otg: usb@01c19000 { |
89 | compatible = "allwinner,sun6i-a31-musb"; | 54 | compatible = "allwinner,sun6i-a31-musb"; |
90 | reg = <0x01c19000 0x0400>; | 55 | reg = <0x01c19000 0x0400>; |
91 | clocks = <&ahb1_gates 24>; | 56 | clocks = <&ccu CLK_BUS_OTG>; |
92 | resets = <&ahb1_rst 24>; | 57 | resets = <&ccu RST_BUS_OTG>; |
93 | interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; | 58 | interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; |
94 | interrupt-names = "mc"; | 59 | interrupt-names = "mc"; |
95 | phys = <&usbphy 0>; | 60 | phys = <&usbphy 0>; |
@@ -104,12 +69,12 @@ | |||
104 | <0x01c1a800 0x4>; | 69 | <0x01c1a800 0x4>; |
105 | reg-names = "phy_ctrl", | 70 | reg-names = "phy_ctrl", |
106 | "pmu1"; | 71 | "pmu1"; |
107 | clocks = <&usb_clk 8>, | 72 | clocks = <&ccu CLK_USB_PHY0>, |
108 | <&usb_clk 9>; | 73 | <&ccu CLK_USB_PHY1>; |
109 | clock-names = "usb0_phy", | 74 | clock-names = "usb0_phy", |
110 | "usb1_phy"; | 75 | "usb1_phy"; |
111 | resets = <&usb_clk 0>, | 76 | resets = <&ccu RST_USB_PHY0>, |
112 | <&usb_clk 1>; | 77 | <&ccu RST_USB_PHY1>; |
113 | reset-names = "usb0_reset", | 78 | reset-names = "usb0_reset", |
114 | "usb1_reset"; | 79 | "usb1_reset"; |
115 | status = "disabled"; | 80 | status = "disabled"; |
@@ -118,6 +83,10 @@ | |||
118 | }; | 83 | }; |
119 | }; | 84 | }; |
120 | 85 | ||
86 | &ccu { | ||
87 | compatible = "allwinner,sun8i-a23-ccu"; | ||
88 | }; | ||
89 | |||
121 | &pio { | 90 | &pio { |
122 | compatible = "allwinner,sun8i-a23-pinctrl"; | 91 | compatible = "allwinner,sun8i-a23-pinctrl"; |
123 | interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, | 92 | interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, |
diff --git a/arch/arm/boot/dts/sun8i-a33.dtsi b/arch/arm/boot/dts/sun8i-a33.dtsi index 001d8402ca18..f3d91d2c96ef 100644 --- a/arch/arm/boot/dts/sun8i-a33.dtsi +++ b/arch/arm/boot/dts/sun8i-a33.dtsi | |||
@@ -63,75 +63,22 @@ | |||
63 | reg = <0x40000000 0x80000000>; | 63 | reg = <0x40000000 0x80000000>; |
64 | }; | 64 | }; |
65 | 65 | ||
66 | clocks { | ||
67 | /* Dummy clock for pll11 (DDR1) until actually implemented */ | ||
68 | pll11: pll11_clk { | ||
69 | #clock-cells = <0>; | ||
70 | compatible = "fixed-clock"; | ||
71 | clock-frequency = <0>; | ||
72 | clock-output-names = "pll11"; | ||
73 | }; | ||
74 | |||
75 | ahb1_gates: clk@01c20060 { | ||
76 | #clock-cells = <1>; | ||
77 | compatible = "allwinner,sun8i-a33-ahb1-gates-clk"; | ||
78 | reg = <0x01c20060 0x8>; | ||
79 | clocks = <&ahb1>; | ||
80 | clock-indices = <1>, <5>, | ||
81 | <6>, <8>, <9>, | ||
82 | <10>, <13>, <14>, | ||
83 | <19>, <20>, | ||
84 | <21>, <24>, <26>, | ||
85 | <29>, <32>, <36>, | ||
86 | <40>, <44>, <46>, | ||
87 | <52>, <53>, | ||
88 | <54>, <57>, | ||
89 | <58>; | ||
90 | clock-output-names = "ahb1_mipidsi", "ahb1_ss", | ||
91 | "ahb1_dma","ahb1_mmc0", "ahb1_mmc1", | ||
92 | "ahb1_mmc2", "ahb1_nand", "ahb1_sdram", | ||
93 | "ahb1_hstimer", "ahb1_spi0", | ||
94 | "ahb1_spi1", "ahb1_otg", "ahb1_ehci", | ||
95 | "ahb1_ohci", "ahb1_ve", "ahb1_lcd", | ||
96 | "ahb1_csi", "ahb1_be", "ahb1_fe", | ||
97 | "ahb1_gpu", "ahb1_msgbox", | ||
98 | "ahb1_spinlock", "ahb1_drc", | ||
99 | "ahb1_sat"; | ||
100 | }; | ||
101 | |||
102 | ss_clk: clk@01c2009c { | ||
103 | #clock-cells = <0>; | ||
104 | compatible = "allwinner,sun4i-a10-mod0-clk"; | ||
105 | reg = <0x01c2009c 0x4>; | ||
106 | clocks = <&osc24M>, <&pll6 0>; | ||
107 | clock-output-names = "ss"; | ||
108 | }; | ||
109 | |||
110 | mbus_clk: clk@01c2015c { | ||
111 | #clock-cells = <0>; | ||
112 | compatible = "allwinner,sun8i-a23-mbus-clk"; | ||
113 | reg = <0x01c2015c 0x4>; | ||
114 | clocks = <&osc24M>, <&pll6 1>, <&pll5>, <&pll11>; | ||
115 | clock-output-names = "mbus"; | ||
116 | }; | ||
117 | }; | ||
118 | |||
119 | soc@01c00000 { | 66 | soc@01c00000 { |
120 | crypto: crypto-engine@01c15000 { | 67 | crypto: crypto-engine@01c15000 { |
121 | compatible = "allwinner,sun4i-a10-crypto"; | 68 | compatible = "allwinner,sun4i-a10-crypto"; |
122 | reg = <0x01c15000 0x1000>; | 69 | reg = <0x01c15000 0x1000>; |
123 | interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; | 70 | interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; |
124 | clocks = <&ahb1_gates 5>, <&ss_clk>; | 71 | clocks = <&ccu CLK_BUS_SS>, <&ccu CLK_SS>; |
125 | clock-names = "ahb", "mod"; | 72 | clock-names = "ahb", "mod"; |
126 | resets = <&ahb1_rst 5>; | 73 | resets = <&ccu RST_BUS_SS>; |
127 | reset-names = "ahb"; | 74 | reset-names = "ahb"; |
128 | }; | 75 | }; |
129 | 76 | ||
130 | usb_otg: usb@01c19000 { | 77 | usb_otg: usb@01c19000 { |
131 | compatible = "allwinner,sun8i-a33-musb"; | 78 | compatible = "allwinner,sun8i-a33-musb"; |
132 | reg = <0x01c19000 0x0400>; | 79 | reg = <0x01c19000 0x0400>; |
133 | clocks = <&ahb1_gates 24>; | 80 | clocks = <&ccu CLK_BUS_OTG>; |
134 | resets = <&ahb1_rst 24>; | 81 | resets = <&ccu RST_BUS_OTG>; |
135 | interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; | 82 | interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; |
136 | interrupt-names = "mc"; | 83 | interrupt-names = "mc"; |
137 | phys = <&usbphy 0>; | 84 | phys = <&usbphy 0>; |
@@ -146,12 +93,12 @@ | |||
146 | <0x01c1a800 0x4>; | 93 | <0x01c1a800 0x4>; |
147 | reg-names = "phy_ctrl", | 94 | reg-names = "phy_ctrl", |
148 | "pmu1"; | 95 | "pmu1"; |
149 | clocks = <&usb_clk 8>, | 96 | clocks = <&ccu CLK_USB_PHY0>, |
150 | <&usb_clk 9>; | 97 | <&ccu CLK_USB_PHY1>; |
151 | clock-names = "usb0_phy", | 98 | clock-names = "usb0_phy", |
152 | "usb1_phy"; | 99 | "usb1_phy"; |
153 | resets = <&usb_clk 0>, | 100 | resets = <&ccu RST_USB_PHY0>, |
154 | <&usb_clk 1>; | 101 | <&ccu RST_USB_PHY1>; |
155 | reset-names = "usb0_reset", | 102 | reset-names = "usb0_reset", |
156 | "usb1_reset"; | 103 | "usb1_reset"; |
157 | status = "disabled"; | 104 | status = "disabled"; |
@@ -160,6 +107,10 @@ | |||
160 | }; | 107 | }; |
161 | }; | 108 | }; |
162 | 109 | ||
110 | &ccu { | ||
111 | compatible = "allwinner,sun8i-a33-ccu"; | ||
112 | }; | ||
113 | |||
163 | &pio { | 114 | &pio { |
164 | compatible = "allwinner,sun8i-a33-pinctrl"; | 115 | compatible = "allwinner,sun8i-a33-pinctrl"; |
165 | interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>, | 116 | interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>, |