xref: /freebsd/sys/contrib/device-tree/src/arm/allwinner/sun4i-a10.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot/*
2*f126890aSEmmanuel Vadot * Copyright 2012 Stefan Roese
3*f126890aSEmmanuel Vadot * Stefan Roese <sr@denx.de>
4*f126890aSEmmanuel Vadot *
5*f126890aSEmmanuel Vadot * This file is dual-licensed: you can use it either under the terms
6*f126890aSEmmanuel Vadot * of the GPL or the X11 license, at your option. Note that this dual
7*f126890aSEmmanuel Vadot * licensing only applies to this file, and not this project as a
8*f126890aSEmmanuel Vadot * whole.
9*f126890aSEmmanuel Vadot *
10*f126890aSEmmanuel Vadot *  a) This library is free software; you can redistribute it and/or
11*f126890aSEmmanuel Vadot *     modify it under the terms of the GNU General Public License as
12*f126890aSEmmanuel Vadot *     published by the Free Software Foundation; either version 2 of the
13*f126890aSEmmanuel Vadot *     License, or (at your option) any later version.
14*f126890aSEmmanuel Vadot *
15*f126890aSEmmanuel Vadot *     This library is distributed in the hope that it will be useful,
16*f126890aSEmmanuel Vadot *     but WITHOUT ANY WARRANTY; without even the implied warranty of
17*f126890aSEmmanuel Vadot *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*f126890aSEmmanuel Vadot *     GNU General Public License for more details.
19*f126890aSEmmanuel Vadot *
20*f126890aSEmmanuel Vadot * Or, alternatively,
21*f126890aSEmmanuel Vadot *
22*f126890aSEmmanuel Vadot *  b) Permission is hereby granted, free of charge, to any person
23*f126890aSEmmanuel Vadot *     obtaining a copy of this software and associated documentation
24*f126890aSEmmanuel Vadot *     files (the "Software"), to deal in the Software without
25*f126890aSEmmanuel Vadot *     restriction, including without limitation the rights to use,
26*f126890aSEmmanuel Vadot *     copy, modify, merge, publish, distribute, sublicense, and/or
27*f126890aSEmmanuel Vadot *     sell copies of the Software, and to permit persons to whom the
28*f126890aSEmmanuel Vadot *     Software is furnished to do so, subject to the following
29*f126890aSEmmanuel Vadot *     conditions:
30*f126890aSEmmanuel Vadot *
31*f126890aSEmmanuel Vadot *     The above copyright notice and this permission notice shall be
32*f126890aSEmmanuel Vadot *     included in all copies or substantial portions of the Software.
33*f126890aSEmmanuel Vadot *
34*f126890aSEmmanuel Vadot *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35*f126890aSEmmanuel Vadot *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
36*f126890aSEmmanuel Vadot *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37*f126890aSEmmanuel Vadot *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
38*f126890aSEmmanuel Vadot *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
39*f126890aSEmmanuel Vadot *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40*f126890aSEmmanuel Vadot *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
41*f126890aSEmmanuel Vadot *     OTHER DEALINGS IN THE SOFTWARE.
42*f126890aSEmmanuel Vadot */
43*f126890aSEmmanuel Vadot
44*f126890aSEmmanuel Vadot#include <dt-bindings/thermal/thermal.h>
45*f126890aSEmmanuel Vadot#include <dt-bindings/dma/sun4i-a10.h>
46*f126890aSEmmanuel Vadot#include <dt-bindings/clock/sun4i-a10-ccu.h>
47*f126890aSEmmanuel Vadot#include <dt-bindings/reset/sun4i-a10-ccu.h>
48*f126890aSEmmanuel Vadot
49*f126890aSEmmanuel Vadot/ {
50*f126890aSEmmanuel Vadot	#address-cells = <1>;
51*f126890aSEmmanuel Vadot	#size-cells = <1>;
52*f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
53*f126890aSEmmanuel Vadot
54*f126890aSEmmanuel Vadot	aliases {
55*f126890aSEmmanuel Vadot		ethernet0 = &emac;
56*f126890aSEmmanuel Vadot	};
57*f126890aSEmmanuel Vadot
58*f126890aSEmmanuel Vadot	chosen {
59*f126890aSEmmanuel Vadot		#address-cells = <1>;
60*f126890aSEmmanuel Vadot		#size-cells = <1>;
61*f126890aSEmmanuel Vadot		ranges;
62*f126890aSEmmanuel Vadot
63*f126890aSEmmanuel Vadot		framebuffer-lcd0-hdmi {
64*f126890aSEmmanuel Vadot			compatible = "allwinner,simple-framebuffer",
65*f126890aSEmmanuel Vadot				     "simple-framebuffer";
66*f126890aSEmmanuel Vadot			allwinner,pipeline = "de_be0-lcd0-hdmi";
67*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_HDMI0>,
68*f126890aSEmmanuel Vadot				 <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_DE_BE0>,
69*f126890aSEmmanuel Vadot				 <&ccu CLK_TCON0_CH1>, <&ccu CLK_DRAM_DE_BE0>;
70*f126890aSEmmanuel Vadot			status = "disabled";
71*f126890aSEmmanuel Vadot		};
72*f126890aSEmmanuel Vadot
73*f126890aSEmmanuel Vadot		framebuffer-fe0-lcd0-hdmi {
74*f126890aSEmmanuel Vadot			compatible = "allwinner,simple-framebuffer",
75*f126890aSEmmanuel Vadot				     "simple-framebuffer";
76*f126890aSEmmanuel Vadot			allwinner,pipeline = "de_fe0-de_be0-lcd0-hdmi";
77*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_HDMI0>,
78*f126890aSEmmanuel Vadot				 <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_AHB_DE_FE0>,
79*f126890aSEmmanuel Vadot				 <&ccu CLK_DE_BE0>, <&ccu CLK_DE_FE0>,
80*f126890aSEmmanuel Vadot				 <&ccu CLK_TCON0_CH1>, <&ccu CLK_HDMI>,
81*f126890aSEmmanuel Vadot				 <&ccu CLK_DRAM_DE_FE0>, <&ccu CLK_DRAM_DE_BE0>;
82*f126890aSEmmanuel Vadot			status = "disabled";
83*f126890aSEmmanuel Vadot		};
84*f126890aSEmmanuel Vadot
85*f126890aSEmmanuel Vadot		framebuffer-fe0-lcd0 {
86*f126890aSEmmanuel Vadot			compatible = "allwinner,simple-framebuffer",
87*f126890aSEmmanuel Vadot				     "simple-framebuffer";
88*f126890aSEmmanuel Vadot			allwinner,pipeline = "de_fe0-de_be0-lcd0";
89*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_LCD0>, <&ccu CLK_AHB_DE_BE0>,
90*f126890aSEmmanuel Vadot				 <&ccu CLK_AHB_DE_FE0>, <&ccu CLK_DE_BE0>,
91*f126890aSEmmanuel Vadot				 <&ccu CLK_DE_FE0>, <&ccu CLK_TCON0_CH0>,
92*f126890aSEmmanuel Vadot				 <&ccu CLK_DRAM_DE_FE0>, <&ccu CLK_DRAM_DE_BE0>;
93*f126890aSEmmanuel Vadot			status = "disabled";
94*f126890aSEmmanuel Vadot		};
95*f126890aSEmmanuel Vadot
96*f126890aSEmmanuel Vadot		framebuffer-fe0-lcd0-tve0 {
97*f126890aSEmmanuel Vadot			compatible = "allwinner,simple-framebuffer",
98*f126890aSEmmanuel Vadot				     "simple-framebuffer";
99*f126890aSEmmanuel Vadot			allwinner,pipeline = "de_fe0-de_be0-lcd0-tve0";
100*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_TVE0>, <&ccu CLK_AHB_LCD0>,
101*f126890aSEmmanuel Vadot				 <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_AHB_DE_FE0>,
102*f126890aSEmmanuel Vadot				 <&ccu CLK_DE_BE0>, <&ccu CLK_DE_FE0>,
103*f126890aSEmmanuel Vadot				 <&ccu CLK_TCON0_CH1>, <&ccu CLK_DRAM_TVE0>,
104*f126890aSEmmanuel Vadot				 <&ccu CLK_DRAM_DE_FE0>, <&ccu CLK_DRAM_DE_BE0>;
105*f126890aSEmmanuel Vadot			status = "disabled";
106*f126890aSEmmanuel Vadot		};
107*f126890aSEmmanuel Vadot	};
108*f126890aSEmmanuel Vadot
109*f126890aSEmmanuel Vadot	cpus {
110*f126890aSEmmanuel Vadot		#address-cells = <1>;
111*f126890aSEmmanuel Vadot		#size-cells = <0>;
112*f126890aSEmmanuel Vadot		cpu0: cpu@0 {
113*f126890aSEmmanuel Vadot			device_type = "cpu";
114*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a8";
115*f126890aSEmmanuel Vadot			reg = <0x0>;
116*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_CPU>;
117*f126890aSEmmanuel Vadot			clock-latency = <244144>; /* 8 32k periods */
118*f126890aSEmmanuel Vadot			operating-points =
119*f126890aSEmmanuel Vadot				/* kHz	  uV */
120*f126890aSEmmanuel Vadot				<1008000 1400000>,
121*f126890aSEmmanuel Vadot				<912000	1350000>,
122*f126890aSEmmanuel Vadot				<864000	1300000>,
123*f126890aSEmmanuel Vadot				<624000	1250000>;
124*f126890aSEmmanuel Vadot			#cooling-cells = <2>;
125*f126890aSEmmanuel Vadot		};
126*f126890aSEmmanuel Vadot	};
127*f126890aSEmmanuel Vadot
128*f126890aSEmmanuel Vadot	thermal-zones {
129*f126890aSEmmanuel Vadot		cpu-thermal {
130*f126890aSEmmanuel Vadot			/* milliseconds */
131*f126890aSEmmanuel Vadot			polling-delay-passive = <250>;
132*f126890aSEmmanuel Vadot			polling-delay = <1000>;
133*f126890aSEmmanuel Vadot			thermal-sensors = <&rtp>;
134*f126890aSEmmanuel Vadot
135*f126890aSEmmanuel Vadot			cooling-maps {
136*f126890aSEmmanuel Vadot				map0 {
137*f126890aSEmmanuel Vadot					trip = <&cpu_alert0>;
138*f126890aSEmmanuel Vadot					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
139*f126890aSEmmanuel Vadot				};
140*f126890aSEmmanuel Vadot			};
141*f126890aSEmmanuel Vadot
142*f126890aSEmmanuel Vadot			trips {
143*f126890aSEmmanuel Vadot				cpu_alert0: cpu-alert0 {
144*f126890aSEmmanuel Vadot					/* milliCelsius */
145*f126890aSEmmanuel Vadot					temperature = <85000>;
146*f126890aSEmmanuel Vadot					hysteresis = <2000>;
147*f126890aSEmmanuel Vadot					type = "passive";
148*f126890aSEmmanuel Vadot				};
149*f126890aSEmmanuel Vadot
150*f126890aSEmmanuel Vadot				cpu_crit: cpu-crit {
151*f126890aSEmmanuel Vadot					/* milliCelsius */
152*f126890aSEmmanuel Vadot					temperature = <100000>;
153*f126890aSEmmanuel Vadot					hysteresis = <2000>;
154*f126890aSEmmanuel Vadot					type = "critical";
155*f126890aSEmmanuel Vadot				};
156*f126890aSEmmanuel Vadot			};
157*f126890aSEmmanuel Vadot		};
158*f126890aSEmmanuel Vadot	};
159*f126890aSEmmanuel Vadot
160*f126890aSEmmanuel Vadot	clocks {
161*f126890aSEmmanuel Vadot		#address-cells = <1>;
162*f126890aSEmmanuel Vadot		#size-cells = <1>;
163*f126890aSEmmanuel Vadot		ranges;
164*f126890aSEmmanuel Vadot
165*f126890aSEmmanuel Vadot		osc24M: clk-24M {
166*f126890aSEmmanuel Vadot			#clock-cells = <0>;
167*f126890aSEmmanuel Vadot			compatible = "fixed-clock";
168*f126890aSEmmanuel Vadot			clock-frequency = <24000000>;
169*f126890aSEmmanuel Vadot			clock-output-names = "osc24M";
170*f126890aSEmmanuel Vadot		};
171*f126890aSEmmanuel Vadot
172*f126890aSEmmanuel Vadot		osc32k: clk-32k {
173*f126890aSEmmanuel Vadot			#clock-cells = <0>;
174*f126890aSEmmanuel Vadot			compatible = "fixed-clock";
175*f126890aSEmmanuel Vadot			clock-frequency = <32768>;
176*f126890aSEmmanuel Vadot			clock-output-names = "osc32k";
177*f126890aSEmmanuel Vadot		};
178*f126890aSEmmanuel Vadot	};
179*f126890aSEmmanuel Vadot
180*f126890aSEmmanuel Vadot	de: display-engine {
181*f126890aSEmmanuel Vadot		compatible = "allwinner,sun4i-a10-display-engine";
182*f126890aSEmmanuel Vadot		allwinner,pipelines = <&fe0>, <&fe1>;
183*f126890aSEmmanuel Vadot		status = "disabled";
184*f126890aSEmmanuel Vadot	};
185*f126890aSEmmanuel Vadot
186*f126890aSEmmanuel Vadot	pmu {
187*f126890aSEmmanuel Vadot		compatible = "arm,cortex-a8-pmu";
188*f126890aSEmmanuel Vadot		interrupts = <3>;
189*f126890aSEmmanuel Vadot	};
190*f126890aSEmmanuel Vadot
191*f126890aSEmmanuel Vadot	reserved-memory {
192*f126890aSEmmanuel Vadot		#address-cells = <1>;
193*f126890aSEmmanuel Vadot		#size-cells = <1>;
194*f126890aSEmmanuel Vadot		ranges;
195*f126890aSEmmanuel Vadot
196*f126890aSEmmanuel Vadot		/* Address must be kept in the lower 256 MiBs of DRAM for VE. */
197*f126890aSEmmanuel Vadot		default-pool {
198*f126890aSEmmanuel Vadot			compatible = "shared-dma-pool";
199*f126890aSEmmanuel Vadot			size = <0x6000000>;
200*f126890aSEmmanuel Vadot			alloc-ranges = <0x40000000 0x10000000>;
201*f126890aSEmmanuel Vadot			reusable;
202*f126890aSEmmanuel Vadot			linux,cma-default;
203*f126890aSEmmanuel Vadot		};
204*f126890aSEmmanuel Vadot	};
205*f126890aSEmmanuel Vadot
206*f126890aSEmmanuel Vadot	soc {
207*f126890aSEmmanuel Vadot		compatible = "simple-bus";
208*f126890aSEmmanuel Vadot		#address-cells = <1>;
209*f126890aSEmmanuel Vadot		#size-cells = <1>;
210*f126890aSEmmanuel Vadot		ranges;
211*f126890aSEmmanuel Vadot
212*f126890aSEmmanuel Vadot		system-control@1c00000 {
213*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-system-control";
214*f126890aSEmmanuel Vadot			reg = <0x01c00000 0x30>;
215*f126890aSEmmanuel Vadot			#address-cells = <1>;
216*f126890aSEmmanuel Vadot			#size-cells = <1>;
217*f126890aSEmmanuel Vadot			ranges;
218*f126890aSEmmanuel Vadot
219*f126890aSEmmanuel Vadot			sram_a: sram@0 {
220*f126890aSEmmanuel Vadot				compatible = "mmio-sram";
221*f126890aSEmmanuel Vadot				reg = <0x00000000 0xc000>;
222*f126890aSEmmanuel Vadot				#address-cells = <1>;
223*f126890aSEmmanuel Vadot				#size-cells = <1>;
224*f126890aSEmmanuel Vadot				ranges = <0 0x00000000 0xc000>;
225*f126890aSEmmanuel Vadot
226*f126890aSEmmanuel Vadot				emac_sram: sram-section@8000 {
227*f126890aSEmmanuel Vadot					compatible = "allwinner,sun4i-a10-sram-a3-a4";
228*f126890aSEmmanuel Vadot					reg = <0x8000 0x4000>;
229*f126890aSEmmanuel Vadot					status = "disabled";
230*f126890aSEmmanuel Vadot				};
231*f126890aSEmmanuel Vadot			};
232*f126890aSEmmanuel Vadot
233*f126890aSEmmanuel Vadot			sram_d: sram@10000 {
234*f126890aSEmmanuel Vadot				compatible = "mmio-sram";
235*f126890aSEmmanuel Vadot				reg = <0x00010000 0x1000>;
236*f126890aSEmmanuel Vadot				#address-cells = <1>;
237*f126890aSEmmanuel Vadot				#size-cells = <1>;
238*f126890aSEmmanuel Vadot				ranges = <0 0x00010000 0x1000>;
239*f126890aSEmmanuel Vadot
240*f126890aSEmmanuel Vadot				otg_sram: sram-section@0 {
241*f126890aSEmmanuel Vadot					compatible = "allwinner,sun4i-a10-sram-d";
242*f126890aSEmmanuel Vadot					reg = <0x0000 0x1000>;
243*f126890aSEmmanuel Vadot					status = "disabled";
244*f126890aSEmmanuel Vadot				};
245*f126890aSEmmanuel Vadot			};
246*f126890aSEmmanuel Vadot
247*f126890aSEmmanuel Vadot			sram_c: sram@1d00000 {
248*f126890aSEmmanuel Vadot				compatible = "mmio-sram";
249*f126890aSEmmanuel Vadot				reg = <0x01d00000 0xd0000>;
250*f126890aSEmmanuel Vadot				#address-cells = <1>;
251*f126890aSEmmanuel Vadot				#size-cells = <1>;
252*f126890aSEmmanuel Vadot				ranges = <0 0x01d00000 0xd0000>;
253*f126890aSEmmanuel Vadot
254*f126890aSEmmanuel Vadot				ve_sram: sram-section@0 {
255*f126890aSEmmanuel Vadot					compatible = "allwinner,sun4i-a10-sram-c1";
256*f126890aSEmmanuel Vadot					reg = <0x000000 0x80000>;
257*f126890aSEmmanuel Vadot				};
258*f126890aSEmmanuel Vadot			};
259*f126890aSEmmanuel Vadot		};
260*f126890aSEmmanuel Vadot
261*f126890aSEmmanuel Vadot		dma: dma-controller@1c02000 {
262*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-dma";
263*f126890aSEmmanuel Vadot			reg = <0x01c02000 0x1000>;
264*f126890aSEmmanuel Vadot			interrupts = <27>;
265*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_DMA>;
266*f126890aSEmmanuel Vadot			#dma-cells = <2>;
267*f126890aSEmmanuel Vadot		};
268*f126890aSEmmanuel Vadot
269*f126890aSEmmanuel Vadot		nfc: nand-controller@1c03000 {
270*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-nand";
271*f126890aSEmmanuel Vadot			reg = <0x01c03000 0x1000>;
272*f126890aSEmmanuel Vadot			interrupts = <37>;
273*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_NAND>, <&ccu CLK_NAND>;
274*f126890aSEmmanuel Vadot			clock-names = "ahb", "mod";
275*f126890aSEmmanuel Vadot			dmas = <&dma SUN4I_DMA_DEDICATED 3>;
276*f126890aSEmmanuel Vadot			dma-names = "rxtx";
277*f126890aSEmmanuel Vadot			status = "disabled";
278*f126890aSEmmanuel Vadot			#address-cells = <1>;
279*f126890aSEmmanuel Vadot			#size-cells = <0>;
280*f126890aSEmmanuel Vadot		};
281*f126890aSEmmanuel Vadot
282*f126890aSEmmanuel Vadot		spi0: spi@1c05000 {
283*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-spi";
284*f126890aSEmmanuel Vadot			reg = <0x01c05000 0x1000>;
285*f126890aSEmmanuel Vadot			interrupts = <10>;
286*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_SPI0>, <&ccu CLK_SPI0>;
287*f126890aSEmmanuel Vadot			clock-names = "ahb", "mod";
288*f126890aSEmmanuel Vadot			dmas = <&dma SUN4I_DMA_DEDICATED 27>,
289*f126890aSEmmanuel Vadot			       <&dma SUN4I_DMA_DEDICATED 26>;
290*f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
291*f126890aSEmmanuel Vadot			status = "disabled";
292*f126890aSEmmanuel Vadot			#address-cells = <1>;
293*f126890aSEmmanuel Vadot			#size-cells = <0>;
294*f126890aSEmmanuel Vadot		};
295*f126890aSEmmanuel Vadot
296*f126890aSEmmanuel Vadot		spi1: spi@1c06000 {
297*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-spi";
298*f126890aSEmmanuel Vadot			reg = <0x01c06000 0x1000>;
299*f126890aSEmmanuel Vadot			interrupts = <11>;
300*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_SPI1>, <&ccu CLK_SPI1>;
301*f126890aSEmmanuel Vadot			clock-names = "ahb", "mod";
302*f126890aSEmmanuel Vadot			dmas = <&dma SUN4I_DMA_DEDICATED 9>,
303*f126890aSEmmanuel Vadot			       <&dma SUN4I_DMA_DEDICATED 8>;
304*f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
305*f126890aSEmmanuel Vadot			pinctrl-names = "default";
306*f126890aSEmmanuel Vadot			pinctrl-0 = <&spi1_pins>, <&spi1_cs0_pin>;
307*f126890aSEmmanuel Vadot			status = "disabled";
308*f126890aSEmmanuel Vadot			#address-cells = <1>;
309*f126890aSEmmanuel Vadot			#size-cells = <0>;
310*f126890aSEmmanuel Vadot		};
311*f126890aSEmmanuel Vadot
312*f126890aSEmmanuel Vadot		emac: ethernet@1c0b000 {
313*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-emac";
314*f126890aSEmmanuel Vadot			reg = <0x01c0b000 0x1000>;
315*f126890aSEmmanuel Vadot			interrupts = <55>;
316*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_EMAC>;
317*f126890aSEmmanuel Vadot			allwinner,sram = <&emac_sram 1>;
318*f126890aSEmmanuel Vadot			pinctrl-names = "default";
319*f126890aSEmmanuel Vadot			pinctrl-0 = <&emac_pins>;
320*f126890aSEmmanuel Vadot			status = "disabled";
321*f126890aSEmmanuel Vadot		};
322*f126890aSEmmanuel Vadot
323*f126890aSEmmanuel Vadot		mdio: mdio@1c0b080 {
324*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-mdio";
325*f126890aSEmmanuel Vadot			reg = <0x01c0b080 0x14>;
326*f126890aSEmmanuel Vadot			status = "disabled";
327*f126890aSEmmanuel Vadot			#address-cells = <1>;
328*f126890aSEmmanuel Vadot			#size-cells = <0>;
329*f126890aSEmmanuel Vadot		};
330*f126890aSEmmanuel Vadot
331*f126890aSEmmanuel Vadot		tcon0: lcd-controller@1c0c000 {
332*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-tcon";
333*f126890aSEmmanuel Vadot			reg = <0x01c0c000 0x1000>;
334*f126890aSEmmanuel Vadot			interrupts = <44>;
335*f126890aSEmmanuel Vadot			resets = <&ccu RST_TCON0>;
336*f126890aSEmmanuel Vadot			reset-names = "lcd";
337*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_LCD0>,
338*f126890aSEmmanuel Vadot				 <&ccu CLK_TCON0_CH0>,
339*f126890aSEmmanuel Vadot				 <&ccu CLK_TCON0_CH1>;
340*f126890aSEmmanuel Vadot			clock-names = "ahb",
341*f126890aSEmmanuel Vadot				      "tcon-ch0",
342*f126890aSEmmanuel Vadot				      "tcon-ch1";
343*f126890aSEmmanuel Vadot			clock-output-names = "tcon0-pixel-clock";
344*f126890aSEmmanuel Vadot			#clock-cells = <0>;
345*f126890aSEmmanuel Vadot			dmas = <&dma SUN4I_DMA_DEDICATED 14>;
346*f126890aSEmmanuel Vadot
347*f126890aSEmmanuel Vadot			ports {
348*f126890aSEmmanuel Vadot				#address-cells = <1>;
349*f126890aSEmmanuel Vadot				#size-cells = <0>;
350*f126890aSEmmanuel Vadot
351*f126890aSEmmanuel Vadot				tcon0_in: port@0 {
352*f126890aSEmmanuel Vadot					#address-cells = <1>;
353*f126890aSEmmanuel Vadot					#size-cells = <0>;
354*f126890aSEmmanuel Vadot					reg = <0>;
355*f126890aSEmmanuel Vadot
356*f126890aSEmmanuel Vadot					tcon0_in_be0: endpoint@0 {
357*f126890aSEmmanuel Vadot						reg = <0>;
358*f126890aSEmmanuel Vadot						remote-endpoint = <&be0_out_tcon0>;
359*f126890aSEmmanuel Vadot					};
360*f126890aSEmmanuel Vadot
361*f126890aSEmmanuel Vadot					tcon0_in_be1: endpoint@1 {
362*f126890aSEmmanuel Vadot						reg = <1>;
363*f126890aSEmmanuel Vadot						remote-endpoint = <&be1_out_tcon0>;
364*f126890aSEmmanuel Vadot					};
365*f126890aSEmmanuel Vadot				};
366*f126890aSEmmanuel Vadot
367*f126890aSEmmanuel Vadot				tcon0_out: port@1 {
368*f126890aSEmmanuel Vadot					#address-cells = <1>;
369*f126890aSEmmanuel Vadot					#size-cells = <0>;
370*f126890aSEmmanuel Vadot					reg = <1>;
371*f126890aSEmmanuel Vadot
372*f126890aSEmmanuel Vadot					tcon0_out_hdmi: endpoint@1 {
373*f126890aSEmmanuel Vadot						reg = <1>;
374*f126890aSEmmanuel Vadot						remote-endpoint = <&hdmi_in_tcon0>;
375*f126890aSEmmanuel Vadot						allwinner,tcon-channel = <1>;
376*f126890aSEmmanuel Vadot					};
377*f126890aSEmmanuel Vadot				};
378*f126890aSEmmanuel Vadot			};
379*f126890aSEmmanuel Vadot		};
380*f126890aSEmmanuel Vadot
381*f126890aSEmmanuel Vadot		tcon1: lcd-controller@1c0d000 {
382*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-tcon";
383*f126890aSEmmanuel Vadot			reg = <0x01c0d000 0x1000>;
384*f126890aSEmmanuel Vadot			interrupts = <45>;
385*f126890aSEmmanuel Vadot			resets = <&ccu RST_TCON1>;
386*f126890aSEmmanuel Vadot			reset-names = "lcd";
387*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_LCD1>,
388*f126890aSEmmanuel Vadot				 <&ccu CLK_TCON1_CH0>,
389*f126890aSEmmanuel Vadot				 <&ccu CLK_TCON1_CH1>;
390*f126890aSEmmanuel Vadot			clock-names = "ahb",
391*f126890aSEmmanuel Vadot				      "tcon-ch0",
392*f126890aSEmmanuel Vadot				      "tcon-ch1";
393*f126890aSEmmanuel Vadot			clock-output-names = "tcon1-pixel-clock";
394*f126890aSEmmanuel Vadot			#clock-cells = <0>;
395*f126890aSEmmanuel Vadot			dmas = <&dma SUN4I_DMA_DEDICATED 15>;
396*f126890aSEmmanuel Vadot
397*f126890aSEmmanuel Vadot			ports {
398*f126890aSEmmanuel Vadot				#address-cells = <1>;
399*f126890aSEmmanuel Vadot				#size-cells = <0>;
400*f126890aSEmmanuel Vadot
401*f126890aSEmmanuel Vadot				tcon1_in: port@0 {
402*f126890aSEmmanuel Vadot					#address-cells = <1>;
403*f126890aSEmmanuel Vadot					#size-cells = <0>;
404*f126890aSEmmanuel Vadot					reg = <0>;
405*f126890aSEmmanuel Vadot
406*f126890aSEmmanuel Vadot					tcon1_in_be0: endpoint@0 {
407*f126890aSEmmanuel Vadot						reg = <0>;
408*f126890aSEmmanuel Vadot						remote-endpoint = <&be0_out_tcon1>;
409*f126890aSEmmanuel Vadot					};
410*f126890aSEmmanuel Vadot
411*f126890aSEmmanuel Vadot					tcon1_in_be1: endpoint@1 {
412*f126890aSEmmanuel Vadot						reg = <1>;
413*f126890aSEmmanuel Vadot						remote-endpoint = <&be1_out_tcon1>;
414*f126890aSEmmanuel Vadot					};
415*f126890aSEmmanuel Vadot				};
416*f126890aSEmmanuel Vadot
417*f126890aSEmmanuel Vadot				tcon1_out: port@1 {
418*f126890aSEmmanuel Vadot					#address-cells = <1>;
419*f126890aSEmmanuel Vadot					#size-cells = <0>;
420*f126890aSEmmanuel Vadot					reg = <1>;
421*f126890aSEmmanuel Vadot
422*f126890aSEmmanuel Vadot					tcon1_out_hdmi: endpoint@1 {
423*f126890aSEmmanuel Vadot						reg = <1>;
424*f126890aSEmmanuel Vadot						remote-endpoint = <&hdmi_in_tcon1>;
425*f126890aSEmmanuel Vadot						allwinner,tcon-channel = <1>;
426*f126890aSEmmanuel Vadot					};
427*f126890aSEmmanuel Vadot				};
428*f126890aSEmmanuel Vadot			};
429*f126890aSEmmanuel Vadot		};
430*f126890aSEmmanuel Vadot
431*f126890aSEmmanuel Vadot		video-codec@1c0e000 {
432*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-video-engine";
433*f126890aSEmmanuel Vadot			reg = <0x01c0e000 0x1000>;
434*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_VE>, <&ccu CLK_VE>,
435*f126890aSEmmanuel Vadot				 <&ccu CLK_DRAM_VE>;
436*f126890aSEmmanuel Vadot			clock-names = "ahb", "mod", "ram";
437*f126890aSEmmanuel Vadot			resets = <&ccu RST_VE>;
438*f126890aSEmmanuel Vadot			interrupts = <53>;
439*f126890aSEmmanuel Vadot			allwinner,sram = <&ve_sram 1>;
440*f126890aSEmmanuel Vadot		};
441*f126890aSEmmanuel Vadot
442*f126890aSEmmanuel Vadot		mmc0: mmc@1c0f000 {
443*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-mmc";
444*f126890aSEmmanuel Vadot			reg = <0x01c0f000 0x1000>;
445*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_MMC0>, <&ccu CLK_MMC0>;
446*f126890aSEmmanuel Vadot			clock-names = "ahb", "mmc";
447*f126890aSEmmanuel Vadot			interrupts = <32>;
448*f126890aSEmmanuel Vadot			pinctrl-names = "default";
449*f126890aSEmmanuel Vadot			pinctrl-0 = <&mmc0_pins>;
450*f126890aSEmmanuel Vadot			status = "disabled";
451*f126890aSEmmanuel Vadot			#address-cells = <1>;
452*f126890aSEmmanuel Vadot			#size-cells = <0>;
453*f126890aSEmmanuel Vadot		};
454*f126890aSEmmanuel Vadot
455*f126890aSEmmanuel Vadot		mmc1: mmc@1c10000 {
456*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-mmc";
457*f126890aSEmmanuel Vadot			reg = <0x01c10000 0x1000>;
458*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_MMC1>, <&ccu CLK_MMC1>;
459*f126890aSEmmanuel Vadot			clock-names = "ahb", "mmc";
460*f126890aSEmmanuel Vadot			interrupts = <33>;
461*f126890aSEmmanuel Vadot			status = "disabled";
462*f126890aSEmmanuel Vadot			#address-cells = <1>;
463*f126890aSEmmanuel Vadot			#size-cells = <0>;
464*f126890aSEmmanuel Vadot		};
465*f126890aSEmmanuel Vadot
466*f126890aSEmmanuel Vadot		mmc2: mmc@1c11000 {
467*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-mmc";
468*f126890aSEmmanuel Vadot			reg = <0x01c11000 0x1000>;
469*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_MMC2>, <&ccu CLK_MMC2>;
470*f126890aSEmmanuel Vadot			clock-names = "ahb", "mmc";
471*f126890aSEmmanuel Vadot			interrupts = <34>;
472*f126890aSEmmanuel Vadot			status = "disabled";
473*f126890aSEmmanuel Vadot			#address-cells = <1>;
474*f126890aSEmmanuel Vadot			#size-cells = <0>;
475*f126890aSEmmanuel Vadot		};
476*f126890aSEmmanuel Vadot
477*f126890aSEmmanuel Vadot		mmc3: mmc@1c12000 {
478*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-mmc";
479*f126890aSEmmanuel Vadot			reg = <0x01c12000 0x1000>;
480*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_MMC3>, <&ccu CLK_MMC3>;
481*f126890aSEmmanuel Vadot			clock-names = "ahb", "mmc";
482*f126890aSEmmanuel Vadot			interrupts = <35>;
483*f126890aSEmmanuel Vadot			status = "disabled";
484*f126890aSEmmanuel Vadot			#address-cells = <1>;
485*f126890aSEmmanuel Vadot			#size-cells = <0>;
486*f126890aSEmmanuel Vadot		};
487*f126890aSEmmanuel Vadot
488*f126890aSEmmanuel Vadot		usb_otg: usb@1c13000 {
489*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-musb";
490*f126890aSEmmanuel Vadot			reg = <0x01c13000 0x0400>;
491*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_OTG>;
492*f126890aSEmmanuel Vadot			interrupts = <38>;
493*f126890aSEmmanuel Vadot			interrupt-names = "mc";
494*f126890aSEmmanuel Vadot			phys = <&usbphy 0>;
495*f126890aSEmmanuel Vadot			phy-names = "usb";
496*f126890aSEmmanuel Vadot			extcon = <&usbphy 0>;
497*f126890aSEmmanuel Vadot			allwinner,sram = <&otg_sram 1>;
498*f126890aSEmmanuel Vadot			dr_mode = "otg";
499*f126890aSEmmanuel Vadot			status = "disabled";
500*f126890aSEmmanuel Vadot		};
501*f126890aSEmmanuel Vadot
502*f126890aSEmmanuel Vadot		usbphy: phy@1c13400 {
503*f126890aSEmmanuel Vadot			#phy-cells = <1>;
504*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-usb-phy";
505*f126890aSEmmanuel Vadot			reg = <0x01c13400 0x10>, <0x01c14800 0x4>, <0x01c1c800 0x4>;
506*f126890aSEmmanuel Vadot			reg-names = "phy_ctrl", "pmu1", "pmu2";
507*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_USB_PHY>;
508*f126890aSEmmanuel Vadot			clock-names = "usb_phy";
509*f126890aSEmmanuel Vadot			resets = <&ccu RST_USB_PHY0>,
510*f126890aSEmmanuel Vadot				 <&ccu RST_USB_PHY1>,
511*f126890aSEmmanuel Vadot				 <&ccu RST_USB_PHY2>;
512*f126890aSEmmanuel Vadot			reset-names = "usb0_reset", "usb1_reset", "usb2_reset";
513*f126890aSEmmanuel Vadot			status = "disabled";
514*f126890aSEmmanuel Vadot		};
515*f126890aSEmmanuel Vadot
516*f126890aSEmmanuel Vadot		ehci0: usb@1c14000 {
517*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-ehci", "generic-ehci";
518*f126890aSEmmanuel Vadot			reg = <0x01c14000 0x100>;
519*f126890aSEmmanuel Vadot			interrupts = <39>;
520*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_EHCI0>;
521*f126890aSEmmanuel Vadot			phys = <&usbphy 1>;
522*f126890aSEmmanuel Vadot			phy-names = "usb";
523*f126890aSEmmanuel Vadot			status = "disabled";
524*f126890aSEmmanuel Vadot		};
525*f126890aSEmmanuel Vadot
526*f126890aSEmmanuel Vadot		ohci0: usb@1c14400 {
527*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-ohci", "generic-ohci";
528*f126890aSEmmanuel Vadot			reg = <0x01c14400 0x100>;
529*f126890aSEmmanuel Vadot			interrupts = <64>;
530*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_USB_OHCI0>, <&ccu CLK_AHB_OHCI0>;
531*f126890aSEmmanuel Vadot			phys = <&usbphy 1>;
532*f126890aSEmmanuel Vadot			phy-names = "usb";
533*f126890aSEmmanuel Vadot			status = "disabled";
534*f126890aSEmmanuel Vadot		};
535*f126890aSEmmanuel Vadot
536*f126890aSEmmanuel Vadot		crypto: crypto-engine@1c15000 {
537*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-crypto";
538*f126890aSEmmanuel Vadot			reg = <0x01c15000 0x1000>;
539*f126890aSEmmanuel Vadot			interrupts = <86>;
540*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_SS>, <&ccu CLK_SS>;
541*f126890aSEmmanuel Vadot			clock-names = "ahb", "mod";
542*f126890aSEmmanuel Vadot		};
543*f126890aSEmmanuel Vadot
544*f126890aSEmmanuel Vadot		hdmi: hdmi@1c16000 {
545*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-hdmi";
546*f126890aSEmmanuel Vadot			reg = <0x01c16000 0x1000>;
547*f126890aSEmmanuel Vadot			interrupts = <58>;
548*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_HDMI0>, <&ccu CLK_HDMI>,
549*f126890aSEmmanuel Vadot				 <&ccu CLK_PLL_VIDEO0_2X>,
550*f126890aSEmmanuel Vadot				 <&ccu CLK_PLL_VIDEO1_2X>;
551*f126890aSEmmanuel Vadot			clock-names = "ahb", "mod", "pll-0", "pll-1";
552*f126890aSEmmanuel Vadot			dmas = <&dma SUN4I_DMA_NORMAL 16>,
553*f126890aSEmmanuel Vadot			       <&dma SUN4I_DMA_NORMAL 16>,
554*f126890aSEmmanuel Vadot			       <&dma SUN4I_DMA_DEDICATED 24>;
555*f126890aSEmmanuel Vadot			dma-names = "ddc-tx", "ddc-rx", "audio-tx";
556*f126890aSEmmanuel Vadot			status = "disabled";
557*f126890aSEmmanuel Vadot
558*f126890aSEmmanuel Vadot			ports {
559*f126890aSEmmanuel Vadot				#address-cells = <1>;
560*f126890aSEmmanuel Vadot				#size-cells = <0>;
561*f126890aSEmmanuel Vadot
562*f126890aSEmmanuel Vadot				hdmi_in: port@0 {
563*f126890aSEmmanuel Vadot					#address-cells = <1>;
564*f126890aSEmmanuel Vadot					#size-cells = <0>;
565*f126890aSEmmanuel Vadot					reg = <0>;
566*f126890aSEmmanuel Vadot
567*f126890aSEmmanuel Vadot					hdmi_in_tcon0: endpoint@0 {
568*f126890aSEmmanuel Vadot						reg = <0>;
569*f126890aSEmmanuel Vadot						remote-endpoint = <&tcon0_out_hdmi>;
570*f126890aSEmmanuel Vadot					};
571*f126890aSEmmanuel Vadot
572*f126890aSEmmanuel Vadot					hdmi_in_tcon1: endpoint@1 {
573*f126890aSEmmanuel Vadot						reg = <1>;
574*f126890aSEmmanuel Vadot						remote-endpoint = <&tcon1_out_hdmi>;
575*f126890aSEmmanuel Vadot					};
576*f126890aSEmmanuel Vadot				};
577*f126890aSEmmanuel Vadot
578*f126890aSEmmanuel Vadot				hdmi_out: port@1 {
579*f126890aSEmmanuel Vadot					reg = <1>;
580*f126890aSEmmanuel Vadot				};
581*f126890aSEmmanuel Vadot			};
582*f126890aSEmmanuel Vadot		};
583*f126890aSEmmanuel Vadot
584*f126890aSEmmanuel Vadot		spi2: spi@1c17000 {
585*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-spi";
586*f126890aSEmmanuel Vadot			reg = <0x01c17000 0x1000>;
587*f126890aSEmmanuel Vadot			interrupts = <12>;
588*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_SPI2>, <&ccu CLK_SPI2>;
589*f126890aSEmmanuel Vadot			clock-names = "ahb", "mod";
590*f126890aSEmmanuel Vadot			dmas = <&dma SUN4I_DMA_DEDICATED 29>,
591*f126890aSEmmanuel Vadot			       <&dma SUN4I_DMA_DEDICATED 28>;
592*f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
593*f126890aSEmmanuel Vadot			status = "disabled";
594*f126890aSEmmanuel Vadot			#address-cells = <1>;
595*f126890aSEmmanuel Vadot			#size-cells = <0>;
596*f126890aSEmmanuel Vadot		};
597*f126890aSEmmanuel Vadot
598*f126890aSEmmanuel Vadot		ahci: sata@1c18000 {
599*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-ahci";
600*f126890aSEmmanuel Vadot			reg = <0x01c18000 0x1000>;
601*f126890aSEmmanuel Vadot			interrupts = <56>;
602*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_SATA>, <&ccu CLK_SATA>;
603*f126890aSEmmanuel Vadot			status = "disabled";
604*f126890aSEmmanuel Vadot		};
605*f126890aSEmmanuel Vadot
606*f126890aSEmmanuel Vadot		ehci1: usb@1c1c000 {
607*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-ehci", "generic-ehci";
608*f126890aSEmmanuel Vadot			reg = <0x01c1c000 0x100>;
609*f126890aSEmmanuel Vadot			interrupts = <40>;
610*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_EHCI1>;
611*f126890aSEmmanuel Vadot			phys = <&usbphy 2>;
612*f126890aSEmmanuel Vadot			phy-names = "usb";
613*f126890aSEmmanuel Vadot			status = "disabled";
614*f126890aSEmmanuel Vadot		};
615*f126890aSEmmanuel Vadot
616*f126890aSEmmanuel Vadot		ohci1: usb@1c1c400 {
617*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-ohci", "generic-ohci";
618*f126890aSEmmanuel Vadot			reg = <0x01c1c400 0x100>;
619*f126890aSEmmanuel Vadot			interrupts = <65>;
620*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_USB_OHCI1>, <&ccu CLK_AHB_OHCI1>;
621*f126890aSEmmanuel Vadot			phys = <&usbphy 2>;
622*f126890aSEmmanuel Vadot			phy-names = "usb";
623*f126890aSEmmanuel Vadot			status = "disabled";
624*f126890aSEmmanuel Vadot		};
625*f126890aSEmmanuel Vadot
626*f126890aSEmmanuel Vadot		csi1: csi@1c1d000 {
627*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-csi1";
628*f126890aSEmmanuel Vadot			reg = <0x01c1d000 0x1000>;
629*f126890aSEmmanuel Vadot			interrupts = <43>;
630*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_CSI1>, <&ccu CLK_DRAM_CSI1>;
631*f126890aSEmmanuel Vadot			clock-names = "bus", "ram";
632*f126890aSEmmanuel Vadot			resets = <&ccu RST_CSI1>;
633*f126890aSEmmanuel Vadot			status = "disabled";
634*f126890aSEmmanuel Vadot		};
635*f126890aSEmmanuel Vadot
636*f126890aSEmmanuel Vadot		spi3: spi@1c1f000 {
637*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-spi";
638*f126890aSEmmanuel Vadot			reg = <0x01c1f000 0x1000>;
639*f126890aSEmmanuel Vadot			interrupts = <50>;
640*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_SPI3>, <&ccu CLK_SPI3>;
641*f126890aSEmmanuel Vadot			clock-names = "ahb", "mod";
642*f126890aSEmmanuel Vadot			dmas = <&dma SUN4I_DMA_DEDICATED 31>,
643*f126890aSEmmanuel Vadot			       <&dma SUN4I_DMA_DEDICATED 30>;
644*f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
645*f126890aSEmmanuel Vadot			status = "disabled";
646*f126890aSEmmanuel Vadot			#address-cells = <1>;
647*f126890aSEmmanuel Vadot			#size-cells = <0>;
648*f126890aSEmmanuel Vadot		};
649*f126890aSEmmanuel Vadot
650*f126890aSEmmanuel Vadot		ccu: clock@1c20000 {
651*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-ccu";
652*f126890aSEmmanuel Vadot			reg = <0x01c20000 0x400>;
653*f126890aSEmmanuel Vadot			clocks = <&osc24M>, <&osc32k>;
654*f126890aSEmmanuel Vadot			clock-names = "hosc", "losc";
655*f126890aSEmmanuel Vadot			#clock-cells = <1>;
656*f126890aSEmmanuel Vadot			#reset-cells = <1>;
657*f126890aSEmmanuel Vadot		};
658*f126890aSEmmanuel Vadot
659*f126890aSEmmanuel Vadot		intc: interrupt-controller@1c20400 {
660*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-ic";
661*f126890aSEmmanuel Vadot			reg = <0x01c20400 0x400>;
662*f126890aSEmmanuel Vadot			interrupt-controller;
663*f126890aSEmmanuel Vadot			#interrupt-cells = <1>;
664*f126890aSEmmanuel Vadot		};
665*f126890aSEmmanuel Vadot
666*f126890aSEmmanuel Vadot		pio: pinctrl@1c20800 {
667*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-pinctrl";
668*f126890aSEmmanuel Vadot			reg = <0x01c20800 0x400>;
669*f126890aSEmmanuel Vadot			interrupts = <28>;
670*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_APB0_PIO>, <&osc24M>, <&osc32k>;
671*f126890aSEmmanuel Vadot			clock-names = "apb", "hosc", "losc";
672*f126890aSEmmanuel Vadot			gpio-controller;
673*f126890aSEmmanuel Vadot			interrupt-controller;
674*f126890aSEmmanuel Vadot			#interrupt-cells = <3>;
675*f126890aSEmmanuel Vadot			#gpio-cells = <3>;
676*f126890aSEmmanuel Vadot
677*f126890aSEmmanuel Vadot			can0_ph_pins: can0-ph-pins {
678*f126890aSEmmanuel Vadot				pins = "PH20", "PH21";
679*f126890aSEmmanuel Vadot				function = "can";
680*f126890aSEmmanuel Vadot			};
681*f126890aSEmmanuel Vadot
682*f126890aSEmmanuel Vadot			/omit-if-no-ref/
683*f126890aSEmmanuel Vadot			csi1_8bits_pg_pins: csi1-8bits-pg-pins {
684*f126890aSEmmanuel Vadot				pins = "PG0", "PG2", "PG3", "PG4", "PG5",
685*f126890aSEmmanuel Vadot				       "PG6", "PG7", "PG8", "PG9", "PG10",
686*f126890aSEmmanuel Vadot				       "PG11";
687*f126890aSEmmanuel Vadot				function = "csi1";
688*f126890aSEmmanuel Vadot			};
689*f126890aSEmmanuel Vadot
690*f126890aSEmmanuel Vadot			/omit-if-no-ref/
691*f126890aSEmmanuel Vadot			csi1_24bits_ph_pins: csi1-24bits-ph-pins {
692*f126890aSEmmanuel Vadot				pins = "PH0", "PH1", "PH2", "PH3", "PH4",
693*f126890aSEmmanuel Vadot				       "PH5", "PH6", "PH7", "PH8", "PH9",
694*f126890aSEmmanuel Vadot				       "PH10", "PH11", "PH12", "PH13", "PH14",
695*f126890aSEmmanuel Vadot				       "PH15", "PH16", "PH17", "PH18", "PH19",
696*f126890aSEmmanuel Vadot				       "PH20", "PH21", "PH22", "PH23", "PH24",
697*f126890aSEmmanuel Vadot				       "PH25", "PH26", "PH27";
698*f126890aSEmmanuel Vadot				function = "csi1";
699*f126890aSEmmanuel Vadot			};
700*f126890aSEmmanuel Vadot
701*f126890aSEmmanuel Vadot			/omit-if-no-ref/
702*f126890aSEmmanuel Vadot			csi1_clk_pg_pin: csi1-clk-pg-pin {
703*f126890aSEmmanuel Vadot				pins = "PG1";
704*f126890aSEmmanuel Vadot				function = "csi1";
705*f126890aSEmmanuel Vadot			};
706*f126890aSEmmanuel Vadot
707*f126890aSEmmanuel Vadot			emac_pins: emac0-pins {
708*f126890aSEmmanuel Vadot				pins = "PA0", "PA1", "PA2",
709*f126890aSEmmanuel Vadot				       "PA3", "PA4", "PA5", "PA6",
710*f126890aSEmmanuel Vadot				       "PA7", "PA8", "PA9", "PA10",
711*f126890aSEmmanuel Vadot				       "PA11", "PA12", "PA13", "PA14",
712*f126890aSEmmanuel Vadot				       "PA15", "PA16";
713*f126890aSEmmanuel Vadot				function = "emac";
714*f126890aSEmmanuel Vadot			};
715*f126890aSEmmanuel Vadot
716*f126890aSEmmanuel Vadot			i2c0_pins: i2c0-pins {
717*f126890aSEmmanuel Vadot				pins = "PB0", "PB1";
718*f126890aSEmmanuel Vadot				function = "i2c0";
719*f126890aSEmmanuel Vadot			};
720*f126890aSEmmanuel Vadot
721*f126890aSEmmanuel Vadot			i2c1_pins: i2c1-pins {
722*f126890aSEmmanuel Vadot				pins = "PB18", "PB19";
723*f126890aSEmmanuel Vadot				function = "i2c1";
724*f126890aSEmmanuel Vadot			};
725*f126890aSEmmanuel Vadot
726*f126890aSEmmanuel Vadot			i2c2_pins: i2c2-pins {
727*f126890aSEmmanuel Vadot				pins = "PB20", "PB21";
728*f126890aSEmmanuel Vadot				function = "i2c2";
729*f126890aSEmmanuel Vadot			};
730*f126890aSEmmanuel Vadot
731*f126890aSEmmanuel Vadot			ir0_rx_pins: ir0-rx-pin {
732*f126890aSEmmanuel Vadot				pins = "PB4";
733*f126890aSEmmanuel Vadot				function = "ir0";
734*f126890aSEmmanuel Vadot			};
735*f126890aSEmmanuel Vadot
736*f126890aSEmmanuel Vadot			ir0_tx_pins: ir0-tx-pin {
737*f126890aSEmmanuel Vadot				pins = "PB3";
738*f126890aSEmmanuel Vadot				function = "ir0";
739*f126890aSEmmanuel Vadot			};
740*f126890aSEmmanuel Vadot
741*f126890aSEmmanuel Vadot			ir1_rx_pins: ir1-rx-pin {
742*f126890aSEmmanuel Vadot				pins = "PB23";
743*f126890aSEmmanuel Vadot				function = "ir1";
744*f126890aSEmmanuel Vadot			};
745*f126890aSEmmanuel Vadot
746*f126890aSEmmanuel Vadot			ir1_tx_pins: ir1-tx-pin {
747*f126890aSEmmanuel Vadot				pins = "PB22";
748*f126890aSEmmanuel Vadot				function = "ir1";
749*f126890aSEmmanuel Vadot			};
750*f126890aSEmmanuel Vadot
751*f126890aSEmmanuel Vadot			mmc0_pins: mmc0-pins {
752*f126890aSEmmanuel Vadot				pins = "PF0", "PF1", "PF2",
753*f126890aSEmmanuel Vadot				       "PF3", "PF4", "PF5";
754*f126890aSEmmanuel Vadot				function = "mmc0";
755*f126890aSEmmanuel Vadot				drive-strength = <30>;
756*f126890aSEmmanuel Vadot				bias-pull-up;
757*f126890aSEmmanuel Vadot			};
758*f126890aSEmmanuel Vadot
759*f126890aSEmmanuel Vadot			ps2_ch0_pins: ps2-ch0-pins {
760*f126890aSEmmanuel Vadot				pins = "PI20", "PI21";
761*f126890aSEmmanuel Vadot				function = "ps2";
762*f126890aSEmmanuel Vadot			};
763*f126890aSEmmanuel Vadot
764*f126890aSEmmanuel Vadot			ps2_ch1_ph_pins: ps2-ch1-ph-pins {
765*f126890aSEmmanuel Vadot				pins = "PH12", "PH13";
766*f126890aSEmmanuel Vadot				function = "ps2";
767*f126890aSEmmanuel Vadot			};
768*f126890aSEmmanuel Vadot
769*f126890aSEmmanuel Vadot			pwm0_pin: pwm0-pin {
770*f126890aSEmmanuel Vadot				pins = "PB2";
771*f126890aSEmmanuel Vadot				function = "pwm";
772*f126890aSEmmanuel Vadot			};
773*f126890aSEmmanuel Vadot
774*f126890aSEmmanuel Vadot			pwm1_pin: pwm1-pin {
775*f126890aSEmmanuel Vadot				pins = "PI3";
776*f126890aSEmmanuel Vadot				function = "pwm";
777*f126890aSEmmanuel Vadot			};
778*f126890aSEmmanuel Vadot
779*f126890aSEmmanuel Vadot			spdif_tx_pin: spdif-tx-pin {
780*f126890aSEmmanuel Vadot				pins = "PB13";
781*f126890aSEmmanuel Vadot				function = "spdif";
782*f126890aSEmmanuel Vadot				bias-pull-up;
783*f126890aSEmmanuel Vadot			};
784*f126890aSEmmanuel Vadot
785*f126890aSEmmanuel Vadot			spi0_pi_pins: spi0-pi-pins {
786*f126890aSEmmanuel Vadot				pins = "PI11", "PI12", "PI13";
787*f126890aSEmmanuel Vadot				function = "spi0";
788*f126890aSEmmanuel Vadot			};
789*f126890aSEmmanuel Vadot
790*f126890aSEmmanuel Vadot			spi0_cs0_pi_pin: spi0-cs0-pi-pin {
791*f126890aSEmmanuel Vadot				pins = "PI10";
792*f126890aSEmmanuel Vadot				function = "spi0";
793*f126890aSEmmanuel Vadot			};
794*f126890aSEmmanuel Vadot
795*f126890aSEmmanuel Vadot			spi1_pins: spi1-pins {
796*f126890aSEmmanuel Vadot				pins = "PI17", "PI18", "PI19";
797*f126890aSEmmanuel Vadot				function = "spi1";
798*f126890aSEmmanuel Vadot			};
799*f126890aSEmmanuel Vadot
800*f126890aSEmmanuel Vadot			spi1_cs0_pin: spi1-cs0-pin {
801*f126890aSEmmanuel Vadot				pins = "PI16";
802*f126890aSEmmanuel Vadot				function = "spi1";
803*f126890aSEmmanuel Vadot			};
804*f126890aSEmmanuel Vadot
805*f126890aSEmmanuel Vadot			spi2_pb_pins: spi2-pb-pins {
806*f126890aSEmmanuel Vadot				pins = "PB15", "PB16", "PB17";
807*f126890aSEmmanuel Vadot				function = "spi2";
808*f126890aSEmmanuel Vadot			};
809*f126890aSEmmanuel Vadot
810*f126890aSEmmanuel Vadot			spi2_pc_pins: spi2-pc-pins {
811*f126890aSEmmanuel Vadot				pins = "PC20", "PC21", "PC22";
812*f126890aSEmmanuel Vadot				function = "spi2";
813*f126890aSEmmanuel Vadot			};
814*f126890aSEmmanuel Vadot
815*f126890aSEmmanuel Vadot			spi2_cs0_pb_pin: spi2-cs0-pb-pin {
816*f126890aSEmmanuel Vadot				pins = "PB14";
817*f126890aSEmmanuel Vadot				function = "spi2";
818*f126890aSEmmanuel Vadot			};
819*f126890aSEmmanuel Vadot
820*f126890aSEmmanuel Vadot			spi2_cs0_pc_pins: spi2-cs0-pc-pin {
821*f126890aSEmmanuel Vadot				pins = "PC19";
822*f126890aSEmmanuel Vadot				function = "spi2";
823*f126890aSEmmanuel Vadot			};
824*f126890aSEmmanuel Vadot
825*f126890aSEmmanuel Vadot			uart0_pb_pins: uart0-pb-pins {
826*f126890aSEmmanuel Vadot				pins = "PB22", "PB23";
827*f126890aSEmmanuel Vadot				function = "uart0";
828*f126890aSEmmanuel Vadot			};
829*f126890aSEmmanuel Vadot
830*f126890aSEmmanuel Vadot			uart0_pf_pins: uart0-pf-pins {
831*f126890aSEmmanuel Vadot				pins = "PF2", "PF4";
832*f126890aSEmmanuel Vadot				function = "uart0";
833*f126890aSEmmanuel Vadot			};
834*f126890aSEmmanuel Vadot
835*f126890aSEmmanuel Vadot			uart1_pins: uart1-pins {
836*f126890aSEmmanuel Vadot				pins = "PA10", "PA11";
837*f126890aSEmmanuel Vadot				function = "uart1";
838*f126890aSEmmanuel Vadot			};
839*f126890aSEmmanuel Vadot		};
840*f126890aSEmmanuel Vadot
841*f126890aSEmmanuel Vadot		timer@1c20c00 {
842*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-timer";
843*f126890aSEmmanuel Vadot			reg = <0x01c20c00 0x90>;
844*f126890aSEmmanuel Vadot			interrupts = <22>,
845*f126890aSEmmanuel Vadot				     <23>,
846*f126890aSEmmanuel Vadot				     <24>,
847*f126890aSEmmanuel Vadot				     <25>,
848*f126890aSEmmanuel Vadot				     <67>,
849*f126890aSEmmanuel Vadot				     <68>;
850*f126890aSEmmanuel Vadot			clocks = <&osc24M>;
851*f126890aSEmmanuel Vadot		};
852*f126890aSEmmanuel Vadot
853*f126890aSEmmanuel Vadot		wdt: watchdog@1c20c90 {
854*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-wdt";
855*f126890aSEmmanuel Vadot			reg = <0x01c20c90 0x10>;
856*f126890aSEmmanuel Vadot			interrupts = <24>;
857*f126890aSEmmanuel Vadot			clocks = <&osc24M>;
858*f126890aSEmmanuel Vadot		};
859*f126890aSEmmanuel Vadot
860*f126890aSEmmanuel Vadot		rtc: rtc@1c20d00 {
861*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-rtc";
862*f126890aSEmmanuel Vadot			reg = <0x01c20d00 0x20>;
863*f126890aSEmmanuel Vadot			interrupts = <24>;
864*f126890aSEmmanuel Vadot		};
865*f126890aSEmmanuel Vadot
866*f126890aSEmmanuel Vadot		pwm: pwm@1c20e00 {
867*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-pwm";
868*f126890aSEmmanuel Vadot			reg = <0x01c20e00 0xc>;
869*f126890aSEmmanuel Vadot			clocks = <&osc24M>;
870*f126890aSEmmanuel Vadot			#pwm-cells = <3>;
871*f126890aSEmmanuel Vadot			status = "disabled";
872*f126890aSEmmanuel Vadot		};
873*f126890aSEmmanuel Vadot
874*f126890aSEmmanuel Vadot		spdif: spdif@1c21000 {
875*f126890aSEmmanuel Vadot			#sound-dai-cells = <0>;
876*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-spdif";
877*f126890aSEmmanuel Vadot			reg = <0x01c21000 0x400>;
878*f126890aSEmmanuel Vadot			interrupts = <13>;
879*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_APB0_SPDIF>, <&ccu CLK_SPDIF>;
880*f126890aSEmmanuel Vadot			clock-names = "apb", "spdif";
881*f126890aSEmmanuel Vadot			dmas = <&dma SUN4I_DMA_NORMAL 2>,
882*f126890aSEmmanuel Vadot			       <&dma SUN4I_DMA_NORMAL 2>;
883*f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
884*f126890aSEmmanuel Vadot			status = "disabled";
885*f126890aSEmmanuel Vadot		};
886*f126890aSEmmanuel Vadot
887*f126890aSEmmanuel Vadot		ir0: ir@1c21800 {
888*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-ir";
889*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_APB0_IR0>, <&ccu CLK_IR0>;
890*f126890aSEmmanuel Vadot			clock-names = "apb", "ir";
891*f126890aSEmmanuel Vadot			interrupts = <5>;
892*f126890aSEmmanuel Vadot			reg = <0x01c21800 0x40>;
893*f126890aSEmmanuel Vadot			status = "disabled";
894*f126890aSEmmanuel Vadot		};
895*f126890aSEmmanuel Vadot
896*f126890aSEmmanuel Vadot		ir1: ir@1c21c00 {
897*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-ir";
898*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_APB0_IR1>, <&ccu CLK_IR1>;
899*f126890aSEmmanuel Vadot			clock-names = "apb", "ir";
900*f126890aSEmmanuel Vadot			interrupts = <6>;
901*f126890aSEmmanuel Vadot			reg = <0x01c21c00 0x40>;
902*f126890aSEmmanuel Vadot			status = "disabled";
903*f126890aSEmmanuel Vadot		};
904*f126890aSEmmanuel Vadot
905*f126890aSEmmanuel Vadot		i2s0: i2s@1c22400 {
906*f126890aSEmmanuel Vadot			#sound-dai-cells = <0>;
907*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-i2s";
908*f126890aSEmmanuel Vadot			reg = <0x01c22400 0x400>;
909*f126890aSEmmanuel Vadot			interrupts = <16>;
910*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_APB0_I2S0>, <&ccu CLK_I2S0>;
911*f126890aSEmmanuel Vadot			clock-names = "apb", "mod";
912*f126890aSEmmanuel Vadot			dmas = <&dma SUN4I_DMA_NORMAL 3>,
913*f126890aSEmmanuel Vadot			       <&dma SUN4I_DMA_NORMAL 3>;
914*f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
915*f126890aSEmmanuel Vadot			status = "disabled";
916*f126890aSEmmanuel Vadot		};
917*f126890aSEmmanuel Vadot
918*f126890aSEmmanuel Vadot		lradc: lradc@1c22800 {
919*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-lradc-keys";
920*f126890aSEmmanuel Vadot			reg = <0x01c22800 0x100>;
921*f126890aSEmmanuel Vadot			interrupts = <31>;
922*f126890aSEmmanuel Vadot			status = "disabled";
923*f126890aSEmmanuel Vadot		};
924*f126890aSEmmanuel Vadot
925*f126890aSEmmanuel Vadot		codec: codec@1c22c00 {
926*f126890aSEmmanuel Vadot			#sound-dai-cells = <0>;
927*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-codec";
928*f126890aSEmmanuel Vadot			reg = <0x01c22c00 0x40>;
929*f126890aSEmmanuel Vadot			interrupts = <30>;
930*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_APB0_CODEC>, <&ccu CLK_CODEC>;
931*f126890aSEmmanuel Vadot			clock-names = "apb", "codec";
932*f126890aSEmmanuel Vadot			dmas = <&dma SUN4I_DMA_NORMAL 19>,
933*f126890aSEmmanuel Vadot			       <&dma SUN4I_DMA_NORMAL 19>;
934*f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
935*f126890aSEmmanuel Vadot			status = "disabled";
936*f126890aSEmmanuel Vadot		};
937*f126890aSEmmanuel Vadot
938*f126890aSEmmanuel Vadot		sid: eeprom@1c23800 {
939*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-sid";
940*f126890aSEmmanuel Vadot			reg = <0x01c23800 0x10>;
941*f126890aSEmmanuel Vadot		};
942*f126890aSEmmanuel Vadot
943*f126890aSEmmanuel Vadot		rtp: rtp@1c25000 {
944*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-ts";
945*f126890aSEmmanuel Vadot			reg = <0x01c25000 0x100>;
946*f126890aSEmmanuel Vadot			interrupts = <29>;
947*f126890aSEmmanuel Vadot			#thermal-sensor-cells = <0>;
948*f126890aSEmmanuel Vadot		};
949*f126890aSEmmanuel Vadot
950*f126890aSEmmanuel Vadot		uart0: serial@1c28000 {
951*f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
952*f126890aSEmmanuel Vadot			reg = <0x01c28000 0x400>;
953*f126890aSEmmanuel Vadot			interrupts = <1>;
954*f126890aSEmmanuel Vadot			reg-shift = <2>;
955*f126890aSEmmanuel Vadot			reg-io-width = <4>;
956*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_APB1_UART0>;
957*f126890aSEmmanuel Vadot			status = "disabled";
958*f126890aSEmmanuel Vadot		};
959*f126890aSEmmanuel Vadot
960*f126890aSEmmanuel Vadot		uart1: serial@1c28400 {
961*f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
962*f126890aSEmmanuel Vadot			reg = <0x01c28400 0x400>;
963*f126890aSEmmanuel Vadot			interrupts = <2>;
964*f126890aSEmmanuel Vadot			reg-shift = <2>;
965*f126890aSEmmanuel Vadot			reg-io-width = <4>;
966*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_APB1_UART1>;
967*f126890aSEmmanuel Vadot			status = "disabled";
968*f126890aSEmmanuel Vadot		};
969*f126890aSEmmanuel Vadot
970*f126890aSEmmanuel Vadot		uart2: serial@1c28800 {
971*f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
972*f126890aSEmmanuel Vadot			reg = <0x01c28800 0x400>;
973*f126890aSEmmanuel Vadot			interrupts = <3>;
974*f126890aSEmmanuel Vadot			reg-shift = <2>;
975*f126890aSEmmanuel Vadot			reg-io-width = <4>;
976*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_APB1_UART2>;
977*f126890aSEmmanuel Vadot			status = "disabled";
978*f126890aSEmmanuel Vadot		};
979*f126890aSEmmanuel Vadot
980*f126890aSEmmanuel Vadot		uart3: serial@1c28c00 {
981*f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
982*f126890aSEmmanuel Vadot			reg = <0x01c28c00 0x400>;
983*f126890aSEmmanuel Vadot			interrupts = <4>;
984*f126890aSEmmanuel Vadot			reg-shift = <2>;
985*f126890aSEmmanuel Vadot			reg-io-width = <4>;
986*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_APB1_UART3>;
987*f126890aSEmmanuel Vadot			status = "disabled";
988*f126890aSEmmanuel Vadot		};
989*f126890aSEmmanuel Vadot
990*f126890aSEmmanuel Vadot		uart4: serial@1c29000 {
991*f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
992*f126890aSEmmanuel Vadot			reg = <0x01c29000 0x400>;
993*f126890aSEmmanuel Vadot			interrupts = <17>;
994*f126890aSEmmanuel Vadot			reg-shift = <2>;
995*f126890aSEmmanuel Vadot			reg-io-width = <4>;
996*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_APB1_UART4>;
997*f126890aSEmmanuel Vadot			status = "disabled";
998*f126890aSEmmanuel Vadot		};
999*f126890aSEmmanuel Vadot
1000*f126890aSEmmanuel Vadot		uart5: serial@1c29400 {
1001*f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
1002*f126890aSEmmanuel Vadot			reg = <0x01c29400 0x400>;
1003*f126890aSEmmanuel Vadot			interrupts = <18>;
1004*f126890aSEmmanuel Vadot			reg-shift = <2>;
1005*f126890aSEmmanuel Vadot			reg-io-width = <4>;
1006*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_APB1_UART5>;
1007*f126890aSEmmanuel Vadot			status = "disabled";
1008*f126890aSEmmanuel Vadot		};
1009*f126890aSEmmanuel Vadot
1010*f126890aSEmmanuel Vadot		uart6: serial@1c29800 {
1011*f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
1012*f126890aSEmmanuel Vadot			reg = <0x01c29800 0x400>;
1013*f126890aSEmmanuel Vadot			interrupts = <19>;
1014*f126890aSEmmanuel Vadot			reg-shift = <2>;
1015*f126890aSEmmanuel Vadot			reg-io-width = <4>;
1016*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_APB1_UART6>;
1017*f126890aSEmmanuel Vadot			status = "disabled";
1018*f126890aSEmmanuel Vadot		};
1019*f126890aSEmmanuel Vadot
1020*f126890aSEmmanuel Vadot		uart7: serial@1c29c00 {
1021*f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
1022*f126890aSEmmanuel Vadot			reg = <0x01c29c00 0x400>;
1023*f126890aSEmmanuel Vadot			interrupts = <20>;
1024*f126890aSEmmanuel Vadot			reg-shift = <2>;
1025*f126890aSEmmanuel Vadot			reg-io-width = <4>;
1026*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_APB1_UART7>;
1027*f126890aSEmmanuel Vadot			status = "disabled";
1028*f126890aSEmmanuel Vadot		};
1029*f126890aSEmmanuel Vadot
1030*f126890aSEmmanuel Vadot		ps20: ps2@1c2a000 {
1031*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-ps2";
1032*f126890aSEmmanuel Vadot			reg = <0x01c2a000 0x400>;
1033*f126890aSEmmanuel Vadot			interrupts = <62>;
1034*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_APB1_PS20>;
1035*f126890aSEmmanuel Vadot			status = "disabled";
1036*f126890aSEmmanuel Vadot		};
1037*f126890aSEmmanuel Vadot
1038*f126890aSEmmanuel Vadot		ps21: ps2@1c2a400 {
1039*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-ps2";
1040*f126890aSEmmanuel Vadot			reg = <0x01c2a400 0x400>;
1041*f126890aSEmmanuel Vadot			interrupts = <63>;
1042*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_APB1_PS21>;
1043*f126890aSEmmanuel Vadot			status = "disabled";
1044*f126890aSEmmanuel Vadot		};
1045*f126890aSEmmanuel Vadot
1046*f126890aSEmmanuel Vadot		i2c0: i2c@1c2ac00 {
1047*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-i2c";
1048*f126890aSEmmanuel Vadot			reg = <0x01c2ac00 0x400>;
1049*f126890aSEmmanuel Vadot			interrupts = <7>;
1050*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_APB1_I2C0>;
1051*f126890aSEmmanuel Vadot			pinctrl-names = "default";
1052*f126890aSEmmanuel Vadot			pinctrl-0 = <&i2c0_pins>;
1053*f126890aSEmmanuel Vadot			status = "disabled";
1054*f126890aSEmmanuel Vadot			#address-cells = <1>;
1055*f126890aSEmmanuel Vadot			#size-cells = <0>;
1056*f126890aSEmmanuel Vadot		};
1057*f126890aSEmmanuel Vadot
1058*f126890aSEmmanuel Vadot		i2c1: i2c@1c2b000 {
1059*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-i2c";
1060*f126890aSEmmanuel Vadot			reg = <0x01c2b000 0x400>;
1061*f126890aSEmmanuel Vadot			interrupts = <8>;
1062*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_APB1_I2C1>;
1063*f126890aSEmmanuel Vadot			pinctrl-names = "default";
1064*f126890aSEmmanuel Vadot			pinctrl-0 = <&i2c1_pins>;
1065*f126890aSEmmanuel Vadot			status = "disabled";
1066*f126890aSEmmanuel Vadot			#address-cells = <1>;
1067*f126890aSEmmanuel Vadot			#size-cells = <0>;
1068*f126890aSEmmanuel Vadot		};
1069*f126890aSEmmanuel Vadot
1070*f126890aSEmmanuel Vadot		i2c2: i2c@1c2b400 {
1071*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-i2c";
1072*f126890aSEmmanuel Vadot			reg = <0x01c2b400 0x400>;
1073*f126890aSEmmanuel Vadot			interrupts = <9>;
1074*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_APB1_I2C2>;
1075*f126890aSEmmanuel Vadot			pinctrl-names = "default";
1076*f126890aSEmmanuel Vadot			pinctrl-0 = <&i2c2_pins>;
1077*f126890aSEmmanuel Vadot			status = "disabled";
1078*f126890aSEmmanuel Vadot			#address-cells = <1>;
1079*f126890aSEmmanuel Vadot			#size-cells = <0>;
1080*f126890aSEmmanuel Vadot		};
1081*f126890aSEmmanuel Vadot
1082*f126890aSEmmanuel Vadot		can0: can@1c2bc00 {
1083*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-can";
1084*f126890aSEmmanuel Vadot			reg = <0x01c2bc00 0x400>;
1085*f126890aSEmmanuel Vadot			interrupts = <26>;
1086*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_APB1_CAN>;
1087*f126890aSEmmanuel Vadot			status = "disabled";
1088*f126890aSEmmanuel Vadot		};
1089*f126890aSEmmanuel Vadot
1090*f126890aSEmmanuel Vadot		mali: gpu@1c40000 {
1091*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-mali", "arm,mali-400";
1092*f126890aSEmmanuel Vadot			reg = <0x01c40000 0x10000>;
1093*f126890aSEmmanuel Vadot			interrupts = <69>,
1094*f126890aSEmmanuel Vadot				     <70>,
1095*f126890aSEmmanuel Vadot				     <71>,
1096*f126890aSEmmanuel Vadot				     <72>,
1097*f126890aSEmmanuel Vadot				     <73>;
1098*f126890aSEmmanuel Vadot			interrupt-names = "gp",
1099*f126890aSEmmanuel Vadot					  "gpmmu",
1100*f126890aSEmmanuel Vadot					  "pp0",
1101*f126890aSEmmanuel Vadot					  "ppmmu0",
1102*f126890aSEmmanuel Vadot					  "pmu";
1103*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_GPU>, <&ccu CLK_GPU>;
1104*f126890aSEmmanuel Vadot			clock-names = "bus", "core";
1105*f126890aSEmmanuel Vadot			resets = <&ccu RST_GPU>;
1106*f126890aSEmmanuel Vadot
1107*f126890aSEmmanuel Vadot			assigned-clocks = <&ccu CLK_GPU>;
1108*f126890aSEmmanuel Vadot			assigned-clock-rates = <384000000>;
1109*f126890aSEmmanuel Vadot		};
1110*f126890aSEmmanuel Vadot
1111*f126890aSEmmanuel Vadot		fe0: display-frontend@1e00000 {
1112*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-display-frontend";
1113*f126890aSEmmanuel Vadot			reg = <0x01e00000 0x20000>;
1114*f126890aSEmmanuel Vadot			interrupts = <47>;
1115*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_DE_FE0>, <&ccu CLK_DE_FE0>,
1116*f126890aSEmmanuel Vadot				 <&ccu CLK_DRAM_DE_FE0>;
1117*f126890aSEmmanuel Vadot			clock-names = "ahb", "mod",
1118*f126890aSEmmanuel Vadot				      "ram";
1119*f126890aSEmmanuel Vadot			resets = <&ccu RST_DE_FE0>;
1120*f126890aSEmmanuel Vadot
1121*f126890aSEmmanuel Vadot			ports {
1122*f126890aSEmmanuel Vadot				#address-cells = <1>;
1123*f126890aSEmmanuel Vadot				#size-cells = <0>;
1124*f126890aSEmmanuel Vadot
1125*f126890aSEmmanuel Vadot				fe0_out: port@1 {
1126*f126890aSEmmanuel Vadot					#address-cells = <1>;
1127*f126890aSEmmanuel Vadot					#size-cells = <0>;
1128*f126890aSEmmanuel Vadot					reg = <1>;
1129*f126890aSEmmanuel Vadot
1130*f126890aSEmmanuel Vadot					fe0_out_be0: endpoint@0 {
1131*f126890aSEmmanuel Vadot						reg = <0>;
1132*f126890aSEmmanuel Vadot						remote-endpoint = <&be0_in_fe0>;
1133*f126890aSEmmanuel Vadot					};
1134*f126890aSEmmanuel Vadot
1135*f126890aSEmmanuel Vadot					fe0_out_be1: endpoint@1 {
1136*f126890aSEmmanuel Vadot						reg = <1>;
1137*f126890aSEmmanuel Vadot						remote-endpoint = <&be1_in_fe0>;
1138*f126890aSEmmanuel Vadot					};
1139*f126890aSEmmanuel Vadot				};
1140*f126890aSEmmanuel Vadot			};
1141*f126890aSEmmanuel Vadot		};
1142*f126890aSEmmanuel Vadot
1143*f126890aSEmmanuel Vadot		fe1: display-frontend@1e20000 {
1144*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-display-frontend";
1145*f126890aSEmmanuel Vadot			reg = <0x01e20000 0x20000>;
1146*f126890aSEmmanuel Vadot			interrupts = <48>;
1147*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_DE_FE1>, <&ccu CLK_DE_FE1>,
1148*f126890aSEmmanuel Vadot				 <&ccu CLK_DRAM_DE_FE1>;
1149*f126890aSEmmanuel Vadot			clock-names = "ahb", "mod",
1150*f126890aSEmmanuel Vadot				      "ram";
1151*f126890aSEmmanuel Vadot			resets = <&ccu RST_DE_FE1>;
1152*f126890aSEmmanuel Vadot
1153*f126890aSEmmanuel Vadot			ports {
1154*f126890aSEmmanuel Vadot				#address-cells = <1>;
1155*f126890aSEmmanuel Vadot				#size-cells = <0>;
1156*f126890aSEmmanuel Vadot
1157*f126890aSEmmanuel Vadot				fe1_out: port@1 {
1158*f126890aSEmmanuel Vadot					#address-cells = <1>;
1159*f126890aSEmmanuel Vadot					#size-cells = <0>;
1160*f126890aSEmmanuel Vadot					reg = <1>;
1161*f126890aSEmmanuel Vadot
1162*f126890aSEmmanuel Vadot					fe1_out_be0: endpoint@0 {
1163*f126890aSEmmanuel Vadot						reg = <0>;
1164*f126890aSEmmanuel Vadot						remote-endpoint = <&be0_in_fe1>;
1165*f126890aSEmmanuel Vadot					};
1166*f126890aSEmmanuel Vadot
1167*f126890aSEmmanuel Vadot					fe1_out_be1: endpoint@1 {
1168*f126890aSEmmanuel Vadot						reg = <1>;
1169*f126890aSEmmanuel Vadot						remote-endpoint = <&be1_in_fe1>;
1170*f126890aSEmmanuel Vadot					};
1171*f126890aSEmmanuel Vadot				};
1172*f126890aSEmmanuel Vadot			};
1173*f126890aSEmmanuel Vadot		};
1174*f126890aSEmmanuel Vadot
1175*f126890aSEmmanuel Vadot		be1: display-backend@1e40000 {
1176*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-display-backend";
1177*f126890aSEmmanuel Vadot			reg = <0x01e40000 0x10000>;
1178*f126890aSEmmanuel Vadot			interrupts = <48>;
1179*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_DE_BE1>, <&ccu CLK_DE_BE1>,
1180*f126890aSEmmanuel Vadot				 <&ccu CLK_DRAM_DE_BE1>;
1181*f126890aSEmmanuel Vadot			clock-names = "ahb", "mod",
1182*f126890aSEmmanuel Vadot				      "ram";
1183*f126890aSEmmanuel Vadot			resets = <&ccu RST_DE_BE1>;
1184*f126890aSEmmanuel Vadot
1185*f126890aSEmmanuel Vadot			ports {
1186*f126890aSEmmanuel Vadot				#address-cells = <1>;
1187*f126890aSEmmanuel Vadot				#size-cells = <0>;
1188*f126890aSEmmanuel Vadot
1189*f126890aSEmmanuel Vadot				be1_in: port@0 {
1190*f126890aSEmmanuel Vadot					#address-cells = <1>;
1191*f126890aSEmmanuel Vadot					#size-cells = <0>;
1192*f126890aSEmmanuel Vadot					reg = <0>;
1193*f126890aSEmmanuel Vadot
1194*f126890aSEmmanuel Vadot					be1_in_fe0: endpoint@0 {
1195*f126890aSEmmanuel Vadot						reg = <0>;
1196*f126890aSEmmanuel Vadot						remote-endpoint = <&fe0_out_be1>;
1197*f126890aSEmmanuel Vadot					};
1198*f126890aSEmmanuel Vadot
1199*f126890aSEmmanuel Vadot					be1_in_fe1: endpoint@1 {
1200*f126890aSEmmanuel Vadot						reg = <1>;
1201*f126890aSEmmanuel Vadot						remote-endpoint = <&fe1_out_be1>;
1202*f126890aSEmmanuel Vadot					};
1203*f126890aSEmmanuel Vadot				};
1204*f126890aSEmmanuel Vadot
1205*f126890aSEmmanuel Vadot				be1_out: port@1 {
1206*f126890aSEmmanuel Vadot					#address-cells = <1>;
1207*f126890aSEmmanuel Vadot					#size-cells = <0>;
1208*f126890aSEmmanuel Vadot					reg = <1>;
1209*f126890aSEmmanuel Vadot
1210*f126890aSEmmanuel Vadot					be1_out_tcon0: endpoint@0 {
1211*f126890aSEmmanuel Vadot						reg = <0>;
1212*f126890aSEmmanuel Vadot						remote-endpoint = <&tcon0_in_be1>;
1213*f126890aSEmmanuel Vadot					};
1214*f126890aSEmmanuel Vadot
1215*f126890aSEmmanuel Vadot					be1_out_tcon1: endpoint@1 {
1216*f126890aSEmmanuel Vadot						reg = <1>;
1217*f126890aSEmmanuel Vadot						remote-endpoint = <&tcon1_in_be1>;
1218*f126890aSEmmanuel Vadot					};
1219*f126890aSEmmanuel Vadot				};
1220*f126890aSEmmanuel Vadot			};
1221*f126890aSEmmanuel Vadot		};
1222*f126890aSEmmanuel Vadot
1223*f126890aSEmmanuel Vadot		be0: display-backend@1e60000 {
1224*f126890aSEmmanuel Vadot			compatible = "allwinner,sun4i-a10-display-backend";
1225*f126890aSEmmanuel Vadot			reg = <0x01e60000 0x10000>;
1226*f126890aSEmmanuel Vadot			interrupts = <47>;
1227*f126890aSEmmanuel Vadot			clocks = <&ccu CLK_AHB_DE_BE0>, <&ccu CLK_DE_BE0>,
1228*f126890aSEmmanuel Vadot				 <&ccu CLK_DRAM_DE_BE0>;
1229*f126890aSEmmanuel Vadot			clock-names = "ahb", "mod",
1230*f126890aSEmmanuel Vadot				      "ram";
1231*f126890aSEmmanuel Vadot			resets = <&ccu RST_DE_BE0>;
1232*f126890aSEmmanuel Vadot
1233*f126890aSEmmanuel Vadot			ports {
1234*f126890aSEmmanuel Vadot				#address-cells = <1>;
1235*f126890aSEmmanuel Vadot				#size-cells = <0>;
1236*f126890aSEmmanuel Vadot
1237*f126890aSEmmanuel Vadot				be0_in: port@0 {
1238*f126890aSEmmanuel Vadot					#address-cells = <1>;
1239*f126890aSEmmanuel Vadot					#size-cells = <0>;
1240*f126890aSEmmanuel Vadot					reg = <0>;
1241*f126890aSEmmanuel Vadot
1242*f126890aSEmmanuel Vadot					be0_in_fe0: endpoint@0 {
1243*f126890aSEmmanuel Vadot						reg = <0>;
1244*f126890aSEmmanuel Vadot						remote-endpoint = <&fe0_out_be0>;
1245*f126890aSEmmanuel Vadot					};
1246*f126890aSEmmanuel Vadot
1247*f126890aSEmmanuel Vadot					be0_in_fe1: endpoint@1 {
1248*f126890aSEmmanuel Vadot						reg = <1>;
1249*f126890aSEmmanuel Vadot						remote-endpoint = <&fe1_out_be0>;
1250*f126890aSEmmanuel Vadot					};
1251*f126890aSEmmanuel Vadot				};
1252*f126890aSEmmanuel Vadot
1253*f126890aSEmmanuel Vadot				be0_out: port@1 {
1254*f126890aSEmmanuel Vadot					#address-cells = <1>;
1255*f126890aSEmmanuel Vadot					#size-cells = <0>;
1256*f126890aSEmmanuel Vadot					reg = <1>;
1257*f126890aSEmmanuel Vadot
1258*f126890aSEmmanuel Vadot					be0_out_tcon0: endpoint@0 {
1259*f126890aSEmmanuel Vadot						reg = <0>;
1260*f126890aSEmmanuel Vadot						remote-endpoint = <&tcon0_in_be0>;
1261*f126890aSEmmanuel Vadot					};
1262*f126890aSEmmanuel Vadot
1263*f126890aSEmmanuel Vadot					be0_out_tcon1: endpoint@1 {
1264*f126890aSEmmanuel Vadot						reg = <1>;
1265*f126890aSEmmanuel Vadot						remote-endpoint = <&tcon1_in_be0>;
1266*f126890aSEmmanuel Vadot					};
1267*f126890aSEmmanuel Vadot				};
1268*f126890aSEmmanuel Vadot			};
1269*f126890aSEmmanuel Vadot		};
1270*f126890aSEmmanuel Vadot	};
1271*f126890aSEmmanuel Vadot};
1272