]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blame - arch/arm/boot/dts/sun6i-a31.dtsi
dt-bindings: arm,gic: Fix binding example for a virt-capable GIC
[mirror_ubuntu-eoan-kernel.git] / arch / arm / boot / dts / sun6i-a31.dtsi
CommitLineData
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};