xref: /linux/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi (revision 724ba6751532055db75992fc6ae21c3e322e94a7)
17423d2d8SStefan Roese/*
27423d2d8SStefan Roese * Copyright 2012 Stefan Roese
37423d2d8SStefan Roese * Stefan Roese <sr@denx.de>
47423d2d8SStefan Roese *
5033ba3d7SMaxime Ripard * This file is dual-licensed: you can use it either under the terms
6033ba3d7SMaxime Ripard * of the GPL or the X11 license, at your option. Note that this dual
7033ba3d7SMaxime Ripard * licensing only applies to this file, and not this project as a
8033ba3d7SMaxime Ripard * whole.
97423d2d8SStefan Roese *
10033ba3d7SMaxime Ripard *  a) This library is free software; you can redistribute it and/or
11033ba3d7SMaxime Ripard *     modify it under the terms of the GNU General Public License as
12033ba3d7SMaxime Ripard *     published by the Free Software Foundation; either version 2 of the
13033ba3d7SMaxime Ripard *     License, or (at your option) any later version.
14033ba3d7SMaxime Ripard *
15033ba3d7SMaxime Ripard *     This library is distributed in the hope that it will be useful,
16033ba3d7SMaxime Ripard *     but WITHOUT ANY WARRANTY; without even the implied warranty of
17033ba3d7SMaxime Ripard *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18033ba3d7SMaxime Ripard *     GNU General Public License for more details.
19033ba3d7SMaxime Ripard *
20033ba3d7SMaxime Ripard * Or, alternatively,
21033ba3d7SMaxime Ripard *
22033ba3d7SMaxime Ripard *  b) Permission is hereby granted, free of charge, to any person
23033ba3d7SMaxime Ripard *     obtaining a copy of this software and associated documentation
24033ba3d7SMaxime Ripard *     files (the "Software"), to deal in the Software without
25033ba3d7SMaxime Ripard *     restriction, including without limitation the rights to use,
26033ba3d7SMaxime Ripard *     copy, modify, merge, publish, distribute, sublicense, and/or
27033ba3d7SMaxime Ripard *     sell copies of the Software, and to permit persons to whom the
28033ba3d7SMaxime Ripard *     Software is furnished to do so, subject to the following
29033ba3d7SMaxime Ripard *     conditions:
30033ba3d7SMaxime Ripard *
31033ba3d7SMaxime Ripard *     The above copyright notice and this permission notice shall be
32033ba3d7SMaxime Ripard *     included in all copies or substantial portions of the Software.
33033ba3d7SMaxime Ripard *
34033ba3d7SMaxime Ripard *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35033ba3d7SMaxime Ripard *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
36033ba3d7SMaxime Ripard *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37033ba3d7SMaxime Ripard *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
38033ba3d7SMaxime Ripard *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
39033ba3d7SMaxime Ripard *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40033ba3d7SMaxime Ripard *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
41033ba3d7SMaxime Ripard *     OTHER DEALINGS IN THE SOFTWARE.
427423d2d8SStefan Roese */
437423d2d8SStefan Roese
44541ce2caSChen-Yu Tsai#include <dt-bindings/thermal/thermal.h>
451f9f6a78SMaxime Ripard#include <dt-bindings/dma/sun4i-a10.h>
4641193869SPriit Laes#include <dt-bindings/clock/sun4i-a10-ccu.h>
4741193869SPriit Laes#include <dt-bindings/reset/sun4i-a10-ccu.h>
487423d2d8SStefan Roese
497423d2d8SStefan Roese/ {
506ab3cf04SMaxime Ripard	#address-cells = <1>;
516ab3cf04SMaxime Ripard	#size-cells = <1>;
5269144e3bSMaxime Ripard	interrupt-parent = <&intc>;
5369144e3bSMaxime Ripard
54e751cce9SEmilio López	aliases {
55e751cce9SEmilio López		ethernet0 = &emac;
56e751cce9SEmilio López	};
57e751cce9SEmilio López
585790d4eeSHans de Goede	chosen {
595790d4eeSHans de Goede		#address-cells = <1>;
605790d4eeSHans de Goede		#size-cells = <1>;
615790d4eeSHans de Goede		ranges;
625790d4eeSHans de Goede
6371299dd4SMaxime Ripard		framebuffer-lcd0-hdmi {
64d8cacaa3SMaxime Ripard			compatible = "allwinner,simple-framebuffer",
65d8cacaa3SMaxime Ripard				     "simple-framebuffer";
66a9f8cda3SHans de Goede			allwinner,pipeline = "de_be0-lcd0-hdmi";
6741193869SPriit Laes			clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_HDMI0>,
6841193869SPriit Laes				 <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_DE_BE0>,
6941193869SPriit Laes				 <&ccu CLK_TCON0_CH1>, <&ccu CLK_DRAM_DE_BE0>;
705790d4eeSHans de Goede			status = "disabled";
715790d4eeSHans de Goede		};
728cedd662SHans de Goede
7371299dd4SMaxime Ripard		framebuffer-fe0-lcd0-hdmi {
74d8cacaa3SMaxime Ripard			compatible = "allwinner,simple-framebuffer",
75d8cacaa3SMaxime Ripard				     "simple-framebuffer";
768cedd662SHans de Goede			allwinner,pipeline = "de_fe0-de_be0-lcd0-hdmi";
7741193869SPriit Laes			clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_HDMI0>,
7841193869SPriit Laes				 <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_AHB_DE_FE0>,
79590b0c0cSPascal Roeleven				 <&ccu CLK_DE_BE0>, <&ccu CLK_DE_FE0>,
8041193869SPriit Laes				 <&ccu CLK_TCON0_CH1>, <&ccu CLK_HDMI>,
8141193869SPriit Laes				 <&ccu CLK_DRAM_DE_FE0>, <&ccu CLK_DRAM_DE_BE0>;
828cedd662SHans de Goede			status = "disabled";
838cedd662SHans de Goede		};
84fd18c7eaSHans de Goede
8571299dd4SMaxime Ripard		framebuffer-fe0-lcd0 {
86fd18c7eaSHans de Goede			compatible = "allwinner,simple-framebuffer",
87fd18c7eaSHans de Goede				     "simple-framebuffer";
88fd18c7eaSHans de Goede			allwinner,pipeline = "de_fe0-de_be0-lcd0";
8941193869SPriit Laes			clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_DE_BE0>,
9041193869SPriit Laes				 <&ccu CLK_AHB_DE_FE0>, <&ccu CLK_DE_BE0>,
91590b0c0cSPascal Roeleven				 <&ccu CLK_DE_FE0>, <&ccu CLK_TCON0_CH0>,
9241193869SPriit Laes				 <&ccu CLK_DRAM_DE_FE0>, <&ccu CLK_DRAM_DE_BE0>;
93fd18c7eaSHans de Goede			status = "disabled";
94fd18c7eaSHans de Goede		};
95fd18c7eaSHans de Goede
9671299dd4SMaxime Ripard		framebuffer-fe0-lcd0-tve0 {
97fd18c7eaSHans de Goede			compatible = "allwinner,simple-framebuffer",
98fd18c7eaSHans de Goede				     "simple-framebuffer";
99fd18c7eaSHans de Goede			allwinner,pipeline = "de_fe0-de_be0-lcd0-tve0";
10041193869SPriit Laes			clocks = <&ccu CLK_AHB_TVE0>, <&ccu CLK_AHB_LCD0>,
10141193869SPriit Laes				 <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_AHB_DE_FE0>,
102590b0c0cSPascal Roeleven				 <&ccu CLK_DE_BE0>, <&ccu CLK_DE_FE0>,
10341193869SPriit Laes				 <&ccu CLK_TCON0_CH1>, <&ccu CLK_DRAM_TVE0>,
10441193869SPriit Laes				 <&ccu CLK_DRAM_DE_FE0>, <&ccu CLK_DRAM_DE_BE0>;
105fd18c7eaSHans de Goede			status = "disabled";
106fd18c7eaSHans de Goede		};
1075790d4eeSHans de Goede	};
1085790d4eeSHans de Goede
10969144e3bSMaxime Ripard	cpus {
1108b2efa89SArnd Bergmann		#address-cells = <1>;
1118b2efa89SArnd Bergmann		#size-cells = <0>;
1127294be5dSChen-Yu Tsai		cpu0: cpu@0 {
11314c44aa5SLorenzo Pieralisi			device_type = "cpu";
11469144e3bSMaxime Ripard			compatible = "arm,cortex-a8";
11514c44aa5SLorenzo Pieralisi			reg = <0x0>;
11641193869SPriit Laes			clocks = <&ccu CLK_CPU>;
1177294be5dSChen-Yu Tsai			clock-latency = <244144>; /* 8 32k periods */
118*4e0d439dSMaxime Ripard			operating-points =
1197294be5dSChen-Yu Tsai				/* kHz	  uV */
120*4e0d439dSMaxime Ripard				<1008000 1400000>,
121*4e0d439dSMaxime Ripard				<912000	1350000>,
122*4e0d439dSMaxime Ripard				<864000	1300000>,
123*4e0d439dSMaxime Ripard				<624000	1250000>;
1247294be5dSChen-Yu Tsai			#cooling-cells = <2>;
12569144e3bSMaxime Ripard		};
12669144e3bSMaxime Ripard	};
12769144e3bSMaxime Ripard
128541ce2caSChen-Yu Tsai	thermal-zones {
129124d19dcSMaxime Ripard		cpu-thermal {
130541ce2caSChen-Yu Tsai			/* milliseconds */
131541ce2caSChen-Yu Tsai			polling-delay-passive = <250>;
132541ce2caSChen-Yu Tsai			polling-delay = <1000>;
133541ce2caSChen-Yu Tsai			thermal-sensors = <&rtp>;
134541ce2caSChen-Yu Tsai
135541ce2caSChen-Yu Tsai			cooling-maps {
136541ce2caSChen-Yu Tsai				map0 {
137541ce2caSChen-Yu Tsai					trip = <&cpu_alert0>;
138541ce2caSChen-Yu Tsai					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
139541ce2caSChen-Yu Tsai				};
140541ce2caSChen-Yu Tsai			};
141541ce2caSChen-Yu Tsai
142541ce2caSChen-Yu Tsai			trips {
143124d19dcSMaxime Ripard				cpu_alert0: cpu-alert0 {
144541ce2caSChen-Yu Tsai					/* milliCelsius */
145dea252faSClément Péron					temperature = <85000>;
146541ce2caSChen-Yu Tsai					hysteresis = <2000>;
147541ce2caSChen-Yu Tsai					type = "passive";
148541ce2caSChen-Yu Tsai				};
149541ce2caSChen-Yu Tsai
150124d19dcSMaxime Ripard				cpu_crit: cpu-crit {
151541ce2caSChen-Yu Tsai					/* milliCelsius */
152541ce2caSChen-Yu Tsai					temperature = <100000>;
153541ce2caSChen-Yu Tsai					hysteresis = <2000>;
154541ce2caSChen-Yu Tsai					type = "critical";
155541ce2caSChen-Yu Tsai				};
156541ce2caSChen-Yu Tsai			};
1577423d2d8SStefan Roese		};
1587423d2d8SStefan Roese	};
1597423d2d8SStefan Roese
16069144e3bSMaxime Ripard	clocks {
16169144e3bSMaxime Ripard		#address-cells = <1>;
16269144e3bSMaxime Ripard		#size-cells = <1>;
16369144e3bSMaxime Ripard		ranges;
16469144e3bSMaxime Ripard
1655c58319fSMaxime Ripard		osc24M: clk-24M {
16669144e3bSMaxime Ripard			#clock-cells = <0>;
16741193869SPriit Laes			compatible = "fixed-clock";
16892fd6e06SEmilio López			clock-frequency = <24000000>;
169dfb12c0cSChen-Yu Tsai			clock-output-names = "osc24M";
17069144e3bSMaxime Ripard		};
17169144e3bSMaxime Ripard
1725c58319fSMaxime Ripard		osc32k: clk-32k {
17369144e3bSMaxime Ripard			#clock-cells = <0>;
17469144e3bSMaxime Ripard			compatible = "fixed-clock";
17569144e3bSMaxime Ripard			clock-frequency = <32768>;
176dfb12c0cSChen-Yu Tsai			clock-output-names = "osc32k";
17769144e3bSMaxime Ripard		};
17869144e3bSMaxime Ripard	};
17969144e3bSMaxime Ripard
1800df4cf33SChen-Yu Tsai	de: display-engine {
1810df4cf33SChen-Yu Tsai		compatible = "allwinner,sun4i-a10-display-engine";
1820df4cf33SChen-Yu Tsai		allwinner,pipelines = <&fe0>, <&fe1>;
1830df4cf33SChen-Yu Tsai		status = "disabled";
1840df4cf33SChen-Yu Tsai	};
1850df4cf33SChen-Yu Tsai
1867e345d25SHarald Geyer	pmu {
1877e345d25SHarald Geyer		compatible = "arm,cortex-a8-pmu";
1887e345d25SHarald Geyer		interrupts = <3>;
1897e345d25SHarald Geyer	};
1907e345d25SHarald Geyer
1915949bc56SPaul Kocialkowski	reserved-memory {
1925949bc56SPaul Kocialkowski		#address-cells = <1>;
1935949bc56SPaul Kocialkowski		#size-cells = <1>;
1945949bc56SPaul Kocialkowski		ranges;
1955949bc56SPaul Kocialkowski
1965949bc56SPaul Kocialkowski		/* Address must be kept in the lower 256 MiBs of DRAM for VE. */
1975949bc56SPaul Kocialkowski		default-pool {
1985949bc56SPaul Kocialkowski			compatible = "shared-dma-pool";
1995949bc56SPaul Kocialkowski			size = <0x6000000>;
20092025b90SMaxime Ripard			alloc-ranges = <0x40000000 0x10000000>;
2015949bc56SPaul Kocialkowski			reusable;
2025949bc56SPaul Kocialkowski			linux,cma-default;
2035949bc56SPaul Kocialkowski		};
2045949bc56SPaul Kocialkowski	};
2055949bc56SPaul Kocialkowski
20639f8a71bSMaxime Ripard	soc {
20769144e3bSMaxime Ripard		compatible = "simple-bus";
20869144e3bSMaxime Ripard		#address-cells = <1>;
20969144e3bSMaxime Ripard		#size-cells = <1>;
21069144e3bSMaxime Ripard		ranges;
21169144e3bSMaxime Ripard
21237fb1f8dSPaul Kocialkowski		system-control@1c00000 {
21337fb1f8dSPaul Kocialkowski			compatible = "allwinner,sun4i-a10-system-control";
2141fbc1517SMaxime Ripard			reg = <0x01c00000 0x30>;
2151fbc1517SMaxime Ripard			#address-cells = <1>;
2161fbc1517SMaxime Ripard			#size-cells = <1>;
2171fbc1517SMaxime Ripard			ranges;
2181fbc1517SMaxime Ripard
2195841f6c0SMaxime Ripard			sram_a: sram@0 {
2201fbc1517SMaxime Ripard				compatible = "mmio-sram";
2211fbc1517SMaxime Ripard				reg = <0x00000000 0xc000>;
2221fbc1517SMaxime Ripard				#address-cells = <1>;
2231fbc1517SMaxime Ripard				#size-cells = <1>;
2241fbc1517SMaxime Ripard				ranges = <0 0x00000000 0xc000>;
2251fbc1517SMaxime Ripard
2261fbc1517SMaxime Ripard				emac_sram: sram-section@8000 {
2271fbc1517SMaxime Ripard					compatible = "allwinner,sun4i-a10-sram-a3-a4";
2281fbc1517SMaxime Ripard					reg = <0x8000 0x4000>;
2291fbc1517SMaxime Ripard					status = "disabled";
2301fbc1517SMaxime Ripard				};
2311fbc1517SMaxime Ripard			};
2321fbc1517SMaxime Ripard
2335841f6c0SMaxime Ripard			sram_d: sram@10000 {
2341fbc1517SMaxime Ripard				compatible = "mmio-sram";
2351fbc1517SMaxime Ripard				reg = <0x00010000 0x1000>;
2361fbc1517SMaxime Ripard				#address-cells = <1>;
2371fbc1517SMaxime Ripard				#size-cells = <1>;
2381fbc1517SMaxime Ripard				ranges = <0 0x00010000 0x1000>;
2391fbc1517SMaxime Ripard
2405841f6c0SMaxime Ripard				otg_sram: sram-section@0 {
2411fbc1517SMaxime Ripard					compatible = "allwinner,sun4i-a10-sram-d";
2421fbc1517SMaxime Ripard					reg = <0x0000 0x1000>;
2431fbc1517SMaxime Ripard					status = "disabled";
2441fbc1517SMaxime Ripard				};
2451fbc1517SMaxime Ripard			};
246890c5067SPaul Kocialkowski
247890c5067SPaul Kocialkowski			sram_c: sram@1d00000 {
248890c5067SPaul Kocialkowski				compatible = "mmio-sram";
249890c5067SPaul Kocialkowski				reg = <0x01d00000 0xd0000>;
250890c5067SPaul Kocialkowski				#address-cells = <1>;
251890c5067SPaul Kocialkowski				#size-cells = <1>;
252890c5067SPaul Kocialkowski				ranges = <0 0x01d00000 0xd0000>;
253890c5067SPaul Kocialkowski
254890c5067SPaul Kocialkowski				ve_sram: sram-section@0 {
255890c5067SPaul Kocialkowski					compatible = "allwinner,sun4i-a10-sram-c1";
256890c5067SPaul Kocialkowski					reg = <0x000000 0x80000>;
257890c5067SPaul Kocialkowski				};
258890c5067SPaul Kocialkowski			};
2591fbc1517SMaxime Ripard		};
2601fbc1517SMaxime Ripard
2615841f6c0SMaxime Ripard		dma: dma-controller@1c02000 {
2621324f532SEmilio López			compatible = "allwinner,sun4i-a10-dma";
2631324f532SEmilio López			reg = <0x01c02000 0x1000>;
2641324f532SEmilio López			interrupts = <27>;
26541193869SPriit Laes			clocks = <&ccu CLK_AHB_DMA>;
2661324f532SEmilio López			#dma-cells = <2>;
2671324f532SEmilio López		};
2681324f532SEmilio López
269c9d10c3eSMaxime Ripard		nfc: nand-controller@1c03000 {
270cefd4860SBoris Brezillon			compatible = "allwinner,sun4i-a10-nand";
271cefd4860SBoris Brezillon			reg = <0x01c03000 0x1000>;
272cefd4860SBoris Brezillon			interrupts = <37>;
27341193869SPriit Laes			clocks = <&ccu CLK_AHB_NAND>, <&ccu CLK_NAND>;
274cefd4860SBoris Brezillon			clock-names = "ahb", "mod";
275cefd4860SBoris Brezillon			dmas = <&dma SUN4I_DMA_DEDICATED 3>;
276cefd4860SBoris Brezillon			dma-names = "rxtx";
277cefd4860SBoris Brezillon			status = "disabled";
278cefd4860SBoris Brezillon			#address-cells = <1>;
279cefd4860SBoris Brezillon			#size-cells = <0>;
280cefd4860SBoris Brezillon		};
281cefd4860SBoris Brezillon
2825841f6c0SMaxime Ripard		spi0: spi@1c05000 {
28365918e26SMaxime Ripard			compatible = "allwinner,sun4i-a10-spi";
28465918e26SMaxime Ripard			reg = <0x01c05000 0x1000>;
28565918e26SMaxime Ripard			interrupts = <10>;
28641193869SPriit Laes			clocks = <&ccu CLK_AHB_SPI0>, <&ccu CLK_SPI0>;
28765918e26SMaxime Ripard			clock-names = "ahb", "mod";
2881f9f6a78SMaxime Ripard			dmas = <&dma SUN4I_DMA_DEDICATED 27>,
2891f9f6a78SMaxime Ripard			       <&dma SUN4I_DMA_DEDICATED 26>;
2904192ff81SEmilio López			dma-names = "rx", "tx";
29165918e26SMaxime Ripard			status = "disabled";
29265918e26SMaxime Ripard			#address-cells = <1>;
29365918e26SMaxime Ripard			#size-cells = <0>;
29465918e26SMaxime Ripard		};
29565918e26SMaxime Ripard
2965841f6c0SMaxime Ripard		spi1: spi@1c06000 {
29765918e26SMaxime Ripard			compatible = "allwinner,sun4i-a10-spi";
29865918e26SMaxime Ripard			reg = <0x01c06000 0x1000>;
29965918e26SMaxime Ripard			interrupts = <11>;
30041193869SPriit Laes			clocks = <&ccu CLK_AHB_SPI1>, <&ccu CLK_SPI1>;
30165918e26SMaxime Ripard			clock-names = "ahb", "mod";
3021f9f6a78SMaxime Ripard			dmas = <&dma SUN4I_DMA_DEDICATED 9>,
3031f9f6a78SMaxime Ripard			       <&dma SUN4I_DMA_DEDICATED 8>;
3044192ff81SEmilio López			dma-names = "rx", "tx";
305bca0d7d9SMaxime Ripard			pinctrl-names = "default";
306bca0d7d9SMaxime Ripard			pinctrl-0 = <&spi1_pins>, <&spi1_cs0_pin>;
30765918e26SMaxime Ripard			status = "disabled";
30865918e26SMaxime Ripard			#address-cells = <1>;
30965918e26SMaxime Ripard			#size-cells = <0>;
31065918e26SMaxime Ripard		};
31165918e26SMaxime Ripard
3125841f6c0SMaxime Ripard		emac: ethernet@1c0b000 {
3131c70e099SMaxime Ripard			compatible = "allwinner,sun4i-a10-emac";
314e38afcb3SMaxime Ripard			reg = <0x01c0b000 0x1000>;
315e38afcb3SMaxime Ripard			interrupts = <55>;
31641193869SPriit Laes			clocks = <&ccu CLK_AHB_EMAC>;
3171fbc1517SMaxime Ripard			allwinner,sram = <&emac_sram 1>;
318bca0d7d9SMaxime Ripard			pinctrl-names = "default";
319bca0d7d9SMaxime Ripard			pinctrl-0 = <&emac_pins>;
320e38afcb3SMaxime Ripard			status = "disabled";
321e38afcb3SMaxime Ripard		};
322e38afcb3SMaxime Ripard
3235841f6c0SMaxime Ripard		mdio: mdio@1c0b080 {
3241c70e099SMaxime Ripard			compatible = "allwinner,sun4i-a10-mdio";
325e38afcb3SMaxime Ripard			reg = <0x01c0b080 0x14>;
326e38afcb3SMaxime Ripard			status = "disabled";
327e38afcb3SMaxime Ripard			#address-cells = <1>;
328e38afcb3SMaxime Ripard			#size-cells = <0>;
329e38afcb3SMaxime Ripard		};
330e38afcb3SMaxime Ripard
3310df4cf33SChen-Yu Tsai		tcon0: lcd-controller@1c0c000 {
3320df4cf33SChen-Yu Tsai			compatible = "allwinner,sun4i-a10-tcon";
3330df4cf33SChen-Yu Tsai			reg = <0x01c0c000 0x1000>;
3340df4cf33SChen-Yu Tsai			interrupts = <44>;
3350df4cf33SChen-Yu Tsai			resets = <&ccu RST_TCON0>;
3360df4cf33SChen-Yu Tsai			reset-names = "lcd";
3370df4cf33SChen-Yu Tsai			clocks = <&ccu CLK_AHB_LCD0>,
3380df4cf33SChen-Yu Tsai				 <&ccu CLK_TCON0_CH0>,
3390df4cf33SChen-Yu Tsai				 <&ccu CLK_TCON0_CH1>;
3400df4cf33SChen-Yu Tsai			clock-names = "ahb",
3410df4cf33SChen-Yu Tsai				      "tcon-ch0",
3420df4cf33SChen-Yu Tsai				      "tcon-ch1";
3430df4cf33SChen-Yu Tsai			clock-output-names = "tcon0-pixel-clock";
34409f29dccSMaxime Ripard			#clock-cells = <0>;
3450df4cf33SChen-Yu Tsai			dmas = <&dma SUN4I_DMA_DEDICATED 14>;
3460df4cf33SChen-Yu Tsai
3470df4cf33SChen-Yu Tsai			ports {
3480df4cf33SChen-Yu Tsai				#address-cells = <1>;
3490df4cf33SChen-Yu Tsai				#size-cells = <0>;
3500df4cf33SChen-Yu Tsai
3510df4cf33SChen-Yu Tsai				tcon0_in: port@0 {
3520df4cf33SChen-Yu Tsai					#address-cells = <1>;
3530df4cf33SChen-Yu Tsai					#size-cells = <0>;
3540df4cf33SChen-Yu Tsai					reg = <0>;
3550df4cf33SChen-Yu Tsai
3560df4cf33SChen-Yu Tsai					tcon0_in_be0: endpoint@0 {
3570df4cf33SChen-Yu Tsai						reg = <0>;
3580df4cf33SChen-Yu Tsai						remote-endpoint = <&be0_out_tcon0>;
3590df4cf33SChen-Yu Tsai					};
3600df4cf33SChen-Yu Tsai
3610df4cf33SChen-Yu Tsai					tcon0_in_be1: endpoint@1 {
3620df4cf33SChen-Yu Tsai						reg = <1>;
3630df4cf33SChen-Yu Tsai						remote-endpoint = <&be1_out_tcon0>;
3640df4cf33SChen-Yu Tsai					};
3650df4cf33SChen-Yu Tsai				};
3660df4cf33SChen-Yu Tsai
3670df4cf33SChen-Yu Tsai				tcon0_out: port@1 {
3680df4cf33SChen-Yu Tsai					#address-cells = <1>;
3690df4cf33SChen-Yu Tsai					#size-cells = <0>;
3700df4cf33SChen-Yu Tsai					reg = <1>;
3710df4cf33SChen-Yu Tsai
3720df4cf33SChen-Yu Tsai					tcon0_out_hdmi: endpoint@1 {
3730df4cf33SChen-Yu Tsai						reg = <1>;
3740df4cf33SChen-Yu Tsai						remote-endpoint = <&hdmi_in_tcon0>;
3750df4cf33SChen-Yu Tsai						allwinner,tcon-channel = <1>;
3760df4cf33SChen-Yu Tsai					};
3770df4cf33SChen-Yu Tsai				};
3780df4cf33SChen-Yu Tsai			};
3790df4cf33SChen-Yu Tsai		};
3800df4cf33SChen-Yu Tsai
3810df4cf33SChen-Yu Tsai		tcon1: lcd-controller@1c0d000 {
3820df4cf33SChen-Yu Tsai			compatible = "allwinner,sun4i-a10-tcon";
3830df4cf33SChen-Yu Tsai			reg = <0x01c0d000 0x1000>;
3840df4cf33SChen-Yu Tsai			interrupts = <45>;
3850df4cf33SChen-Yu Tsai			resets = <&ccu RST_TCON1>;
3860df4cf33SChen-Yu Tsai			reset-names = "lcd";
3870df4cf33SChen-Yu Tsai			clocks = <&ccu CLK_AHB_LCD1>,
3880df4cf33SChen-Yu Tsai				 <&ccu CLK_TCON1_CH0>,
3890df4cf33SChen-Yu Tsai				 <&ccu CLK_TCON1_CH1>;
3900df4cf33SChen-Yu Tsai			clock-names = "ahb",
3910df4cf33SChen-Yu Tsai				      "tcon-ch0",
3920df4cf33SChen-Yu Tsai				      "tcon-ch1";
3930df4cf33SChen-Yu Tsai			clock-output-names = "tcon1-pixel-clock";
39409f29dccSMaxime Ripard			#clock-cells = <0>;
3950df4cf33SChen-Yu Tsai			dmas = <&dma SUN4I_DMA_DEDICATED 15>;
3960df4cf33SChen-Yu Tsai
3970df4cf33SChen-Yu Tsai			ports {
3980df4cf33SChen-Yu Tsai				#address-cells = <1>;
3990df4cf33SChen-Yu Tsai				#size-cells = <0>;
4000df4cf33SChen-Yu Tsai
4010df4cf33SChen-Yu Tsai				tcon1_in: port@0 {
4020df4cf33SChen-Yu Tsai					#address-cells = <1>;
4030df4cf33SChen-Yu Tsai					#size-cells = <0>;
4040df4cf33SChen-Yu Tsai					reg = <0>;
4050df4cf33SChen-Yu Tsai
4060df4cf33SChen-Yu Tsai					tcon1_in_be0: endpoint@0 {
4070df4cf33SChen-Yu Tsai						reg = <0>;
4080df4cf33SChen-Yu Tsai						remote-endpoint = <&be0_out_tcon1>;
4090df4cf33SChen-Yu Tsai					};
4100df4cf33SChen-Yu Tsai
4110df4cf33SChen-Yu Tsai					tcon1_in_be1: endpoint@1 {
4120df4cf33SChen-Yu Tsai						reg = <1>;
4130df4cf33SChen-Yu Tsai						remote-endpoint = <&be1_out_tcon1>;
4140df4cf33SChen-Yu Tsai					};
4150df4cf33SChen-Yu Tsai				};
4160df4cf33SChen-Yu Tsai
4170df4cf33SChen-Yu Tsai				tcon1_out: port@1 {
4180df4cf33SChen-Yu Tsai					#address-cells = <1>;
4190df4cf33SChen-Yu Tsai					#size-cells = <0>;
4200df4cf33SChen-Yu Tsai					reg = <1>;
4210df4cf33SChen-Yu Tsai
4220df4cf33SChen-Yu Tsai					tcon1_out_hdmi: endpoint@1 {
4230df4cf33SChen-Yu Tsai						reg = <1>;
4240df4cf33SChen-Yu Tsai						remote-endpoint = <&hdmi_in_tcon1>;
4250df4cf33SChen-Yu Tsai						allwinner,tcon-channel = <1>;
4260df4cf33SChen-Yu Tsai					};
4270df4cf33SChen-Yu Tsai				};
4280df4cf33SChen-Yu Tsai			};
4290df4cf33SChen-Yu Tsai		};
4300df4cf33SChen-Yu Tsai
4315949bc56SPaul Kocialkowski		video-codec@1c0e000 {
4325949bc56SPaul Kocialkowski			compatible = "allwinner,sun4i-a10-video-engine";
4335949bc56SPaul Kocialkowski			reg = <0x01c0e000 0x1000>;
4345949bc56SPaul Kocialkowski			clocks = <&ccu CLK_AHB_VE>, <&ccu CLK_VE>,
4355949bc56SPaul Kocialkowski				 <&ccu CLK_DRAM_VE>;
4365949bc56SPaul Kocialkowski			clock-names = "ahb", "mod", "ram";
4375949bc56SPaul Kocialkowski			resets = <&ccu RST_VE>;
4385949bc56SPaul Kocialkowski			interrupts = <53>;
4395949bc56SPaul Kocialkowski			allwinner,sram = <&ve_sram 1>;
4405949bc56SPaul Kocialkowski		};
4415949bc56SPaul Kocialkowski
4425841f6c0SMaxime Ripard		mmc0: mmc@1c0f000 {
443b258b369SDavid Lanzendörfer			compatible = "allwinner,sun4i-a10-mmc";
444b258b369SDavid Lanzendörfer			reg = <0x01c0f000 0x1000>;
44541193869SPriit Laes			clocks = <&ccu CLK_AHB_MMC0>, <&ccu CLK_MMC0>;
44641193869SPriit Laes			clock-names = "ahb", "mmc";
447b258b369SDavid Lanzendörfer			interrupts = <32>;
448bca0d7d9SMaxime Ripard			pinctrl-names = "default";
449bca0d7d9SMaxime Ripard			pinctrl-0 = <&mmc0_pins>;
450b258b369SDavid Lanzendörfer			status = "disabled";
4514c1bb9c3SHans de Goede			#address-cells = <1>;
4524c1bb9c3SHans de Goede			#size-cells = <0>;
453b258b369SDavid Lanzendörfer		};
454b258b369SDavid Lanzendörfer
4555841f6c0SMaxime Ripard		mmc1: mmc@1c10000 {
456b258b369SDavid Lanzendörfer			compatible = "allwinner,sun4i-a10-mmc";
457b258b369SDavid Lanzendörfer			reg = <0x01c10000 0x1000>;
45841193869SPriit Laes			clocks = <&ccu CLK_AHB_MMC1>, <&ccu CLK_MMC1>;
45941193869SPriit Laes			clock-names = "ahb", "mmc";
460b258b369SDavid Lanzendörfer			interrupts = <33>;
461b258b369SDavid Lanzendörfer			status = "disabled";
4624c1bb9c3SHans de Goede			#address-cells = <1>;
4634c1bb9c3SHans de Goede			#size-cells = <0>;
464b258b369SDavid Lanzendörfer		};
465b258b369SDavid Lanzendörfer
4665841f6c0SMaxime Ripard		mmc2: mmc@1c11000 {
467b258b369SDavid Lanzendörfer			compatible = "allwinner,sun4i-a10-mmc";
468b258b369SDavid Lanzendörfer			reg = <0x01c11000 0x1000>;
46941193869SPriit Laes			clocks = <&ccu CLK_AHB_MMC2>, <&ccu CLK_MMC2>;
47041193869SPriit Laes			clock-names = "ahb", "mmc";
471b258b369SDavid Lanzendörfer			interrupts = <34>;
472b258b369SDavid Lanzendörfer			status = "disabled";
4734c1bb9c3SHans de Goede			#address-cells = <1>;
4744c1bb9c3SHans de Goede			#size-cells = <0>;
475b258b369SDavid Lanzendörfer		};
476b258b369SDavid Lanzendörfer
4775841f6c0SMaxime Ripard		mmc3: mmc@1c12000 {
478b258b369SDavid Lanzendörfer			compatible = "allwinner,sun4i-a10-mmc";
479b258b369SDavid Lanzendörfer			reg = <0x01c12000 0x1000>;
48041193869SPriit Laes			clocks = <&ccu CLK_AHB_MMC3>, <&ccu CLK_MMC3>;
48141193869SPriit Laes			clock-names = "ahb", "mmc";
482b258b369SDavid Lanzendörfer			interrupts = <35>;
483b258b369SDavid Lanzendörfer			status = "disabled";
4844c1bb9c3SHans de Goede			#address-cells = <1>;
4854c1bb9c3SHans de Goede			#size-cells = <0>;
486b258b369SDavid Lanzendörfer		};
487b258b369SDavid Lanzendörfer
4885841f6c0SMaxime Ripard		usb_otg: usb@1c13000 {
489ce65037fSHans de Goede			compatible = "allwinner,sun4i-a10-musb";
490ce65037fSHans de Goede			reg = <0x01c13000 0x0400>;
49141193869SPriit Laes			clocks = <&ccu CLK_AHB_OTG>;
492ce65037fSHans de Goede			interrupts = <38>;
493ce65037fSHans de Goede			interrupt-names = "mc";
494ce65037fSHans de Goede			phys = <&usbphy 0>;
495ce65037fSHans de Goede			phy-names = "usb";
496ce65037fSHans de Goede			extcon = <&usbphy 0>;
497ce65037fSHans de Goede			allwinner,sram = <&otg_sram 1>;
498d4fe5b15SMaxime Ripard			dr_mode = "otg";
499ce65037fSHans de Goede			status = "disabled";
500ce65037fSHans de Goede		};
501ce65037fSHans de Goede
5025841f6c0SMaxime Ripard		usbphy: phy@1c13400 {
5036ab1ce24SRoman Byshko			#phy-cells = <1>;
5046ab1ce24SRoman Byshko			compatible = "allwinner,sun4i-a10-usb-phy";
505655c0f42SMaxime Ripard			reg = <0x01c13400 0x10>, <0x01c14800 0x4>, <0x01c1c800 0x4>;
5066ab1ce24SRoman Byshko			reg-names = "phy_ctrl", "pmu1", "pmu2";
50741193869SPriit Laes			clocks = <&ccu CLK_USB_PHY>;
5086ab1ce24SRoman Byshko			clock-names = "usb_phy";
50941193869SPriit Laes			resets = <&ccu RST_USB_PHY0>,
51041193869SPriit Laes				 <&ccu RST_USB_PHY1>,
51141193869SPriit Laes				 <&ccu RST_USB_PHY2>;
5124dba4185SChen-Yu Tsai			reset-names = "usb0_reset", "usb1_reset", "usb2_reset";
5136ab1ce24SRoman Byshko			status = "disabled";
5146ab1ce24SRoman Byshko		};
5156ab1ce24SRoman Byshko
5165841f6c0SMaxime Ripard		ehci0: usb@1c14000 {
5176ab1ce24SRoman Byshko			compatible = "allwinner,sun4i-a10-ehci", "generic-ehci";
5186ab1ce24SRoman Byshko			reg = <0x01c14000 0x100>;
5196ab1ce24SRoman Byshko			interrupts = <39>;
52041193869SPriit Laes			clocks = <&ccu CLK_AHB_EHCI0>;
5216ab1ce24SRoman Byshko			phys = <&usbphy 1>;
522e6064cf4SMaxime Ripard			phy-names = "usb";
5236ab1ce24SRoman Byshko			status = "disabled";
5246ab1ce24SRoman Byshko		};
5256ab1ce24SRoman Byshko
5265841f6c0SMaxime Ripard		ohci0: usb@1c14400 {
5276ab1ce24SRoman Byshko			compatible = "allwinner,sun4i-a10-ohci", "generic-ohci";
5286ab1ce24SRoman Byshko			reg = <0x01c14400 0x100>;
5296ab1ce24SRoman Byshko			interrupts = <64>;
53041193869SPriit Laes			clocks = <&ccu CLK_USB_OHCI0>, <&ccu CLK_AHB_OHCI0>;
5316ab1ce24SRoman Byshko			phys = <&usbphy 1>;
532e6064cf4SMaxime Ripard			phy-names = "usb";
5336ab1ce24SRoman Byshko			status = "disabled";
5346ab1ce24SRoman Byshko		};
5356ab1ce24SRoman Byshko
5365841f6c0SMaxime Ripard		crypto: crypto-engine@1c15000 {
53756ba8c58SLABBE Corentin			compatible = "allwinner,sun4i-a10-crypto";
53856ba8c58SLABBE Corentin			reg = <0x01c15000 0x1000>;
53956ba8c58SLABBE Corentin			interrupts = <86>;
54041193869SPriit Laes			clocks = <&ccu CLK_AHB_SS>, <&ccu CLK_SS>;
54156ba8c58SLABBE Corentin			clock-names = "ahb", "mod";
54256ba8c58SLABBE Corentin		};
54356ba8c58SLABBE Corentin
5440df4cf33SChen-Yu Tsai		hdmi: hdmi@1c16000 {
5450df4cf33SChen-Yu Tsai			compatible = "allwinner,sun4i-a10-hdmi";
5460df4cf33SChen-Yu Tsai			reg = <0x01c16000 0x1000>;
5470df4cf33SChen-Yu Tsai			interrupts = <58>;
5480df4cf33SChen-Yu Tsai			clocks = <&ccu CLK_AHB_HDMI0>, <&ccu CLK_HDMI>,
549e17e237cSChen-Yu Tsai				 <&ccu CLK_PLL_VIDEO0_2X>,
550e17e237cSChen-Yu Tsai				 <&ccu CLK_PLL_VIDEO1_2X>;
5510df4cf33SChen-Yu Tsai			clock-names = "ahb", "mod", "pll-0", "pll-1";
5520df4cf33SChen-Yu Tsai			dmas = <&dma SUN4I_DMA_NORMAL 16>,
5530df4cf33SChen-Yu Tsai			       <&dma SUN4I_DMA_NORMAL 16>,
5540df4cf33SChen-Yu Tsai			       <&dma SUN4I_DMA_DEDICATED 24>;
5550df4cf33SChen-Yu Tsai			dma-names = "ddc-tx", "ddc-rx", "audio-tx";
5560df4cf33SChen-Yu Tsai			status = "disabled";
5570df4cf33SChen-Yu Tsai
5580df4cf33SChen-Yu Tsai			ports {
5590df4cf33SChen-Yu Tsai				#address-cells = <1>;
5600df4cf33SChen-Yu Tsai				#size-cells = <0>;
5610df4cf33SChen-Yu Tsai
5620df4cf33SChen-Yu Tsai				hdmi_in: port@0 {
5630df4cf33SChen-Yu Tsai					#address-cells = <1>;
5640df4cf33SChen-Yu Tsai					#size-cells = <0>;
5650df4cf33SChen-Yu Tsai					reg = <0>;
5660df4cf33SChen-Yu Tsai
5670df4cf33SChen-Yu Tsai					hdmi_in_tcon0: endpoint@0 {
5680df4cf33SChen-Yu Tsai						reg = <0>;
5690df4cf33SChen-Yu Tsai						remote-endpoint = <&tcon0_out_hdmi>;
5700df4cf33SChen-Yu Tsai					};
5710df4cf33SChen-Yu Tsai
5720df4cf33SChen-Yu Tsai					hdmi_in_tcon1: endpoint@1 {
5730df4cf33SChen-Yu Tsai						reg = <1>;
5740df4cf33SChen-Yu Tsai						remote-endpoint = <&tcon1_out_hdmi>;
5750df4cf33SChen-Yu Tsai					};
5760df4cf33SChen-Yu Tsai				};
5770df4cf33SChen-Yu Tsai
5780df4cf33SChen-Yu Tsai				hdmi_out: port@1 {
5790df4cf33SChen-Yu Tsai					reg = <1>;
5800df4cf33SChen-Yu Tsai				};
5810df4cf33SChen-Yu Tsai			};
5820df4cf33SChen-Yu Tsai		};
5830df4cf33SChen-Yu Tsai
5845841f6c0SMaxime Ripard		spi2: spi@1c17000 {
58565918e26SMaxime Ripard			compatible = "allwinner,sun4i-a10-spi";
58665918e26SMaxime Ripard			reg = <0x01c17000 0x1000>;
58765918e26SMaxime Ripard			interrupts = <12>;
58841193869SPriit Laes			clocks = <&ccu CLK_AHB_SPI2>, <&ccu CLK_SPI2>;
58965918e26SMaxime Ripard			clock-names = "ahb", "mod";
5901f9f6a78SMaxime Ripard			dmas = <&dma SUN4I_DMA_DEDICATED 29>,
5911f9f6a78SMaxime Ripard			       <&dma SUN4I_DMA_DEDICATED 28>;
5924192ff81SEmilio López			dma-names = "rx", "tx";
59365918e26SMaxime Ripard			status = "disabled";
59465918e26SMaxime Ripard			#address-cells = <1>;
59565918e26SMaxime Ripard			#size-cells = <0>;
59665918e26SMaxime Ripard		};
59765918e26SMaxime Ripard
5985841f6c0SMaxime Ripard		ahci: sata@1c18000 {
599248bd1e2SOliver Schinagl			compatible = "allwinner,sun4i-a10-ahci";
600248bd1e2SOliver Schinagl			reg = <0x01c18000 0x1000>;
601248bd1e2SOliver Schinagl			interrupts = <56>;
60241193869SPriit Laes			clocks = <&ccu CLK_AHB_SATA>, <&ccu CLK_SATA>;
603248bd1e2SOliver Schinagl			status = "disabled";
604248bd1e2SOliver Schinagl		};
605248bd1e2SOliver Schinagl
6065841f6c0SMaxime Ripard		ehci1: usb@1c1c000 {
6076ab1ce24SRoman Byshko			compatible = "allwinner,sun4i-a10-ehci", "generic-ehci";
6086ab1ce24SRoman Byshko			reg = <0x01c1c000 0x100>;
6096ab1ce24SRoman Byshko			interrupts = <40>;
61041193869SPriit Laes			clocks = <&ccu CLK_AHB_EHCI1>;
6116ab1ce24SRoman Byshko			phys = <&usbphy 2>;
612e6064cf4SMaxime Ripard			phy-names = "usb";
6136ab1ce24SRoman Byshko			status = "disabled";
6146ab1ce24SRoman Byshko		};
6156ab1ce24SRoman Byshko
6165841f6c0SMaxime Ripard		ohci1: usb@1c1c400 {
6176ab1ce24SRoman Byshko			compatible = "allwinner,sun4i-a10-ohci", "generic-ohci";
6186ab1ce24SRoman Byshko			reg = <0x01c1c400 0x100>;
6196ab1ce24SRoman Byshko			interrupts = <65>;
62041193869SPriit Laes			clocks = <&ccu CLK_USB_OHCI1>, <&ccu CLK_AHB_OHCI1>;
6216ab1ce24SRoman Byshko			phys = <&usbphy 2>;
622e6064cf4SMaxime Ripard			phy-names = "usb";
6236ab1ce24SRoman Byshko			status = "disabled";
6246ab1ce24SRoman Byshko		};
6256ab1ce24SRoman Byshko
6267faf7fbfSChen-Yu Tsai		csi1: csi@1c1d000 {
6277faf7fbfSChen-Yu Tsai			compatible = "allwinner,sun4i-a10-csi1";
6287faf7fbfSChen-Yu Tsai			reg = <0x01c1d000 0x1000>;
6297faf7fbfSChen-Yu Tsai			interrupts = <43>;
6307faf7fbfSChen-Yu Tsai			clocks = <&ccu CLK_AHB_CSI1>, <&ccu CLK_DRAM_CSI1>;
6317faf7fbfSChen-Yu Tsai			clock-names = "bus", "ram";
6327faf7fbfSChen-Yu Tsai			resets = <&ccu RST_CSI1>;
6337faf7fbfSChen-Yu Tsai			status = "disabled";
6347faf7fbfSChen-Yu Tsai		};
6357faf7fbfSChen-Yu Tsai
6365841f6c0SMaxime Ripard		spi3: spi@1c1f000 {
63765918e26SMaxime Ripard			compatible = "allwinner,sun4i-a10-spi";
63865918e26SMaxime Ripard			reg = <0x01c1f000 0x1000>;
63965918e26SMaxime Ripard			interrupts = <50>;
64041193869SPriit Laes			clocks = <&ccu CLK_AHB_SPI3>, <&ccu CLK_SPI3>;
64165918e26SMaxime Ripard			clock-names = "ahb", "mod";
6421f9f6a78SMaxime Ripard			dmas = <&dma SUN4I_DMA_DEDICATED 31>,
6431f9f6a78SMaxime Ripard			       <&dma SUN4I_DMA_DEDICATED 30>;
6444192ff81SEmilio López			dma-names = "rx", "tx";
64565918e26SMaxime Ripard			status = "disabled";
64665918e26SMaxime Ripard			#address-cells = <1>;
64765918e26SMaxime Ripard			#size-cells = <0>;
64865918e26SMaxime Ripard		};
64965918e26SMaxime Ripard
6505841f6c0SMaxime Ripard		ccu: clock@1c20000 {
65141193869SPriit Laes			compatible = "allwinner,sun4i-a10-ccu";
65241193869SPriit Laes			reg = <0x01c20000 0x400>;
65341193869SPriit Laes			clocks = <&osc24M>, <&osc32k>;
65441193869SPriit Laes			clock-names = "hosc", "losc";
65541193869SPriit Laes			#clock-cells = <1>;
65641193869SPriit Laes			#reset-cells = <1>;
65741193869SPriit Laes		};
65841193869SPriit Laes
6595841f6c0SMaxime Ripard		intc: interrupt-controller@1c20400 {
66009504a7dSMaxime Ripard			compatible = "allwinner,sun4i-a10-ic";
66169144e3bSMaxime Ripard			reg = <0x01c20400 0x400>;
66269144e3bSMaxime Ripard			interrupt-controller;
66369144e3bSMaxime Ripard			#interrupt-cells = <1>;
66469144e3bSMaxime Ripard		};
66569144e3bSMaxime Ripard
6665841f6c0SMaxime Ripard		pio: pinctrl@1c20800 {
667874b4e45SMaxime Ripard			compatible = "allwinner,sun4i-a10-pinctrl";
668874b4e45SMaxime Ripard			reg = <0x01c20800 0x400>;
66939138bc6SMaxime Ripard			interrupts = <28>;
67041193869SPriit Laes			clocks = <&ccu CLK_APB0_PIO>, <&osc24M>, <&osc32k>;
671be7bc6b9SMaxime Ripard			clock-names = "apb", "hosc", "losc";
672e10911e1SMaxime Ripard			gpio-controller;
67339138bc6SMaxime Ripard			interrupt-controller;
674b03e0816SMaxime Ripard			#interrupt-cells = <3>;
675e10911e1SMaxime Ripard			#gpio-cells = <3>;
676581981beSMaxime Ripard
677e53bd761SMaxime Ripard			can0_ph_pins: can0-ph-pins {
678908370f6SPatrick Menschel				pins = "PH20", "PH21";
679908370f6SPatrick Menschel				function = "can";
680908370f6SPatrick Menschel			};
681908370f6SPatrick Menschel
6827faf7fbfSChen-Yu Tsai			/omit-if-no-ref/
6837faf7fbfSChen-Yu Tsai			csi1_8bits_pg_pins: csi1-8bits-pg-pins {
6847faf7fbfSChen-Yu Tsai				pins = "PG0", "PG2", "PG3", "PG4", "PG5",
6857faf7fbfSChen-Yu Tsai				       "PG6", "PG7", "PG8", "PG9", "PG10",
6867faf7fbfSChen-Yu Tsai				       "PG11";
6877faf7fbfSChen-Yu Tsai				function = "csi1";
6887faf7fbfSChen-Yu Tsai			};
6897faf7fbfSChen-Yu Tsai
6907faf7fbfSChen-Yu Tsai			/omit-if-no-ref/
6917faf7fbfSChen-Yu Tsai			csi1_24bits_ph_pins: csi1-24bits-ph-pins {
6927faf7fbfSChen-Yu Tsai				pins = "PH0", "PH1", "PH2", "PH3", "PH4",
6937faf7fbfSChen-Yu Tsai				       "PH5", "PH6", "PH7", "PH8", "PH9",
6947faf7fbfSChen-Yu Tsai				       "PH10", "PH11", "PH12", "PH13", "PH14",
6957faf7fbfSChen-Yu Tsai				       "PH15", "PH16", "PH17", "PH18", "PH19",
6967faf7fbfSChen-Yu Tsai				       "PH20", "PH21", "PH22", "PH23", "PH24",
6977faf7fbfSChen-Yu Tsai				       "PH25", "PH26", "PH27";
6987faf7fbfSChen-Yu Tsai				function = "csi1";
6997faf7fbfSChen-Yu Tsai			};
7007faf7fbfSChen-Yu Tsai
7017faf7fbfSChen-Yu Tsai			/omit-if-no-ref/
7027faf7fbfSChen-Yu Tsai			csi1_clk_pg_pin: csi1-clk-pg-pin {
7037faf7fbfSChen-Yu Tsai				pins = "PG1";
7047faf7fbfSChen-Yu Tsai				function = "csi1";
7057faf7fbfSChen-Yu Tsai			};
7067faf7fbfSChen-Yu Tsai
707e53bd761SMaxime Ripard			emac_pins: emac0-pins {
7081edcd36fSMaxime Ripard				pins = "PA0", "PA1", "PA2",
70903907ab3SAleksei Mamlin				       "PA3", "PA4", "PA5", "PA6",
71003907ab3SAleksei Mamlin				       "PA7", "PA8", "PA9", "PA10",
71103907ab3SAleksei Mamlin				       "PA11", "PA12", "PA13", "PA14",
71203907ab3SAleksei Mamlin				       "PA15", "PA16";
7131edcd36fSMaxime Ripard				function = "emac";
714581981beSMaxime Ripard			};
71527cce4ffSMaxime Ripard
716e53bd761SMaxime Ripard			i2c0_pins: i2c0-pins {
7171edcd36fSMaxime Ripard				pins = "PB0", "PB1";
7181edcd36fSMaxime Ripard				function = "i2c0";
71927cce4ffSMaxime Ripard			};
72027cce4ffSMaxime Ripard
721e53bd761SMaxime Ripard			i2c1_pins: i2c1-pins {
7221edcd36fSMaxime Ripard				pins = "PB18", "PB19";
7231edcd36fSMaxime Ripard				function = "i2c1";
72427cce4ffSMaxime Ripard			};
72527cce4ffSMaxime Ripard
726e53bd761SMaxime Ripard			i2c2_pins: i2c2-pins {
7271edcd36fSMaxime Ripard				pins = "PB20", "PB21";
7281edcd36fSMaxime Ripard				function = "i2c2";
72927cce4ffSMaxime Ripard			};
730496322bcSLinus Torvalds
731e53bd761SMaxime Ripard			ir0_rx_pins: ir0-rx-pin {
7321edcd36fSMaxime Ripard				pins = "PB4";
7331edcd36fSMaxime Ripard				function = "ir0";
734a4e1099aSHans de Goede			};
735a4e1099aSHans de Goede
736e53bd761SMaxime Ripard			ir0_tx_pins: ir0-tx-pin {
7371edcd36fSMaxime Ripard				pins = "PB3";
7381edcd36fSMaxime Ripard				function = "ir0";
739469a22e6SMarcus Cooper			};
740469a22e6SMarcus Cooper
741e53bd761SMaxime Ripard			ir1_rx_pins: ir1-rx-pin {
7421edcd36fSMaxime Ripard				pins = "PB23";
7431edcd36fSMaxime Ripard				function = "ir1";
744469a22e6SMarcus Cooper			};
745469a22e6SMarcus Cooper
746e53bd761SMaxime Ripard			ir1_tx_pins: ir1-tx-pin {
7471edcd36fSMaxime Ripard				pins = "PB22";
7481edcd36fSMaxime Ripard				function = "ir1";
749a4e1099aSHans de Goede			};
750ec66d0bbSAlexandru Gagniuc
751e53bd761SMaxime Ripard			mmc0_pins: mmc0-pins {
7521edcd36fSMaxime Ripard				pins = "PF0", "PF1", "PF2",
75303907ab3SAleksei Mamlin				       "PF3", "PF4", "PF5";
7541edcd36fSMaxime Ripard				function = "mmc0";
7551edcd36fSMaxime Ripard				drive-strength = <30>;
75680ee72e7SChen-Yu Tsai				bias-pull-up;
75703907ab3SAleksei Mamlin			};
75803907ab3SAleksei Mamlin
759e53bd761SMaxime Ripard			ps2_ch0_pins: ps2-ch0-pins {
7601edcd36fSMaxime Ripard				pins = "PI20", "PI21";
7611edcd36fSMaxime Ripard				function = "ps2";
76203907ab3SAleksei Mamlin			};
76303907ab3SAleksei Mamlin
764e53bd761SMaxime Ripard			ps2_ch1_ph_pins: ps2-ch1-ph-pins {
7651edcd36fSMaxime Ripard				pins = "PH12", "PH13";
7661edcd36fSMaxime Ripard				function = "ps2";
76703907ab3SAleksei Mamlin			};
76803907ab3SAleksei Mamlin
769e53bd761SMaxime Ripard			pwm0_pin: pwm0-pin {
7701edcd36fSMaxime Ripard				pins = "PB2";
7711edcd36fSMaxime Ripard				function = "pwm";
77203907ab3SAleksei Mamlin			};
77303907ab3SAleksei Mamlin
774e53bd761SMaxime Ripard			pwm1_pin: pwm1-pin {
7751edcd36fSMaxime Ripard				pins = "PI3";
7761edcd36fSMaxime Ripard				function = "pwm";
77703907ab3SAleksei Mamlin			};
77803907ab3SAleksei Mamlin
779e53bd761SMaxime Ripard			spdif_tx_pin: spdif-tx-pin {
7801edcd36fSMaxime Ripard				pins = "PB13";
7811edcd36fSMaxime Ripard				function = "spdif";
7821edcd36fSMaxime Ripard				bias-pull-up;
78303907ab3SAleksei Mamlin			};
78403907ab3SAleksei Mamlin
785e53bd761SMaxime Ripard			spi0_pi_pins: spi0-pi-pins {
7861edcd36fSMaxime Ripard				pins = "PI11", "PI12", "PI13";
7871edcd36fSMaxime Ripard				function = "spi0";
788f3022c6cSMaxime Ripard			};
789f3022c6cSMaxime Ripard
790e53bd761SMaxime Ripard			spi0_cs0_pi_pin: spi0-cs0-pi-pin {
7911edcd36fSMaxime Ripard				pins = "PI10";
7921edcd36fSMaxime Ripard				function = "spi0";
793ec66d0bbSAlexandru Gagniuc			};
794ec66d0bbSAlexandru Gagniuc
795e53bd761SMaxime Ripard			spi1_pins: spi1-pins {
7961edcd36fSMaxime Ripard				pins = "PI17", "PI18", "PI19";
7971edcd36fSMaxime Ripard				function = "spi1";
798f3022c6cSMaxime Ripard			};
799f3022c6cSMaxime Ripard
800e53bd761SMaxime Ripard			spi1_cs0_pin: spi1-cs0-pin {
8011edcd36fSMaxime Ripard				pins = "PI16";
8021edcd36fSMaxime Ripard				function = "spi1";
803ec66d0bbSAlexandru Gagniuc			};
804ec66d0bbSAlexandru Gagniuc
805e53bd761SMaxime Ripard			spi2_pb_pins: spi2-pb-pins {
8061edcd36fSMaxime Ripard				pins = "PB15", "PB16", "PB17";
8071edcd36fSMaxime Ripard				function = "spi2";
808f3022c6cSMaxime Ripard			};
809f3022c6cSMaxime Ripard
810e53bd761SMaxime Ripard			spi2_pc_pins: spi2-pc-pins {
811e53bd761SMaxime Ripard				pins = "PC20", "PC21", "PC22";
8121edcd36fSMaxime Ripard				function = "spi2";
813f3022c6cSMaxime Ripard			};
814f3022c6cSMaxime Ripard
815e53bd761SMaxime Ripard			spi2_cs0_pb_pin: spi2-cs0-pb-pin {
8161edcd36fSMaxime Ripard				pins = "PB14";
8171edcd36fSMaxime Ripard				function = "spi2";
818ec66d0bbSAlexandru Gagniuc			};
8191e8d1567SVishnu Patekar
820e53bd761SMaxime Ripard			spi2_cs0_pc_pins: spi2-cs0-pc-pin {
821e53bd761SMaxime Ripard				pins = "PC19";
822e53bd761SMaxime Ripard				function = "spi2";
823e53bd761SMaxime Ripard			};
824e53bd761SMaxime Ripard
825e53bd761SMaxime Ripard			uart0_pb_pins: uart0-pb-pins {
8261edcd36fSMaxime Ripard				pins = "PB22", "PB23";
8271edcd36fSMaxime Ripard				function = "uart0";
8281e8d1567SVishnu Patekar			};
8291e8d1567SVishnu Patekar
830e53bd761SMaxime Ripard			uart0_pf_pins: uart0-pf-pins {
8311edcd36fSMaxime Ripard				pins = "PF2", "PF4";
8321edcd36fSMaxime Ripard				function = "uart0";
833b5f86a3aSHans de Goede			};
83479f969f0SMarcus Cooper
835e53bd761SMaxime Ripard			uart1_pins: uart1-pins {
8361edcd36fSMaxime Ripard				pins = "PA10", "PA11";
8371edcd36fSMaxime Ripard				function = "uart1";
83879f969f0SMarcus Cooper			};
839874b4e45SMaxime Ripard		};
84089b3c99fSMaxime Ripard
8415841f6c0SMaxime Ripard		timer@1c20c00 {
842b4f26440SMaxime Ripard			compatible = "allwinner,sun4i-a10-timer";
84369144e3bSMaxime Ripard			reg = <0x01c20c00 0x90>;
84414c17ed2SMaxime Ripard			interrupts = <22>,
84514c17ed2SMaxime Ripard				     <23>,
84614c17ed2SMaxime Ripard				     <24>,
84714c17ed2SMaxime Ripard				     <25>,
84814c17ed2SMaxime Ripard				     <67>,
84914c17ed2SMaxime Ripard				     <68>;
85069144e3bSMaxime Ripard			clocks = <&osc24M>;
85169144e3bSMaxime Ripard		};
85269144e3bSMaxime Ripard
8535841f6c0SMaxime Ripard		wdt: watchdog@1c20c90 {
854ca5d04d9SMaxime Ripard			compatible = "allwinner,sun4i-a10-wdt";
85569144e3bSMaxime Ripard			reg = <0x01c20c90 0x10>;
85689d1e514SMaxime Ripard			interrupts = <24>;
8579e1975f0SMaxime Ripard			clocks = <&osc24M>;
85869144e3bSMaxime Ripard		};
85969144e3bSMaxime Ripard
8605841f6c0SMaxime Ripard		rtc: rtc@1c20d00 {
8615fc4bc89SMaxime Ripard			compatible = "allwinner,sun4i-a10-rtc";
862b5d905c7SCarlo Caione			reg = <0x01c20d00 0x20>;
863b5d905c7SCarlo Caione			interrupts = <24>;
864b5d905c7SCarlo Caione		};
865b5d905c7SCarlo Caione
8665841f6c0SMaxime Ripard		pwm: pwm@1c20e00 {
8674b57a395SAlexandre Belloni			compatible = "allwinner,sun4i-a10-pwm";
8684b57a395SAlexandre Belloni			reg = <0x01c20e00 0xc>;
8694b57a395SAlexandre Belloni			clocks = <&osc24M>;
8704b57a395SAlexandre Belloni			#pwm-cells = <3>;
8714b57a395SAlexandre Belloni			status = "disabled";
8724b57a395SAlexandre Belloni		};
8734b57a395SAlexandre Belloni
8745841f6c0SMaxime Ripard		spdif: spdif@1c21000 {
875166db83eSMarcus Cooper			#sound-dai-cells = <0>;
876166db83eSMarcus Cooper			compatible = "allwinner,sun4i-a10-spdif";
877166db83eSMarcus Cooper			reg = <0x01c21000 0x400>;
878166db83eSMarcus Cooper			interrupts = <13>;
87941193869SPriit Laes			clocks = <&ccu CLK_APB0_SPDIF>, <&ccu CLK_SPDIF>;
880166db83eSMarcus Cooper			clock-names = "apb", "spdif";
881166db83eSMarcus Cooper			dmas = <&dma SUN4I_DMA_NORMAL 2>,
882166db83eSMarcus Cooper			       <&dma SUN4I_DMA_NORMAL 2>;
883166db83eSMarcus Cooper			dma-names = "rx", "tx";
884166db83eSMarcus Cooper			status = "disabled";
885166db83eSMarcus Cooper		};
886166db83eSMarcus Cooper
8875841f6c0SMaxime Ripard		ir0: ir@1c21800 {
888a4e1099aSHans de Goede			compatible = "allwinner,sun4i-a10-ir";
88941193869SPriit Laes			clocks = <&ccu CLK_APB0_IR0>, <&ccu CLK_IR0>;
890a4e1099aSHans de Goede			clock-names = "apb", "ir";
891a4e1099aSHans de Goede			interrupts = <5>;
892a4e1099aSHans de Goede			reg = <0x01c21800 0x40>;
893a4e1099aSHans de Goede			status = "disabled";
894a4e1099aSHans de Goede		};
895a4e1099aSHans de Goede
8965841f6c0SMaxime Ripard		ir1: ir@1c21c00 {
897a4e1099aSHans de Goede			compatible = "allwinner,sun4i-a10-ir";
89841193869SPriit Laes			clocks = <&ccu CLK_APB0_IR1>, <&ccu CLK_IR1>;
899a4e1099aSHans de Goede			clock-names = "apb", "ir";
900a4e1099aSHans de Goede			interrupts = <6>;
901a4e1099aSHans de Goede			reg = <0x01c21c00 0x40>;
902a4e1099aSHans de Goede			status = "disabled";
903a4e1099aSHans de Goede		};
904a4e1099aSHans de Goede
9055841f6c0SMaxime Ripard		i2s0: i2s@1c22400 {
906d84a0c0aSPriit Laes			#sound-dai-cells = <0>;
907d84a0c0aSPriit Laes			compatible = "allwinner,sun4i-a10-i2s";
908d84a0c0aSPriit Laes			reg = <0x01c22400 0x400>;
909d84a0c0aSPriit Laes			interrupts = <16>;
910d84a0c0aSPriit Laes			clocks = <&ccu CLK_APB0_I2S0>, <&ccu CLK_I2S0>;
911d84a0c0aSPriit Laes			clock-names = "apb", "mod";
912d84a0c0aSPriit Laes			dmas = <&dma SUN4I_DMA_NORMAL 3>,
913d84a0c0aSPriit Laes			       <&dma SUN4I_DMA_NORMAL 3>;
914d84a0c0aSPriit Laes			dma-names = "rx", "tx";
915d84a0c0aSPriit Laes			status = "disabled";
916d84a0c0aSPriit Laes		};
917d84a0c0aSPriit Laes
9185841f6c0SMaxime Ripard		lradc: lradc@1c22800 {
919b0512e15SHans de Goede			compatible = "allwinner,sun4i-a10-lradc-keys";
920b0512e15SHans de Goede			reg = <0x01c22800 0x100>;
921b0512e15SHans de Goede			interrupts = <31>;
922b0512e15SHans de Goede			status = "disabled";
923b0512e15SHans de Goede		};
924b0512e15SHans de Goede
9255841f6c0SMaxime Ripard		codec: codec@1c22c00 {
926bcf88450SMarcus Cooper			#sound-dai-cells = <0>;
927bcf88450SMarcus Cooper			compatible = "allwinner,sun4i-a10-codec";
928bcf88450SMarcus Cooper			reg = <0x01c22c00 0x40>;
929bcf88450SMarcus Cooper			interrupts = <30>;
93041193869SPriit Laes			clocks = <&ccu CLK_APB0_CODEC>, <&ccu CLK_CODEC>;
931bcf88450SMarcus Cooper			clock-names = "apb", "codec";
932bcf88450SMarcus Cooper			dmas = <&dma SUN4I_DMA_NORMAL 19>,
933bcf88450SMarcus Cooper			       <&dma SUN4I_DMA_NORMAL 19>;
934bcf88450SMarcus Cooper			dma-names = "rx", "tx";
935bcf88450SMarcus Cooper			status = "disabled";
936bcf88450SMarcus Cooper		};
937bcf88450SMarcus Cooper
9385841f6c0SMaxime Ripard		sid: eeprom@1c23800 {
939043d56eeSMaxime Ripard			compatible = "allwinner,sun4i-a10-sid";
9402bad969fSOliver Schinagl			reg = <0x01c23800 0x10>;
9412bad969fSOliver Schinagl		};
9422bad969fSOliver Schinagl
9435841f6c0SMaxime Ripard		rtp: rtp@1c25000 {
94440dd8f3bSMaxime Ripard			compatible = "allwinner,sun4i-a10-ts";
94557c8839cSHans de Goede			reg = <0x01c25000 0x100>;
94657c8839cSHans de Goede			interrupts = <29>;
94741e7afb1SChen-Yu Tsai			#thermal-sensor-cells = <0>;
94857c8839cSHans de Goede		};
94957c8839cSHans de Goede
9505841f6c0SMaxime Ripard		uart0: serial@1c28000 {
95189b3c99fSMaxime Ripard			compatible = "snps,dw-apb-uart";
95289b3c99fSMaxime Ripard			reg = <0x01c28000 0x400>;
95389b3c99fSMaxime Ripard			interrupts = <1>;
95489b3c99fSMaxime Ripard			reg-shift = <2>;
95589b3c99fSMaxime Ripard			reg-io-width = <4>;
95641193869SPriit Laes			clocks = <&ccu CLK_APB1_UART0>;
95789b3c99fSMaxime Ripard			status = "disabled";
95889b3c99fSMaxime Ripard		};
95976f14d0aSMaxime Ripard
9605841f6c0SMaxime Ripard		uart1: serial@1c28400 {
96169144e3bSMaxime Ripard			compatible = "snps,dw-apb-uart";
96269144e3bSMaxime Ripard			reg = <0x01c28400 0x400>;
96369144e3bSMaxime Ripard			interrupts = <2>;
96469144e3bSMaxime Ripard			reg-shift = <2>;
96569144e3bSMaxime Ripard			reg-io-width = <4>;
96641193869SPriit Laes			clocks = <&ccu CLK_APB1_UART1>;
96769144e3bSMaxime Ripard			status = "disabled";
96869144e3bSMaxime Ripard		};
96969144e3bSMaxime Ripard
9705841f6c0SMaxime Ripard		uart2: serial@1c28800 {
97176f14d0aSMaxime Ripard			compatible = "snps,dw-apb-uart";
97276f14d0aSMaxime Ripard			reg = <0x01c28800 0x400>;
97376f14d0aSMaxime Ripard			interrupts = <3>;
97476f14d0aSMaxime Ripard			reg-shift = <2>;
97576f14d0aSMaxime Ripard			reg-io-width = <4>;
97641193869SPriit Laes			clocks = <&ccu CLK_APB1_UART2>;
97776f14d0aSMaxime Ripard			status = "disabled";
97876f14d0aSMaxime Ripard		};
97976f14d0aSMaxime Ripard
9805841f6c0SMaxime Ripard		uart3: serial@1c28c00 {
98169144e3bSMaxime Ripard			compatible = "snps,dw-apb-uart";
98269144e3bSMaxime Ripard			reg = <0x01c28c00 0x400>;
98369144e3bSMaxime Ripard			interrupts = <4>;
98469144e3bSMaxime Ripard			reg-shift = <2>;
98569144e3bSMaxime Ripard			reg-io-width = <4>;
98641193869SPriit Laes			clocks = <&ccu CLK_APB1_UART3>;
98769144e3bSMaxime Ripard			status = "disabled";
98869144e3bSMaxime Ripard		};
98969144e3bSMaxime Ripard
9905841f6c0SMaxime Ripard		uart4: serial@1c29000 {
99176f14d0aSMaxime Ripard			compatible = "snps,dw-apb-uart";
99276f14d0aSMaxime Ripard			reg = <0x01c29000 0x400>;
99376f14d0aSMaxime Ripard			interrupts = <17>;
99476f14d0aSMaxime Ripard			reg-shift = <2>;
99576f14d0aSMaxime Ripard			reg-io-width = <4>;
99641193869SPriit Laes			clocks = <&ccu CLK_APB1_UART4>;
99776f14d0aSMaxime Ripard			status = "disabled";
99876f14d0aSMaxime Ripard		};
99976f14d0aSMaxime Ripard
10005841f6c0SMaxime Ripard		uart5: serial@1c29400 {
100176f14d0aSMaxime Ripard			compatible = "snps,dw-apb-uart";
100276f14d0aSMaxime Ripard			reg = <0x01c29400 0x400>;
100376f14d0aSMaxime Ripard			interrupts = <18>;
100476f14d0aSMaxime Ripard			reg-shift = <2>;
100576f14d0aSMaxime Ripard			reg-io-width = <4>;
100641193869SPriit Laes			clocks = <&ccu CLK_APB1_UART5>;
100776f14d0aSMaxime Ripard			status = "disabled";
100876f14d0aSMaxime Ripard		};
100976f14d0aSMaxime Ripard
10105841f6c0SMaxime Ripard		uart6: serial@1c29800 {
101176f14d0aSMaxime Ripard			compatible = "snps,dw-apb-uart";
101276f14d0aSMaxime Ripard			reg = <0x01c29800 0x400>;
101376f14d0aSMaxime Ripard			interrupts = <19>;
101476f14d0aSMaxime Ripard			reg-shift = <2>;
101576f14d0aSMaxime Ripard			reg-io-width = <4>;
101641193869SPriit Laes			clocks = <&ccu CLK_APB1_UART6>;
101776f14d0aSMaxime Ripard			status = "disabled";
101876f14d0aSMaxime Ripard		};
101976f14d0aSMaxime Ripard
10205841f6c0SMaxime Ripard		uart7: serial@1c29c00 {
102176f14d0aSMaxime Ripard			compatible = "snps,dw-apb-uart";
102276f14d0aSMaxime Ripard			reg = <0x01c29c00 0x400>;
102376f14d0aSMaxime Ripard			interrupts = <20>;
102476f14d0aSMaxime Ripard			reg-shift = <2>;
102576f14d0aSMaxime Ripard			reg-io-width = <4>;
102641193869SPriit Laes			clocks = <&ccu CLK_APB1_UART7>;
102776f14d0aSMaxime Ripard			status = "disabled";
102876f14d0aSMaxime Ripard		};
1029f1741fdaSMaxime Ripard
10305841f6c0SMaxime Ripard		ps20: ps2@1c2a000 {
1031a2294bd6SPatrick Menschel			compatible = "allwinner,sun4i-a10-ps2";
1032a2294bd6SPatrick Menschel			reg = <0x01c2a000 0x400>;
1033a2294bd6SPatrick Menschel			interrupts = <62>;
103441193869SPriit Laes			clocks = <&ccu CLK_APB1_PS20>;
1035a2294bd6SPatrick Menschel			status = "disabled";
1036a2294bd6SPatrick Menschel		};
1037a2294bd6SPatrick Menschel
10385841f6c0SMaxime Ripard		ps21: ps2@1c2a400 {
1039a2294bd6SPatrick Menschel			compatible = "allwinner,sun4i-a10-ps2";
1040a2294bd6SPatrick Menschel			reg = <0x01c2a400 0x400>;
1041a2294bd6SPatrick Menschel			interrupts = <63>;
104241193869SPriit Laes			clocks = <&ccu CLK_APB1_PS21>;
1043a2294bd6SPatrick Menschel			status = "disabled";
1044a2294bd6SPatrick Menschel		};
1045a2294bd6SPatrick Menschel
10465841f6c0SMaxime Ripard		i2c0: i2c@1c2ac00 {
1047d275545eSMaxime Ripard			compatible = "allwinner,sun4i-a10-i2c";
1048f1741fdaSMaxime Ripard			reg = <0x01c2ac00 0x400>;
1049f1741fdaSMaxime Ripard			interrupts = <7>;
105041193869SPriit Laes			clocks = <&ccu CLK_APB1_I2C0>;
1051bca0d7d9SMaxime Ripard			pinctrl-names = "default";
1052bca0d7d9SMaxime Ripard			pinctrl-0 = <&i2c0_pins>;
1053f1741fdaSMaxime Ripard			status = "disabled";
105460bbe316SHans de Goede			#address-cells = <1>;
105560bbe316SHans de Goede			#size-cells = <0>;
1056f1741fdaSMaxime Ripard		};
1057f1741fdaSMaxime Ripard
10585841f6c0SMaxime Ripard		i2c1: i2c@1c2b000 {
1059d275545eSMaxime Ripard			compatible = "allwinner,sun4i-a10-i2c";
1060f1741fdaSMaxime Ripard			reg = <0x01c2b000 0x400>;
1061f1741fdaSMaxime Ripard			interrupts = <8>;
106241193869SPriit Laes			clocks = <&ccu CLK_APB1_I2C1>;
1063bca0d7d9SMaxime Ripard			pinctrl-names = "default";
1064bca0d7d9SMaxime Ripard			pinctrl-0 = <&i2c1_pins>;
1065f1741fdaSMaxime Ripard			status = "disabled";
106660bbe316SHans de Goede			#address-cells = <1>;
106760bbe316SHans de Goede			#size-cells = <0>;
1068f1741fdaSMaxime Ripard		};
1069f1741fdaSMaxime Ripard
10705841f6c0SMaxime Ripard		i2c2: i2c@1c2b400 {
1071d275545eSMaxime Ripard			compatible = "allwinner,sun4i-a10-i2c";
1072f1741fdaSMaxime Ripard			reg = <0x01c2b400 0x400>;
1073f1741fdaSMaxime Ripard			interrupts = <9>;
107441193869SPriit Laes			clocks = <&ccu CLK_APB1_I2C2>;
1075bca0d7d9SMaxime Ripard			pinctrl-names = "default";
1076bca0d7d9SMaxime Ripard			pinctrl-0 = <&i2c2_pins>;
1077f1741fdaSMaxime Ripard			status = "disabled";
107860bbe316SHans de Goede			#address-cells = <1>;
107960bbe316SHans de Goede			#size-cells = <0>;
1080f1741fdaSMaxime Ripard		};
1081196654aeSVishnu Patekar
10825841f6c0SMaxime Ripard		can0: can@1c2bc00 {
1083adb83474SPatrick Menschel			compatible = "allwinner,sun4i-a10-can";
1084adb83474SPatrick Menschel			reg = <0x01c2bc00 0x400>;
1085adb83474SPatrick Menschel			interrupts = <26>;
108641193869SPriit Laes			clocks = <&ccu CLK_APB1_CAN>;
1087adb83474SPatrick Menschel			status = "disabled";
1088adb83474SPatrick Menschel		};
10890df4cf33SChen-Yu Tsai
1090c0476a31SSteven Vanden Branden		mali: gpu@1c40000 {
1091c0476a31SSteven Vanden Branden			compatible = "allwinner,sun4i-a10-mali", "arm,mali-400";
1092c0476a31SSteven Vanden Branden			reg = <0x01c40000 0x10000>;
1093c0476a31SSteven Vanden Branden			interrupts = <69>,
1094c0476a31SSteven Vanden Branden				     <70>,
1095c0476a31SSteven Vanden Branden				     <71>,
1096c0476a31SSteven Vanden Branden				     <72>,
1097c0476a31SSteven Vanden Branden				     <73>;
1098c0476a31SSteven Vanden Branden			interrupt-names = "gp",
1099c0476a31SSteven Vanden Branden					  "gpmmu",
1100c0476a31SSteven Vanden Branden					  "pp0",
1101c0476a31SSteven Vanden Branden					  "ppmmu0",
1102c0476a31SSteven Vanden Branden					  "pmu";
1103c0476a31SSteven Vanden Branden			clocks = <&ccu CLK_AHB_GPU>, <&ccu CLK_GPU>;
1104c0476a31SSteven Vanden Branden			clock-names = "bus", "core";
1105c0476a31SSteven Vanden Branden			resets = <&ccu RST_GPU>;
1106c0476a31SSteven Vanden Branden
1107c0476a31SSteven Vanden Branden			assigned-clocks = <&ccu CLK_GPU>;
1108c0476a31SSteven Vanden Branden			assigned-clock-rates = <384000000>;
1109c0476a31SSteven Vanden Branden		};
1110c0476a31SSteven Vanden Branden
11110df4cf33SChen-Yu Tsai		fe0: display-frontend@1e00000 {
11120df4cf33SChen-Yu Tsai			compatible = "allwinner,sun4i-a10-display-frontend";
11130df4cf33SChen-Yu Tsai			reg = <0x01e00000 0x20000>;
11140df4cf33SChen-Yu Tsai			interrupts = <47>;
11150df4cf33SChen-Yu Tsai			clocks = <&ccu CLK_AHB_DE_FE0>, <&ccu CLK_DE_FE0>,
11160df4cf33SChen-Yu Tsai				 <&ccu CLK_DRAM_DE_FE0>;
11170df4cf33SChen-Yu Tsai			clock-names = "ahb", "mod",
11180df4cf33SChen-Yu Tsai				      "ram";
11190df4cf33SChen-Yu Tsai			resets = <&ccu RST_DE_FE0>;
11200df4cf33SChen-Yu Tsai
11210df4cf33SChen-Yu Tsai			ports {
11220df4cf33SChen-Yu Tsai				#address-cells = <1>;
11230df4cf33SChen-Yu Tsai				#size-cells = <0>;
11240df4cf33SChen-Yu Tsai
11250df4cf33SChen-Yu Tsai				fe0_out: port@1 {
11260df4cf33SChen-Yu Tsai					#address-cells = <1>;
11270df4cf33SChen-Yu Tsai					#size-cells = <0>;
11280df4cf33SChen-Yu Tsai					reg = <1>;
11290df4cf33SChen-Yu Tsai
11300df4cf33SChen-Yu Tsai					fe0_out_be0: endpoint@0 {
11310df4cf33SChen-Yu Tsai						reg = <0>;
11320df4cf33SChen-Yu Tsai						remote-endpoint = <&be0_in_fe0>;
11330df4cf33SChen-Yu Tsai					};
11340df4cf33SChen-Yu Tsai
11350df4cf33SChen-Yu Tsai					fe0_out_be1: endpoint@1 {
11360df4cf33SChen-Yu Tsai						reg = <1>;
11370df4cf33SChen-Yu Tsai						remote-endpoint = <&be1_in_fe0>;
11380df4cf33SChen-Yu Tsai					};
11390df4cf33SChen-Yu Tsai				};
11400df4cf33SChen-Yu Tsai			};
11410df4cf33SChen-Yu Tsai		};
11420df4cf33SChen-Yu Tsai
11430df4cf33SChen-Yu Tsai		fe1: display-frontend@1e20000 {
11440df4cf33SChen-Yu Tsai			compatible = "allwinner,sun4i-a10-display-frontend";
11450df4cf33SChen-Yu Tsai			reg = <0x01e20000 0x20000>;
11460df4cf33SChen-Yu Tsai			interrupts = <48>;
11470df4cf33SChen-Yu Tsai			clocks = <&ccu CLK_AHB_DE_FE1>, <&ccu CLK_DE_FE1>,
11480df4cf33SChen-Yu Tsai				 <&ccu CLK_DRAM_DE_FE1>;
11490df4cf33SChen-Yu Tsai			clock-names = "ahb", "mod",
11500df4cf33SChen-Yu Tsai				      "ram";
11510df4cf33SChen-Yu Tsai			resets = <&ccu RST_DE_FE1>;
11520df4cf33SChen-Yu Tsai
11530df4cf33SChen-Yu Tsai			ports {
11540df4cf33SChen-Yu Tsai				#address-cells = <1>;
11550df4cf33SChen-Yu Tsai				#size-cells = <0>;
11560df4cf33SChen-Yu Tsai
11570df4cf33SChen-Yu Tsai				fe1_out: port@1 {
11580df4cf33SChen-Yu Tsai					#address-cells = <1>;
11590df4cf33SChen-Yu Tsai					#size-cells = <0>;
11600df4cf33SChen-Yu Tsai					reg = <1>;
11610df4cf33SChen-Yu Tsai
11620df4cf33SChen-Yu Tsai					fe1_out_be0: endpoint@0 {
11630df4cf33SChen-Yu Tsai						reg = <0>;
11640df4cf33SChen-Yu Tsai						remote-endpoint = <&be0_in_fe1>;
11650df4cf33SChen-Yu Tsai					};
11660df4cf33SChen-Yu Tsai
11670df4cf33SChen-Yu Tsai					fe1_out_be1: endpoint@1 {
11680df4cf33SChen-Yu Tsai						reg = <1>;
11690df4cf33SChen-Yu Tsai						remote-endpoint = <&be1_in_fe1>;
11700df4cf33SChen-Yu Tsai					};
11710df4cf33SChen-Yu Tsai				};
11720df4cf33SChen-Yu Tsai			};
11730df4cf33SChen-Yu Tsai		};
11740df4cf33SChen-Yu Tsai
11750df4cf33SChen-Yu Tsai		be1: display-backend@1e40000 {
11760df4cf33SChen-Yu Tsai			compatible = "allwinner,sun4i-a10-display-backend";
11770df4cf33SChen-Yu Tsai			reg = <0x01e40000 0x10000>;
11780df4cf33SChen-Yu Tsai			interrupts = <48>;
11790df4cf33SChen-Yu Tsai			clocks = <&ccu CLK_AHB_DE_BE1>, <&ccu CLK_DE_BE1>,
11800df4cf33SChen-Yu Tsai				 <&ccu CLK_DRAM_DE_BE1>;
11810df4cf33SChen-Yu Tsai			clock-names = "ahb", "mod",
11820df4cf33SChen-Yu Tsai				      "ram";
11830df4cf33SChen-Yu Tsai			resets = <&ccu RST_DE_BE1>;
11840df4cf33SChen-Yu Tsai
11850df4cf33SChen-Yu Tsai			ports {
11860df4cf33SChen-Yu Tsai				#address-cells = <1>;
11870df4cf33SChen-Yu Tsai				#size-cells = <0>;
11880df4cf33SChen-Yu Tsai
11890df4cf33SChen-Yu Tsai				be1_in: port@0 {
11900df4cf33SChen-Yu Tsai					#address-cells = <1>;
11910df4cf33SChen-Yu Tsai					#size-cells = <0>;
11920df4cf33SChen-Yu Tsai					reg = <0>;
11930df4cf33SChen-Yu Tsai
11940df4cf33SChen-Yu Tsai					be1_in_fe0: endpoint@0 {
11950df4cf33SChen-Yu Tsai						reg = <0>;
11960df4cf33SChen-Yu Tsai						remote-endpoint = <&fe0_out_be1>;
11970df4cf33SChen-Yu Tsai					};
11980df4cf33SChen-Yu Tsai
11990df4cf33SChen-Yu Tsai					be1_in_fe1: endpoint@1 {
12000df4cf33SChen-Yu Tsai						reg = <1>;
12010df4cf33SChen-Yu Tsai						remote-endpoint = <&fe1_out_be1>;
12020df4cf33SChen-Yu Tsai					};
12030df4cf33SChen-Yu Tsai				};
12040df4cf33SChen-Yu Tsai
12050df4cf33SChen-Yu Tsai				be1_out: port@1 {
12060df4cf33SChen-Yu Tsai					#address-cells = <1>;
12070df4cf33SChen-Yu Tsai					#size-cells = <0>;
12080df4cf33SChen-Yu Tsai					reg = <1>;
12090df4cf33SChen-Yu Tsai
12100df4cf33SChen-Yu Tsai					be1_out_tcon0: endpoint@0 {
12110df4cf33SChen-Yu Tsai						reg = <0>;
1212bdae4470SChen-Yu Tsai						remote-endpoint = <&tcon0_in_be1>;
12130df4cf33SChen-Yu Tsai					};
12140df4cf33SChen-Yu Tsai
12150df4cf33SChen-Yu Tsai					be1_out_tcon1: endpoint@1 {
12160df4cf33SChen-Yu Tsai						reg = <1>;
12170df4cf33SChen-Yu Tsai						remote-endpoint = <&tcon1_in_be1>;
12180df4cf33SChen-Yu Tsai					};
12190df4cf33SChen-Yu Tsai				};
12200df4cf33SChen-Yu Tsai			};
12210df4cf33SChen-Yu Tsai		};
12220df4cf33SChen-Yu Tsai
12230df4cf33SChen-Yu Tsai		be0: display-backend@1e60000 {
12240df4cf33SChen-Yu Tsai			compatible = "allwinner,sun4i-a10-display-backend";
12250df4cf33SChen-Yu Tsai			reg = <0x01e60000 0x10000>;
12260df4cf33SChen-Yu Tsai			interrupts = <47>;
12270df4cf33SChen-Yu Tsai			clocks = <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_DE_BE0>,
12280df4cf33SChen-Yu Tsai				 <&ccu CLK_DRAM_DE_BE0>;
12290df4cf33SChen-Yu Tsai			clock-names = "ahb", "mod",
12300df4cf33SChen-Yu Tsai				      "ram";
12310df4cf33SChen-Yu Tsai			resets = <&ccu RST_DE_BE0>;
12320df4cf33SChen-Yu Tsai
12330df4cf33SChen-Yu Tsai			ports {
12340df4cf33SChen-Yu Tsai				#address-cells = <1>;
12350df4cf33SChen-Yu Tsai				#size-cells = <0>;
12360df4cf33SChen-Yu Tsai
12370df4cf33SChen-Yu Tsai				be0_in: port@0 {
12380df4cf33SChen-Yu Tsai					#address-cells = <1>;
12390df4cf33SChen-Yu Tsai					#size-cells = <0>;
12400df4cf33SChen-Yu Tsai					reg = <0>;
12410df4cf33SChen-Yu Tsai
12420df4cf33SChen-Yu Tsai					be0_in_fe0: endpoint@0 {
12430df4cf33SChen-Yu Tsai						reg = <0>;
12440df4cf33SChen-Yu Tsai						remote-endpoint = <&fe0_out_be0>;
12450df4cf33SChen-Yu Tsai					};
12460df4cf33SChen-Yu Tsai
12470df4cf33SChen-Yu Tsai					be0_in_fe1: endpoint@1 {
12480df4cf33SChen-Yu Tsai						reg = <1>;
12490df4cf33SChen-Yu Tsai						remote-endpoint = <&fe1_out_be0>;
12500df4cf33SChen-Yu Tsai					};
12510df4cf33SChen-Yu Tsai				};
12520df4cf33SChen-Yu Tsai
12530df4cf33SChen-Yu Tsai				be0_out: port@1 {
12540df4cf33SChen-Yu Tsai					#address-cells = <1>;
12550df4cf33SChen-Yu Tsai					#size-cells = <0>;
12560df4cf33SChen-Yu Tsai					reg = <1>;
12570df4cf33SChen-Yu Tsai
12580df4cf33SChen-Yu Tsai					be0_out_tcon0: endpoint@0 {
12590df4cf33SChen-Yu Tsai						reg = <0>;
12600df4cf33SChen-Yu Tsai						remote-endpoint = <&tcon0_in_be0>;
12610df4cf33SChen-Yu Tsai					};
12620df4cf33SChen-Yu Tsai
12630df4cf33SChen-Yu Tsai					be0_out_tcon1: endpoint@1 {
12640df4cf33SChen-Yu Tsai						reg = <1>;
12650df4cf33SChen-Yu Tsai						remote-endpoint = <&tcon1_in_be0>;
12660df4cf33SChen-Yu Tsai					};
12670df4cf33SChen-Yu Tsai				};
12680df4cf33SChen-Yu Tsai			};
12690df4cf33SChen-Yu Tsai		};
1270874b4e45SMaxime Ripard	};
12717423d2d8SStefan Roese};
1272