]>
Commit | Line | Data |
---|---|---|
318d93bc JK |
1 | /* |
2 | * Copyright (C) 2015 Jens Kuske <jenskuske@gmail.com> | |
3 | * | |
4 | * This file is dual-licensed: you can use it either under the terms | |
5 | * of the GPL or the X11 license, at your option. Note that this dual | |
6 | * licensing only applies to this file, and not this project as a | |
7 | * whole. | |
8 | * | |
9 | * a) This file is free software; you can redistribute it and/or | |
10 | * modify it under the terms of the GNU General Public License as | |
11 | * published by the Free Software Foundation; either version 2 of the | |
12 | * License, or (at your option) any later version. | |
13 | * | |
14 | * This file is distributed in the hope that it will be useful, | |
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 | * GNU General Public License for more details. | |
18 | * | |
19 | * Or, alternatively, | |
20 | * | |
21 | * b) Permission is hereby granted, free of charge, to any person | |
22 | * obtaining a copy of this software and associated documentation | |
23 | * files (the "Software"), to deal in the Software without | |
24 | * restriction, including without limitation the rights to use, | |
25 | * copy, modify, merge, publish, distribute, sublicense, and/or | |
26 | * sell copies of the Software, and to permit persons to whom the | |
27 | * Software is furnished to do so, subject to the following | |
28 | * conditions: | |
29 | * | |
30 | * The above copyright notice and this permission notice shall be | |
31 | * included in all copies or substantial portions of the Software. | |
32 | * | |
33 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | |
34 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | |
35 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | |
36 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | |
37 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | |
38 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | |
39 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | |
40 | * OTHER DEALINGS IN THE SOFTWARE. | |
41 | */ | |
42 | ||
43 | #include "skeleton.dtsi" | |
44 | ||
f38f5199 | 45 | #include <dt-bindings/clock/sun8i-h3-ccu.h> |
318d93bc JK |
46 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
47 | #include <dt-bindings/pinctrl/sun4i-a10.h> | |
f38f5199 | 48 | #include <dt-bindings/reset/sun8i-h3-ccu.h> |
318d93bc JK |
49 | |
50 | / { | |
51 | interrupt-parent = <&gic>; | |
52 | ||
53 | cpus { | |
54 | #address-cells = <1>; | |
55 | #size-cells = <0>; | |
56 | ||
57 | cpu@0 { | |
58 | compatible = "arm,cortex-a7"; | |
59 | device_type = "cpu"; | |
60 | reg = <0>; | |
61 | }; | |
62 | ||
63 | cpu@1 { | |
64 | compatible = "arm,cortex-a7"; | |
65 | device_type = "cpu"; | |
66 | reg = <1>; | |
67 | }; | |
68 | ||
69 | cpu@2 { | |
70 | compatible = "arm,cortex-a7"; | |
71 | device_type = "cpu"; | |
72 | reg = <2>; | |
73 | }; | |
74 | ||
75 | cpu@3 { | |
76 | compatible = "arm,cortex-a7"; | |
77 | device_type = "cpu"; | |
78 | reg = <3>; | |
79 | }; | |
80 | }; | |
81 | ||
82 | timer { | |
83 | compatible = "arm,armv7-timer"; | |
84 | interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, | |
85 | <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, | |
86 | <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, | |
87 | <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; | |
88 | }; | |
89 | ||
90 | clocks { | |
91 | #address-cells = <1>; | |
92 | #size-cells = <1>; | |
93 | ranges; | |
94 | ||
95 | osc24M: osc24M_clk { | |
96 | #clock-cells = <0>; | |
97 | compatible = "fixed-clock"; | |
98 | clock-frequency = <24000000>; | |
99 | clock-output-names = "osc24M"; | |
100 | }; | |
101 | ||
102 | osc32k: osc32k_clk { | |
103 | #clock-cells = <0>; | |
104 | compatible = "fixed-clock"; | |
105 | clock-frequency = <32768>; | |
106 | clock-output-names = "osc32k"; | |
107 | }; | |
108 | ||
09787294 KA |
109 | apb0: apb0_clk { |
110 | compatible = "fixed-factor-clock"; | |
111 | #clock-cells = <0>; | |
112 | clock-div = <1>; | |
113 | clock-mult = <1>; | |
114 | clocks = <&osc24M>; | |
115 | clock-output-names = "apb0"; | |
116 | }; | |
117 | ||
118 | apb0_gates: clk@01f01428 { | |
119 | compatible = "allwinner,sun8i-h3-apb0-gates-clk", | |
120 | "allwinner,sun4i-a10-gates-clk"; | |
121 | reg = <0x01f01428 0x4>; | |
122 | #clock-cells = <1>; | |
123 | clocks = <&apb0>; | |
124 | clock-indices = <0>, <1>; | |
125 | clock-output-names = "apb0_pio", "apb0_ir"; | |
126 | }; | |
fe0a8ea1 HG |
127 | |
128 | ir_clk: ir_clk@01f01454 { | |
129 | compatible = "allwinner,sun4i-a10-mod0-clk"; | |
130 | reg = <0x01f01454 0x4>; | |
131 | #clock-cells = <0>; | |
132 | clocks = <&osc32k>, <&osc24M>; | |
133 | clock-output-names = "ir"; | |
134 | }; | |
318d93bc JK |
135 | }; |
136 | ||
137 | soc { | |
138 | compatible = "simple-bus"; | |
139 | #address-cells = <1>; | |
140 | #size-cells = <1>; | |
141 | ranges; | |
142 | ||
143 | dma: dma-controller@01c02000 { | |
144 | compatible = "allwinner,sun8i-h3-dma"; | |
145 | reg = <0x01c02000 0x1000>; | |
146 | interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; | |
f38f5199 MR |
147 | clocks = <&ccu CLK_BUS_DMA>; |
148 | resets = <&ccu RST_BUS_DMA>; | |
318d93bc JK |
149 | #dma-cells = <1>; |
150 | }; | |
151 | ||
152 | mmc0: mmc@01c0f000 { | |
57af711d | 153 | compatible = "allwinner,sun7i-a20-mmc"; |
318d93bc | 154 | reg = <0x01c0f000 0x1000>; |
f38f5199 MR |
155 | clocks = <&ccu CLK_BUS_MMC0>, |
156 | <&ccu CLK_MMC0>, | |
157 | <&ccu CLK_MMC0_OUTPUT>, | |
158 | <&ccu CLK_MMC0_SAMPLE>; | |
318d93bc JK |
159 | clock-names = "ahb", |
160 | "mmc", | |
161 | "output", | |
162 | "sample"; | |
f38f5199 | 163 | resets = <&ccu RST_BUS_MMC0>; |
318d93bc JK |
164 | reset-names = "ahb"; |
165 | interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; | |
166 | status = "disabled"; | |
167 | #address-cells = <1>; | |
168 | #size-cells = <0>; | |
169 | }; | |
170 | ||
171 | mmc1: mmc@01c10000 { | |
57af711d | 172 | compatible = "allwinner,sun7i-a20-mmc"; |
318d93bc | 173 | reg = <0x01c10000 0x1000>; |
f38f5199 MR |
174 | clocks = <&ccu CLK_BUS_MMC1>, |
175 | <&ccu CLK_MMC1>, | |
176 | <&ccu CLK_MMC1_OUTPUT>, | |
177 | <&ccu CLK_MMC1_SAMPLE>; | |
318d93bc JK |
178 | clock-names = "ahb", |
179 | "mmc", | |
180 | "output", | |
181 | "sample"; | |
f38f5199 | 182 | resets = <&ccu RST_BUS_MMC1>; |
318d93bc JK |
183 | reset-names = "ahb"; |
184 | interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; | |
185 | status = "disabled"; | |
186 | #address-cells = <1>; | |
187 | #size-cells = <0>; | |
188 | }; | |
189 | ||
190 | mmc2: mmc@01c11000 { | |
57af711d | 191 | compatible = "allwinner,sun7i-a20-mmc"; |
318d93bc | 192 | reg = <0x01c11000 0x1000>; |
f38f5199 MR |
193 | clocks = <&ccu CLK_BUS_MMC2>, |
194 | <&ccu CLK_MMC2>, | |
195 | <&ccu CLK_MMC2_OUTPUT>, | |
196 | <&ccu CLK_MMC2_SAMPLE>; | |
318d93bc JK |
197 | clock-names = "ahb", |
198 | "mmc", | |
199 | "output", | |
200 | "sample"; | |
f38f5199 | 201 | resets = <&ccu RST_BUS_MMC2>; |
318d93bc JK |
202 | reset-names = "ahb"; |
203 | interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; | |
204 | status = "disabled"; | |
205 | #address-cells = <1>; | |
206 | #size-cells = <0>; | |
207 | }; | |
208 | ||
4cf9654e RH |
209 | usbphy: phy@01c19400 { |
210 | compatible = "allwinner,sun8i-h3-usb-phy"; | |
211 | reg = <0x01c19400 0x2c>, | |
212 | <0x01c1a800 0x4>, | |
213 | <0x01c1b800 0x4>, | |
214 | <0x01c1c800 0x4>, | |
215 | <0x01c1d800 0x4>; | |
216 | reg-names = "phy_ctrl", | |
217 | "pmu0", | |
218 | "pmu1", | |
219 | "pmu2", | |
220 | "pmu3"; | |
f38f5199 MR |
221 | clocks = <&ccu CLK_USB_PHY0>, |
222 | <&ccu CLK_USB_PHY1>, | |
223 | <&ccu CLK_USB_PHY2>, | |
224 | <&ccu CLK_USB_PHY3>; | |
4cf9654e RH |
225 | clock-names = "usb0_phy", |
226 | "usb1_phy", | |
227 | "usb2_phy", | |
228 | "usb3_phy"; | |
f38f5199 MR |
229 | resets = <&ccu RST_USB_PHY0>, |
230 | <&ccu RST_USB_PHY1>, | |
231 | <&ccu RST_USB_PHY2>, | |
232 | <&ccu RST_USB_PHY3>; | |
4cf9654e RH |
233 | reset-names = "usb0_reset", |
234 | "usb1_reset", | |
235 | "usb2_reset", | |
236 | "usb3_reset"; | |
237 | status = "disabled"; | |
238 | #phy-cells = <1>; | |
239 | }; | |
240 | ||
241 | ehci1: usb@01c1b000 { | |
242 | compatible = "allwinner,sun8i-h3-ehci", "generic-ehci"; | |
243 | reg = <0x01c1b000 0x100>; | |
244 | interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; | |
f38f5199 MR |
245 | clocks = <&ccu CLK_BUS_EHCI1>, <&ccu CLK_BUS_OHCI1>; |
246 | resets = <&ccu RST_BUS_EHCI1>, <&ccu RST_BUS_OHCI1>; | |
4cf9654e RH |
247 | phys = <&usbphy 1>; |
248 | phy-names = "usb"; | |
249 | status = "disabled"; | |
250 | }; | |
251 | ||
252 | ohci1: usb@01c1b400 { | |
253 | compatible = "allwinner,sun8i-h3-ohci", "generic-ohci"; | |
254 | reg = <0x01c1b400 0x100>; | |
255 | interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; | |
f38f5199 MR |
256 | clocks = <&ccu CLK_BUS_EHCI1>, <&ccu CLK_BUS_OHCI1>, |
257 | <&ccu CLK_USB_OHCI1>; | |
258 | resets = <&ccu RST_BUS_EHCI1>, <&ccu RST_BUS_OHCI1>; | |
4cf9654e RH |
259 | phys = <&usbphy 1>; |
260 | phy-names = "usb"; | |
261 | status = "disabled"; | |
262 | }; | |
263 | ||
264 | ehci2: usb@01c1c000 { | |
265 | compatible = "allwinner,sun8i-h3-ehci", "generic-ehci"; | |
266 | reg = <0x01c1c000 0x100>; | |
267 | interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; | |
f38f5199 MR |
268 | clocks = <&ccu CLK_BUS_EHCI2>, <&ccu CLK_BUS_OHCI2>; |
269 | resets = <&ccu RST_BUS_EHCI2>, <&ccu RST_BUS_OHCI2>; | |
4cf9654e RH |
270 | phys = <&usbphy 2>; |
271 | phy-names = "usb"; | |
272 | status = "disabled"; | |
273 | }; | |
274 | ||
275 | ohci2: usb@01c1c400 { | |
276 | compatible = "allwinner,sun8i-h3-ohci", "generic-ohci"; | |
277 | reg = <0x01c1c400 0x100>; | |
278 | interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; | |
f38f5199 MR |
279 | clocks = <&ccu CLK_BUS_EHCI2>, <&ccu CLK_BUS_OHCI2>, |
280 | <&ccu CLK_USB_OHCI2>; | |
281 | resets = <&ccu RST_BUS_EHCI2>, <&ccu RST_BUS_OHCI2>; | |
4cf9654e RH |
282 | phys = <&usbphy 2>; |
283 | phy-names = "usb"; | |
284 | status = "disabled"; | |
285 | }; | |
286 | ||
287 | ehci3: usb@01c1d000 { | |
288 | compatible = "allwinner,sun8i-h3-ehci", "generic-ehci"; | |
289 | reg = <0x01c1d000 0x100>; | |
290 | interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; | |
f38f5199 MR |
291 | clocks = <&ccu CLK_BUS_EHCI3>, <&ccu CLK_BUS_OHCI3>; |
292 | resets = <&ccu RST_BUS_EHCI3>, <&ccu RST_BUS_OHCI3>; | |
4cf9654e RH |
293 | phys = <&usbphy 3>; |
294 | phy-names = "usb"; | |
295 | status = "disabled"; | |
296 | }; | |
297 | ||
298 | ohci3: usb@01c1d400 { | |
299 | compatible = "allwinner,sun8i-h3-ohci", "generic-ohci"; | |
300 | reg = <0x01c1d400 0x100>; | |
301 | interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; | |
f38f5199 MR |
302 | clocks = <&ccu CLK_BUS_EHCI3>, <&ccu CLK_BUS_OHCI3>, |
303 | <&ccu CLK_USB_OHCI3>; | |
304 | resets = <&ccu RST_BUS_EHCI3>, <&ccu RST_BUS_OHCI3>; | |
4cf9654e RH |
305 | phys = <&usbphy 3>; |
306 | phy-names = "usb"; | |
307 | status = "disabled"; | |
308 | }; | |
309 | ||
f38f5199 MR |
310 | ccu: clock@01c20000 { |
311 | compatible = "allwinner,sun8i-h3-ccu"; | |
312 | reg = <0x01c20000 0x400>; | |
313 | clocks = <&osc24M>, <&osc32k>; | |
314 | clock-names = "hosc", "losc"; | |
315 | #clock-cells = <1>; | |
316 | #reset-cells = <1>; | |
317 | }; | |
318 | ||
318d93bc JK |
319 | pio: pinctrl@01c20800 { |
320 | compatible = "allwinner,sun8i-h3-pinctrl"; | |
321 | reg = <0x01c20800 0x400>; | |
322 | interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, | |
323 | <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; | |
f38f5199 | 324 | clocks = <&ccu CLK_BUS_PIO>; |
318d93bc JK |
325 | gpio-controller; |
326 | #gpio-cells = <3>; | |
327 | interrupt-controller; | |
5bcaf95c | 328 | #interrupt-cells = <3>; |
318d93bc | 329 | |
85e6f7ff JJ |
330 | i2c0_pins: i2c0 { |
331 | allwinner,pins = "PA11", "PA12"; | |
332 | allwinner,function = "i2c0"; | |
333 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
334 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
335 | }; | |
336 | ||
337 | i2c1_pins: i2c1 { | |
338 | allwinner,pins = "PA18", "PA19"; | |
339 | allwinner,function = "i2c1"; | |
340 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
341 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
342 | }; | |
343 | ||
344 | i2c2_pins: i2c2 { | |
345 | allwinner,pins = "PE12", "PE13"; | |
346 | allwinner,function = "i2c2"; | |
347 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
348 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
349 | }; | |
350 | ||
318d93bc JK |
351 | mmc0_pins_a: mmc0@0 { |
352 | allwinner,pins = "PF0", "PF1", "PF2", "PF3", | |
353 | "PF4", "PF5"; | |
354 | allwinner,function = "mmc0"; | |
355 | allwinner,drive = <SUN4I_PINCTRL_30_MA>; | |
356 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
357 | }; | |
358 | ||
359 | mmc0_cd_pin: mmc0_cd_pin@0 { | |
360 | allwinner,pins = "PF6"; | |
361 | allwinner,function = "gpio_in"; | |
362 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
363 | allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; | |
364 | }; | |
365 | ||
366 | mmc1_pins_a: mmc1@0 { | |
367 | allwinner,pins = "PG0", "PG1", "PG2", "PG3", | |
368 | "PG4", "PG5"; | |
369 | allwinner,function = "mmc1"; | |
370 | allwinner,drive = <SUN4I_PINCTRL_30_MA>; | |
371 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
372 | }; | |
9461faf2 HG |
373 | |
374 | mmc2_8bit_pins: mmc2_8bit { | |
375 | allwinner,pins = "PC5", "PC6", "PC8", | |
376 | "PC9", "PC10", "PC11", | |
377 | "PC12", "PC13", "PC14", | |
378 | "PC15", "PC16"; | |
379 | allwinner,function = "mmc2"; | |
380 | allwinner,drive = <SUN4I_PINCTRL_30_MA>; | |
381 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
382 | }; | |
2bcb2b1b CYT |
383 | |
384 | uart0_pins_a: uart0@0 { | |
385 | allwinner,pins = "PA4", "PA5"; | |
386 | allwinner,function = "uart0"; | |
387 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
388 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
389 | }; | |
966c11a3 | 390 | |
ae0fc941 JJ |
391 | uart1_pins: uart1 { |
392 | allwinner,pins = "PG6", "PG7"; | |
393 | allwinner,function = "uart1"; | |
394 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
395 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
396 | }; | |
397 | ||
398 | uart1_rts_cts_pins: uart1_rts_cts { | |
399 | allwinner,pins = "PG8", "PG9"; | |
966c11a3 CYT |
400 | allwinner,function = "uart1"; |
401 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
402 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
403 | }; | |
e3d11d3c JJ |
404 | |
405 | uart2_pins: uart2 { | |
406 | allwinner,pins = "PA0", "PA1"; | |
407 | allwinner,function = "uart2"; | |
408 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
409 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
410 | }; | |
411 | ||
412 | uart3_pins: uart3 { | |
4367c1d8 | 413 | allwinner,pins = "PA13", "PA14"; |
e3d11d3c JJ |
414 | allwinner,function = "uart3"; |
415 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
416 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
417 | }; | |
318d93bc JK |
418 | }; |
419 | ||
318d93bc JK |
420 | timer@01c20c00 { |
421 | compatible = "allwinner,sun4i-a10-timer"; | |
422 | reg = <0x01c20c00 0xa0>; | |
423 | interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, | |
424 | <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; | |
425 | clocks = <&osc24M>; | |
426 | }; | |
427 | ||
428 | wdt0: watchdog@01c20ca0 { | |
429 | compatible = "allwinner,sun6i-a31-wdt"; | |
430 | reg = <0x01c20ca0 0x20>; | |
431 | interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; | |
432 | }; | |
433 | ||
a37b7a5a MK |
434 | pwm: pwm@01c21400 { |
435 | compatible = "allwinner,sun8i-h3-pwm"; | |
436 | reg = <0x01c21400 0x8>; | |
437 | clocks = <&osc24M>; | |
438 | #pwm-cells = <3>; | |
439 | status = "disabled"; | |
440 | }; | |
441 | ||
318d93bc JK |
442 | uart0: serial@01c28000 { |
443 | compatible = "snps,dw-apb-uart"; | |
444 | reg = <0x01c28000 0x400>; | |
445 | interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; | |
446 | reg-shift = <2>; | |
447 | reg-io-width = <4>; | |
f38f5199 MR |
448 | clocks = <&ccu CLK_BUS_UART0>; |
449 | resets = <&ccu RST_BUS_UART0>; | |
318d93bc JK |
450 | dmas = <&dma 6>, <&dma 6>; |
451 | dma-names = "rx", "tx"; | |
452 | status = "disabled"; | |
453 | }; | |
454 | ||
455 | uart1: serial@01c28400 { | |
456 | compatible = "snps,dw-apb-uart"; | |
457 | reg = <0x01c28400 0x400>; | |
458 | interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; | |
459 | reg-shift = <2>; | |
460 | reg-io-width = <4>; | |
f38f5199 MR |
461 | clocks = <&ccu CLK_BUS_UART1>; |
462 | resets = <&ccu RST_BUS_UART1>; | |
318d93bc JK |
463 | dmas = <&dma 7>, <&dma 7>; |
464 | dma-names = "rx", "tx"; | |
465 | status = "disabled"; | |
466 | }; | |
467 | ||
468 | uart2: serial@01c28800 { | |
469 | compatible = "snps,dw-apb-uart"; | |
470 | reg = <0x01c28800 0x400>; | |
471 | interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; | |
472 | reg-shift = <2>; | |
473 | reg-io-width = <4>; | |
f38f5199 MR |
474 | clocks = <&ccu CLK_BUS_UART2>; |
475 | resets = <&ccu RST_BUS_UART2>; | |
318d93bc JK |
476 | dmas = <&dma 8>, <&dma 8>; |
477 | dma-names = "rx", "tx"; | |
478 | status = "disabled"; | |
479 | }; | |
480 | ||
481 | uart3: serial@01c28c00 { | |
482 | compatible = "snps,dw-apb-uart"; | |
483 | reg = <0x01c28c00 0x400>; | |
484 | interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; | |
485 | reg-shift = <2>; | |
486 | reg-io-width = <4>; | |
f38f5199 MR |
487 | clocks = <&ccu CLK_BUS_UART3>; |
488 | resets = <&ccu RST_BUS_UART3>; | |
318d93bc JK |
489 | dmas = <&dma 9>, <&dma 9>; |
490 | dma-names = "rx", "tx"; | |
491 | status = "disabled"; | |
492 | }; | |
493 | ||
d8a507e6 JJ |
494 | i2c0: i2c@01c2ac00 { |
495 | compatible = "allwinner,sun6i-a31-i2c"; | |
496 | reg = <0x01c2ac00 0x400>; | |
497 | interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; | |
498 | clocks = <&ccu CLK_BUS_I2C0>; | |
499 | resets = <&ccu RST_BUS_I2C0>; | |
500 | pinctrl-names = "default"; | |
501 | pinctrl-0 = <&i2c0_pins>; | |
502 | status = "disabled"; | |
503 | #address-cells = <1>; | |
504 | #size-cells = <0>; | |
505 | }; | |
506 | ||
507 | i2c1: i2c@01c2b000 { | |
508 | compatible = "allwinner,sun6i-a31-i2c"; | |
509 | reg = <0x01c2b000 0x400>; | |
510 | interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; | |
511 | clocks = <&ccu CLK_BUS_I2C1>; | |
512 | resets = <&ccu RST_BUS_I2C1>; | |
513 | pinctrl-names = "default"; | |
514 | pinctrl-0 = <&i2c1_pins>; | |
515 | status = "disabled"; | |
516 | #address-cells = <1>; | |
517 | #size-cells = <0>; | |
518 | }; | |
519 | ||
520 | i2c2: i2c@01c2b400 { | |
521 | compatible = "allwinner,sun6i-a31-i2c"; | |
522 | reg = <0x01c2b000 0x400>; | |
523 | interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; | |
524 | clocks = <&ccu CLK_BUS_I2C2>; | |
525 | resets = <&ccu RST_BUS_I2C2>; | |
526 | pinctrl-names = "default"; | |
527 | pinctrl-0 = <&i2c2_pins>; | |
528 | status = "disabled"; | |
529 | #address-cells = <1>; | |
530 | #size-cells = <0>; | |
531 | }; | |
532 | ||
318d93bc JK |
533 | gic: interrupt-controller@01c81000 { |
534 | compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic"; | |
535 | reg = <0x01c81000 0x1000>, | |
536 | <0x01c82000 0x1000>, | |
537 | <0x01c84000 0x2000>, | |
538 | <0x01c86000 0x2000>; | |
539 | interrupt-controller; | |
540 | #interrupt-cells = <3>; | |
541 | interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; | |
542 | }; | |
543 | ||
544 | rtc: rtc@01f00000 { | |
545 | compatible = "allwinner,sun6i-a31-rtc"; | |
546 | reg = <0x01f00000 0x54>; | |
547 | interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, | |
548 | <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; | |
549 | }; | |
09787294 KA |
550 | |
551 | apb0_reset: reset@01f014b0 { | |
552 | reg = <0x01f014b0 0x4>; | |
553 | compatible = "allwinner,sun6i-a31-clock-reset"; | |
554 | #reset-cells = <1>; | |
555 | }; | |
93385367 | 556 | |
fe0a8ea1 HG |
557 | ir: ir@01f02000 { |
558 | compatible = "allwinner,sun5i-a13-ir"; | |
559 | clocks = <&apb0_gates 1>, <&ir_clk>; | |
560 | clock-names = "apb", "ir"; | |
561 | resets = <&apb0_reset 1>; | |
562 | interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; | |
563 | reg = <0x01f02000 0x40>; | |
564 | status = "disabled"; | |
565 | }; | |
566 | ||
93385367 KA |
567 | r_pio: pinctrl@01f02c00 { |
568 | compatible = "allwinner,sun8i-h3-r-pinctrl"; | |
569 | reg = <0x01f02c00 0x400>; | |
570 | interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; | |
571 | clocks = <&apb0_gates 0>; | |
572 | resets = <&apb0_reset 0>; | |
573 | gpio-controller; | |
574 | #gpio-cells = <3>; | |
575 | interrupt-controller; | |
576 | #interrupt-cells = <3>; | |
fe0a8ea1 HG |
577 | |
578 | ir_pins_a: ir@0 { | |
579 | allwinner,pins = "PL11"; | |
580 | allwinner,function = "s_cir_rx"; | |
581 | allwinner,drive = <SUN4I_PINCTRL_10_MA>; | |
582 | allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; | |
583 | }; | |
93385367 | 584 | }; |
318d93bc JK |
585 | }; |
586 | }; |