Commit | Line | Data |
---|---|---|
a0e9e9be VP |
1 | /* |
2 | * Copyright 2014 Chen-Yu Tsai | |
3 | * | |
4 | * Chen-Yu Tsai <wens@csie.org> | |
5 | * | |
6 | * This file is dual-licensed: you can use it either under the terms | |
7 | * of the GPL or the X11 license, at your option. Note that this dual | |
8 | * licensing only applies to this file, and not this project as a | |
9 | * whole. | |
10 | * | |
11 | * a) This file is free software; you can redistribute it and/or | |
12 | * modify it under the terms of the GNU General Public License as | |
13 | * published by the Free Software Foundation; either version 2 of the | |
14 | * License, or (at your option) any later version. | |
15 | * | |
16 | * This file is distributed in the hope that it will be useful, | |
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
19 | * GNU General Public License for more details. | |
20 | * | |
21 | * Or, alternatively, | |
22 | * | |
23 | * b) Permission is hereby granted, free of charge, to any person | |
24 | * obtaining a copy of this software and associated documentation | |
25 | * files (the "Software"), to deal in the Software without | |
26 | * restriction, including without limitation the rights to use, | |
27 | * copy, modify, merge, publish, distribute, sublicense, and/or | |
28 | * sell copies of the Software, and to permit persons to whom the | |
29 | * Software is furnished to do so, subject to the following | |
30 | * conditions: | |
31 | * | |
32 | * The above copyright notice and this permission notice shall be | |
33 | * included in all copies or substantial portions of the Software. | |
34 | * | |
35 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | |
36 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | |
37 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | |
38 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | |
39 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | |
40 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | |
41 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | |
42 | * OTHER DEALINGS IN THE SOFTWARE. | |
43 | */ | |
44 | ||
45 | #include "skeleton.dtsi" | |
46 | ||
47 | #include <dt-bindings/interrupt-controller/arm-gic.h> | |
48 | ||
2c89ce4f | 49 | #include <dt-bindings/clock/sun8i-a23-a33-ccu.h> |
a0e9e9be | 50 | #include <dt-bindings/pinctrl/sun4i-a10.h> |
2c89ce4f | 51 | #include <dt-bindings/reset/sun8i-a23-a33-ccu.h> |
a0e9e9be VP |
52 | |
53 | / { | |
54 | interrupt-parent = <&gic>; | |
55 | ||
56 | chosen { | |
57 | #address-cells = <1>; | |
58 | #size-cells = <1>; | |
59 | ranges; | |
60 | ||
aea4c395 | 61 | simplefb_lcd: framebuffer@0 { |
a0e9e9be VP |
62 | compatible = "allwinner,simple-framebuffer", |
63 | "simple-framebuffer"; | |
64 | allwinner,pipeline = "de_be0-lcd0"; | |
2c89ce4f MR |
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>; | |
a0e9e9be VP |
68 | status = "disabled"; |
69 | }; | |
70 | }; | |
71 | ||
72 | timer { | |
73 | compatible = "arm,armv7-timer"; | |
74 | interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, | |
75 | <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, | |
76 | <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, | |
77 | <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; | |
78 | clock-frequency = <24000000>; | |
79 | arm,cpu-registers-not-fw-configured; | |
80 | }; | |
81 | ||
82 | cpus { | |
83 | enable-method = "allwinner,sun8i-a23"; | |
84 | #address-cells = <1>; | |
85 | #size-cells = <0>; | |
86 | ||
87 | cpu@0 { | |
88 | compatible = "arm,cortex-a7"; | |
89 | device_type = "cpu"; | |
90 | reg = <0>; | |
91 | }; | |
92 | ||
93 | cpu@1 { | |
94 | compatible = "arm,cortex-a7"; | |
95 | device_type = "cpu"; | |
96 | reg = <1>; | |
97 | }; | |
98 | }; | |
99 | ||
100 | clocks { | |
101 | #address-cells = <1>; | |
102 | #size-cells = <1>; | |
103 | ranges; | |
104 | ||
105 | osc24M: osc24M_clk { | |
106 | #clock-cells = <0>; | |
107 | compatible = "fixed-clock"; | |
108 | clock-frequency = <24000000>; | |
109 | clock-output-names = "osc24M"; | |
110 | }; | |
111 | ||
112 | osc32k: osc32k_clk { | |
113 | #clock-cells = <0>; | |
114 | compatible = "fixed-clock"; | |
115 | clock-frequency = <32768>; | |
116 | clock-output-names = "osc32k"; | |
117 | }; | |
a0e9e9be VP |
118 | }; |
119 | ||
120 | soc@01c00000 { | |
121 | compatible = "simple-bus"; | |
122 | #address-cells = <1>; | |
123 | #size-cells = <1>; | |
124 | ranges; | |
125 | ||
126 | dma: dma-controller@01c02000 { | |
127 | compatible = "allwinner,sun8i-a23-dma"; | |
128 | reg = <0x01c02000 0x1000>; | |
129 | interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; | |
2c89ce4f MR |
130 | clocks = <&ccu CLK_BUS_DMA>; |
131 | resets = <&ccu RST_BUS_DMA>; | |
a0e9e9be VP |
132 | #dma-cells = <1>; |
133 | }; | |
134 | ||
135 | mmc0: mmc@01c0f000 { | |
32ecb385 | 136 | compatible = "allwinner,sun7i-a20-mmc"; |
a0e9e9be | 137 | reg = <0x01c0f000 0x1000>; |
2c89ce4f MR |
138 | clocks = <&ccu CLK_BUS_MMC0>, |
139 | <&ccu CLK_MMC0>, | |
140 | <&ccu CLK_MMC0_OUTPUT>, | |
141 | <&ccu CLK_MMC0_SAMPLE>; | |
a0e9e9be VP |
142 | clock-names = "ahb", |
143 | "mmc", | |
144 | "output", | |
145 | "sample"; | |
2c89ce4f | 146 | resets = <&ccu RST_BUS_MMC0>; |
a0e9e9be VP |
147 | reset-names = "ahb"; |
148 | interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; | |
149 | status = "disabled"; | |
150 | #address-cells = <1>; | |
151 | #size-cells = <0>; | |
152 | }; | |
153 | ||
154 | mmc1: mmc@01c10000 { | |
32ecb385 | 155 | compatible = "allwinner,sun7i-a20-mmc"; |
a0e9e9be | 156 | reg = <0x01c10000 0x1000>; |
2c89ce4f MR |
157 | clocks = <&ccu CLK_BUS_MMC1>, |
158 | <&ccu CLK_MMC1>, | |
159 | <&ccu CLK_MMC1_OUTPUT>, | |
160 | <&ccu CLK_MMC1_SAMPLE>; | |
a0e9e9be VP |
161 | clock-names = "ahb", |
162 | "mmc", | |
163 | "output", | |
164 | "sample"; | |
2c89ce4f | 165 | resets = <&ccu RST_BUS_MMC1>; |
a0e9e9be VP |
166 | reset-names = "ahb"; |
167 | interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; | |
168 | status = "disabled"; | |
169 | #address-cells = <1>; | |
170 | #size-cells = <0>; | |
171 | }; | |
172 | ||
173 | mmc2: mmc@01c11000 { | |
32ecb385 | 174 | compatible = "allwinner,sun7i-a20-mmc"; |
a0e9e9be | 175 | reg = <0x01c11000 0x1000>; |
2c89ce4f MR |
176 | clocks = <&ccu CLK_BUS_MMC2>, |
177 | <&ccu CLK_MMC2>, | |
178 | <&ccu CLK_MMC2_OUTPUT>, | |
179 | <&ccu CLK_MMC2_SAMPLE>; | |
a0e9e9be VP |
180 | clock-names = "ahb", |
181 | "mmc", | |
182 | "output", | |
183 | "sample"; | |
2c89ce4f | 184 | resets = <&ccu RST_BUS_MMC2>; |
a0e9e9be VP |
185 | reset-names = "ahb"; |
186 | interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; | |
187 | status = "disabled"; | |
188 | #address-cells = <1>; | |
189 | #size-cells = <0>; | |
190 | }; | |
191 | ||
d7b843df IZ |
192 | nfc: nand@01c03000 { |
193 | compatible = "allwinner,sun4i-a10-nand"; | |
194 | reg = <0x01c03000 0x1000>; | |
195 | interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; | |
2c89ce4f | 196 | clocks = <&ccu CLK_BUS_NAND>, <&ccu CLK_NAND>; |
d7b843df | 197 | clock-names = "ahb", "mod"; |
2c89ce4f | 198 | resets = <&ccu RST_BUS_NAND>; |
d7b843df IZ |
199 | reset-names = "ahb"; |
200 | status = "disabled"; | |
201 | #address-cells = <1>; | |
202 | #size-cells = <0>; | |
203 | }; | |
204 | ||
bd33544e CYT |
205 | usb_otg: usb@01c19000 { |
206 | /* compatible gets set in SoC specific dtsi file */ | |
207 | reg = <0x01c19000 0x0400>; | |
208 | clocks = <&ccu CLK_BUS_OTG>; | |
209 | resets = <&ccu RST_BUS_OTG>; | |
210 | interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; | |
211 | interrupt-names = "mc"; | |
212 | phys = <&usbphy 0>; | |
213 | phy-names = "usb"; | |
214 | extcon = <&usbphy 0>; | |
215 | status = "disabled"; | |
216 | }; | |
217 | ||
218 | usbphy: phy@01c19400 { | |
219 | /* | |
220 | * compatible and address regions get set in | |
221 | * SoC specific dtsi file | |
222 | */ | |
223 | clocks = <&ccu CLK_USB_PHY0>, | |
224 | <&ccu CLK_USB_PHY1>; | |
225 | clock-names = "usb0_phy", | |
226 | "usb1_phy"; | |
227 | resets = <&ccu RST_USB_PHY0>, | |
228 | <&ccu RST_USB_PHY1>; | |
229 | reset-names = "usb0_reset", | |
230 | "usb1_reset"; | |
231 | status = "disabled"; | |
232 | #phy-cells = <1>; | |
233 | }; | |
234 | ||
e385c09c CYT |
235 | ehci0: usb@01c1a000 { |
236 | compatible = "allwinner,sun8i-a23-ehci", "generic-ehci"; | |
237 | reg = <0x01c1a000 0x100>; | |
238 | interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; | |
2c89ce4f MR |
239 | clocks = <&ccu CLK_BUS_EHCI>; |
240 | resets = <&ccu RST_BUS_EHCI>; | |
e385c09c CYT |
241 | phys = <&usbphy 1>; |
242 | phy-names = "usb"; | |
243 | status = "disabled"; | |
244 | }; | |
245 | ||
246 | ohci0: usb@01c1a400 { | |
247 | compatible = "allwinner,sun8i-a23-ohci", "generic-ohci"; | |
248 | reg = <0x01c1a400 0x100>; | |
249 | interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; | |
2c89ce4f MR |
250 | clocks = <&ccu CLK_BUS_OHCI>, <&ccu CLK_USB_OHCI>; |
251 | resets = <&ccu RST_BUS_OHCI>; | |
e385c09c CYT |
252 | phys = <&usbphy 1>; |
253 | phy-names = "usb"; | |
254 | status = "disabled"; | |
255 | }; | |
256 | ||
2c89ce4f MR |
257 | ccu: clock@01c20000 { |
258 | reg = <0x01c20000 0x400>; | |
259 | clocks = <&osc24M>, <&osc32k>; | |
260 | clock-names = "hosc", "losc"; | |
261 | #clock-cells = <1>; | |
262 | #reset-cells = <1>; | |
263 | }; | |
264 | ||
a0e9e9be VP |
265 | pio: pinctrl@01c20800 { |
266 | /* compatible gets set in SoC specific dtsi file */ | |
267 | reg = <0x01c20800 0x400>; | |
268 | /* interrupts get set in SoC specific dtsi file */ | |
2c89ce4f | 269 | clocks = <&ccu CLK_BUS_PIO>; |
a0e9e9be VP |
270 | gpio-controller; |
271 | interrupt-controller; | |
b03e0816 | 272 | #interrupt-cells = <3>; |
a0e9e9be VP |
273 | #gpio-cells = <3>; |
274 | ||
275 | uart0_pins_a: uart0@0 { | |
276 | allwinner,pins = "PF2", "PF4"; | |
277 | allwinner,function = "uart0"; | |
278 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
279 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
280 | }; | |
281 | ||
282 | mmc0_pins_a: mmc0@0 { | |
283 | allwinner,pins = "PF0", "PF1", "PF2", | |
284 | "PF3", "PF4", "PF5"; | |
285 | allwinner,function = "mmc0"; | |
286 | allwinner,drive = <SUN4I_PINCTRL_30_MA>; | |
287 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
288 | }; | |
289 | ||
290 | mmc1_pins_a: mmc1@0 { | |
291 | allwinner,pins = "PG0", "PG1", "PG2", | |
292 | "PG3", "PG4", "PG5"; | |
293 | allwinner,function = "mmc1"; | |
294 | allwinner,drive = <SUN4I_PINCTRL_30_MA>; | |
295 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
296 | }; | |
297 | ||
93b129d6 CYT |
298 | mmc2_8bit_pins: mmc2_8bit { |
299 | allwinner,pins = "PC5", "PC6", "PC8", | |
300 | "PC9", "PC10", "PC11", | |
301 | "PC12", "PC13", "PC14", | |
3b5d8dce | 302 | "PC15", "PC16"; |
93b129d6 CYT |
303 | allwinner,function = "mmc2"; |
304 | allwinner,drive = <SUN4I_PINCTRL_30_MA>; | |
305 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
306 | }; | |
307 | ||
29a0d085 CYT |
308 | pwm0_pins: pwm0 { |
309 | allwinner,pins = "PH0"; | |
310 | allwinner,function = "pwm0"; | |
311 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
312 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
313 | }; | |
314 | ||
a0e9e9be VP |
315 | i2c0_pins_a: i2c0@0 { |
316 | allwinner,pins = "PH2", "PH3"; | |
317 | allwinner,function = "i2c0"; | |
318 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
319 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
320 | }; | |
321 | ||
322 | i2c1_pins_a: i2c1@0 { | |
323 | allwinner,pins = "PH4", "PH5"; | |
324 | allwinner,function = "i2c1"; | |
325 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
326 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
327 | }; | |
328 | ||
329 | i2c2_pins_a: i2c2@0 { | |
330 | allwinner,pins = "PE12", "PE13"; | |
331 | allwinner,function = "i2c2"; | |
332 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
333 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
334 | }; | |
3353bedc MR |
335 | |
336 | lcd_rgb666_pins: lcd-rgb666@0 { | |
337 | allwinner,pins = "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", | |
338 | "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", | |
339 | "PD18", "PD19", "PD20", "PD21", "PD22", "PD23", | |
340 | "PD24", "PD25", "PD26", "PD27"; | |
341 | allwinner,function = "lcd0"; | |
342 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
343 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
344 | }; | |
a0e9e9be VP |
345 | }; |
346 | ||
a0e9e9be VP |
347 | timer@01c20c00 { |
348 | compatible = "allwinner,sun4i-a10-timer"; | |
349 | reg = <0x01c20c00 0xa0>; | |
350 | interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, | |
351 | <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; | |
352 | clocks = <&osc24M>; | |
353 | }; | |
354 | ||
355 | wdt0: watchdog@01c20ca0 { | |
356 | compatible = "allwinner,sun6i-a31-wdt"; | |
357 | reg = <0x01c20ca0 0x20>; | |
358 | interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; | |
359 | }; | |
360 | ||
832f977c CYT |
361 | pwm: pwm@01c21400 { |
362 | compatible = "allwinner,sun7i-a20-pwm"; | |
363 | reg = <0x01c21400 0xc>; | |
364 | clocks = <&osc24M>; | |
365 | #pwm-cells = <3>; | |
366 | status = "disabled"; | |
367 | }; | |
368 | ||
a0e9e9be VP |
369 | lradc: lradc@01c22800 { |
370 | compatible = "allwinner,sun4i-a10-lradc-keys"; | |
371 | reg = <0x01c22800 0x100>; | |
372 | interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; | |
373 | status = "disabled"; | |
374 | }; | |
375 | ||
376 | uart0: serial@01c28000 { | |
377 | compatible = "snps,dw-apb-uart"; | |
378 | reg = <0x01c28000 0x400>; | |
379 | interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; | |
380 | reg-shift = <2>; | |
381 | reg-io-width = <4>; | |
2c89ce4f MR |
382 | clocks = <&ccu CLK_BUS_UART0>; |
383 | resets = <&ccu RST_BUS_UART0>; | |
a0e9e9be VP |
384 | dmas = <&dma 6>, <&dma 6>; |
385 | dma-names = "rx", "tx"; | |
386 | status = "disabled"; | |
387 | }; | |
388 | ||
389 | uart1: serial@01c28400 { | |
390 | compatible = "snps,dw-apb-uart"; | |
391 | reg = <0x01c28400 0x400>; | |
392 | interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; | |
393 | reg-shift = <2>; | |
394 | reg-io-width = <4>; | |
2c89ce4f MR |
395 | clocks = <&ccu CLK_BUS_UART1>; |
396 | resets = <&ccu RST_BUS_UART1>; | |
a0e9e9be VP |
397 | dmas = <&dma 7>, <&dma 7>; |
398 | dma-names = "rx", "tx"; | |
399 | status = "disabled"; | |
400 | }; | |
401 | ||
402 | uart2: serial@01c28800 { | |
403 | compatible = "snps,dw-apb-uart"; | |
404 | reg = <0x01c28800 0x400>; | |
405 | interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; | |
406 | reg-shift = <2>; | |
407 | reg-io-width = <4>; | |
2c89ce4f MR |
408 | clocks = <&ccu CLK_BUS_UART2>; |
409 | resets = <&ccu RST_BUS_UART2>; | |
a0e9e9be VP |
410 | dmas = <&dma 8>, <&dma 8>; |
411 | dma-names = "rx", "tx"; | |
412 | status = "disabled"; | |
413 | }; | |
414 | ||
415 | uart3: serial@01c28c00 { | |
416 | compatible = "snps,dw-apb-uart"; | |
417 | reg = <0x01c28c00 0x400>; | |
418 | interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; | |
419 | reg-shift = <2>; | |
420 | reg-io-width = <4>; | |
2c89ce4f MR |
421 | clocks = <&ccu CLK_BUS_UART3>; |
422 | resets = <&ccu RST_BUS_UART3>; | |
a0e9e9be VP |
423 | dmas = <&dma 9>, <&dma 9>; |
424 | dma-names = "rx", "tx"; | |
425 | status = "disabled"; | |
426 | }; | |
427 | ||
428 | uart4: serial@01c29000 { | |
429 | compatible = "snps,dw-apb-uart"; | |
430 | reg = <0x01c29000 0x400>; | |
431 | interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; | |
432 | reg-shift = <2>; | |
433 | reg-io-width = <4>; | |
2c89ce4f MR |
434 | clocks = <&ccu CLK_BUS_UART4>; |
435 | resets = <&ccu RST_BUS_UART4>; | |
a0e9e9be VP |
436 | dmas = <&dma 10>, <&dma 10>; |
437 | dma-names = "rx", "tx"; | |
438 | status = "disabled"; | |
439 | }; | |
440 | ||
441 | i2c0: i2c@01c2ac00 { | |
442 | compatible = "allwinner,sun6i-a31-i2c"; | |
443 | reg = <0x01c2ac00 0x400>; | |
444 | interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; | |
2c89ce4f MR |
445 | clocks = <&ccu CLK_BUS_I2C0>; |
446 | resets = <&ccu RST_BUS_I2C0>; | |
a0e9e9be VP |
447 | status = "disabled"; |
448 | #address-cells = <1>; | |
449 | #size-cells = <0>; | |
450 | }; | |
451 | ||
452 | i2c1: i2c@01c2b000 { | |
453 | compatible = "allwinner,sun6i-a31-i2c"; | |
454 | reg = <0x01c2b000 0x400>; | |
455 | interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; | |
2c89ce4f MR |
456 | clocks = <&ccu CLK_BUS_I2C1>; |
457 | resets = <&ccu RST_BUS_I2C1>; | |
a0e9e9be VP |
458 | status = "disabled"; |
459 | #address-cells = <1>; | |
460 | #size-cells = <0>; | |
461 | }; | |
462 | ||
463 | i2c2: i2c@01c2b400 { | |
464 | compatible = "allwinner,sun6i-a31-i2c"; | |
465 | reg = <0x01c2b400 0x400>; | |
466 | interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; | |
2c89ce4f MR |
467 | clocks = <&ccu CLK_BUS_I2C2>; |
468 | resets = <&ccu RST_BUS_I2C2>; | |
a0e9e9be VP |
469 | status = "disabled"; |
470 | #address-cells = <1>; | |
471 | #size-cells = <0>; | |
472 | }; | |
473 | ||
474 | gic: interrupt-controller@01c81000 { | |
475 | compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic"; | |
476 | reg = <0x01c81000 0x1000>, | |
477 | <0x01c82000 0x1000>, | |
478 | <0x01c84000 0x2000>, | |
479 | <0x01c86000 0x2000>; | |
480 | interrupt-controller; | |
481 | #interrupt-cells = <3>; | |
482 | interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; | |
483 | }; | |
484 | ||
485 | rtc: rtc@01f00000 { | |
486 | compatible = "allwinner,sun6i-a31-rtc"; | |
487 | reg = <0x01f00000 0x54>; | |
488 | interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, | |
489 | <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; | |
490 | }; | |
491 | ||
6c067963 CYT |
492 | nmi_intc: interrupt-controller@01f00c0c { |
493 | compatible = "allwinner,sun6i-a31-sc-nmi"; | |
494 | interrupt-controller; | |
495 | #interrupt-cells = <2>; | |
496 | reg = <0x01f00c0c 0x38>; | |
497 | interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; | |
498 | }; | |
499 | ||
a0e9e9be VP |
500 | prcm@01f01400 { |
501 | compatible = "allwinner,sun8i-a23-prcm"; | |
502 | reg = <0x01f01400 0x200>; | |
503 | ||
504 | ar100: ar100_clk { | |
505 | compatible = "fixed-factor-clock"; | |
506 | #clock-cells = <0>; | |
507 | clock-div = <1>; | |
508 | clock-mult = <1>; | |
509 | clocks = <&osc24M>; | |
510 | clock-output-names = "ar100"; | |
511 | }; | |
512 | ||
513 | ahb0: ahb0_clk { | |
514 | compatible = "fixed-factor-clock"; | |
515 | #clock-cells = <0>; | |
516 | clock-div = <1>; | |
517 | clock-mult = <1>; | |
518 | clocks = <&ar100>; | |
519 | clock-output-names = "ahb0"; | |
520 | }; | |
521 | ||
522 | apb0: apb0_clk { | |
523 | compatible = "allwinner,sun8i-a23-apb0-clk"; | |
524 | #clock-cells = <0>; | |
525 | clocks = <&ahb0>; | |
526 | clock-output-names = "apb0"; | |
527 | }; | |
528 | ||
529 | apb0_gates: apb0_gates_clk { | |
530 | compatible = "allwinner,sun8i-a23-apb0-gates-clk"; | |
531 | #clock-cells = <1>; | |
532 | clocks = <&apb0>; | |
533 | clock-output-names = "apb0_pio", "apb0_timer", | |
534 | "apb0_rsb", "apb0_uart", | |
535 | "apb0_i2c"; | |
536 | }; | |
537 | ||
538 | apb0_rst: apb0_rst { | |
539 | compatible = "allwinner,sun6i-a31-clock-reset"; | |
540 | #reset-cells = <1>; | |
541 | }; | |
542 | }; | |
543 | ||
544 | cpucfg@01f01c00 { | |
545 | compatible = "allwinner,sun8i-a23-cpuconfig"; | |
546 | reg = <0x01f01c00 0x300>; | |
547 | }; | |
548 | ||
549 | r_uart: serial@01f02800 { | |
550 | compatible = "snps,dw-apb-uart"; | |
551 | reg = <0x01f02800 0x400>; | |
552 | interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; | |
553 | reg-shift = <2>; | |
554 | reg-io-width = <4>; | |
555 | clocks = <&apb0_gates 4>; | |
556 | resets = <&apb0_rst 4>; | |
557 | status = "disabled"; | |
558 | }; | |
559 | ||
560 | r_pio: pinctrl@01f02c00 { | |
561 | compatible = "allwinner,sun8i-a23-r-pinctrl"; | |
562 | reg = <0x01f02c00 0x400>; | |
563 | interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; | |
564 | clocks = <&apb0_gates 0>; | |
565 | resets = <&apb0_rst 0>; | |
566 | gpio-controller; | |
567 | interrupt-controller; | |
6d55d339 | 568 | #interrupt-cells = <3>; |
a0e9e9be VP |
569 | #address-cells = <1>; |
570 | #size-cells = <0>; | |
571 | #gpio-cells = <3>; | |
572 | ||
79d05ec9 CYT |
573 | r_rsb_pins: r_rsb { |
574 | allwinner,pins = "PL0", "PL1"; | |
575 | allwinner,function = "s_rsb"; | |
576 | allwinner,drive = <SUN4I_PINCTRL_20_MA>; | |
577 | allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; | |
578 | }; | |
579 | ||
a0e9e9be VP |
580 | r_uart_pins_a: r_uart@0 { |
581 | allwinner,pins = "PL2", "PL3"; | |
582 | allwinner,function = "s_uart"; | |
583 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
584 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
585 | }; | |
586 | }; | |
79d05ec9 CYT |
587 | |
588 | r_rsb: rsb@01f03400 { | |
589 | compatible = "allwinner,sun8i-a23-rsb"; | |
590 | reg = <0x01f03400 0x400>; | |
591 | interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; | |
592 | clocks = <&apb0_gates 3>; | |
593 | clock-frequency = <3000000>; | |
594 | resets = <&apb0_rst 3>; | |
595 | pinctrl-names = "default"; | |
596 | pinctrl-0 = <&r_rsb_pins>; | |
597 | status = "disabled"; | |
598 | #address-cells = <1>; | |
599 | #size-cells = <0>; | |
600 | }; | |
a0e9e9be VP |
601 | }; |
602 | }; |