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