]>
Commit | Line | Data |
---|---|---|
8aed3b31 MR |
1 | /* |
2 | * Copyright 2013 Maxime Ripard | |
3 | * | |
4 | * Maxime Ripard <maxime.ripard@free-electrons.com> | |
5 | * | |
6c3ba724 MR |
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. | |
8aed3b31 | 10 | * |
5186d83a | 11 | * a) This file is free software; you can redistribute it and/or |
6c3ba724 MR |
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 | * | |
5186d83a | 16 | * This file is distributed in the hope that it will be useful, |
6c3ba724 MR |
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 | * | |
6c3ba724 MR |
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. | |
8aed3b31 MR |
43 | */ |
44 | ||
71455701 | 45 | #include "skeleton.dtsi" |
8aed3b31 | 46 | |
19882b84 | 47 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
eb58b40f | 48 | #include <dt-bindings/thermal/thermal.h> |
19882b84 | 49 | |
78a9f0db | 50 | #include <dt-bindings/clock/sun6i-a31-ccu.h> |
092a0c3b | 51 | #include <dt-bindings/pinctrl/sun4i-a10.h> |
78a9f0db | 52 | #include <dt-bindings/reset/sun6i-a31-ccu.h> |
8aed3b31 MR |
53 | |
54 | / { | |
55 | interrupt-parent = <&gic>; | |
56 | ||
54428d40 | 57 | aliases { |
e5073fde | 58 | ethernet0 = &gmac; |
54428d40 MR |
59 | }; |
60 | ||
e53a8b22 HG |
61 | chosen { |
62 | #address-cells = <1>; | |
63 | #size-cells = <1>; | |
64 | ranges; | |
65 | ||
c0949308 | 66 | simplefb_hdmi: framebuffer@0 { |
d8cacaa3 MR |
67 | compatible = "allwinner,simple-framebuffer", |
68 | "simple-framebuffer"; | |
a9f8cda3 | 69 | allwinner,pipeline = "de_be0-lcd0-hdmi"; |
78a9f0db CYT |
70 | clocks = <&ccu CLK_AHB1_BE0>, <&ccu CLK_AHB1_LCD0>, |
71 | <&ccu CLK_AHB1_HDMI>, <&ccu CLK_DRAM_BE0>, | |
72 | <&ccu CLK_IEP_DRC0>, <&ccu CLK_BE0>, | |
73 | <&ccu CLK_LCD0_CH1>, <&ccu CLK_HDMI>; | |
e53a8b22 HG |
74 | status = "disabled"; |
75 | }; | |
fd18c7ea | 76 | |
c0949308 | 77 | simplefb_lcd: framebuffer@1 { |
fd18c7ea HG |
78 | compatible = "allwinner,simple-framebuffer", |
79 | "simple-framebuffer"; | |
80 | allwinner,pipeline = "de_be0-lcd0"; | |
78a9f0db CYT |
81 | clocks = <&ccu CLK_AHB1_BE0>, <&ccu CLK_AHB1_LCD0>, |
82 | <&ccu CLK_DRAM_BE0>, <&ccu CLK_IEP_DRC0>, | |
83 | <&ccu CLK_BE0>, <&ccu CLK_LCD0_CH0>; | |
fd18c7ea HG |
84 | status = "disabled"; |
85 | }; | |
e53a8b22 | 86 | }; |
54428d40 | 87 | |
121b96cd MR |
88 | timer { |
89 | compatible = "arm,armv7-timer"; | |
90 | interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, | |
91 | <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, | |
92 | <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, | |
93 | <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; | |
94 | clock-frequency = <24000000>; | |
95 | arm,cpu-registers-not-fw-configured; | |
e53a8b22 | 96 | }; |
54428d40 | 97 | |
8aed3b31 | 98 | cpus { |
ce78e353 | 99 | enable-method = "allwinner,sun6i-a31"; |
8aed3b31 MR |
100 | #address-cells = <1>; |
101 | #size-cells = <0>; | |
102 | ||
3a2bc642 | 103 | cpu0: cpu@0 { |
8aed3b31 MR |
104 | compatible = "arm,cortex-a7"; |
105 | device_type = "cpu"; | |
106 | reg = <0>; | |
78a9f0db | 107 | clocks = <&ccu CLK_CPU>; |
3a2bc642 CYT |
108 | clock-latency = <244144>; /* 8 32k periods */ |
109 | operating-points = < | |
8358aada | 110 | /* kHz uV */ |
3a2bc642 | 111 | 1008000 1200000 |
8358aada MR |
112 | 864000 1200000 |
113 | 720000 1100000 | |
114 | 480000 1000000 | |
3a2bc642 CYT |
115 | >; |
116 | #cooling-cells = <2>; | |
117 | cooling-min-level = <0>; | |
118 | cooling-max-level = <3>; | |
8aed3b31 MR |
119 | }; |
120 | ||
121 | cpu@1 { | |
122 | compatible = "arm,cortex-a7"; | |
123 | device_type = "cpu"; | |
124 | reg = <1>; | |
125 | }; | |
126 | ||
127 | cpu@2 { | |
128 | compatible = "arm,cortex-a7"; | |
129 | device_type = "cpu"; | |
130 | reg = <2>; | |
131 | }; | |
132 | ||
133 | cpu@3 { | |
134 | compatible = "arm,cortex-a7"; | |
135 | device_type = "cpu"; | |
136 | reg = <3>; | |
137 | }; | |
138 | }; | |
139 | ||
eb58b40f CYT |
140 | thermal-zones { |
141 | cpu_thermal { | |
142 | /* milliseconds */ | |
143 | polling-delay-passive = <250>; | |
144 | polling-delay = <1000>; | |
145 | thermal-sensors = <&rtp>; | |
146 | ||
147 | cooling-maps { | |
148 | map0 { | |
149 | trip = <&cpu_alert0>; | |
150 | cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; | |
151 | }; | |
152 | }; | |
153 | ||
154 | trips { | |
155 | cpu_alert0: cpu_alert0 { | |
156 | /* milliCelsius */ | |
157 | temperature = <70000>; | |
158 | hysteresis = <2000>; | |
159 | type = "passive"; | |
160 | }; | |
161 | ||
162 | cpu_crit: cpu_crit { | |
163 | /* milliCelsius */ | |
164 | temperature = <100000>; | |
165 | hysteresis = <2000>; | |
166 | type = "critical"; | |
167 | }; | |
168 | }; | |
169 | }; | |
170 | }; | |
171 | ||
8aed3b31 MR |
172 | memory { |
173 | reg = <0x40000000 0x80000000>; | |
174 | }; | |
175 | ||
b5a10b76 MR |
176 | pmu { |
177 | compatible = "arm,cortex-a7-pmu", "arm,cortex-a15-pmu"; | |
19882b84 MR |
178 | interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, |
179 | <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, | |
180 | <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>, | |
181 | <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; | |
b5a10b76 MR |
182 | }; |
183 | ||
8aed3b31 MR |
184 | clocks { |
185 | #address-cells = <1>; | |
98096560 MR |
186 | #size-cells = <1>; |
187 | ranges; | |
8aed3b31 | 188 | |
98096560 | 189 | osc24M: osc24M { |
8aed3b31 MR |
190 | #clock-cells = <0>; |
191 | compatible = "fixed-clock"; | |
192 | clock-frequency = <24000000>; | |
193 | }; | |
98096560 | 194 | |
7b5b2909 | 195 | osc32k: clk@0 { |
98096560 MR |
196 | #clock-cells = <0>; |
197 | compatible = "fixed-clock"; | |
198 | clock-frequency = <32768>; | |
7b5b2909 | 199 | clock-output-names = "osc32k"; |
98096560 MR |
200 | }; |
201 | ||
ed29861a | 202 | /* |
d8cacaa3 MR |
203 | * The following two are dummy clocks, placeholders |
204 | * used in the gmac_tx clock. The gmac driver will | |
205 | * choose one parent depending on the PHY interface | |
206 | * mode, using clk_set_rate auto-reparenting. | |
207 | * | |
208 | * The actual TX clock rate is not controlled by the | |
209 | * gmac_tx clock. | |
ed29861a CYT |
210 | */ |
211 | mii_phy_tx_clk: clk@1 { | |
212 | #clock-cells = <0>; | |
213 | compatible = "fixed-clock"; | |
214 | clock-frequency = <25000000>; | |
215 | clock-output-names = "mii_phy_tx"; | |
216 | }; | |
217 | ||
218 | gmac_int_tx_clk: clk@2 { | |
219 | #clock-cells = <0>; | |
220 | compatible = "fixed-clock"; | |
221 | clock-frequency = <125000000>; | |
222 | clock-output-names = "gmac_int_tx"; | |
223 | }; | |
224 | ||
225 | gmac_tx_clk: clk@01c200d0 { | |
226 | #clock-cells = <0>; | |
227 | compatible = "allwinner,sun7i-a20-gmac-clk"; | |
228 | reg = <0x01c200d0 0x4>; | |
229 | clocks = <&mii_phy_tx_clk>, <&gmac_int_tx_clk>; | |
230 | clock-output-names = "gmac_tx"; | |
231 | }; | |
8aed3b31 MR |
232 | }; |
233 | ||
6d0e5b70 CYT |
234 | de: display-engine { |
235 | compatible = "allwinner,sun6i-a31-display-engine"; | |
236 | allwinner,pipelines = <&fe0>; | |
237 | }; | |
238 | ||
8aed3b31 MR |
239 | soc@01c00000 { |
240 | compatible = "simple-bus"; | |
241 | #address-cells = <1>; | |
242 | #size-cells = <1>; | |
243 | ranges; | |
244 | ||
d2d878c4 MR |
245 | dma: dma-controller@01c02000 { |
246 | compatible = "allwinner,sun6i-a31-dma"; | |
247 | reg = <0x01c02000 0x1000>; | |
19882b84 | 248 | interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; |
78a9f0db CYT |
249 | clocks = <&ccu CLK_AHB1_DMA>; |
250 | resets = <&ccu RST_AHB1_DMA>; | |
d2d878c4 MR |
251 | #dma-cells = <1>; |
252 | }; | |
253 | ||
6d0e5b70 CYT |
254 | tcon0: lcd-controller@01c0c000 { |
255 | compatible = "allwinner,sun6i-a31-tcon"; | |
256 | reg = <0x01c0c000 0x1000>; | |
257 | interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; | |
258 | resets = <&ccu RST_AHB1_LCD0>; | |
259 | reset-names = "lcd"; | |
260 | clocks = <&ccu CLK_AHB1_LCD0>, | |
261 | <&ccu CLK_LCD0_CH0>, | |
262 | <&ccu CLK_LCD0_CH1>; | |
263 | clock-names = "ahb", | |
264 | "tcon-ch0", | |
265 | "tcon-ch1"; | |
266 | clock-output-names = "tcon0-pixel-clock"; | |
267 | status = "disabled"; | |
268 | ||
269 | ports { | |
270 | #address-cells = <1>; | |
271 | #size-cells = <0>; | |
272 | ||
273 | tcon0_in: port@0 { | |
274 | #address-cells = <1>; | |
275 | #size-cells = <0>; | |
276 | reg = <0>; | |
277 | ||
278 | tcon0_in_drc0: endpoint@0 { | |
279 | reg = <0>; | |
280 | remote-endpoint = <&drc0_out_tcon0>; | |
281 | }; | |
282 | }; | |
283 | ||
284 | tcon0_out: port@1 { | |
285 | #address-cells = <1>; | |
286 | #size-cells = <0>; | |
287 | reg = <1>; | |
288 | }; | |
289 | }; | |
290 | }; | |
291 | ||
5b753f0e | 292 | mmc0: mmc@01c0f000 { |
57af711d | 293 | compatible = "allwinner,sun7i-a20-mmc"; |
5b753f0e | 294 | reg = <0x01c0f000 0x1000>; |
78a9f0db CYT |
295 | clocks = <&ccu CLK_AHB1_MMC0>, |
296 | <&ccu CLK_MMC0>, | |
297 | <&ccu CLK_MMC0_OUTPUT>, | |
298 | <&ccu CLK_MMC0_SAMPLE>; | |
d8c3a392 MR |
299 | clock-names = "ahb", |
300 | "mmc", | |
301 | "output", | |
302 | "sample"; | |
78a9f0db | 303 | resets = <&ccu RST_AHB1_MMC0>; |
5b753f0e | 304 | reset-names = "ahb"; |
19882b84 | 305 | interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; |
5b753f0e | 306 | status = "disabled"; |
4c1bb9c3 HG |
307 | #address-cells = <1>; |
308 | #size-cells = <0>; | |
5b753f0e HG |
309 | }; |
310 | ||
311 | mmc1: mmc@01c10000 { | |
57af711d | 312 | compatible = "allwinner,sun7i-a20-mmc"; |
5b753f0e | 313 | reg = <0x01c10000 0x1000>; |
78a9f0db CYT |
314 | clocks = <&ccu CLK_AHB1_MMC1>, |
315 | <&ccu CLK_MMC1>, | |
316 | <&ccu CLK_MMC1_OUTPUT>, | |
317 | <&ccu CLK_MMC1_SAMPLE>; | |
d8c3a392 MR |
318 | clock-names = "ahb", |
319 | "mmc", | |
320 | "output", | |
321 | "sample"; | |
78a9f0db | 322 | resets = <&ccu RST_AHB1_MMC1>; |
5b753f0e | 323 | reset-names = "ahb"; |
19882b84 | 324 | interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; |
5b753f0e | 325 | status = "disabled"; |
4c1bb9c3 HG |
326 | #address-cells = <1>; |
327 | #size-cells = <0>; | |
5b753f0e HG |
328 | }; |
329 | ||
330 | mmc2: mmc@01c11000 { | |
57af711d | 331 | compatible = "allwinner,sun7i-a20-mmc"; |
5b753f0e | 332 | reg = <0x01c11000 0x1000>; |
78a9f0db CYT |
333 | clocks = <&ccu CLK_AHB1_MMC2>, |
334 | <&ccu CLK_MMC2>, | |
335 | <&ccu CLK_MMC2_OUTPUT>, | |
336 | <&ccu CLK_MMC2_SAMPLE>; | |
d8c3a392 MR |
337 | clock-names = "ahb", |
338 | "mmc", | |
339 | "output", | |
340 | "sample"; | |
78a9f0db | 341 | resets = <&ccu RST_AHB1_MMC2>; |
5b753f0e | 342 | reset-names = "ahb"; |
19882b84 | 343 | interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; |
5b753f0e | 344 | status = "disabled"; |
4c1bb9c3 HG |
345 | #address-cells = <1>; |
346 | #size-cells = <0>; | |
5b753f0e HG |
347 | }; |
348 | ||
349 | mmc3: mmc@01c12000 { | |
57af711d | 350 | compatible = "allwinner,sun7i-a20-mmc"; |
5b753f0e | 351 | reg = <0x01c12000 0x1000>; |
78a9f0db CYT |
352 | clocks = <&ccu CLK_AHB1_MMC3>, |
353 | <&ccu CLK_MMC3>, | |
354 | <&ccu CLK_MMC3_OUTPUT>, | |
355 | <&ccu CLK_MMC3_SAMPLE>; | |
d8c3a392 MR |
356 | clock-names = "ahb", |
357 | "mmc", | |
358 | "output", | |
359 | "sample"; | |
78a9f0db | 360 | resets = <&ccu RST_AHB1_MMC3>; |
5b753f0e | 361 | reset-names = "ahb"; |
19882b84 | 362 | interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; |
5b753f0e | 363 | status = "disabled"; |
4c1bb9c3 HG |
364 | #address-cells = <1>; |
365 | #size-cells = <0>; | |
5b753f0e HG |
366 | }; |
367 | ||
d208eaf2 HG |
368 | usb_otg: usb@01c19000 { |
369 | compatible = "allwinner,sun6i-a31-musb"; | |
370 | reg = <0x01c19000 0x0400>; | |
78a9f0db CYT |
371 | clocks = <&ccu CLK_AHB1_OTG>; |
372 | resets = <&ccu RST_AHB1_OTG>; | |
d208eaf2 HG |
373 | interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; |
374 | interrupt-names = "mc"; | |
375 | phys = <&usbphy 0>; | |
376 | phy-names = "usb"; | |
377 | extcon = <&usbphy 0>; | |
378 | status = "disabled"; | |
379 | }; | |
380 | ||
ef964085 MR |
381 | usbphy: phy@01c19400 { |
382 | compatible = "allwinner,sun6i-a31-usb-phy"; | |
383 | reg = <0x01c19400 0x10>, | |
384 | <0x01c1a800 0x4>, | |
385 | <0x01c1b800 0x4>; | |
386 | reg-names = "phy_ctrl", | |
387 | "pmu1", | |
388 | "pmu2"; | |
78a9f0db CYT |
389 | clocks = <&ccu CLK_USB_PHY0>, |
390 | <&ccu CLK_USB_PHY1>, | |
391 | <&ccu CLK_USB_PHY2>; | |
ef964085 MR |
392 | clock-names = "usb0_phy", |
393 | "usb1_phy", | |
394 | "usb2_phy"; | |
78a9f0db CYT |
395 | resets = <&ccu RST_USB_PHY0>, |
396 | <&ccu RST_USB_PHY1>, | |
397 | <&ccu RST_USB_PHY2>; | |
ef964085 MR |
398 | reset-names = "usb0_reset", |
399 | "usb1_reset", | |
400 | "usb2_reset"; | |
401 | status = "disabled"; | |
402 | #phy-cells = <1>; | |
403 | }; | |
404 | ||
405 | ehci0: usb@01c1a000 { | |
406 | compatible = "allwinner,sun6i-a31-ehci", "generic-ehci"; | |
407 | reg = <0x01c1a000 0x100>; | |
19882b84 | 408 | interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; |
78a9f0db CYT |
409 | clocks = <&ccu CLK_AHB1_EHCI0>; |
410 | resets = <&ccu RST_AHB1_EHCI0>; | |
ef964085 MR |
411 | phys = <&usbphy 1>; |
412 | phy-names = "usb"; | |
413 | status = "disabled"; | |
414 | }; | |
415 | ||
416 | ohci0: usb@01c1a400 { | |
417 | compatible = "allwinner,sun6i-a31-ohci", "generic-ohci"; | |
418 | reg = <0x01c1a400 0x100>; | |
19882b84 | 419 | interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; |
78a9f0db CYT |
420 | clocks = <&ccu CLK_AHB1_OHCI0>, <&ccu CLK_USB_OHCI0>; |
421 | resets = <&ccu RST_AHB1_OHCI0>; | |
ef964085 MR |
422 | phys = <&usbphy 1>; |
423 | phy-names = "usb"; | |
424 | status = "disabled"; | |
425 | }; | |
426 | ||
427 | ehci1: usb@01c1b000 { | |
428 | compatible = "allwinner,sun6i-a31-ehci", "generic-ehci"; | |
429 | reg = <0x01c1b000 0x100>; | |
19882b84 | 430 | interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; |
78a9f0db CYT |
431 | clocks = <&ccu CLK_AHB1_EHCI1>; |
432 | resets = <&ccu RST_AHB1_EHCI1>; | |
ef964085 MR |
433 | phys = <&usbphy 2>; |
434 | phy-names = "usb"; | |
435 | status = "disabled"; | |
436 | }; | |
437 | ||
438 | ohci1: usb@01c1b400 { | |
439 | compatible = "allwinner,sun6i-a31-ohci", "generic-ohci"; | |
440 | reg = <0x01c1b400 0x100>; | |
19882b84 | 441 | interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; |
78a9f0db CYT |
442 | clocks = <&ccu CLK_AHB1_OHCI1>, <&ccu CLK_USB_OHCI1>; |
443 | resets = <&ccu RST_AHB1_OHCI1>; | |
ef964085 MR |
444 | phys = <&usbphy 2>; |
445 | phy-names = "usb"; | |
446 | status = "disabled"; | |
447 | }; | |
448 | ||
b294ebbc | 449 | ohci2: usb@01c1c400 { |
ef964085 MR |
450 | compatible = "allwinner,sun6i-a31-ohci", "generic-ohci"; |
451 | reg = <0x01c1c400 0x100>; | |
19882b84 | 452 | interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; |
78a9f0db CYT |
453 | clocks = <&ccu CLK_AHB1_OHCI2>, <&ccu CLK_USB_OHCI2>; |
454 | resets = <&ccu RST_AHB1_OHCI2>; | |
ef964085 MR |
455 | status = "disabled"; |
456 | }; | |
457 | ||
78a9f0db CYT |
458 | ccu: clock@01c20000 { |
459 | compatible = "allwinner,sun6i-a31-ccu"; | |
460 | reg = <0x01c20000 0x400>; | |
461 | clocks = <&osc24M>, <&osc32k>; | |
462 | clock-names = "hosc", "losc"; | |
463 | #clock-cells = <1>; | |
464 | #reset-cells = <1>; | |
465 | }; | |
466 | ||
140e1721 MR |
467 | pio: pinctrl@01c20800 { |
468 | compatible = "allwinner,sun6i-a31-pinctrl"; | |
469 | reg = <0x01c20800 0x400>; | |
19882b84 MR |
470 | interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, |
471 | <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>, | |
472 | <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, | |
473 | <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; | |
be7bc6b9 MR |
474 | clocks = <&ccu CLK_APB1_PIO>, <&osc24M>, <&osc32k>; |
475 | clock-names = "apb", "hosc", "losc"; | |
140e1721 MR |
476 | gpio-controller; |
477 | interrupt-controller; | |
b03e0816 | 478 | #interrupt-cells = <3>; |
140e1721 | 479 | #gpio-cells = <3>; |
ab4238cd | 480 | |
dc0aea38 | 481 | gmac_pins_gmii_a: gmac_gmii@0 { |
1edcd36f | 482 | pins = "PA0", "PA1", "PA2", "PA3", |
dc0aea38 CYT |
483 | "PA4", "PA5", "PA6", "PA7", |
484 | "PA8", "PA9", "PA10", "PA11", | |
485 | "PA12", "PA13", "PA14", "PA15", | |
486 | "PA16", "PA17", "PA18", "PA19", | |
487 | "PA20", "PA21", "PA22", "PA23", | |
488 | "PA24", "PA25", "PA26", "PA27"; | |
1edcd36f | 489 | function = "gmac"; |
dc0aea38 CYT |
490 | /* |
491 | * data lines in GMII mode run at 125MHz and | |
492 | * might need a higher signal drive strength | |
493 | */ | |
1edcd36f | 494 | drive-strength = <30>; |
dc0aea38 CYT |
495 | }; |
496 | ||
497 | gmac_pins_mii_a: gmac_mii@0 { | |
1edcd36f | 498 | pins = "PA0", "PA1", "PA2", "PA3", |
dc0aea38 CYT |
499 | "PA8", "PA9", "PA11", |
500 | "PA12", "PA13", "PA14", "PA19", | |
501 | "PA20", "PA21", "PA22", "PA23", | |
502 | "PA24", "PA26", "PA27"; | |
1edcd36f | 503 | function = "gmac"; |
ab4238cd | 504 | }; |
8be188b8 | 505 | |
dc0aea38 | 506 | gmac_pins_rgmii_a: gmac_rgmii@0 { |
1edcd36f | 507 | pins = "PA0", "PA1", "PA2", "PA3", |
dc0aea38 CYT |
508 | "PA9", "PA10", "PA11", |
509 | "PA12", "PA13", "PA14", "PA19", | |
510 | "PA20", "PA25", "PA26", "PA27"; | |
1edcd36f | 511 | function = "gmac"; |
dc0aea38 CYT |
512 | /* |
513 | * data lines in RGMII mode use DDR mode | |
514 | * and need a higher signal drive strength | |
515 | */ | |
1edcd36f | 516 | drive-strength = <40>; |
dc0aea38 CYT |
517 | }; |
518 | ||
8be188b8 | 519 | i2c0_pins_a: i2c0@0 { |
1edcd36f MR |
520 | pins = "PH14", "PH15"; |
521 | function = "i2c0"; | |
8be188b8 MR |
522 | }; |
523 | ||
524 | i2c1_pins_a: i2c1@0 { | |
1edcd36f MR |
525 | pins = "PH16", "PH17"; |
526 | function = "i2c1"; | |
8be188b8 MR |
527 | }; |
528 | ||
529 | i2c2_pins_a: i2c2@0 { | |
1edcd36f MR |
530 | pins = "PH18", "PH19"; |
531 | function = "i2c2"; | |
8be188b8 | 532 | }; |
9797eb83 | 533 | |
0ff8219f | 534 | lcd0_rgb888_pins: lcd0_rgb888 { |
1edcd36f | 535 | pins = "PD0", "PD1", "PD2", "PD3", |
0ff8219f CYT |
536 | "PD4", "PD5", "PD6", "PD7", |
537 | "PD8", "PD9", "PD10", "PD11", | |
538 | "PD12", "PD13", "PD14", "PD15", | |
539 | "PD16", "PD17", "PD18", "PD19", | |
540 | "PD20", "PD21", "PD22", "PD23", | |
541 | "PD24", "PD25", "PD26", "PD27"; | |
1edcd36f | 542 | function = "lcd0"; |
0ff8219f CYT |
543 | }; |
544 | ||
9797eb83 | 545 | mmc0_pins_a: mmc0@0 { |
1edcd36f | 546 | pins = "PF0", "PF1", "PF2", |
d8cacaa3 | 547 | "PF3", "PF4", "PF5"; |
1edcd36f MR |
548 | function = "mmc0"; |
549 | drive-strength = <30>; | |
9797eb83 | 550 | }; |
ee39a3e3 | 551 | |
878c4ded | 552 | mmc1_pins_a: mmc1@0 { |
1edcd36f | 553 | pins = "PG0", "PG1", "PG2", "PG3", |
878c4ded | 554 | "PG4", "PG5"; |
1edcd36f MR |
555 | function = "mmc1"; |
556 | drive-strength = <30>; | |
878c4ded CYT |
557 | }; |
558 | ||
5edab366 | 559 | mmc2_pins_a: mmc2@0 { |
1edcd36f | 560 | pins = "PC6", "PC7", "PC8", "PC9", |
5edab366 | 561 | "PC10", "PC11"; |
1edcd36f MR |
562 | function = "mmc2"; |
563 | drive-strength = <30>; | |
564 | bias-pull-up; | |
5edab366 HG |
565 | }; |
566 | ||
567 | mmc2_8bit_emmc_pins: mmc2@1 { | |
1edcd36f | 568 | pins = "PC6", "PC7", "PC8", "PC9", |
4917c46c CYT |
569 | "PC10", "PC11", "PC12", |
570 | "PC13", "PC14", "PC15", | |
571 | "PC24"; | |
1edcd36f MR |
572 | function = "mmc2"; |
573 | drive-strength = <30>; | |
4917c46c CYT |
574 | }; |
575 | ||
a22f8b22 | 576 | mmc3_8bit_emmc_pins: mmc3@1 { |
1edcd36f | 577 | pins = "PC6", "PC7", "PC8", "PC9", |
a22f8b22 CYT |
578 | "PC10", "PC11", "PC12", |
579 | "PC13", "PC14", "PC15", | |
580 | "PC24"; | |
1edcd36f MR |
581 | function = "mmc3"; |
582 | drive-strength = <40>; | |
a22f8b22 CYT |
583 | }; |
584 | ||
dc0aea38 | 585 | uart0_pins_a: uart0@0 { |
1edcd36f MR |
586 | pins = "PH20", "PH21"; |
587 | function = "uart0"; | |
ee39a3e3 | 588 | }; |
140e1721 MR |
589 | }; |
590 | ||
8aed3b31 | 591 | timer@01c20c00 { |
b4f26440 | 592 | compatible = "allwinner,sun4i-a10-timer"; |
8aed3b31 | 593 | reg = <0x01c20c00 0xa0>; |
19882b84 MR |
594 | interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, |
595 | <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, | |
596 | <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>, | |
597 | <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>, | |
598 | <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; | |
98096560 | 599 | clocks = <&osc24M>; |
8aed3b31 MR |
600 | }; |
601 | ||
602 | wdt1: watchdog@01c20ca0 { | |
ca5d04d9 | 603 | compatible = "allwinner,sun6i-a31-wdt"; |
8aed3b31 MR |
604 | reg = <0x01c20ca0 0x20>; |
605 | }; | |
61d2595c CYT |
606 | |
607 | lradc: lradc@01c22800 { | |
608 | compatible = "allwinner,sun4i-a10-lradc-keys"; | |
609 | reg = <0x01c22800 0x100>; | |
610 | interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; | |
611 | status = "disabled"; | |
612 | }; | |
8aed3b31 | 613 | |
4ec45cd3 CYT |
614 | rtp: rtp@01c25000 { |
615 | compatible = "allwinner,sun6i-a31-ts"; | |
616 | reg = <0x01c25000 0x100>; | |
617 | interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; | |
618 | #thermal-sensor-cells = <0>; | |
619 | }; | |
620 | ||
8aed3b31 MR |
621 | uart0: serial@01c28000 { |
622 | compatible = "snps,dw-apb-uart"; | |
623 | reg = <0x01c28000 0x400>; | |
19882b84 | 624 | interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; |
8aed3b31 MR |
625 | reg-shift = <2>; |
626 | reg-io-width = <4>; | |
78a9f0db CYT |
627 | clocks = <&ccu CLK_APB2_UART0>; |
628 | resets = <&ccu RST_APB2_UART0>; | |
d2d878c4 MR |
629 | dmas = <&dma 6>, <&dma 6>; |
630 | dma-names = "rx", "tx"; | |
8aed3b31 MR |
631 | status = "disabled"; |
632 | }; | |
633 | ||
634 | uart1: serial@01c28400 { | |
635 | compatible = "snps,dw-apb-uart"; | |
636 | reg = <0x01c28400 0x400>; | |
19882b84 | 637 | interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; |
8aed3b31 MR |
638 | reg-shift = <2>; |
639 | reg-io-width = <4>; | |
78a9f0db CYT |
640 | clocks = <&ccu CLK_APB2_UART1>; |
641 | resets = <&ccu RST_APB2_UART1>; | |
d2d878c4 MR |
642 | dmas = <&dma 7>, <&dma 7>; |
643 | dma-names = "rx", "tx"; | |
8aed3b31 MR |
644 | status = "disabled"; |
645 | }; | |
646 | ||
647 | uart2: serial@01c28800 { | |
648 | compatible = "snps,dw-apb-uart"; | |
649 | reg = <0x01c28800 0x400>; | |
19882b84 | 650 | interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; |
8aed3b31 MR |
651 | reg-shift = <2>; |
652 | reg-io-width = <4>; | |
78a9f0db CYT |
653 | clocks = <&ccu CLK_APB2_UART2>; |
654 | resets = <&ccu RST_APB2_UART2>; | |
d2d878c4 MR |
655 | dmas = <&dma 8>, <&dma 8>; |
656 | dma-names = "rx", "tx"; | |
8aed3b31 MR |
657 | status = "disabled"; |
658 | }; | |
659 | ||
660 | uart3: serial@01c28c00 { | |
661 | compatible = "snps,dw-apb-uart"; | |
662 | reg = <0x01c28c00 0x400>; | |
19882b84 | 663 | interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; |
8aed3b31 MR |
664 | reg-shift = <2>; |
665 | reg-io-width = <4>; | |
78a9f0db CYT |
666 | clocks = <&ccu CLK_APB2_UART3>; |
667 | resets = <&ccu RST_APB2_UART3>; | |
d2d878c4 MR |
668 | dmas = <&dma 9>, <&dma 9>; |
669 | dma-names = "rx", "tx"; | |
8aed3b31 MR |
670 | status = "disabled"; |
671 | }; | |
672 | ||
673 | uart4: serial@01c29000 { | |
674 | compatible = "snps,dw-apb-uart"; | |
675 | reg = <0x01c29000 0x400>; | |
19882b84 | 676 | interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; |
8aed3b31 MR |
677 | reg-shift = <2>; |
678 | reg-io-width = <4>; | |
78a9f0db CYT |
679 | clocks = <&ccu CLK_APB2_UART4>; |
680 | resets = <&ccu RST_APB2_UART4>; | |
d2d878c4 MR |
681 | dmas = <&dma 10>, <&dma 10>; |
682 | dma-names = "rx", "tx"; | |
8aed3b31 MR |
683 | status = "disabled"; |
684 | }; | |
685 | ||
686 | uart5: serial@01c29400 { | |
687 | compatible = "snps,dw-apb-uart"; | |
688 | reg = <0x01c29400 0x400>; | |
19882b84 | 689 | interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; |
8aed3b31 MR |
690 | reg-shift = <2>; |
691 | reg-io-width = <4>; | |
78a9f0db CYT |
692 | clocks = <&ccu CLK_APB2_UART5>; |
693 | resets = <&ccu RST_APB2_UART5>; | |
d2d878c4 MR |
694 | dmas = <&dma 22>, <&dma 22>; |
695 | dma-names = "rx", "tx"; | |
8aed3b31 MR |
696 | status = "disabled"; |
697 | }; | |
698 | ||
96c7cc9b MR |
699 | i2c0: i2c@01c2ac00 { |
700 | compatible = "allwinner,sun6i-a31-i2c"; | |
701 | reg = <0x01c2ac00 0x400>; | |
19882b84 | 702 | interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; |
78a9f0db CYT |
703 | clocks = <&ccu CLK_APB2_I2C0>; |
704 | resets = <&ccu RST_APB2_I2C0>; | |
96c7cc9b | 705 | status = "disabled"; |
495bccf3 CYT |
706 | #address-cells = <1>; |
707 | #size-cells = <0>; | |
96c7cc9b MR |
708 | }; |
709 | ||
710 | i2c1: i2c@01c2b000 { | |
711 | compatible = "allwinner,sun6i-a31-i2c"; | |
712 | reg = <0x01c2b000 0x400>; | |
19882b84 | 713 | interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; |
78a9f0db CYT |
714 | clocks = <&ccu CLK_APB2_I2C1>; |
715 | resets = <&ccu RST_APB2_I2C1>; | |
96c7cc9b | 716 | status = "disabled"; |
495bccf3 CYT |
717 | #address-cells = <1>; |
718 | #size-cells = <0>; | |
96c7cc9b MR |
719 | }; |
720 | ||
721 | i2c2: i2c@01c2b400 { | |
722 | compatible = "allwinner,sun6i-a31-i2c"; | |
723 | reg = <0x01c2b400 0x400>; | |
19882b84 | 724 | interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; |
78a9f0db CYT |
725 | clocks = <&ccu CLK_APB2_I2C2>; |
726 | resets = <&ccu RST_APB2_I2C2>; | |
96c7cc9b | 727 | status = "disabled"; |
495bccf3 CYT |
728 | #address-cells = <1>; |
729 | #size-cells = <0>; | |
96c7cc9b MR |
730 | }; |
731 | ||
732 | i2c3: i2c@01c2b800 { | |
733 | compatible = "allwinner,sun6i-a31-i2c"; | |
734 | reg = <0x01c2b800 0x400>; | |
19882b84 | 735 | interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; |
78a9f0db CYT |
736 | clocks = <&ccu CLK_APB2_I2C3>; |
737 | resets = <&ccu RST_APB2_I2C3>; | |
96c7cc9b | 738 | status = "disabled"; |
495bccf3 CYT |
739 | #address-cells = <1>; |
740 | #size-cells = <0>; | |
96c7cc9b MR |
741 | }; |
742 | ||
3dca65f8 CYT |
743 | gmac: ethernet@01c30000 { |
744 | compatible = "allwinner,sun7i-a20-gmac"; | |
745 | reg = <0x01c30000 0x1054>; | |
19882b84 | 746 | interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; |
3dca65f8 | 747 | interrupt-names = "macirq"; |
78a9f0db | 748 | clocks = <&ccu CLK_AHB1_EMAC>, <&gmac_tx_clk>; |
3dca65f8 | 749 | clock-names = "stmmaceth", "allwinner_gmac_tx"; |
78a9f0db | 750 | resets = <&ccu RST_AHB1_EMAC>; |
3dca65f8 CYT |
751 | reset-names = "stmmaceth"; |
752 | snps,pbl = <2>; | |
753 | snps,fixed-burst; | |
754 | snps,force_sf_dma_mode; | |
755 | status = "disabled"; | |
756 | #address-cells = <1>; | |
757 | #size-cells = <0>; | |
758 | }; | |
759 | ||
14fee74c CYT |
760 | crypto: crypto-engine@01c15000 { |
761 | compatible = "allwinner,sun4i-a10-crypto"; | |
762 | reg = <0x01c15000 0x1000>; | |
763 | interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; | |
78a9f0db | 764 | clocks = <&ccu CLK_AHB1_SS>, <&ccu CLK_SS>; |
14fee74c | 765 | clock-names = "ahb", "mod"; |
78a9f0db | 766 | resets = <&ccu RST_AHB1_SS>; |
14fee74c CYT |
767 | reset-names = "ahb"; |
768 | }; | |
769 | ||
94a160c6 CYT |
770 | codec: codec@01c22c00 { |
771 | #sound-dai-cells = <0>; | |
772 | compatible = "allwinner,sun6i-a31-codec"; | |
773 | reg = <0x01c22c00 0x400>; | |
774 | interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; | |
775 | clocks = <&ccu CLK_APB1_CODEC>, <&ccu CLK_CODEC>; | |
776 | clock-names = "apb", "codec"; | |
777 | resets = <&ccu RST_APB1_CODEC>; | |
778 | dmas = <&dma 15>, <&dma 15>; | |
779 | dma-names = "rx", "tx"; | |
780 | status = "disabled"; | |
781 | }; | |
782 | ||
8cffcb0c | 783 | timer@01c60000 { |
d8cacaa3 MR |
784 | compatible = "allwinner,sun6i-a31-hstimer", |
785 | "allwinner,sun7i-a20-hstimer"; | |
8cffcb0c | 786 | reg = <0x01c60000 0x1000>; |
19882b84 MR |
787 | interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>, |
788 | <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>, | |
789 | <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, | |
790 | <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; | |
78a9f0db CYT |
791 | clocks = <&ccu CLK_AHB1_HSTIMER>; |
792 | resets = <&ccu RST_AHB1_HSTIMER>; | |
8cffcb0c MR |
793 | }; |
794 | ||
0d6efe33 MR |
795 | spi0: spi@01c68000 { |
796 | compatible = "allwinner,sun6i-a31-spi"; | |
797 | reg = <0x01c68000 0x1000>; | |
19882b84 | 798 | interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; |
78a9f0db | 799 | clocks = <&ccu CLK_AHB1_SPI0>, <&ccu CLK_SPI0>; |
0d6efe33 | 800 | clock-names = "ahb", "mod"; |
d2d878c4 MR |
801 | dmas = <&dma 23>, <&dma 23>; |
802 | dma-names = "rx", "tx"; | |
78a9f0db | 803 | resets = <&ccu RST_AHB1_SPI0>; |
0d6efe33 MR |
804 | status = "disabled"; |
805 | }; | |
806 | ||
807 | spi1: spi@01c69000 { | |
808 | compatible = "allwinner,sun6i-a31-spi"; | |
809 | reg = <0x01c69000 0x1000>; | |
19882b84 | 810 | interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>; |
78a9f0db | 811 | clocks = <&ccu CLK_AHB1_SPI1>, <&ccu CLK_SPI1>; |
0d6efe33 | 812 | clock-names = "ahb", "mod"; |
d2d878c4 MR |
813 | dmas = <&dma 24>, <&dma 24>; |
814 | dma-names = "rx", "tx"; | |
78a9f0db | 815 | resets = <&ccu RST_AHB1_SPI1>; |
0d6efe33 MR |
816 | status = "disabled"; |
817 | }; | |
818 | ||
819 | spi2: spi@01c6a000 { | |
820 | compatible = "allwinner,sun6i-a31-spi"; | |
821 | reg = <0x01c6a000 0x1000>; | |
19882b84 | 822 | interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; |
78a9f0db | 823 | clocks = <&ccu CLK_AHB1_SPI2>, <&ccu CLK_SPI2>; |
0d6efe33 | 824 | clock-names = "ahb", "mod"; |
d2d878c4 MR |
825 | dmas = <&dma 25>, <&dma 25>; |
826 | dma-names = "rx", "tx"; | |
78a9f0db | 827 | resets = <&ccu RST_AHB1_SPI2>; |
0d6efe33 MR |
828 | status = "disabled"; |
829 | }; | |
830 | ||
831 | spi3: spi@01c6b000 { | |
832 | compatible = "allwinner,sun6i-a31-spi"; | |
833 | reg = <0x01c6b000 0x1000>; | |
19882b84 | 834 | interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; |
78a9f0db | 835 | clocks = <&ccu CLK_AHB1_SPI3>, <&ccu CLK_SPI3>; |
0d6efe33 | 836 | clock-names = "ahb", "mod"; |
d2d878c4 MR |
837 | dmas = <&dma 26>, <&dma 26>; |
838 | dma-names = "rx", "tx"; | |
78a9f0db | 839 | resets = <&ccu RST_AHB1_SPI3>; |
0d6efe33 MR |
840 | status = "disabled"; |
841 | }; | |
842 | ||
8aed3b31 MR |
843 | gic: interrupt-controller@01c81000 { |
844 | compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic"; | |
845 | reg = <0x01c81000 0x1000>, | |
846 | <0x01c82000 0x1000>, | |
847 | <0x01c84000 0x2000>, | |
848 | <0x01c86000 0x2000>; | |
849 | interrupt-controller; | |
850 | #interrupt-cells = <3>; | |
19882b84 | 851 | interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; |
8aed3b31 | 852 | }; |
81ee429f | 853 | |
6d0e5b70 CYT |
854 | fe0: display-frontend@01e00000 { |
855 | compatible = "allwinner,sun6i-a31-display-frontend"; | |
856 | reg = <0x01e00000 0x20000>; | |
857 | interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; | |
858 | clocks = <&ccu CLK_AHB1_FE0>, <&ccu CLK_FE0>, | |
859 | <&ccu CLK_DRAM_FE0>; | |
860 | clock-names = "ahb", "mod", | |
861 | "ram"; | |
862 | resets = <&ccu RST_AHB1_FE0>; | |
863 | ||
864 | ports { | |
865 | #address-cells = <1>; | |
866 | #size-cells = <0>; | |
867 | ||
868 | fe0_out: port@1 { | |
869 | #address-cells = <1>; | |
870 | #size-cells = <0>; | |
871 | reg = <1>; | |
872 | ||
873 | fe0_out_be0: endpoint@0 { | |
874 | reg = <0>; | |
875 | remote-endpoint = <&be0_in_fe0>; | |
876 | }; | |
877 | }; | |
878 | }; | |
879 | }; | |
880 | ||
881 | be0: display-backend@01e60000 { | |
882 | compatible = "allwinner,sun6i-a31-display-backend"; | |
883 | reg = <0x01e60000 0x10000>; | |
884 | interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; | |
885 | clocks = <&ccu CLK_AHB1_BE0>, <&ccu CLK_BE0>, | |
886 | <&ccu CLK_DRAM_BE0>; | |
887 | clock-names = "ahb", "mod", | |
888 | "ram"; | |
889 | resets = <&ccu RST_AHB1_BE0>; | |
890 | ||
891 | assigned-clocks = <&ccu CLK_BE0>; | |
892 | assigned-clock-rates = <300000000>; | |
893 | ||
894 | ports { | |
895 | #address-cells = <1>; | |
896 | #size-cells = <0>; | |
897 | ||
898 | be0_in: port@0 { | |
899 | #address-cells = <1>; | |
900 | #size-cells = <0>; | |
901 | reg = <0>; | |
902 | ||
903 | be0_in_fe0: endpoint@0 { | |
904 | reg = <0>; | |
905 | remote-endpoint = <&fe0_out_be0>; | |
906 | }; | |
907 | }; | |
908 | ||
909 | be0_out: port@1 { | |
910 | #address-cells = <1>; | |
911 | #size-cells = <0>; | |
912 | reg = <1>; | |
913 | ||
914 | be0_out_drc0: endpoint@0 { | |
915 | reg = <0>; | |
916 | remote-endpoint = <&drc0_in_be0>; | |
917 | }; | |
918 | }; | |
919 | }; | |
920 | }; | |
921 | ||
922 | drc0: drc@01e70000 { | |
923 | compatible = "allwinner,sun6i-a31-drc"; | |
924 | reg = <0x01e70000 0x10000>; | |
925 | interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; | |
926 | clocks = <&ccu CLK_AHB1_DRC0>, <&ccu CLK_IEP_DRC0>, | |
927 | <&ccu CLK_DRAM_DRC0>; | |
928 | clock-names = "ahb", "mod", | |
929 | "ram"; | |
930 | resets = <&ccu RST_AHB1_DRC0>; | |
931 | ||
932 | assigned-clocks = <&ccu CLK_IEP_DRC0>; | |
933 | assigned-clock-rates = <300000000>; | |
934 | ||
935 | ports { | |
936 | #address-cells = <1>; | |
937 | #size-cells = <0>; | |
938 | ||
939 | drc0_in: port@0 { | |
940 | #address-cells = <1>; | |
941 | #size-cells = <0>; | |
942 | reg = <0>; | |
943 | ||
944 | drc0_in_be0: endpoint@0 { | |
945 | reg = <0>; | |
946 | remote-endpoint = <&be0_out_drc0>; | |
947 | }; | |
948 | }; | |
949 | ||
950 | drc0_out: port@1 { | |
951 | #address-cells = <1>; | |
952 | #size-cells = <0>; | |
953 | reg = <1>; | |
954 | ||
955 | drc0_out_tcon0: endpoint@0 { | |
956 | reg = <0>; | |
957 | remote-endpoint = <&tcon0_in_drc0>; | |
958 | }; | |
959 | }; | |
960 | }; | |
961 | }; | |
962 | ||
5e700435 CYT |
963 | rtc: rtc@01f00000 { |
964 | compatible = "allwinner,sun6i-a31-rtc"; | |
965 | reg = <0x01f00000 0x54>; | |
19882b84 MR |
966 | interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, |
967 | <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; | |
5e700435 CYT |
968 | }; |
969 | ||
28240d27 MR |
970 | nmi_intc: interrupt-controller@01f00c0c { |
971 | compatible = "allwinner,sun6i-a31-sc-nmi"; | |
972 | interrupt-controller; | |
973 | #interrupt-cells = <2>; | |
974 | reg = <0x01f00c0c 0x38>; | |
19882b84 | 975 | interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; |
28240d27 MR |
976 | }; |
977 | ||
a42ea603 HG |
978 | prcm@01f01400 { |
979 | compatible = "allwinner,sun6i-a31-prcm"; | |
980 | reg = <0x01f01400 0x200>; | |
cc08f5e9 BB |
981 | |
982 | ar100: ar100_clk { | |
983 | compatible = "allwinner,sun6i-a31-ar100-clk"; | |
984 | #clock-cells = <0>; | |
78a9f0db CYT |
985 | clocks = <&osc32k>, <&osc24M>, |
986 | <&ccu CLK_PLL_PERIPH>, | |
987 | <&ccu CLK_PLL_PERIPH>; | |
cc08f5e9 BB |
988 | clock-output-names = "ar100"; |
989 | }; | |
990 | ||
991 | ahb0: ahb0_clk { | |
992 | compatible = "fixed-factor-clock"; | |
993 | #clock-cells = <0>; | |
994 | clock-div = <1>; | |
995 | clock-mult = <1>; | |
996 | clocks = <&ar100>; | |
997 | clock-output-names = "ahb0"; | |
998 | }; | |
999 | ||
1000 | apb0: apb0_clk { | |
1001 | compatible = "allwinner,sun6i-a31-apb0-clk"; | |
1002 | #clock-cells = <0>; | |
1003 | clocks = <&ahb0>; | |
1004 | clock-output-names = "apb0"; | |
1005 | }; | |
1006 | ||
1007 | apb0_gates: apb0_gates_clk { | |
1008 | compatible = "allwinner,sun6i-a31-apb0-gates-clk"; | |
1009 | #clock-cells = <1>; | |
1010 | clocks = <&apb0>; | |
1011 | clock-output-names = "apb0_pio", "apb0_ir", | |
1012 | "apb0_timer", "apb0_p2wi", | |
1013 | "apb0_uart", "apb0_1wire", | |
1014 | "apb0_i2c"; | |
1015 | }; | |
1016 | ||
9b5c6e06 HG |
1017 | ir_clk: ir_clk { |
1018 | #clock-cells = <0>; | |
1019 | compatible = "allwinner,sun4i-a10-mod0-clk"; | |
1020 | clocks = <&osc32k>, <&osc24M>; | |
1021 | clock-output-names = "ir"; | |
1022 | }; | |
1023 | ||
cc08f5e9 BB |
1024 | apb0_rst: apb0_rst { |
1025 | compatible = "allwinner,sun6i-a31-clock-reset"; | |
1026 | #reset-cells = <1>; | |
1027 | }; | |
a42ea603 HG |
1028 | }; |
1029 | ||
81ee429f MR |
1030 | cpucfg@01f01c00 { |
1031 | compatible = "allwinner,sun6i-a31-cpuconfig"; | |
1032 | reg = <0x01f01c00 0x300>; | |
1033 | }; | |
209394ae | 1034 | |
4ac367b4 HG |
1035 | ir: ir@01f02000 { |
1036 | compatible = "allwinner,sun5i-a13-ir"; | |
1037 | clocks = <&apb0_gates 1>, <&ir_clk>; | |
1038 | clock-names = "apb", "ir"; | |
1039 | resets = <&apb0_rst 1>; | |
19882b84 | 1040 | interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; |
4ac367b4 HG |
1041 | reg = <0x01f02000 0x40>; |
1042 | status = "disabled"; | |
1043 | }; | |
1044 | ||
209394ae BB |
1045 | r_pio: pinctrl@01f02c00 { |
1046 | compatible = "allwinner,sun6i-a31-r-pinctrl"; | |
1047 | reg = <0x01f02c00 0x400>; | |
19882b84 MR |
1048 | interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>, |
1049 | <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; | |
be7bc6b9 MR |
1050 | clocks = <&apb0_gates 0>, <&osc24M>, <&osc32k>; |
1051 | clock-names = "apb", "hosc", "losc"; | |
209394ae BB |
1052 | resets = <&apb0_rst 0>; |
1053 | gpio-controller; | |
1054 | interrupt-controller; | |
6d55d339 | 1055 | #interrupt-cells = <3>; |
209394ae BB |
1056 | #size-cells = <0>; |
1057 | #gpio-cells = <3>; | |
dbbcd881 HG |
1058 | |
1059 | ir_pins_a: ir@0 { | |
1edcd36f MR |
1060 | pins = "PL4"; |
1061 | function = "s_ir"; | |
dbbcd881 | 1062 | }; |
fcd60138 BB |
1063 | |
1064 | p2wi_pins: p2wi { | |
1edcd36f MR |
1065 | pins = "PL0", "PL1"; |
1066 | function = "s_p2wi"; | |
fcd60138 BB |
1067 | }; |
1068 | }; | |
1069 | ||
1070 | p2wi: i2c@01f03400 { | |
1071 | compatible = "allwinner,sun6i-a31-p2wi"; | |
1072 | reg = <0x01f03400 0x400>; | |
1073 | interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; | |
1074 | clocks = <&apb0_gates 3>; | |
1075 | clock-frequency = <100000>; | |
1076 | resets = <&apb0_rst 3>; | |
1077 | pinctrl-names = "default"; | |
1078 | pinctrl-0 = <&p2wi_pins>; | |
1079 | status = "disabled"; | |
1080 | #address-cells = <1>; | |
1081 | #size-cells = <0>; | |
209394ae | 1082 | }; |
8aed3b31 MR |
1083 | }; |
1084 | }; |