xref: /rk3399_rockchip-uboot/arch/arm/dts/sun7i-a20.dtsi (revision c6b968da78ce3fa7224c0ddf15fe170c7c05b27e)
1643ad899SSimon Glass/*
2643ad899SSimon Glass * Copyright 2013 Maxime Ripard
3643ad899SSimon Glass *
4643ad899SSimon Glass * Maxime Ripard <maxime.ripard@free-electrons.com>
5643ad899SSimon Glass *
653ab4af3SHans de Goede * This file is dual-licensed: you can use it either under the terms
753ab4af3SHans de Goede * of the GPL or the X11 license, at your option. Note that this dual
853ab4af3SHans de Goede * licensing only applies to this file, and not this project as a
953ab4af3SHans de Goede * whole.
10643ad899SSimon Glass *
1153ab4af3SHans de Goede *  a) This file is free software; you can redistribute it and/or
1253ab4af3SHans de Goede *     modify it under the terms of the GNU General Public License as
1353ab4af3SHans de Goede *     published by the Free Software Foundation; either version 2 of the
1453ab4af3SHans de Goede *     License, or (at your option) any later version.
1553ab4af3SHans de Goede *
1653ab4af3SHans de Goede *     This file is distributed in the hope that it will be useful,
1753ab4af3SHans de Goede *     but WITHOUT ANY WARRANTY; without even the implied warranty of
1853ab4af3SHans de Goede *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1953ab4af3SHans de Goede *     GNU General Public License for more details.
2053ab4af3SHans de Goede *
2153ab4af3SHans de Goede * Or, alternatively,
2253ab4af3SHans de Goede *
2353ab4af3SHans de Goede *  b) Permission is hereby granted, free of charge, to any person
2453ab4af3SHans de Goede *     obtaining a copy of this software and associated documentation
2553ab4af3SHans de Goede *     files (the "Software"), to deal in the Software without
2653ab4af3SHans de Goede *     restriction, including without limitation the rights to use,
2753ab4af3SHans de Goede *     copy, modify, merge, publish, distribute, sublicense, and/or
2853ab4af3SHans de Goede *     sell copies of the Software, and to permit persons to whom the
2953ab4af3SHans de Goede *     Software is furnished to do so, subject to the following
3053ab4af3SHans de Goede *     conditions:
3153ab4af3SHans de Goede *
3253ab4af3SHans de Goede *     The above copyright notice and this permission notice shall be
3353ab4af3SHans de Goede *     included in all copies or substantial portions of the Software.
3453ab4af3SHans de Goede *
3553ab4af3SHans de Goede *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
3653ab4af3SHans de Goede *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
3753ab4af3SHans de Goede *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
3853ab4af3SHans de Goede *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
3953ab4af3SHans de Goede *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
4053ab4af3SHans de Goede *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
4153ab4af3SHans de Goede *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
4253ab4af3SHans de Goede *     OTHER DEALINGS IN THE SOFTWARE.
43643ad899SSimon Glass */
44643ad899SSimon Glass
4553ab4af3SHans de Goede#include "skeleton.dtsi"
4653ab4af3SHans de Goede
4753ab4af3SHans de Goede#include <dt-bindings/interrupt-controller/arm-gic.h>
4853ab4af3SHans de Goede#include <dt-bindings/thermal/thermal.h>
4953ab4af3SHans de Goede
5080e5f83cSHans de Goede#include <dt-bindings/clock/sun4i-a10-pll2.h>
5153ab4af3SHans de Goede#include <dt-bindings/dma/sun4i-a10.h>
5253ab4af3SHans de Goede#include <dt-bindings/pinctrl/sun4i-a10.h>
53643ad899SSimon Glass
54643ad899SSimon Glass/ {
55643ad899SSimon Glass	interrupt-parent = <&gic>;
56643ad899SSimon Glass
57643ad899SSimon Glass	aliases {
58643ad899SSimon Glass		ethernet0 = &gmac;
5953ab4af3SHans de Goede	};
6053ab4af3SHans de Goede
6153ab4af3SHans de Goede	chosen {
6253ab4af3SHans de Goede		#address-cells = <1>;
6353ab4af3SHans de Goede		#size-cells = <1>;
6453ab4af3SHans de Goede		ranges;
6553ab4af3SHans de Goede
6653ab4af3SHans de Goede		framebuffer@0 {
678b1ba941SHans de Goede			compatible = "allwinner,simple-framebuffer",
688b1ba941SHans de Goede				     "simple-framebuffer";
6953ab4af3SHans de Goede			allwinner,pipeline = "de_be0-lcd0-hdmi";
70*860fbdd4SHans de Goede			clocks = <&ahb_gates 36>, <&ahb_gates 43>,
71*860fbdd4SHans de Goede				 <&ahb_gates 44>, <&de_be0_clk>,
72*860fbdd4SHans de Goede				 <&tcon0_ch1_clk>, <&dram_gates 26>;
7353ab4af3SHans de Goede			status = "disabled";
7453ab4af3SHans de Goede		};
7553ab4af3SHans de Goede
7653ab4af3SHans de Goede		framebuffer@1 {
7753ab4af3SHans de Goede			compatible = "allwinner,simple-framebuffer",
7853ab4af3SHans de Goede				     "simple-framebuffer";
7953ab4af3SHans de Goede			allwinner,pipeline = "de_be0-lcd0";
80*860fbdd4SHans de Goede			clocks = <&ahb_gates 36>, <&ahb_gates 44>,
81*860fbdd4SHans de Goede				 <&de_be0_clk>, <&tcon0_ch0_clk>,
8280e5f83cSHans de Goede				 <&dram_gates 26>;
8353ab4af3SHans de Goede			status = "disabled";
8453ab4af3SHans de Goede		};
8553ab4af3SHans de Goede
8653ab4af3SHans de Goede		framebuffer@2 {
8753ab4af3SHans de Goede			compatible = "allwinner,simple-framebuffer",
8853ab4af3SHans de Goede				     "simple-framebuffer";
8953ab4af3SHans de Goede			allwinner,pipeline = "de_be0-lcd0-tve0";
90*860fbdd4SHans de Goede			clocks = <&ahb_gates 34>, <&ahb_gates 36>,
91*860fbdd4SHans de Goede				 <&ahb_gates 44>,
92*860fbdd4SHans de Goede				 <&de_be0_clk>, <&tcon0_ch1_clk>,
93*860fbdd4SHans de Goede				 <&dram_gates 5>, <&dram_gates 26>;
9453ab4af3SHans de Goede			status = "disabled";
9553ab4af3SHans de Goede		};
96643ad899SSimon Glass	};
97643ad899SSimon Glass
98643ad899SSimon Glass	cpus {
99643ad899SSimon Glass		#address-cells = <1>;
100643ad899SSimon Glass		#size-cells = <0>;
101643ad899SSimon Glass
10253ab4af3SHans de Goede		cpu0: cpu@0 {
103643ad899SSimon Glass			compatible = "arm,cortex-a7";
104643ad899SSimon Glass			device_type = "cpu";
105643ad899SSimon Glass			reg = <0>;
10653ab4af3SHans de Goede			clocks = <&cpu>;
10753ab4af3SHans de Goede			clock-latency = <244144>; /* 8 32k periods */
10853ab4af3SHans de Goede			operating-points = <
10953ab4af3SHans de Goede				/* kHz	  uV */
11053ab4af3SHans de Goede				960000	1400000
11153ab4af3SHans de Goede				912000	1400000
11253ab4af3SHans de Goede				864000	1300000
11353ab4af3SHans de Goede				720000	1200000
11453ab4af3SHans de Goede				528000	1100000
11553ab4af3SHans de Goede				312000	1000000
11680e5f83cSHans de Goede				144000	1000000
11753ab4af3SHans de Goede				>;
11853ab4af3SHans de Goede			#cooling-cells = <2>;
11953ab4af3SHans de Goede			cooling-min-level = <0>;
12053ab4af3SHans de Goede			cooling-max-level = <6>;
121643ad899SSimon Glass		};
122643ad899SSimon Glass
123643ad899SSimon Glass		cpu@1 {
124643ad899SSimon Glass			compatible = "arm,cortex-a7";
125643ad899SSimon Glass			device_type = "cpu";
126643ad899SSimon Glass			reg = <1>;
127643ad899SSimon Glass		};
128643ad899SSimon Glass	};
129643ad899SSimon Glass
13053ab4af3SHans de Goede	thermal-zones {
13153ab4af3SHans de Goede		cpu_thermal {
13253ab4af3SHans de Goede			/* milliseconds */
13353ab4af3SHans de Goede			polling-delay-passive = <250>;
13453ab4af3SHans de Goede			polling-delay = <1000>;
13553ab4af3SHans de Goede			thermal-sensors = <&rtp>;
13653ab4af3SHans de Goede
13753ab4af3SHans de Goede			cooling-maps {
13853ab4af3SHans de Goede				map0 {
13953ab4af3SHans de Goede					trip = <&cpu_alert0>;
14053ab4af3SHans de Goede					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
14153ab4af3SHans de Goede				};
14253ab4af3SHans de Goede			};
14353ab4af3SHans de Goede
14453ab4af3SHans de Goede			trips {
14553ab4af3SHans de Goede				cpu_alert0: cpu_alert0 {
14653ab4af3SHans de Goede					/* milliCelsius */
14753ab4af3SHans de Goede					temperature = <75000>;
14853ab4af3SHans de Goede					hysteresis = <2000>;
14953ab4af3SHans de Goede					type = "passive";
15053ab4af3SHans de Goede				};
15153ab4af3SHans de Goede
15253ab4af3SHans de Goede				cpu_crit: cpu_crit {
15353ab4af3SHans de Goede					/* milliCelsius */
15453ab4af3SHans de Goede					temperature = <100000>;
15553ab4af3SHans de Goede					hysteresis = <2000>;
15653ab4af3SHans de Goede					type = "critical";
15753ab4af3SHans de Goede				};
15853ab4af3SHans de Goede			};
15953ab4af3SHans de Goede		};
16053ab4af3SHans de Goede	};
16153ab4af3SHans de Goede
162643ad899SSimon Glass	memory {
163643ad899SSimon Glass		reg = <0x40000000 0x80000000>;
164643ad899SSimon Glass	};
165643ad899SSimon Glass
166643ad899SSimon Glass	timer {
167643ad899SSimon Glass		compatible = "arm,armv7-timer";
16853ab4af3SHans de Goede		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
16953ab4af3SHans de Goede			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
17053ab4af3SHans de Goede			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
17153ab4af3SHans de Goede			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
172643ad899SSimon Glass	};
173643ad899SSimon Glass
174643ad899SSimon Glass	pmu {
175643ad899SSimon Glass		compatible = "arm,cortex-a7-pmu", "arm,cortex-a15-pmu";
17653ab4af3SHans de Goede		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
17753ab4af3SHans de Goede			     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
178643ad899SSimon Glass	};
179643ad899SSimon Glass
180643ad899SSimon Glass	clocks {
181643ad899SSimon Glass		#address-cells = <1>;
182643ad899SSimon Glass		#size-cells = <1>;
183643ad899SSimon Glass		ranges;
184643ad899SSimon Glass
185643ad899SSimon Glass		osc24M: clk@01c20050 {
186643ad899SSimon Glass			#clock-cells = <0>;
187643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-osc-clk";
188643ad899SSimon Glass			reg = <0x01c20050 0x4>;
189643ad899SSimon Glass			clock-frequency = <24000000>;
190643ad899SSimon Glass			clock-output-names = "osc24M";
191643ad899SSimon Glass		};
192643ad899SSimon Glass
193*860fbdd4SHans de Goede		osc3M: osc3M_clk {
194*860fbdd4SHans de Goede			#clock-cells = <0>;
195*860fbdd4SHans de Goede			compatible = "fixed-factor-clock";
196*860fbdd4SHans de Goede			clock-div = <8>;
197*860fbdd4SHans de Goede			clock-mult = <1>;
198*860fbdd4SHans de Goede			clocks = <&osc24M>;
199*860fbdd4SHans de Goede			clock-output-names = "osc3M";
200*860fbdd4SHans de Goede		};
201*860fbdd4SHans de Goede
202643ad899SSimon Glass		osc32k: clk@0 {
203643ad899SSimon Glass			#clock-cells = <0>;
204643ad899SSimon Glass			compatible = "fixed-clock";
205643ad899SSimon Glass			clock-frequency = <32768>;
206643ad899SSimon Glass			clock-output-names = "osc32k";
207643ad899SSimon Glass		};
208643ad899SSimon Glass
209643ad899SSimon Glass		pll1: clk@01c20000 {
210643ad899SSimon Glass			#clock-cells = <0>;
211643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-pll1-clk";
212643ad899SSimon Glass			reg = <0x01c20000 0x4>;
213643ad899SSimon Glass			clocks = <&osc24M>;
214643ad899SSimon Glass			clock-output-names = "pll1";
215643ad899SSimon Glass		};
216643ad899SSimon Glass
21780e5f83cSHans de Goede		pll2: clk@01c20008 {
21880e5f83cSHans de Goede			#clock-cells = <1>;
21980e5f83cSHans de Goede			compatible = "allwinner,sun4i-a10-pll2-clk";
22080e5f83cSHans de Goede			reg = <0x01c20008 0x8>;
22180e5f83cSHans de Goede			clocks = <&osc24M>;
22280e5f83cSHans de Goede			clock-output-names = "pll2-1x", "pll2-2x",
22380e5f83cSHans de Goede					     "pll2-4x", "pll2-8x";
22480e5f83cSHans de Goede		};
22580e5f83cSHans de Goede
226*860fbdd4SHans de Goede		pll3: clk@01c20010 {
227*860fbdd4SHans de Goede			#clock-cells = <0>;
228*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-pll3-clk";
229*860fbdd4SHans de Goede			reg = <0x01c20010 0x4>;
230*860fbdd4SHans de Goede			clocks = <&osc3M>;
231*860fbdd4SHans de Goede			clock-output-names = "pll3";
232*860fbdd4SHans de Goede		};
233*860fbdd4SHans de Goede
234*860fbdd4SHans de Goede		pll3x2: pll3x2_clk {
235*860fbdd4SHans de Goede			#clock-cells = <0>;
236*860fbdd4SHans de Goede			compatible = "fixed-factor-clock";
237*860fbdd4SHans de Goede			clocks = <&pll3>;
238*860fbdd4SHans de Goede			clock-div = <1>;
239*860fbdd4SHans de Goede			clock-mult = <2>;
240*860fbdd4SHans de Goede			clock-output-names = "pll3-2x";
241*860fbdd4SHans de Goede		};
242*860fbdd4SHans de Goede
243643ad899SSimon Glass		pll4: clk@01c20018 {
244643ad899SSimon Glass			#clock-cells = <0>;
245643ad899SSimon Glass			compatible = "allwinner,sun7i-a20-pll4-clk";
246643ad899SSimon Glass			reg = <0x01c20018 0x4>;
247643ad899SSimon Glass			clocks = <&osc24M>;
248643ad899SSimon Glass			clock-output-names = "pll4";
249643ad899SSimon Glass		};
250643ad899SSimon Glass
251643ad899SSimon Glass		pll5: clk@01c20020 {
252643ad899SSimon Glass			#clock-cells = <1>;
253643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-pll5-clk";
254643ad899SSimon Glass			reg = <0x01c20020 0x4>;
255643ad899SSimon Glass			clocks = <&osc24M>;
256643ad899SSimon Glass			clock-output-names = "pll5_ddr", "pll5_other";
257643ad899SSimon Glass		};
258643ad899SSimon Glass
259643ad899SSimon Glass		pll6: clk@01c20028 {
260643ad899SSimon Glass			#clock-cells = <1>;
261643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-pll6-clk";
262643ad899SSimon Glass			reg = <0x01c20028 0x4>;
263643ad899SSimon Glass			clocks = <&osc24M>;
2648b1ba941SHans de Goede			clock-output-names = "pll6_sata", "pll6_other", "pll6",
2658b1ba941SHans de Goede					     "pll6_div_4";
266643ad899SSimon Glass		};
267643ad899SSimon Glass
268*860fbdd4SHans de Goede		pll7: clk@01c20030 {
269*860fbdd4SHans de Goede			#clock-cells = <0>;
270*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-pll3-clk";
271*860fbdd4SHans de Goede			reg = <0x01c20030 0x4>;
272*860fbdd4SHans de Goede			clocks = <&osc3M>;
273*860fbdd4SHans de Goede			clock-output-names = "pll7";
274*860fbdd4SHans de Goede		};
275*860fbdd4SHans de Goede
276*860fbdd4SHans de Goede		pll7x2: pll7x2_clk {
277*860fbdd4SHans de Goede			#clock-cells = <0>;
278*860fbdd4SHans de Goede			compatible = "fixed-factor-clock";
279*860fbdd4SHans de Goede			clocks = <&pll7>;
280*860fbdd4SHans de Goede			clock-div = <1>;
281*860fbdd4SHans de Goede			clock-mult = <2>;
282*860fbdd4SHans de Goede			clock-output-names = "pll7-2x";
283*860fbdd4SHans de Goede		};
284*860fbdd4SHans de Goede
285643ad899SSimon Glass		pll8: clk@01c20040 {
286643ad899SSimon Glass			#clock-cells = <0>;
287643ad899SSimon Glass			compatible = "allwinner,sun7i-a20-pll4-clk";
288643ad899SSimon Glass			reg = <0x01c20040 0x4>;
289643ad899SSimon Glass			clocks = <&osc24M>;
290643ad899SSimon Glass			clock-output-names = "pll8";
291643ad899SSimon Glass		};
292643ad899SSimon Glass
293643ad899SSimon Glass		cpu: cpu@01c20054 {
294643ad899SSimon Glass			#clock-cells = <0>;
295643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-cpu-clk";
296643ad899SSimon Glass			reg = <0x01c20054 0x4>;
297643ad899SSimon Glass			clocks = <&osc32k>, <&osc24M>, <&pll1>, <&pll6 1>;
298643ad899SSimon Glass			clock-output-names = "cpu";
299643ad899SSimon Glass		};
300643ad899SSimon Glass
301643ad899SSimon Glass		axi: axi@01c20054 {
302643ad899SSimon Glass			#clock-cells = <0>;
303643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-axi-clk";
304643ad899SSimon Glass			reg = <0x01c20054 0x4>;
305643ad899SSimon Glass			clocks = <&cpu>;
306643ad899SSimon Glass			clock-output-names = "axi";
307643ad899SSimon Glass		};
308643ad899SSimon Glass
309643ad899SSimon Glass		ahb: ahb@01c20054 {
310643ad899SSimon Glass			#clock-cells = <0>;
3118b1ba941SHans de Goede			compatible = "allwinner,sun5i-a13-ahb-clk";
312643ad899SSimon Glass			reg = <0x01c20054 0x4>;
3138b1ba941SHans de Goede			clocks = <&axi>, <&pll6 3>, <&pll6 1>;
314643ad899SSimon Glass			clock-output-names = "ahb";
3158b1ba941SHans de Goede			/*
3168b1ba941SHans de Goede			 * Use PLL6 as parent, instead of CPU/AXI
3178b1ba941SHans de Goede			 * which has rate changes due to cpufreq
3188b1ba941SHans de Goede			 */
3198b1ba941SHans de Goede			assigned-clocks = <&ahb>;
3208b1ba941SHans de Goede			assigned-clock-parents = <&pll6 3>;
321643ad899SSimon Glass		};
322643ad899SSimon Glass
323643ad899SSimon Glass		ahb_gates: clk@01c20060 {
324643ad899SSimon Glass			#clock-cells = <1>;
325643ad899SSimon Glass			compatible = "allwinner,sun7i-a20-ahb-gates-clk";
326643ad899SSimon Glass			reg = <0x01c20060 0x8>;
327643ad899SSimon Glass			clocks = <&ahb>;
32880e5f83cSHans de Goede			clock-indices = <0>, <1>,
32980e5f83cSHans de Goede					<2>, <3>, <4>,
33080e5f83cSHans de Goede					<5>, <6>, <7>, <8>,
33180e5f83cSHans de Goede					<9>, <10>, <11>, <12>,
33280e5f83cSHans de Goede					<13>, <14>, <16>,
33380e5f83cSHans de Goede					<17>, <18>, <20>, <21>,
33480e5f83cSHans de Goede					<22>, <23>, <25>,
33580e5f83cSHans de Goede					<28>, <32>, <33>, <34>,
33680e5f83cSHans de Goede					<35>, <36>, <37>, <40>,
33780e5f83cSHans de Goede					<41>, <42>, <43>,
33880e5f83cSHans de Goede					<44>, <45>, <46>,
33980e5f83cSHans de Goede					<47>, <49>, <50>,
34080e5f83cSHans de Goede					<52>;
341643ad899SSimon Glass			clock-output-names = "ahb_usb0", "ahb_ehci0",
342643ad899SSimon Glass				"ahb_ohci0", "ahb_ehci1", "ahb_ohci1",
343643ad899SSimon Glass				"ahb_ss", "ahb_dma", "ahb_bist", "ahb_mmc0",
344643ad899SSimon Glass				"ahb_mmc1", "ahb_mmc2", "ahb_mmc3", "ahb_ms",
345643ad899SSimon Glass				"ahb_nand", "ahb_sdram", "ahb_ace",
346643ad899SSimon Glass				"ahb_emac", "ahb_ts", "ahb_spi0", "ahb_spi1",
347643ad899SSimon Glass				"ahb_spi2", "ahb_spi3", "ahb_sata",
348643ad899SSimon Glass				"ahb_hstimer", "ahb_ve", "ahb_tvd", "ahb_tve0",
349643ad899SSimon Glass				"ahb_tve1", "ahb_lcd0", "ahb_lcd1", "ahb_csi0",
350643ad899SSimon Glass				"ahb_csi1", "ahb_hdmi1", "ahb_hdmi0",
351643ad899SSimon Glass				"ahb_de_be0", "ahb_de_be1", "ahb_de_fe0",
352643ad899SSimon Glass				"ahb_de_fe1", "ahb_gmac", "ahb_mp",
353643ad899SSimon Glass				"ahb_mali";
354643ad899SSimon Glass		};
355643ad899SSimon Glass
356643ad899SSimon Glass		apb0: apb0@01c20054 {
357643ad899SSimon Glass			#clock-cells = <0>;
358643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-apb0-clk";
359643ad899SSimon Glass			reg = <0x01c20054 0x4>;
360643ad899SSimon Glass			clocks = <&ahb>;
361643ad899SSimon Glass			clock-output-names = "apb0";
362643ad899SSimon Glass		};
363643ad899SSimon Glass
364643ad899SSimon Glass		apb0_gates: clk@01c20068 {
365643ad899SSimon Glass			#clock-cells = <1>;
366643ad899SSimon Glass			compatible = "allwinner,sun7i-a20-apb0-gates-clk";
367643ad899SSimon Glass			reg = <0x01c20068 0x4>;
368643ad899SSimon Glass			clocks = <&apb0>;
36980e5f83cSHans de Goede			clock-indices = <0>, <1>,
37080e5f83cSHans de Goede					<2>, <3>, <4>,
37180e5f83cSHans de Goede					<5>, <6>, <7>,
37280e5f83cSHans de Goede					<8>, <10>;
373643ad899SSimon Glass			clock-output-names = "apb0_codec", "apb0_spdif",
374*860fbdd4SHans de Goede				"apb0_ac97", "apb0_i2s0", "apb0_i2s1",
375643ad899SSimon Glass				"apb0_pio", "apb0_ir0", "apb0_ir1",
376*860fbdd4SHans de Goede				"apb0_i2s2", "apb0_keypad";
377643ad899SSimon Glass		};
378643ad899SSimon Glass
37953ab4af3SHans de Goede		apb1: clk@01c20058 {
380643ad899SSimon Glass			#clock-cells = <0>;
381643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-apb1-clk";
382643ad899SSimon Glass			reg = <0x01c20058 0x4>;
38353ab4af3SHans de Goede			clocks = <&osc24M>, <&pll6 1>, <&osc32k>;
384643ad899SSimon Glass			clock-output-names = "apb1";
385643ad899SSimon Glass		};
386643ad899SSimon Glass
387643ad899SSimon Glass		apb1_gates: clk@01c2006c {
388643ad899SSimon Glass			#clock-cells = <1>;
389643ad899SSimon Glass			compatible = "allwinner,sun7i-a20-apb1-gates-clk";
390643ad899SSimon Glass			reg = <0x01c2006c 0x4>;
391643ad899SSimon Glass			clocks = <&apb1>;
39280e5f83cSHans de Goede			clock-indices = <0>, <1>,
39380e5f83cSHans de Goede					<2>, <3>, <4>,
39480e5f83cSHans de Goede					<5>, <6>, <7>,
39580e5f83cSHans de Goede					<15>, <16>, <17>,
39680e5f83cSHans de Goede					<18>, <19>, <20>,
39780e5f83cSHans de Goede					<21>, <22>, <23>;
398643ad899SSimon Glass			clock-output-names = "apb1_i2c0", "apb1_i2c1",
399643ad899SSimon Glass				"apb1_i2c2", "apb1_i2c3", "apb1_can",
400643ad899SSimon Glass				"apb1_scr", "apb1_ps20", "apb1_ps21",
401643ad899SSimon Glass				"apb1_i2c4", "apb1_uart0", "apb1_uart1",
402643ad899SSimon Glass				"apb1_uart2", "apb1_uart3", "apb1_uart4",
403643ad899SSimon Glass				"apb1_uart5", "apb1_uart6", "apb1_uart7";
404643ad899SSimon Glass		};
405643ad899SSimon Glass
406643ad899SSimon Glass		nand_clk: clk@01c20080 {
407643ad899SSimon Glass			#clock-cells = <0>;
408643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-mod0-clk";
409643ad899SSimon Glass			reg = <0x01c20080 0x4>;
410643ad899SSimon Glass			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
411643ad899SSimon Glass			clock-output-names = "nand";
412643ad899SSimon Glass		};
413643ad899SSimon Glass
414643ad899SSimon Glass		ms_clk: clk@01c20084 {
415643ad899SSimon Glass			#clock-cells = <0>;
416643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-mod0-clk";
417643ad899SSimon Glass			reg = <0x01c20084 0x4>;
418643ad899SSimon Glass			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
419643ad899SSimon Glass			clock-output-names = "ms";
420643ad899SSimon Glass		};
421643ad899SSimon Glass
422643ad899SSimon Glass		mmc0_clk: clk@01c20088 {
42353ab4af3SHans de Goede			#clock-cells = <1>;
42453ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mmc-clk";
425643ad899SSimon Glass			reg = <0x01c20088 0x4>;
426643ad899SSimon Glass			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
42753ab4af3SHans de Goede			clock-output-names = "mmc0",
42853ab4af3SHans de Goede					     "mmc0_output",
42953ab4af3SHans de Goede					     "mmc0_sample";
430643ad899SSimon Glass		};
431643ad899SSimon Glass
432643ad899SSimon Glass		mmc1_clk: clk@01c2008c {
43353ab4af3SHans de Goede			#clock-cells = <1>;
43453ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mmc-clk";
435643ad899SSimon Glass			reg = <0x01c2008c 0x4>;
436643ad899SSimon Glass			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
43753ab4af3SHans de Goede			clock-output-names = "mmc1",
43853ab4af3SHans de Goede					     "mmc1_output",
43953ab4af3SHans de Goede					     "mmc1_sample";
440643ad899SSimon Glass		};
441643ad899SSimon Glass
442643ad899SSimon Glass		mmc2_clk: clk@01c20090 {
44353ab4af3SHans de Goede			#clock-cells = <1>;
44453ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mmc-clk";
445643ad899SSimon Glass			reg = <0x01c20090 0x4>;
446643ad899SSimon Glass			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
44753ab4af3SHans de Goede			clock-output-names = "mmc2",
44853ab4af3SHans de Goede					     "mmc2_output",
44953ab4af3SHans de Goede					     "mmc2_sample";
450643ad899SSimon Glass		};
451643ad899SSimon Glass
452643ad899SSimon Glass		mmc3_clk: clk@01c20094 {
45353ab4af3SHans de Goede			#clock-cells = <1>;
45453ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mmc-clk";
455643ad899SSimon Glass			reg = <0x01c20094 0x4>;
456643ad899SSimon Glass			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
45753ab4af3SHans de Goede			clock-output-names = "mmc3",
45853ab4af3SHans de Goede					     "mmc3_output",
45953ab4af3SHans de Goede					     "mmc3_sample";
460643ad899SSimon Glass		};
461643ad899SSimon Glass
462643ad899SSimon Glass		ts_clk: clk@01c20098 {
463643ad899SSimon Glass			#clock-cells = <0>;
464643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-mod0-clk";
465643ad899SSimon Glass			reg = <0x01c20098 0x4>;
466643ad899SSimon Glass			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
467643ad899SSimon Glass			clock-output-names = "ts";
468643ad899SSimon Glass		};
469643ad899SSimon Glass
470643ad899SSimon Glass		ss_clk: clk@01c2009c {
471643ad899SSimon Glass			#clock-cells = <0>;
472643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-mod0-clk";
473643ad899SSimon Glass			reg = <0x01c2009c 0x4>;
474643ad899SSimon Glass			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
475643ad899SSimon Glass			clock-output-names = "ss";
476643ad899SSimon Glass		};
477643ad899SSimon Glass
478643ad899SSimon Glass		spi0_clk: clk@01c200a0 {
479643ad899SSimon Glass			#clock-cells = <0>;
480643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-mod0-clk";
481643ad899SSimon Glass			reg = <0x01c200a0 0x4>;
482643ad899SSimon Glass			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
483643ad899SSimon Glass			clock-output-names = "spi0";
484643ad899SSimon Glass		};
485643ad899SSimon Glass
486643ad899SSimon Glass		spi1_clk: clk@01c200a4 {
487643ad899SSimon Glass			#clock-cells = <0>;
488643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-mod0-clk";
489643ad899SSimon Glass			reg = <0x01c200a4 0x4>;
490643ad899SSimon Glass			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
491643ad899SSimon Glass			clock-output-names = "spi1";
492643ad899SSimon Glass		};
493643ad899SSimon Glass
494643ad899SSimon Glass		spi2_clk: clk@01c200a8 {
495643ad899SSimon Glass			#clock-cells = <0>;
496643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-mod0-clk";
497643ad899SSimon Glass			reg = <0x01c200a8 0x4>;
498643ad899SSimon Glass			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
499643ad899SSimon Glass			clock-output-names = "spi2";
500643ad899SSimon Glass		};
501643ad899SSimon Glass
502643ad899SSimon Glass		pata_clk: clk@01c200ac {
503643ad899SSimon Glass			#clock-cells = <0>;
504643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-mod0-clk";
505643ad899SSimon Glass			reg = <0x01c200ac 0x4>;
506643ad899SSimon Glass			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
507643ad899SSimon Glass			clock-output-names = "pata";
508643ad899SSimon Glass		};
509643ad899SSimon Glass
510643ad899SSimon Glass		ir0_clk: clk@01c200b0 {
511643ad899SSimon Glass			#clock-cells = <0>;
512643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-mod0-clk";
513643ad899SSimon Glass			reg = <0x01c200b0 0x4>;
514643ad899SSimon Glass			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
515643ad899SSimon Glass			clock-output-names = "ir0";
516643ad899SSimon Glass		};
517643ad899SSimon Glass
518643ad899SSimon Glass		ir1_clk: clk@01c200b4 {
519643ad899SSimon Glass			#clock-cells = <0>;
520643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-mod0-clk";
521643ad899SSimon Glass			reg = <0x01c200b4 0x4>;
522643ad899SSimon Glass			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
523643ad899SSimon Glass			clock-output-names = "ir1";
524643ad899SSimon Glass		};
525643ad899SSimon Glass
526*860fbdd4SHans de Goede		i2s0_clk: clk@01c200b8 {
527*860fbdd4SHans de Goede			#clock-cells = <0>;
528*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-mod1-clk";
529*860fbdd4SHans de Goede			reg = <0x01c200b8 0x4>;
530*860fbdd4SHans de Goede			clocks = <&pll2 SUN4I_A10_PLL2_8X>,
531*860fbdd4SHans de Goede				 <&pll2 SUN4I_A10_PLL2_4X>,
532*860fbdd4SHans de Goede				 <&pll2 SUN4I_A10_PLL2_2X>,
533*860fbdd4SHans de Goede				 <&pll2 SUN4I_A10_PLL2_1X>;
534*860fbdd4SHans de Goede			clock-output-names = "i2s0";
535*860fbdd4SHans de Goede		};
536*860fbdd4SHans de Goede
537*860fbdd4SHans de Goede		ac97_clk: clk@01c200bc {
538*860fbdd4SHans de Goede			#clock-cells = <0>;
539*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-mod1-clk";
540*860fbdd4SHans de Goede			reg = <0x01c200bc 0x4>;
541*860fbdd4SHans de Goede			clocks = <&pll2 SUN4I_A10_PLL2_8X>,
542*860fbdd4SHans de Goede				 <&pll2 SUN4I_A10_PLL2_4X>,
543*860fbdd4SHans de Goede				 <&pll2 SUN4I_A10_PLL2_2X>,
544*860fbdd4SHans de Goede				 <&pll2 SUN4I_A10_PLL2_1X>;
545*860fbdd4SHans de Goede			clock-output-names = "ac97";
546*860fbdd4SHans de Goede		};
547*860fbdd4SHans de Goede
548*860fbdd4SHans de Goede		spdif_clk: clk@01c200c0 {
549*860fbdd4SHans de Goede			#clock-cells = <0>;
550*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-mod1-clk";
551*860fbdd4SHans de Goede			reg = <0x01c200c0 0x4>;
552*860fbdd4SHans de Goede			clocks = <&pll2 SUN4I_A10_PLL2_8X>,
553*860fbdd4SHans de Goede				 <&pll2 SUN4I_A10_PLL2_4X>,
554*860fbdd4SHans de Goede				 <&pll2 SUN4I_A10_PLL2_2X>,
555*860fbdd4SHans de Goede				 <&pll2 SUN4I_A10_PLL2_1X>;
556*860fbdd4SHans de Goede			clock-output-names = "spdif";
557*860fbdd4SHans de Goede		};
558*860fbdd4SHans de Goede
55980e5f83cSHans de Goede		keypad_clk: clk@01c200c4 {
56080e5f83cSHans de Goede			#clock-cells = <0>;
56180e5f83cSHans de Goede			compatible = "allwinner,sun4i-a10-mod0-clk";
56280e5f83cSHans de Goede			reg = <0x01c200c4 0x4>;
56380e5f83cSHans de Goede			clocks = <&osc24M>;
56480e5f83cSHans de Goede			clock-output-names = "keypad";
56580e5f83cSHans de Goede		};
56680e5f83cSHans de Goede
567643ad899SSimon Glass		usb_clk: clk@01c200cc {
568643ad899SSimon Glass			#clock-cells = <1>;
569643ad899SSimon Glass			#reset-cells = <1>;
570643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-usb-clk";
571643ad899SSimon Glass			reg = <0x01c200cc 0x4>;
572643ad899SSimon Glass			clocks = <&pll6 1>;
5738b1ba941SHans de Goede			clock-output-names = "usb_ohci0", "usb_ohci1",
5748b1ba941SHans de Goede					     "usb_phy";
575643ad899SSimon Glass		};
576643ad899SSimon Glass
577643ad899SSimon Glass		spi3_clk: clk@01c200d4 {
578643ad899SSimon Glass			#clock-cells = <0>;
579643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-mod0-clk";
580643ad899SSimon Glass			reg = <0x01c200d4 0x4>;
581643ad899SSimon Glass			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
582643ad899SSimon Glass			clock-output-names = "spi3";
583643ad899SSimon Glass		};
584643ad899SSimon Glass
585*860fbdd4SHans de Goede		i2s1_clk: clk@01c200d8 {
586*860fbdd4SHans de Goede			#clock-cells = <0>;
587*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-mod1-clk";
588*860fbdd4SHans de Goede			reg = <0x01c200d8 0x4>;
589*860fbdd4SHans de Goede			clocks = <&pll2 SUN4I_A10_PLL2_8X>,
590*860fbdd4SHans de Goede				 <&pll2 SUN4I_A10_PLL2_4X>,
591*860fbdd4SHans de Goede				 <&pll2 SUN4I_A10_PLL2_2X>,
592*860fbdd4SHans de Goede				 <&pll2 SUN4I_A10_PLL2_1X>;
593*860fbdd4SHans de Goede			clock-output-names = "i2s1";
594*860fbdd4SHans de Goede		};
595*860fbdd4SHans de Goede
596*860fbdd4SHans de Goede		i2s2_clk: clk@01c200dc {
597*860fbdd4SHans de Goede			#clock-cells = <0>;
598*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-mod1-clk";
599*860fbdd4SHans de Goede			reg = <0x01c200dc 0x4>;
600*860fbdd4SHans de Goede			clocks = <&pll2 SUN4I_A10_PLL2_8X>,
601*860fbdd4SHans de Goede				 <&pll2 SUN4I_A10_PLL2_4X>,
602*860fbdd4SHans de Goede				 <&pll2 SUN4I_A10_PLL2_2X>,
603*860fbdd4SHans de Goede				 <&pll2 SUN4I_A10_PLL2_1X>;
604*860fbdd4SHans de Goede			clock-output-names = "i2s2";
605*860fbdd4SHans de Goede		};
606*860fbdd4SHans de Goede
60780e5f83cSHans de Goede		dram_gates: clk@01c20100 {
60880e5f83cSHans de Goede			#clock-cells = <1>;
60980e5f83cSHans de Goede			compatible = "allwinner,sun4i-a10-dram-gates-clk";
61080e5f83cSHans de Goede			reg = <0x01c20100 0x4>;
61180e5f83cSHans de Goede			clocks = <&pll5 0>;
61280e5f83cSHans de Goede			clock-indices = <0>,
61380e5f83cSHans de Goede					<1>, <2>,
61480e5f83cSHans de Goede					<3>,
61580e5f83cSHans de Goede					<4>,
61680e5f83cSHans de Goede					<5>, <6>,
61780e5f83cSHans de Goede					<15>,
61880e5f83cSHans de Goede					<24>, <25>,
61980e5f83cSHans de Goede					<26>, <27>,
62080e5f83cSHans de Goede					<28>, <29>;
62180e5f83cSHans de Goede			clock-output-names = "dram_ve",
62280e5f83cSHans de Goede					     "dram_csi0", "dram_csi1",
62380e5f83cSHans de Goede					     "dram_ts",
62480e5f83cSHans de Goede					     "dram_tvd",
62580e5f83cSHans de Goede					     "dram_tve0", "dram_tve1",
62680e5f83cSHans de Goede					     "dram_output",
62780e5f83cSHans de Goede					     "dram_de_fe1", "dram_de_fe0",
62880e5f83cSHans de Goede					     "dram_de_be0", "dram_de_be1",
62980e5f83cSHans de Goede					     "dram_de_mp", "dram_ace";
63080e5f83cSHans de Goede		};
63180e5f83cSHans de Goede
632*860fbdd4SHans de Goede		de_be0_clk: clk@01c20104 {
633*860fbdd4SHans de Goede			#clock-cells = <0>;
634*860fbdd4SHans de Goede			#reset-cells = <0>;
635*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-display-clk";
636*860fbdd4SHans de Goede			reg = <0x01c20104 0x4>;
637*860fbdd4SHans de Goede			clocks = <&pll3>, <&pll7>, <&pll5 1>;
638*860fbdd4SHans de Goede			clock-output-names = "de-be0";
639*860fbdd4SHans de Goede		};
640*860fbdd4SHans de Goede
641*860fbdd4SHans de Goede		de_be1_clk: clk@01c20108 {
642*860fbdd4SHans de Goede			#clock-cells = <0>;
643*860fbdd4SHans de Goede			#reset-cells = <0>;
644*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-display-clk";
645*860fbdd4SHans de Goede			reg = <0x01c20108 0x4>;
646*860fbdd4SHans de Goede			clocks = <&pll3>, <&pll7>, <&pll5 1>;
647*860fbdd4SHans de Goede			clock-output-names = "de-be1";
648*860fbdd4SHans de Goede		};
649*860fbdd4SHans de Goede
650*860fbdd4SHans de Goede		de_fe0_clk: clk@01c2010c {
651*860fbdd4SHans de Goede			#clock-cells = <0>;
652*860fbdd4SHans de Goede			#reset-cells = <0>;
653*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-display-clk";
654*860fbdd4SHans de Goede			reg = <0x01c2010c 0x4>;
655*860fbdd4SHans de Goede			clocks = <&pll3>, <&pll7>, <&pll5 1>;
656*860fbdd4SHans de Goede			clock-output-names = "de-fe0";
657*860fbdd4SHans de Goede		};
658*860fbdd4SHans de Goede
659*860fbdd4SHans de Goede		de_fe1_clk: clk@01c20110 {
660*860fbdd4SHans de Goede			#clock-cells = <0>;
661*860fbdd4SHans de Goede			#reset-cells = <0>;
662*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-display-clk";
663*860fbdd4SHans de Goede			reg = <0x01c20110 0x4>;
664*860fbdd4SHans de Goede			clocks = <&pll3>, <&pll7>, <&pll5 1>;
665*860fbdd4SHans de Goede			clock-output-names = "de-fe1";
666*860fbdd4SHans de Goede		};
667*860fbdd4SHans de Goede
668*860fbdd4SHans de Goede		tcon0_ch0_clk: clk@01c20118 {
669*860fbdd4SHans de Goede			#clock-cells = <0>;
670*860fbdd4SHans de Goede			#reset-cells = <1>;
671*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-tcon-ch0-clk";
672*860fbdd4SHans de Goede			reg = <0x01c20118 0x4>;
673*860fbdd4SHans de Goede			clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>;
674*860fbdd4SHans de Goede			clock-output-names = "tcon0-ch0-sclk";
675*860fbdd4SHans de Goede
676*860fbdd4SHans de Goede		};
677*860fbdd4SHans de Goede
678*860fbdd4SHans de Goede		tcon1_ch0_clk: clk@01c2011c {
679*860fbdd4SHans de Goede			#clock-cells = <0>;
680*860fbdd4SHans de Goede			#reset-cells = <1>;
681*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-tcon-ch1-clk";
682*860fbdd4SHans de Goede			reg = <0x01c2011c 0x4>;
683*860fbdd4SHans de Goede			clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>;
684*860fbdd4SHans de Goede			clock-output-names = "tcon1-ch0-sclk";
685*860fbdd4SHans de Goede
686*860fbdd4SHans de Goede		};
687*860fbdd4SHans de Goede
688*860fbdd4SHans de Goede		tcon0_ch1_clk: clk@01c2012c {
689*860fbdd4SHans de Goede			#clock-cells = <0>;
690*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-tcon-ch0-clk";
691*860fbdd4SHans de Goede			reg = <0x01c2012c 0x4>;
692*860fbdd4SHans de Goede			clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>;
693*860fbdd4SHans de Goede			clock-output-names = "tcon0-ch1-sclk";
694*860fbdd4SHans de Goede
695*860fbdd4SHans de Goede		};
696*860fbdd4SHans de Goede
697*860fbdd4SHans de Goede		tcon1_ch1_clk: clk@01c20130 {
698*860fbdd4SHans de Goede			#clock-cells = <0>;
699*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-tcon-ch1-clk";
700*860fbdd4SHans de Goede			reg = <0x01c20130 0x4>;
701*860fbdd4SHans de Goede			clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>;
702*860fbdd4SHans de Goede			clock-output-names = "tcon1-ch1-sclk";
703*860fbdd4SHans de Goede
704*860fbdd4SHans de Goede		};
705*860fbdd4SHans de Goede
70680e5f83cSHans de Goede		ve_clk: clk@01c2013c {
70780e5f83cSHans de Goede			#clock-cells = <0>;
70880e5f83cSHans de Goede			#reset-cells = <0>;
70980e5f83cSHans de Goede			compatible = "allwinner,sun4i-a10-ve-clk";
71080e5f83cSHans de Goede			reg = <0x01c2013c 0x4>;
71180e5f83cSHans de Goede			clocks = <&pll4>;
71280e5f83cSHans de Goede			clock-output-names = "ve";
71380e5f83cSHans de Goede		};
71480e5f83cSHans de Goede
71580e5f83cSHans de Goede		codec_clk: clk@01c20140 {
71680e5f83cSHans de Goede			#clock-cells = <0>;
71780e5f83cSHans de Goede			compatible = "allwinner,sun4i-a10-codec-clk";
71880e5f83cSHans de Goede			reg = <0x01c20140 0x4>;
71980e5f83cSHans de Goede			clocks = <&pll2 SUN4I_A10_PLL2_1X>;
72080e5f83cSHans de Goede			clock-output-names = "codec";
72180e5f83cSHans de Goede		};
72280e5f83cSHans de Goede
723643ad899SSimon Glass		mbus_clk: clk@01c2015c {
724643ad899SSimon Glass			#clock-cells = <0>;
72553ab4af3SHans de Goede			compatible = "allwinner,sun5i-a13-mbus-clk";
726643ad899SSimon Glass			reg = <0x01c2015c 0x4>;
727643ad899SSimon Glass			clocks = <&osc24M>, <&pll6 2>, <&pll5 1>;
728643ad899SSimon Glass			clock-output-names = "mbus";
729643ad899SSimon Glass		};
730643ad899SSimon Glass
731643ad899SSimon Glass		/*
7328b1ba941SHans de Goede		 * The following two are dummy clocks, placeholders
7338b1ba941SHans de Goede		 * used in the gmac_tx clock. The gmac driver will
7348b1ba941SHans de Goede		 * choose one parent depending on the PHY interface
7358b1ba941SHans de Goede		 * mode, using clk_set_rate auto-reparenting.
7368b1ba941SHans de Goede		 *
7378b1ba941SHans de Goede		 * The actual TX clock rate is not controlled by the
7388b1ba941SHans de Goede		 * gmac_tx clock.
739643ad899SSimon Glass		 */
740643ad899SSimon Glass		mii_phy_tx_clk: clk@2 {
741643ad899SSimon Glass			#clock-cells = <0>;
742643ad899SSimon Glass			compatible = "fixed-clock";
743643ad899SSimon Glass			clock-frequency = <25000000>;
744643ad899SSimon Glass			clock-output-names = "mii_phy_tx";
745643ad899SSimon Glass		};
746643ad899SSimon Glass
747643ad899SSimon Glass		gmac_int_tx_clk: clk@3 {
748643ad899SSimon Glass			#clock-cells = <0>;
749643ad899SSimon Glass			compatible = "fixed-clock";
750643ad899SSimon Glass			clock-frequency = <125000000>;
751643ad899SSimon Glass			clock-output-names = "gmac_int_tx";
752643ad899SSimon Glass		};
753643ad899SSimon Glass
754643ad899SSimon Glass		gmac_tx_clk: clk@01c20164 {
755643ad899SSimon Glass			#clock-cells = <0>;
756643ad899SSimon Glass			compatible = "allwinner,sun7i-a20-gmac-clk";
757643ad899SSimon Glass			reg = <0x01c20164 0x4>;
758643ad899SSimon Glass			clocks = <&mii_phy_tx_clk>, <&gmac_int_tx_clk>;
759643ad899SSimon Glass			clock-output-names = "gmac_tx";
760643ad899SSimon Glass		};
761643ad899SSimon Glass
762643ad899SSimon Glass		/*
763643ad899SSimon Glass		 * Dummy clock used by output clocks
764643ad899SSimon Glass		 */
765643ad899SSimon Glass		osc24M_32k: clk@1 {
766643ad899SSimon Glass			#clock-cells = <0>;
767643ad899SSimon Glass			compatible = "fixed-factor-clock";
768643ad899SSimon Glass			clock-div = <750>;
769643ad899SSimon Glass			clock-mult = <1>;
770643ad899SSimon Glass			clocks = <&osc24M>;
771643ad899SSimon Glass			clock-output-names = "osc24M_32k";
772643ad899SSimon Glass		};
773643ad899SSimon Glass
774643ad899SSimon Glass		clk_out_a: clk@01c201f0 {
775643ad899SSimon Glass			#clock-cells = <0>;
776643ad899SSimon Glass			compatible = "allwinner,sun7i-a20-out-clk";
777643ad899SSimon Glass			reg = <0x01c201f0 0x4>;
778643ad899SSimon Glass			clocks = <&osc24M_32k>, <&osc32k>, <&osc24M>;
779643ad899SSimon Glass			clock-output-names = "clk_out_a";
780643ad899SSimon Glass		};
781643ad899SSimon Glass
782643ad899SSimon Glass		clk_out_b: clk@01c201f4 {
783643ad899SSimon Glass			#clock-cells = <0>;
784643ad899SSimon Glass			compatible = "allwinner,sun7i-a20-out-clk";
785643ad899SSimon Glass			reg = <0x01c201f4 0x4>;
786643ad899SSimon Glass			clocks = <&osc24M_32k>, <&osc32k>, <&osc24M>;
787643ad899SSimon Glass			clock-output-names = "clk_out_b";
788643ad899SSimon Glass		};
789643ad899SSimon Glass	};
790643ad899SSimon Glass
791643ad899SSimon Glass	soc@01c00000 {
792643ad899SSimon Glass		compatible = "simple-bus";
793643ad899SSimon Glass		#address-cells = <1>;
794643ad899SSimon Glass		#size-cells = <1>;
795643ad899SSimon Glass		ranges;
796643ad899SSimon Glass
79753ab4af3SHans de Goede		sram-controller@01c00000 {
79853ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-sram-controller";
79953ab4af3SHans de Goede			reg = <0x01c00000 0x30>;
8008b1ba941SHans de Goede			#address-cells = <1>;
8018b1ba941SHans de Goede			#size-cells = <1>;
8028b1ba941SHans de Goede			ranges;
8038b1ba941SHans de Goede
8048b1ba941SHans de Goede			sram_a: sram@00000000 {
8058b1ba941SHans de Goede				compatible = "mmio-sram";
8068b1ba941SHans de Goede				reg = <0x00000000 0xc000>;
8078b1ba941SHans de Goede				#address-cells = <1>;
8088b1ba941SHans de Goede				#size-cells = <1>;
8098b1ba941SHans de Goede				ranges = <0 0x00000000 0xc000>;
8108b1ba941SHans de Goede
8118b1ba941SHans de Goede				emac_sram: sram-section@8000 {
8128b1ba941SHans de Goede					compatible = "allwinner,sun4i-a10-sram-a3-a4";
8138b1ba941SHans de Goede					reg = <0x8000 0x4000>;
8148b1ba941SHans de Goede					status = "disabled";
8158b1ba941SHans de Goede				};
8168b1ba941SHans de Goede			};
8178b1ba941SHans de Goede
8188b1ba941SHans de Goede			sram_d: sram@00010000 {
8198b1ba941SHans de Goede				compatible = "mmio-sram";
8208b1ba941SHans de Goede				reg = <0x00010000 0x1000>;
8218b1ba941SHans de Goede				#address-cells = <1>;
8228b1ba941SHans de Goede				#size-cells = <1>;
8238b1ba941SHans de Goede				ranges = <0 0x00010000 0x1000>;
8248b1ba941SHans de Goede
8258b1ba941SHans de Goede				otg_sram: sram-section@0000 {
8268b1ba941SHans de Goede					compatible = "allwinner,sun4i-a10-sram-d";
8278b1ba941SHans de Goede					reg = <0x0000 0x1000>;
8288b1ba941SHans de Goede					status = "disabled";
8298b1ba941SHans de Goede				};
8308b1ba941SHans de Goede			};
83153ab4af3SHans de Goede		};
83253ab4af3SHans de Goede
833643ad899SSimon Glass		nmi_intc: interrupt-controller@01c00030 {
834643ad899SSimon Glass			compatible = "allwinner,sun7i-a20-sc-nmi";
835643ad899SSimon Glass			interrupt-controller;
836643ad899SSimon Glass			#interrupt-cells = <2>;
837643ad899SSimon Glass			reg = <0x01c00030 0x0c>;
83853ab4af3SHans de Goede			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
83953ab4af3SHans de Goede		};
84053ab4af3SHans de Goede
84153ab4af3SHans de Goede		dma: dma-controller@01c02000 {
84253ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-dma";
84353ab4af3SHans de Goede			reg = <0x01c02000 0x1000>;
84453ab4af3SHans de Goede			interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
84553ab4af3SHans de Goede			clocks = <&ahb_gates 6>;
84653ab4af3SHans de Goede			#dma-cells = <2>;
847643ad899SSimon Glass		};
848643ad899SSimon Glass
849*860fbdd4SHans de Goede		nfc: nand@01c03000 {
850*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-nand";
851*860fbdd4SHans de Goede			reg = <0x01c03000 0x1000>;
852*860fbdd4SHans de Goede			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
853*860fbdd4SHans de Goede			clocks = <&ahb_gates 13>, <&nand_clk>;
854*860fbdd4SHans de Goede			clock-names = "ahb", "mod";
855*860fbdd4SHans de Goede			dmas = <&dma SUN4I_DMA_DEDICATED 3>;
856*860fbdd4SHans de Goede			dma-names = "rxtx";
857*860fbdd4SHans de Goede			status = "disabled";
858*860fbdd4SHans de Goede			#address-cells = <1>;
859*860fbdd4SHans de Goede			#size-cells = <0>;
860*860fbdd4SHans de Goede		};
861*860fbdd4SHans de Goede
862643ad899SSimon Glass		spi0: spi@01c05000 {
863643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-spi";
864643ad899SSimon Glass			reg = <0x01c05000 0x1000>;
86553ab4af3SHans de Goede			interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
866643ad899SSimon Glass			clocks = <&ahb_gates 20>, <&spi0_clk>;
867643ad899SSimon Glass			clock-names = "ahb", "mod";
86853ab4af3SHans de Goede			dmas = <&dma SUN4I_DMA_DEDICATED 27>,
86953ab4af3SHans de Goede			       <&dma SUN4I_DMA_DEDICATED 26>;
87053ab4af3SHans de Goede			dma-names = "rx", "tx";
871643ad899SSimon Glass			status = "disabled";
872643ad899SSimon Glass			#address-cells = <1>;
873643ad899SSimon Glass			#size-cells = <0>;
874643ad899SSimon Glass		};
875643ad899SSimon Glass
876643ad899SSimon Glass		spi1: spi@01c06000 {
877643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-spi";
878643ad899SSimon Glass			reg = <0x01c06000 0x1000>;
87953ab4af3SHans de Goede			interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
880643ad899SSimon Glass			clocks = <&ahb_gates 21>, <&spi1_clk>;
881643ad899SSimon Glass			clock-names = "ahb", "mod";
88253ab4af3SHans de Goede			dmas = <&dma SUN4I_DMA_DEDICATED 9>,
88353ab4af3SHans de Goede			       <&dma SUN4I_DMA_DEDICATED 8>;
88453ab4af3SHans de Goede			dma-names = "rx", "tx";
885643ad899SSimon Glass			status = "disabled";
886643ad899SSimon Glass			#address-cells = <1>;
887643ad899SSimon Glass			#size-cells = <0>;
888643ad899SSimon Glass		};
889643ad899SSimon Glass
890643ad899SSimon Glass		emac: ethernet@01c0b000 {
891643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-emac";
892643ad899SSimon Glass			reg = <0x01c0b000 0x1000>;
89353ab4af3SHans de Goede			interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
894643ad899SSimon Glass			clocks = <&ahb_gates 17>;
8958b1ba941SHans de Goede			allwinner,sram = <&emac_sram 1>;
896643ad899SSimon Glass			status = "disabled";
897643ad899SSimon Glass		};
898643ad899SSimon Glass
89953ab4af3SHans de Goede		mdio: mdio@01c0b080 {
900643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-mdio";
901643ad899SSimon Glass			reg = <0x01c0b080 0x14>;
902643ad899SSimon Glass			status = "disabled";
903643ad899SSimon Glass			#address-cells = <1>;
904643ad899SSimon Glass			#size-cells = <0>;
905643ad899SSimon Glass		};
906643ad899SSimon Glass
907643ad899SSimon Glass		mmc0: mmc@01c0f000 {
908*860fbdd4SHans de Goede			compatible = "allwinner,sun7i-a20-mmc",
909*860fbdd4SHans de Goede				     "allwinner,sun5i-a13-mmc";
910643ad899SSimon Glass			reg = <0x01c0f000 0x1000>;
91153ab4af3SHans de Goede			clocks = <&ahb_gates 8>,
91253ab4af3SHans de Goede				 <&mmc0_clk 0>,
91353ab4af3SHans de Goede				 <&mmc0_clk 1>,
91453ab4af3SHans de Goede				 <&mmc0_clk 2>;
91553ab4af3SHans de Goede			clock-names = "ahb",
91653ab4af3SHans de Goede				      "mmc",
91753ab4af3SHans de Goede				      "output",
91853ab4af3SHans de Goede				      "sample";
91953ab4af3SHans de Goede			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
920643ad899SSimon Glass			status = "disabled";
92153ab4af3SHans de Goede			#address-cells = <1>;
92253ab4af3SHans de Goede			#size-cells = <0>;
923643ad899SSimon Glass		};
924643ad899SSimon Glass
925643ad899SSimon Glass		mmc1: mmc@01c10000 {
926*860fbdd4SHans de Goede			compatible = "allwinner,sun7i-a20-mmc",
927*860fbdd4SHans de Goede				     "allwinner,sun5i-a13-mmc";
928643ad899SSimon Glass			reg = <0x01c10000 0x1000>;
92953ab4af3SHans de Goede			clocks = <&ahb_gates 9>,
93053ab4af3SHans de Goede				 <&mmc1_clk 0>,
93153ab4af3SHans de Goede				 <&mmc1_clk 1>,
93253ab4af3SHans de Goede				 <&mmc1_clk 2>;
93353ab4af3SHans de Goede			clock-names = "ahb",
93453ab4af3SHans de Goede				      "mmc",
93553ab4af3SHans de Goede				      "output",
93653ab4af3SHans de Goede				      "sample";
93753ab4af3SHans de Goede			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
938643ad899SSimon Glass			status = "disabled";
93953ab4af3SHans de Goede			#address-cells = <1>;
94053ab4af3SHans de Goede			#size-cells = <0>;
941643ad899SSimon Glass		};
942643ad899SSimon Glass
943643ad899SSimon Glass		mmc2: mmc@01c11000 {
944*860fbdd4SHans de Goede			compatible = "allwinner,sun7i-a20-mmc",
945*860fbdd4SHans de Goede				     "allwinner,sun5i-a13-mmc";
946643ad899SSimon Glass			reg = <0x01c11000 0x1000>;
94753ab4af3SHans de Goede			clocks = <&ahb_gates 10>,
94853ab4af3SHans de Goede				 <&mmc2_clk 0>,
94953ab4af3SHans de Goede				 <&mmc2_clk 1>,
95053ab4af3SHans de Goede				 <&mmc2_clk 2>;
95153ab4af3SHans de Goede			clock-names = "ahb",
95253ab4af3SHans de Goede				      "mmc",
95353ab4af3SHans de Goede				      "output",
95453ab4af3SHans de Goede				      "sample";
95553ab4af3SHans de Goede			interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
956643ad899SSimon Glass			status = "disabled";
95753ab4af3SHans de Goede			#address-cells = <1>;
95853ab4af3SHans de Goede			#size-cells = <0>;
959643ad899SSimon Glass		};
960643ad899SSimon Glass
961643ad899SSimon Glass		mmc3: mmc@01c12000 {
962*860fbdd4SHans de Goede			compatible = "allwinner,sun7i-a20-mmc",
963*860fbdd4SHans de Goede				     "allwinner,sun5i-a13-mmc";
964643ad899SSimon Glass			reg = <0x01c12000 0x1000>;
96553ab4af3SHans de Goede			clocks = <&ahb_gates 11>,
96653ab4af3SHans de Goede				 <&mmc3_clk 0>,
96753ab4af3SHans de Goede				 <&mmc3_clk 1>,
96853ab4af3SHans de Goede				 <&mmc3_clk 2>;
96953ab4af3SHans de Goede			clock-names = "ahb",
97053ab4af3SHans de Goede				      "mmc",
97153ab4af3SHans de Goede				      "output",
97253ab4af3SHans de Goede				      "sample";
97353ab4af3SHans de Goede			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
974643ad899SSimon Glass			status = "disabled";
97553ab4af3SHans de Goede			#address-cells = <1>;
97653ab4af3SHans de Goede			#size-cells = <0>;
977643ad899SSimon Glass		};
978643ad899SSimon Glass
979da52a4a3SHans de Goede		usb_otg: usb@01c13000 {
980da52a4a3SHans de Goede			compatible = "allwinner,sun4i-a10-musb";
981da52a4a3SHans de Goede			reg = <0x01c13000 0x0400>;
982da52a4a3SHans de Goede			clocks = <&ahb_gates 0>;
983da52a4a3SHans de Goede			interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
984da52a4a3SHans de Goede			interrupt-names = "mc";
985da52a4a3SHans de Goede			phys = <&usbphy 0>;
986da52a4a3SHans de Goede			phy-names = "usb";
987da52a4a3SHans de Goede			extcon = <&usbphy 0>;
988da52a4a3SHans de Goede			allwinner,sram = <&otg_sram 1>;
989da52a4a3SHans de Goede			status = "disabled";
990da52a4a3SHans de Goede		};
991da52a4a3SHans de Goede
992643ad899SSimon Glass		usbphy: phy@01c13400 {
993643ad899SSimon Glass			#phy-cells = <1>;
994643ad899SSimon Glass			compatible = "allwinner,sun7i-a20-usb-phy";
995643ad899SSimon Glass			reg = <0x01c13400 0x10 0x01c14800 0x4 0x01c1c800 0x4>;
996643ad899SSimon Glass			reg-names = "phy_ctrl", "pmu1", "pmu2";
997643ad899SSimon Glass			clocks = <&usb_clk 8>;
998643ad899SSimon Glass			clock-names = "usb_phy";
99953ab4af3SHans de Goede			resets = <&usb_clk 0>, <&usb_clk 1>, <&usb_clk 2>;
100053ab4af3SHans de Goede			reset-names = "usb0_reset", "usb1_reset", "usb2_reset";
1001643ad899SSimon Glass			status = "disabled";
1002643ad899SSimon Glass		};
1003643ad899SSimon Glass
1004643ad899SSimon Glass		ehci0: usb@01c14000 {
1005643ad899SSimon Glass			compatible = "allwinner,sun7i-a20-ehci", "generic-ehci";
1006643ad899SSimon Glass			reg = <0x01c14000 0x100>;
100753ab4af3SHans de Goede			interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
1008643ad899SSimon Glass			clocks = <&ahb_gates 1>;
1009643ad899SSimon Glass			phys = <&usbphy 1>;
1010643ad899SSimon Glass			phy-names = "usb";
1011643ad899SSimon Glass			status = "disabled";
1012643ad899SSimon Glass		};
1013643ad899SSimon Glass
1014643ad899SSimon Glass		ohci0: usb@01c14400 {
1015643ad899SSimon Glass			compatible = "allwinner,sun7i-a20-ohci", "generic-ohci";
1016643ad899SSimon Glass			reg = <0x01c14400 0x100>;
101753ab4af3SHans de Goede			interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
1018643ad899SSimon Glass			clocks = <&usb_clk 6>, <&ahb_gates 2>;
1019643ad899SSimon Glass			phys = <&usbphy 1>;
1020643ad899SSimon Glass			phy-names = "usb";
1021643ad899SSimon Glass			status = "disabled";
1022643ad899SSimon Glass		};
1023643ad899SSimon Glass
102480e5f83cSHans de Goede		crypto: crypto-engine@01c15000 {
102580e5f83cSHans de Goede			compatible = "allwinner,sun4i-a10-crypto";
102680e5f83cSHans de Goede			reg = <0x01c15000 0x1000>;
102780e5f83cSHans de Goede			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
102880e5f83cSHans de Goede			clocks = <&ahb_gates 5>, <&ss_clk>;
102980e5f83cSHans de Goede			clock-names = "ahb", "mod";
103080e5f83cSHans de Goede		};
103180e5f83cSHans de Goede
1032643ad899SSimon Glass		spi2: spi@01c17000 {
1033643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-spi";
1034643ad899SSimon Glass			reg = <0x01c17000 0x1000>;
103553ab4af3SHans de Goede			interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
1036643ad899SSimon Glass			clocks = <&ahb_gates 22>, <&spi2_clk>;
1037643ad899SSimon Glass			clock-names = "ahb", "mod";
103853ab4af3SHans de Goede			dmas = <&dma SUN4I_DMA_DEDICATED 29>,
103953ab4af3SHans de Goede			       <&dma SUN4I_DMA_DEDICATED 28>;
104053ab4af3SHans de Goede			dma-names = "rx", "tx";
1041643ad899SSimon Glass			status = "disabled";
1042643ad899SSimon Glass			#address-cells = <1>;
1043643ad899SSimon Glass			#size-cells = <0>;
1044643ad899SSimon Glass		};
1045643ad899SSimon Glass
1046643ad899SSimon Glass		ahci: sata@01c18000 {
1047643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-ahci";
1048643ad899SSimon Glass			reg = <0x01c18000 0x1000>;
104953ab4af3SHans de Goede			interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
1050643ad899SSimon Glass			clocks = <&pll6 0>, <&ahb_gates 25>;
1051643ad899SSimon Glass			status = "disabled";
1052643ad899SSimon Glass		};
1053643ad899SSimon Glass
1054643ad899SSimon Glass		ehci1: usb@01c1c000 {
1055643ad899SSimon Glass			compatible = "allwinner,sun7i-a20-ehci", "generic-ehci";
1056643ad899SSimon Glass			reg = <0x01c1c000 0x100>;
105753ab4af3SHans de Goede			interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
1058643ad899SSimon Glass			clocks = <&ahb_gates 3>;
1059643ad899SSimon Glass			phys = <&usbphy 2>;
1060643ad899SSimon Glass			phy-names = "usb";
1061643ad899SSimon Glass			status = "disabled";
1062643ad899SSimon Glass		};
1063643ad899SSimon Glass
1064643ad899SSimon Glass		ohci1: usb@01c1c400 {
1065643ad899SSimon Glass			compatible = "allwinner,sun7i-a20-ohci", "generic-ohci";
1066643ad899SSimon Glass			reg = <0x01c1c400 0x100>;
106753ab4af3SHans de Goede			interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
1068643ad899SSimon Glass			clocks = <&usb_clk 7>, <&ahb_gates 4>;
1069643ad899SSimon Glass			phys = <&usbphy 2>;
1070643ad899SSimon Glass			phy-names = "usb";
1071643ad899SSimon Glass			status = "disabled";
1072643ad899SSimon Glass		};
1073643ad899SSimon Glass
1074643ad899SSimon Glass		spi3: spi@01c1f000 {
1075643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-spi";
1076643ad899SSimon Glass			reg = <0x01c1f000 0x1000>;
107753ab4af3SHans de Goede			interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
1078643ad899SSimon Glass			clocks = <&ahb_gates 23>, <&spi3_clk>;
1079643ad899SSimon Glass			clock-names = "ahb", "mod";
108053ab4af3SHans de Goede			dmas = <&dma SUN4I_DMA_DEDICATED 31>,
108153ab4af3SHans de Goede			       <&dma SUN4I_DMA_DEDICATED 30>;
108253ab4af3SHans de Goede			dma-names = "rx", "tx";
1083643ad899SSimon Glass			status = "disabled";
1084643ad899SSimon Glass			#address-cells = <1>;
1085643ad899SSimon Glass			#size-cells = <0>;
1086643ad899SSimon Glass		};
1087643ad899SSimon Glass
1088643ad899SSimon Glass		pio: pinctrl@01c20800 {
1089643ad899SSimon Glass			compatible = "allwinner,sun7i-a20-pinctrl";
1090643ad899SSimon Glass			reg = <0x01c20800 0x400>;
109153ab4af3SHans de Goede			interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
1092643ad899SSimon Glass			clocks = <&apb0_gates 5>;
1093643ad899SSimon Glass			gpio-controller;
1094643ad899SSimon Glass			interrupt-controller;
1095da52a4a3SHans de Goede			#interrupt-cells = <3>;
1096643ad899SSimon Glass			#gpio-cells = <3>;
1097643ad899SSimon Glass
1098*860fbdd4SHans de Goede			clk_out_a_pins_a: clk_out_a@0 {
1099*860fbdd4SHans de Goede				allwinner,pins = "PI12";
1100*860fbdd4SHans de Goede				allwinner,function = "clk_out_a";
1101*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1102*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1103*860fbdd4SHans de Goede			};
1104*860fbdd4SHans de Goede
1105*860fbdd4SHans de Goede			clk_out_b_pins_a: clk_out_b@0 {
1106*860fbdd4SHans de Goede				allwinner,pins = "PI13";
1107*860fbdd4SHans de Goede				allwinner,function = "clk_out_b";
1108*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1109*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1110*860fbdd4SHans de Goede			};
1111*860fbdd4SHans de Goede
1112*860fbdd4SHans de Goede			emac_pins_a: emac0@0 {
1113*860fbdd4SHans de Goede				allwinner,pins = "PA0", "PA1", "PA2",
1114*860fbdd4SHans de Goede						"PA3", "PA4", "PA5", "PA6",
1115*860fbdd4SHans de Goede						"PA7", "PA8", "PA9", "PA10",
1116*860fbdd4SHans de Goede						"PA11", "PA12", "PA13", "PA14",
1117*860fbdd4SHans de Goede						"PA15", "PA16";
1118*860fbdd4SHans de Goede				allwinner,function = "emac";
1119*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1120*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1121*860fbdd4SHans de Goede			};
1122*860fbdd4SHans de Goede
1123*860fbdd4SHans de Goede			gmac_pins_mii_a: gmac_mii@0 {
1124*860fbdd4SHans de Goede				allwinner,pins = "PA0", "PA1", "PA2",
1125*860fbdd4SHans de Goede						"PA3", "PA4", "PA5", "PA6",
1126*860fbdd4SHans de Goede						"PA7", "PA8", "PA9", "PA10",
1127*860fbdd4SHans de Goede						"PA11", "PA12", "PA13", "PA14",
1128*860fbdd4SHans de Goede						"PA15", "PA16";
1129*860fbdd4SHans de Goede				allwinner,function = "gmac";
1130*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1131*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1132*860fbdd4SHans de Goede			};
1133*860fbdd4SHans de Goede
1134*860fbdd4SHans de Goede			gmac_pins_rgmii_a: gmac_rgmii@0 {
1135*860fbdd4SHans de Goede				allwinner,pins = "PA0", "PA1", "PA2",
1136*860fbdd4SHans de Goede						"PA3", "PA4", "PA5", "PA6",
1137*860fbdd4SHans de Goede						"PA7", "PA8", "PA10",
1138*860fbdd4SHans de Goede						"PA11", "PA12", "PA13",
1139*860fbdd4SHans de Goede						"PA15", "PA16";
1140*860fbdd4SHans de Goede				allwinner,function = "gmac";
1141*860fbdd4SHans de Goede				/*
1142*860fbdd4SHans de Goede				 * data lines in RGMII mode use DDR mode
1143*860fbdd4SHans de Goede				 * and need a higher signal drive strength
1144*860fbdd4SHans de Goede				 */
1145*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_40_MA>;
1146*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1147*860fbdd4SHans de Goede			};
1148*860fbdd4SHans de Goede
1149*860fbdd4SHans de Goede			i2c0_pins_a: i2c0@0 {
1150*860fbdd4SHans de Goede				allwinner,pins = "PB0", "PB1";
1151*860fbdd4SHans de Goede				allwinner,function = "i2c0";
1152*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1153*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1154*860fbdd4SHans de Goede			};
1155*860fbdd4SHans de Goede
1156*860fbdd4SHans de Goede			i2c1_pins_a: i2c1@0 {
1157*860fbdd4SHans de Goede				allwinner,pins = "PB18", "PB19";
1158*860fbdd4SHans de Goede				allwinner,function = "i2c1";
1159*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1160*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1161*860fbdd4SHans de Goede			};
1162*860fbdd4SHans de Goede
1163*860fbdd4SHans de Goede			i2c2_pins_a: i2c2@0 {
1164*860fbdd4SHans de Goede				allwinner,pins = "PB20", "PB21";
1165*860fbdd4SHans de Goede				allwinner,function = "i2c2";
1166*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1167*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1168*860fbdd4SHans de Goede			};
1169*860fbdd4SHans de Goede
1170*860fbdd4SHans de Goede			i2c3_pins_a: i2c3@0 {
1171*860fbdd4SHans de Goede				allwinner,pins = "PI0", "PI1";
1172*860fbdd4SHans de Goede				allwinner,function = "i2c3";
1173*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1174*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1175*860fbdd4SHans de Goede			};
1176*860fbdd4SHans de Goede
1177*860fbdd4SHans de Goede			ir0_rx_pins_a: ir0@0 {
1178*860fbdd4SHans de Goede				    allwinner,pins = "PB4";
1179*860fbdd4SHans de Goede				    allwinner,function = "ir0";
1180*860fbdd4SHans de Goede				    allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1181*860fbdd4SHans de Goede				    allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1182*860fbdd4SHans de Goede			};
1183*860fbdd4SHans de Goede
1184*860fbdd4SHans de Goede			ir0_tx_pins_a: ir0@1 {
1185*860fbdd4SHans de Goede				    allwinner,pins = "PB3";
1186*860fbdd4SHans de Goede				    allwinner,function = "ir0";
1187*860fbdd4SHans de Goede				    allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1188*860fbdd4SHans de Goede				    allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1189*860fbdd4SHans de Goede			};
1190*860fbdd4SHans de Goede
1191*860fbdd4SHans de Goede			ir1_rx_pins_a: ir1@0 {
1192*860fbdd4SHans de Goede				    allwinner,pins = "PB23";
1193*860fbdd4SHans de Goede				    allwinner,function = "ir1";
1194*860fbdd4SHans de Goede				    allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1195*860fbdd4SHans de Goede				    allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1196*860fbdd4SHans de Goede			};
1197*860fbdd4SHans de Goede
1198*860fbdd4SHans de Goede			ir1_tx_pins_a: ir1@1 {
1199*860fbdd4SHans de Goede				    allwinner,pins = "PB22";
1200*860fbdd4SHans de Goede				    allwinner,function = "ir1";
1201*860fbdd4SHans de Goede				    allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1202*860fbdd4SHans de Goede				    allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1203*860fbdd4SHans de Goede			};
1204*860fbdd4SHans de Goede
1205*860fbdd4SHans de Goede			mmc0_pins_a: mmc0@0 {
1206*860fbdd4SHans de Goede				allwinner,pins = "PF0", "PF1", "PF2",
1207*860fbdd4SHans de Goede						 "PF3", "PF4", "PF5";
1208*860fbdd4SHans de Goede				allwinner,function = "mmc0";
1209*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_30_MA>;
1210*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1211*860fbdd4SHans de Goede			};
1212*860fbdd4SHans de Goede
1213*860fbdd4SHans de Goede			mmc0_cd_pin_reference_design: mmc0_cd_pin@0 {
1214*860fbdd4SHans de Goede				allwinner,pins = "PH1";
1215*860fbdd4SHans de Goede				allwinner,function = "gpio_in";
1216*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1217*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
1218*860fbdd4SHans de Goede			};
1219*860fbdd4SHans de Goede
1220*860fbdd4SHans de Goede			mmc2_pins_a: mmc2@0 {
1221*860fbdd4SHans de Goede				allwinner,pins = "PC6", "PC7", "PC8",
1222*860fbdd4SHans de Goede						 "PC9", "PC10", "PC11";
1223*860fbdd4SHans de Goede				allwinner,function = "mmc2";
1224*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_30_MA>;
1225*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
1226*860fbdd4SHans de Goede			};
1227*860fbdd4SHans de Goede
1228*860fbdd4SHans de Goede			mmc3_pins_a: mmc3@0 {
1229*860fbdd4SHans de Goede				allwinner,pins = "PI4", "PI5", "PI6",
1230*860fbdd4SHans de Goede						 "PI7", "PI8", "PI9";
1231*860fbdd4SHans de Goede				allwinner,function = "mmc3";
1232*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_30_MA>;
1233*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1234*860fbdd4SHans de Goede			};
1235*860fbdd4SHans de Goede
1236*860fbdd4SHans de Goede			ps20_pins_a: ps20@0 {
1237*860fbdd4SHans de Goede				allwinner,pins = "PI20", "PI21";
1238*860fbdd4SHans de Goede				allwinner,function = "ps2";
1239*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1240*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1241*860fbdd4SHans de Goede			};
1242*860fbdd4SHans de Goede
1243*860fbdd4SHans de Goede			ps21_pins_a: ps21@0 {
1244*860fbdd4SHans de Goede				allwinner,pins = "PH12", "PH13";
1245*860fbdd4SHans de Goede				allwinner,function = "ps2";
1246*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1247*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1248*860fbdd4SHans de Goede			};
1249*860fbdd4SHans de Goede
1250643ad899SSimon Glass			pwm0_pins_a: pwm0@0 {
1251643ad899SSimon Glass				allwinner,pins = "PB2";
1252643ad899SSimon Glass				allwinner,function = "pwm";
125353ab4af3SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
125453ab4af3SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1255643ad899SSimon Glass			};
1256643ad899SSimon Glass
1257643ad899SSimon Glass			pwm1_pins_a: pwm1@0 {
1258643ad899SSimon Glass				allwinner,pins = "PI3";
1259643ad899SSimon Glass				allwinner,function = "pwm";
126053ab4af3SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
126153ab4af3SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1262643ad899SSimon Glass			};
1263643ad899SSimon Glass
1264*860fbdd4SHans de Goede			spdif_tx_pins_a: spdif@0 {
1265*860fbdd4SHans de Goede				allwinner,pins = "PB13";
1266*860fbdd4SHans de Goede				allwinner,function = "spdif";
1267*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1268*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
1269*860fbdd4SHans de Goede			};
1270*860fbdd4SHans de Goede
1271*860fbdd4SHans de Goede			spi0_pins_a: spi0@0 {
1272*860fbdd4SHans de Goede				allwinner,pins = "PI11", "PI12", "PI13";
1273*860fbdd4SHans de Goede				allwinner,function = "spi0";
1274*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1275*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1276*860fbdd4SHans de Goede			};
1277*860fbdd4SHans de Goede
1278*860fbdd4SHans de Goede			spi0_cs0_pins_a: spi0_cs0@0 {
1279*860fbdd4SHans de Goede				allwinner,pins = "PI10";
1280*860fbdd4SHans de Goede				allwinner,function = "spi0";
1281*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1282*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1283*860fbdd4SHans de Goede			};
1284*860fbdd4SHans de Goede
1285*860fbdd4SHans de Goede			spi0_cs1_pins_a: spi0_cs1@0 {
1286*860fbdd4SHans de Goede				allwinner,pins = "PI14";
1287*860fbdd4SHans de Goede				allwinner,function = "spi0";
1288*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1289*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1290*860fbdd4SHans de Goede			};
1291*860fbdd4SHans de Goede
1292*860fbdd4SHans de Goede			spi1_pins_a: spi1@0 {
1293*860fbdd4SHans de Goede				allwinner,pins = "PI17", "PI18", "PI19";
1294*860fbdd4SHans de Goede				allwinner,function = "spi1";
1295*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1296*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1297*860fbdd4SHans de Goede			};
1298*860fbdd4SHans de Goede
1299*860fbdd4SHans de Goede			spi1_cs0_pins_a: spi1_cs0@0 {
1300*860fbdd4SHans de Goede				allwinner,pins = "PI16";
1301*860fbdd4SHans de Goede				allwinner,function = "spi1";
1302*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1303*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1304*860fbdd4SHans de Goede			};
1305*860fbdd4SHans de Goede
1306*860fbdd4SHans de Goede			spi2_pins_a: spi2@0 {
1307*860fbdd4SHans de Goede				allwinner,pins = "PC20", "PC21", "PC22";
1308*860fbdd4SHans de Goede				allwinner,function = "spi2";
1309*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1310*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1311*860fbdd4SHans de Goede			};
1312*860fbdd4SHans de Goede
1313*860fbdd4SHans de Goede			spi2_pins_b: spi2@1 {
1314*860fbdd4SHans de Goede				allwinner,pins = "PB15", "PB16", "PB17";
1315*860fbdd4SHans de Goede				allwinner,function = "spi2";
1316*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1317*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1318*860fbdd4SHans de Goede			};
1319*860fbdd4SHans de Goede
1320*860fbdd4SHans de Goede			spi2_cs0_pins_a: spi2_cs0@0 {
1321*860fbdd4SHans de Goede				allwinner,pins = "PC19";
1322*860fbdd4SHans de Goede				allwinner,function = "spi2";
1323*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1324*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1325*860fbdd4SHans de Goede			};
1326*860fbdd4SHans de Goede
1327*860fbdd4SHans de Goede			spi2_cs0_pins_b: spi2_cs0@1 {
1328*860fbdd4SHans de Goede				allwinner,pins = "PB14";
1329*860fbdd4SHans de Goede				allwinner,function = "spi2";
1330*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1331*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1332*860fbdd4SHans de Goede			};
1333*860fbdd4SHans de Goede
1334643ad899SSimon Glass			uart0_pins_a: uart0@0 {
1335643ad899SSimon Glass				allwinner,pins = "PB22", "PB23";
1336643ad899SSimon Glass				allwinner,function = "uart0";
133753ab4af3SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
133853ab4af3SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1339643ad899SSimon Glass			};
1340643ad899SSimon Glass
1341643ad899SSimon Glass			uart2_pins_a: uart2@0 {
1342643ad899SSimon Glass				allwinner,pins = "PI16", "PI17", "PI18", "PI19";
1343643ad899SSimon Glass				allwinner,function = "uart2";
134453ab4af3SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
134553ab4af3SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
134653ab4af3SHans de Goede			};
134753ab4af3SHans de Goede
134853ab4af3SHans de Goede			uart3_pins_a: uart3@0 {
134953ab4af3SHans de Goede				allwinner,pins = "PG6", "PG7", "PG8", "PG9";
135053ab4af3SHans de Goede				allwinner,function = "uart3";
135153ab4af3SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
135253ab4af3SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
135353ab4af3SHans de Goede			};
135453ab4af3SHans de Goede
135553ab4af3SHans de Goede			uart3_pins_b: uart3@1 {
135653ab4af3SHans de Goede				allwinner,pins = "PH0", "PH1";
135753ab4af3SHans de Goede				allwinner,function = "uart3";
135853ab4af3SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
135953ab4af3SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
136053ab4af3SHans de Goede			};
136153ab4af3SHans de Goede
136253ab4af3SHans de Goede			uart4_pins_a: uart4@0 {
136353ab4af3SHans de Goede				allwinner,pins = "PG10", "PG11";
136453ab4af3SHans de Goede				allwinner,function = "uart4";
136553ab4af3SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
136653ab4af3SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
136753ab4af3SHans de Goede			};
136853ab4af3SHans de Goede
13698b1ba941SHans de Goede			uart4_pins_b: uart4@1 {
13708b1ba941SHans de Goede				allwinner,pins = "PH4", "PH5";
13718b1ba941SHans de Goede				allwinner,function = "uart4";
13728b1ba941SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
13738b1ba941SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
13748b1ba941SHans de Goede			};
13758b1ba941SHans de Goede
137653ab4af3SHans de Goede			uart5_pins_a: uart5@0 {
137753ab4af3SHans de Goede				allwinner,pins = "PI10", "PI11";
137853ab4af3SHans de Goede				allwinner,function = "uart5";
137953ab4af3SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
138053ab4af3SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1381643ad899SSimon Glass			};
1382643ad899SSimon Glass
1383643ad899SSimon Glass			uart6_pins_a: uart6@0 {
1384643ad899SSimon Glass				allwinner,pins = "PI12", "PI13";
1385643ad899SSimon Glass				allwinner,function = "uart6";
138653ab4af3SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
138753ab4af3SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1388643ad899SSimon Glass			};
1389643ad899SSimon Glass
1390643ad899SSimon Glass			uart7_pins_a: uart7@0 {
1391643ad899SSimon Glass				allwinner,pins = "PI20", "PI21";
1392643ad899SSimon Glass				allwinner,function = "uart7";
139353ab4af3SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
139453ab4af3SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1395643ad899SSimon Glass			};
1396643ad899SSimon Glass		};
1397643ad899SSimon Glass
1398643ad899SSimon Glass		timer@01c20c00 {
1399643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-timer";
1400643ad899SSimon Glass			reg = <0x01c20c00 0x90>;
140153ab4af3SHans de Goede			interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
140253ab4af3SHans de Goede				     <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
140353ab4af3SHans de Goede				     <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
140453ab4af3SHans de Goede				     <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
140553ab4af3SHans de Goede				     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
140653ab4af3SHans de Goede				     <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
1407643ad899SSimon Glass			clocks = <&osc24M>;
1408643ad899SSimon Glass		};
1409643ad899SSimon Glass
1410643ad899SSimon Glass		wdt: watchdog@01c20c90 {
1411643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-wdt";
1412643ad899SSimon Glass			reg = <0x01c20c90 0x10>;
1413643ad899SSimon Glass		};
1414643ad899SSimon Glass
1415643ad899SSimon Glass		rtc: rtc@01c20d00 {
1416643ad899SSimon Glass			compatible = "allwinner,sun7i-a20-rtc";
1417643ad899SSimon Glass			reg = <0x01c20d00 0x20>;
141853ab4af3SHans de Goede			interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
1419643ad899SSimon Glass		};
1420643ad899SSimon Glass
1421643ad899SSimon Glass		pwm: pwm@01c20e00 {
1422643ad899SSimon Glass			compatible = "allwinner,sun7i-a20-pwm";
1423643ad899SSimon Glass			reg = <0x01c20e00 0xc>;
1424643ad899SSimon Glass			clocks = <&osc24M>;
1425643ad899SSimon Glass			#pwm-cells = <3>;
1426643ad899SSimon Glass			status = "disabled";
1427643ad899SSimon Glass		};
1428643ad899SSimon Glass
1429*860fbdd4SHans de Goede		spdif: spdif@01c21000 {
1430*860fbdd4SHans de Goede			#sound-dai-cells = <0>;
1431*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-spdif";
1432*860fbdd4SHans de Goede			reg = <0x01c21000 0x400>;
1433*860fbdd4SHans de Goede			interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
1434*860fbdd4SHans de Goede			clocks = <&apb0_gates 1>, <&spdif_clk>;
1435*860fbdd4SHans de Goede			clock-names = "apb", "spdif";
1436*860fbdd4SHans de Goede			dmas = <&dma SUN4I_DMA_NORMAL 2>,
1437*860fbdd4SHans de Goede			       <&dma SUN4I_DMA_NORMAL 2>;
1438*860fbdd4SHans de Goede			dma-names = "rx", "tx";
1439*860fbdd4SHans de Goede			status = "disabled";
1440*860fbdd4SHans de Goede		};
1441*860fbdd4SHans de Goede
1442643ad899SSimon Glass		ir0: ir@01c21800 {
1443643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-ir";
1444643ad899SSimon Glass			clocks = <&apb0_gates 6>, <&ir0_clk>;
1445643ad899SSimon Glass			clock-names = "apb", "ir";
144653ab4af3SHans de Goede			interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
1447643ad899SSimon Glass			reg = <0x01c21800 0x40>;
1448643ad899SSimon Glass			status = "disabled";
1449643ad899SSimon Glass		};
1450643ad899SSimon Glass
1451643ad899SSimon Glass		ir1: ir@01c21c00 {
1452643ad899SSimon Glass			compatible = "allwinner,sun4i-a10-ir";
1453643ad899SSimon Glass			clocks = <&apb0_gates 7>, <&ir1_clk>;
1454643ad899SSimon Glass			clock-names = "apb", "ir";
145553ab4af3SHans de Goede			interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
1456643ad899SSimon Glass			reg = <0x01c21c00 0x40>;
1457643ad899SSimon Glass			status = "disabled";
1458643ad899SSimon Glass		};
1459643ad899SSimon Glass
1460*860fbdd4SHans de Goede		i2s1: i2s@01c22000 {
1461*860fbdd4SHans de Goede			#sound-dai-cells = <0>;
1462*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-i2s";
1463*860fbdd4SHans de Goede			reg = <0x01c22000 0x400>;
1464*860fbdd4SHans de Goede			interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
1465*860fbdd4SHans de Goede			clocks = <&apb0_gates 4>, <&i2s1_clk>;
1466*860fbdd4SHans de Goede			clock-names = "apb", "mod";
1467*860fbdd4SHans de Goede			dmas = <&dma SUN4I_DMA_NORMAL 4>,
1468*860fbdd4SHans de Goede			       <&dma SUN4I_DMA_NORMAL 4>;
1469*860fbdd4SHans de Goede			dma-names = "rx", "tx";
1470*860fbdd4SHans de Goede			status = "disabled";
1471*860fbdd4SHans de Goede		};
1472*860fbdd4SHans de Goede
1473*860fbdd4SHans de Goede		i2s0: i2s@01c22400 {
1474*860fbdd4SHans de Goede			#sound-dai-cells = <0>;
1475*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-i2s";
1476*860fbdd4SHans de Goede			reg = <0x01c22400 0x400>;
1477*860fbdd4SHans de Goede			interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
1478*860fbdd4SHans de Goede			clocks = <&apb0_gates 3>, <&i2s0_clk>;
1479*860fbdd4SHans de Goede			clock-names = "apb", "mod";
1480*860fbdd4SHans de Goede			dmas = <&dma SUN4I_DMA_NORMAL 3>,
1481*860fbdd4SHans de Goede			       <&dma SUN4I_DMA_NORMAL 3>;
1482*860fbdd4SHans de Goede			dma-names = "rx", "tx";
1483*860fbdd4SHans de Goede			status = "disabled";
1484*860fbdd4SHans de Goede		};
1485*860fbdd4SHans de Goede
148653ab4af3SHans de Goede		lradc: lradc@01c22800 {
148753ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-lradc-keys";
148853ab4af3SHans de Goede			reg = <0x01c22800 0x100>;
148953ab4af3SHans de Goede			interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
149053ab4af3SHans de Goede			status = "disabled";
149153ab4af3SHans de Goede		};
149253ab4af3SHans de Goede
149380e5f83cSHans de Goede		codec: codec@01c22c00 {
149480e5f83cSHans de Goede			#sound-dai-cells = <0>;
149580e5f83cSHans de Goede			compatible = "allwinner,sun7i-a20-codec";
149680e5f83cSHans de Goede			reg = <0x01c22c00 0x40>;
149780e5f83cSHans de Goede			interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
149880e5f83cSHans de Goede			clocks = <&apb0_gates 0>, <&codec_clk>;
149980e5f83cSHans de Goede			clock-names = "apb", "codec";
150080e5f83cSHans de Goede			dmas = <&dma SUN4I_DMA_NORMAL 19>,
150180e5f83cSHans de Goede			       <&dma SUN4I_DMA_NORMAL 19>;
150280e5f83cSHans de Goede			dma-names = "rx", "tx";
150380e5f83cSHans de Goede			status = "disabled";
150480e5f83cSHans de Goede		};
150580e5f83cSHans de Goede
1506643ad899SSimon Glass		sid: eeprom@01c23800 {
1507643ad899SSimon Glass			compatible = "allwinner,sun7i-a20-sid";
1508643ad899SSimon Glass			reg = <0x01c23800 0x200>;
1509643ad899SSimon Glass		};
1510643ad899SSimon Glass
1511*860fbdd4SHans de Goede		i2s2: i2s@01c24400 {
1512*860fbdd4SHans de Goede			#sound-dai-cells = <0>;
1513*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-i2s";
1514*860fbdd4SHans de Goede			reg = <0x01c24400 0x400>;
1515*860fbdd4SHans de Goede			interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
1516*860fbdd4SHans de Goede			clocks = <&apb0_gates 8>, <&i2s2_clk>;
1517*860fbdd4SHans de Goede			clock-names = "apb", "mod";
1518*860fbdd4SHans de Goede			dmas = <&dma SUN4I_DMA_NORMAL 6>,
1519*860fbdd4SHans de Goede			       <&dma SUN4I_DMA_NORMAL 6>;
1520*860fbdd4SHans de Goede			dma-names = "rx", "tx";
1521*860fbdd4SHans de Goede			status = "disabled";
1522*860fbdd4SHans de Goede		};
1523*860fbdd4SHans de Goede
1524643ad899SSimon Glass		rtp: rtp@01c25000 {
152553ab4af3SHans de Goede			compatible = "allwinner,sun5i-a13-ts";
1526643ad899SSimon Glass			reg = <0x01c25000 0x100>;
152753ab4af3SHans de Goede			interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
152853ab4af3SHans de Goede			#thermal-sensor-cells = <0>;
1529643ad899SSimon Glass		};
1530643ad899SSimon Glass
1531643ad899SSimon Glass		uart0: serial@01c28000 {
1532643ad899SSimon Glass			compatible = "snps,dw-apb-uart";
1533643ad899SSimon Glass			reg = <0x01c28000 0x400>;
153453ab4af3SHans de Goede			interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
1535643ad899SSimon Glass			reg-shift = <2>;
1536643ad899SSimon Glass			reg-io-width = <4>;
1537643ad899SSimon Glass			clocks = <&apb1_gates 16>;
1538643ad899SSimon Glass			status = "disabled";
1539643ad899SSimon Glass		};
1540643ad899SSimon Glass
1541643ad899SSimon Glass		uart1: serial@01c28400 {
1542643ad899SSimon Glass			compatible = "snps,dw-apb-uart";
1543643ad899SSimon Glass			reg = <0x01c28400 0x400>;
154453ab4af3SHans de Goede			interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
1545643ad899SSimon Glass			reg-shift = <2>;
1546643ad899SSimon Glass			reg-io-width = <4>;
1547643ad899SSimon Glass			clocks = <&apb1_gates 17>;
1548643ad899SSimon Glass			status = "disabled";
1549643ad899SSimon Glass		};
1550643ad899SSimon Glass
1551643ad899SSimon Glass		uart2: serial@01c28800 {
1552643ad899SSimon Glass			compatible = "snps,dw-apb-uart";
1553643ad899SSimon Glass			reg = <0x01c28800 0x400>;
155453ab4af3SHans de Goede			interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
1555643ad899SSimon Glass			reg-shift = <2>;
1556643ad899SSimon Glass			reg-io-width = <4>;
1557643ad899SSimon Glass			clocks = <&apb1_gates 18>;
1558643ad899SSimon Glass			status = "disabled";
1559643ad899SSimon Glass		};
1560643ad899SSimon Glass
1561643ad899SSimon Glass		uart3: serial@01c28c00 {
1562643ad899SSimon Glass			compatible = "snps,dw-apb-uart";
1563643ad899SSimon Glass			reg = <0x01c28c00 0x400>;
156453ab4af3SHans de Goede			interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
1565643ad899SSimon Glass			reg-shift = <2>;
1566643ad899SSimon Glass			reg-io-width = <4>;
1567643ad899SSimon Glass			clocks = <&apb1_gates 19>;
1568643ad899SSimon Glass			status = "disabled";
1569643ad899SSimon Glass		};
1570643ad899SSimon Glass
1571643ad899SSimon Glass		uart4: serial@01c29000 {
1572643ad899SSimon Glass			compatible = "snps,dw-apb-uart";
1573643ad899SSimon Glass			reg = <0x01c29000 0x400>;
157453ab4af3SHans de Goede			interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
1575643ad899SSimon Glass			reg-shift = <2>;
1576643ad899SSimon Glass			reg-io-width = <4>;
1577643ad899SSimon Glass			clocks = <&apb1_gates 20>;
1578643ad899SSimon Glass			status = "disabled";
1579643ad899SSimon Glass		};
1580643ad899SSimon Glass
1581643ad899SSimon Glass		uart5: serial@01c29400 {
1582643ad899SSimon Glass			compatible = "snps,dw-apb-uart";
1583643ad899SSimon Glass			reg = <0x01c29400 0x400>;
158453ab4af3SHans de Goede			interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
1585643ad899SSimon Glass			reg-shift = <2>;
1586643ad899SSimon Glass			reg-io-width = <4>;
1587643ad899SSimon Glass			clocks = <&apb1_gates 21>;
1588643ad899SSimon Glass			status = "disabled";
1589643ad899SSimon Glass		};
1590643ad899SSimon Glass
1591643ad899SSimon Glass		uart6: serial@01c29800 {
1592643ad899SSimon Glass			compatible = "snps,dw-apb-uart";
1593643ad899SSimon Glass			reg = <0x01c29800 0x400>;
159453ab4af3SHans de Goede			interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
1595643ad899SSimon Glass			reg-shift = <2>;
1596643ad899SSimon Glass			reg-io-width = <4>;
1597643ad899SSimon Glass			clocks = <&apb1_gates 22>;
1598643ad899SSimon Glass			status = "disabled";
1599643ad899SSimon Glass		};
1600643ad899SSimon Glass
1601643ad899SSimon Glass		uart7: serial@01c29c00 {
1602643ad899SSimon Glass			compatible = "snps,dw-apb-uart";
1603643ad899SSimon Glass			reg = <0x01c29c00 0x400>;
160453ab4af3SHans de Goede			interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
1605643ad899SSimon Glass			reg-shift = <2>;
1606643ad899SSimon Glass			reg-io-width = <4>;
1607643ad899SSimon Glass			clocks = <&apb1_gates 23>;
1608643ad899SSimon Glass			status = "disabled";
1609643ad899SSimon Glass		};
1610643ad899SSimon Glass
1611643ad899SSimon Glass		i2c0: i2c@01c2ac00 {
16128b1ba941SHans de Goede			compatible = "allwinner,sun7i-a20-i2c",
16138b1ba941SHans de Goede				     "allwinner,sun4i-a10-i2c";
1614643ad899SSimon Glass			reg = <0x01c2ac00 0x400>;
161553ab4af3SHans de Goede			interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
1616643ad899SSimon Glass			clocks = <&apb1_gates 0>;
1617643ad899SSimon Glass			status = "disabled";
1618643ad899SSimon Glass			#address-cells = <1>;
1619643ad899SSimon Glass			#size-cells = <0>;
1620643ad899SSimon Glass		};
1621643ad899SSimon Glass
1622643ad899SSimon Glass		i2c1: i2c@01c2b000 {
16238b1ba941SHans de Goede			compatible = "allwinner,sun7i-a20-i2c",
16248b1ba941SHans de Goede				     "allwinner,sun4i-a10-i2c";
1625643ad899SSimon Glass			reg = <0x01c2b000 0x400>;
162653ab4af3SHans de Goede			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
1627643ad899SSimon Glass			clocks = <&apb1_gates 1>;
1628643ad899SSimon Glass			status = "disabled";
1629643ad899SSimon Glass			#address-cells = <1>;
1630643ad899SSimon Glass			#size-cells = <0>;
1631643ad899SSimon Glass		};
1632643ad899SSimon Glass
1633643ad899SSimon Glass		i2c2: i2c@01c2b400 {
16348b1ba941SHans de Goede			compatible = "allwinner,sun7i-a20-i2c",
16358b1ba941SHans de Goede				     "allwinner,sun4i-a10-i2c";
1636643ad899SSimon Glass			reg = <0x01c2b400 0x400>;
163753ab4af3SHans de Goede			interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
1638643ad899SSimon Glass			clocks = <&apb1_gates 2>;
1639643ad899SSimon Glass			status = "disabled";
1640643ad899SSimon Glass			#address-cells = <1>;
1641643ad899SSimon Glass			#size-cells = <0>;
1642643ad899SSimon Glass		};
1643643ad899SSimon Glass
1644643ad899SSimon Glass		i2c3: i2c@01c2b800 {
16458b1ba941SHans de Goede			compatible = "allwinner,sun7i-a20-i2c",
16468b1ba941SHans de Goede				     "allwinner,sun4i-a10-i2c";
1647643ad899SSimon Glass			reg = <0x01c2b800 0x400>;
164853ab4af3SHans de Goede			interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
1649643ad899SSimon Glass			clocks = <&apb1_gates 3>;
1650643ad899SSimon Glass			status = "disabled";
1651643ad899SSimon Glass			#address-cells = <1>;
1652643ad899SSimon Glass			#size-cells = <0>;
1653643ad899SSimon Glass		};
1654643ad899SSimon Glass
1655643ad899SSimon Glass		i2c4: i2c@01c2c000 {
16568b1ba941SHans de Goede			compatible = "allwinner,sun7i-a20-i2c",
16578b1ba941SHans de Goede				     "allwinner,sun4i-a10-i2c";
1658643ad899SSimon Glass			reg = <0x01c2c000 0x400>;
165953ab4af3SHans de Goede			interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
1660643ad899SSimon Glass			clocks = <&apb1_gates 15>;
1661643ad899SSimon Glass			status = "disabled";
1662643ad899SSimon Glass			#address-cells = <1>;
1663643ad899SSimon Glass			#size-cells = <0>;
1664643ad899SSimon Glass		};
1665643ad899SSimon Glass
1666643ad899SSimon Glass		gmac: ethernet@01c50000 {
1667643ad899SSimon Glass			compatible = "allwinner,sun7i-a20-gmac";
1668643ad899SSimon Glass			reg = <0x01c50000 0x10000>;
166953ab4af3SHans de Goede			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
1670643ad899SSimon Glass			interrupt-names = "macirq";
1671643ad899SSimon Glass			clocks = <&ahb_gates 49>, <&gmac_tx_clk>;
1672643ad899SSimon Glass			clock-names = "stmmaceth", "allwinner_gmac_tx";
1673643ad899SSimon Glass			snps,pbl = <2>;
1674643ad899SSimon Glass			snps,fixed-burst;
1675643ad899SSimon Glass			snps,force_sf_dma_mode;
1676643ad899SSimon Glass			status = "disabled";
1677643ad899SSimon Glass			#address-cells = <1>;
1678643ad899SSimon Glass			#size-cells = <0>;
1679643ad899SSimon Glass		};
1680643ad899SSimon Glass
1681643ad899SSimon Glass		hstimer@01c60000 {
1682643ad899SSimon Glass			compatible = "allwinner,sun7i-a20-hstimer";
1683643ad899SSimon Glass			reg = <0x01c60000 0x1000>;
168453ab4af3SHans de Goede			interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
168553ab4af3SHans de Goede				     <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
168653ab4af3SHans de Goede				     <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>,
168753ab4af3SHans de Goede				     <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
1688643ad899SSimon Glass			clocks = <&ahb_gates 28>;
1689643ad899SSimon Glass		};
1690643ad899SSimon Glass
1691643ad899SSimon Glass		gic: interrupt-controller@01c81000 {
1692643ad899SSimon Glass			compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic";
1693643ad899SSimon Glass			reg = <0x01c81000 0x1000>,
1694643ad899SSimon Glass			      <0x01c82000 0x1000>,
1695643ad899SSimon Glass			      <0x01c84000 0x2000>,
1696643ad899SSimon Glass			      <0x01c86000 0x2000>;
1697643ad899SSimon Glass			interrupt-controller;
1698643ad899SSimon Glass			#interrupt-cells = <3>;
169953ab4af3SHans de Goede			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
170053ab4af3SHans de Goede		};
170153ab4af3SHans de Goede
170253ab4af3SHans de Goede		ps20: ps2@01c2a000 {
170353ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-ps2";
170453ab4af3SHans de Goede			reg = <0x01c2a000 0x400>;
170553ab4af3SHans de Goede			interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
170653ab4af3SHans de Goede			clocks = <&apb1_gates 6>;
170753ab4af3SHans de Goede			status = "disabled";
170853ab4af3SHans de Goede		};
170953ab4af3SHans de Goede
171053ab4af3SHans de Goede		ps21: ps2@01c2a400 {
171153ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-ps2";
171253ab4af3SHans de Goede			reg = <0x01c2a400 0x400>;
171353ab4af3SHans de Goede			interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
171453ab4af3SHans de Goede			clocks = <&apb1_gates 7>;
171553ab4af3SHans de Goede			status = "disabled";
1716643ad899SSimon Glass		};
1717643ad899SSimon Glass	};
1718643ad899SSimon Glass};
1719