xref: /rk3399_rockchip-uboot/arch/arm/dts/sun4i-a10.dtsi (revision c6b968da78ce3fa7224c0ddf15fe170c7c05b27e)
153ab4af3SHans de Goede/*
253ab4af3SHans de Goede * Copyright 2012 Stefan Roese
353ab4af3SHans de Goede * Stefan Roese <sr@denx.de>
453ab4af3SHans de Goede *
553ab4af3SHans de Goede * This file is dual-licensed: you can use it either under the terms
653ab4af3SHans de Goede * of the GPL or the X11 license, at your option. Note that this dual
753ab4af3SHans de Goede * licensing only applies to this file, and not this project as a
853ab4af3SHans de Goede * whole.
953ab4af3SHans de Goede *
1053ab4af3SHans de Goede *  a) This library is free software; you can redistribute it and/or
1153ab4af3SHans de Goede *     modify it under the terms of the GNU General Public License as
1253ab4af3SHans de Goede *     published by the Free Software Foundation; either version 2 of the
1353ab4af3SHans de Goede *     License, or (at your option) any later version.
1453ab4af3SHans de Goede *
1553ab4af3SHans de Goede *     This library is distributed in the hope that it will be useful,
1653ab4af3SHans de Goede *     but WITHOUT ANY WARRANTY; without even the implied warranty of
1753ab4af3SHans de Goede *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1853ab4af3SHans de Goede *     GNU General Public License for more details.
1953ab4af3SHans de Goede *
2053ab4af3SHans de Goede * Or, alternatively,
2153ab4af3SHans de Goede *
2253ab4af3SHans de Goede *  b) Permission is hereby granted, free of charge, to any person
2353ab4af3SHans de Goede *     obtaining a copy of this software and associated documentation
2453ab4af3SHans de Goede *     files (the "Software"), to deal in the Software without
2553ab4af3SHans de Goede *     restriction, including without limitation the rights to use,
2653ab4af3SHans de Goede *     copy, modify, merge, publish, distribute, sublicense, and/or
2753ab4af3SHans de Goede *     sell copies of the Software, and to permit persons to whom the
2853ab4af3SHans de Goede *     Software is furnished to do so, subject to the following
2953ab4af3SHans de Goede *     conditions:
3053ab4af3SHans de Goede *
3153ab4af3SHans de Goede *     The above copyright notice and this permission notice shall be
3253ab4af3SHans de Goede *     included in all copies or substantial portions of the Software.
3353ab4af3SHans de Goede *
3453ab4af3SHans de Goede *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
3553ab4af3SHans de Goede *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
3653ab4af3SHans de Goede *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
3753ab4af3SHans de Goede *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
3853ab4af3SHans de Goede *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
3953ab4af3SHans de Goede *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
4053ab4af3SHans de Goede *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
4153ab4af3SHans de Goede *     OTHER DEALINGS IN THE SOFTWARE.
4253ab4af3SHans de Goede */
4353ab4af3SHans de Goede
4453ab4af3SHans de Goede#include "skeleton.dtsi"
4553ab4af3SHans de Goede
4653ab4af3SHans de Goede#include <dt-bindings/thermal/thermal.h>
4753ab4af3SHans de Goede
4880e5f83cSHans de Goede#include <dt-bindings/clock/sun4i-a10-pll2.h>
4953ab4af3SHans de Goede#include <dt-bindings/dma/sun4i-a10.h>
5053ab4af3SHans de Goede#include <dt-bindings/pinctrl/sun4i-a10.h>
5153ab4af3SHans de Goede
5253ab4af3SHans de Goede/ {
5353ab4af3SHans de Goede	interrupt-parent = <&intc>;
5453ab4af3SHans de Goede
5553ab4af3SHans de Goede	aliases {
5653ab4af3SHans de Goede		ethernet0 = &emac;
5753ab4af3SHans de Goede	};
5853ab4af3SHans de Goede
5953ab4af3SHans de Goede	chosen {
6053ab4af3SHans de Goede		#address-cells = <1>;
6153ab4af3SHans de Goede		#size-cells = <1>;
6253ab4af3SHans de Goede		ranges;
6353ab4af3SHans de Goede
6453ab4af3SHans de Goede		framebuffer@0 {
658b1ba941SHans de Goede			compatible = "allwinner,simple-framebuffer",
668b1ba941SHans de Goede				     "simple-framebuffer";
6753ab4af3SHans de Goede			allwinner,pipeline = "de_be0-lcd0-hdmi";
68*860fbdd4SHans de Goede			clocks = <&ahb_gates 36>, <&ahb_gates 43>,
69*860fbdd4SHans de Goede				 <&ahb_gates 44>, <&de_be0_clk>,
70*860fbdd4SHans de Goede				 <&tcon0_ch1_clk>, <&dram_gates 26>;
7153ab4af3SHans de Goede			status = "disabled";
7253ab4af3SHans de Goede		};
7353ab4af3SHans de Goede
7453ab4af3SHans de Goede		framebuffer@1 {
758b1ba941SHans de Goede			compatible = "allwinner,simple-framebuffer",
768b1ba941SHans de Goede				     "simple-framebuffer";
7753ab4af3SHans de Goede			allwinner,pipeline = "de_fe0-de_be0-lcd0-hdmi";
78*860fbdd4SHans de Goede			clocks = <&ahb_gates 36>, <&ahb_gates 43>,
7980e5f83cSHans de Goede				 <&ahb_gates 44>, <&ahb_gates 46>,
80*860fbdd4SHans de Goede				 <&de_be0_clk>, <&de_fe0_clk>, <&tcon0_ch1_clk>,
8180e5f83cSHans de Goede				 <&dram_gates 25>, <&dram_gates 26>;
8253ab4af3SHans de Goede			status = "disabled";
8353ab4af3SHans de Goede		};
8453ab4af3SHans de Goede
8553ab4af3SHans de Goede		framebuffer@2 {
8653ab4af3SHans de Goede			compatible = "allwinner,simple-framebuffer",
8753ab4af3SHans de Goede				     "simple-framebuffer";
8853ab4af3SHans de Goede			allwinner,pipeline = "de_fe0-de_be0-lcd0";
89*860fbdd4SHans de Goede			clocks = <&ahb_gates 36>, <&ahb_gates 44>, <&ahb_gates 46>,
90*860fbdd4SHans de Goede				 <&de_be0_clk>, <&de_fe0_clk>, <&tcon0_ch0_clk>,
91*860fbdd4SHans de Goede				 <&dram_gates 25>, <&dram_gates 26>;
9253ab4af3SHans de Goede			status = "disabled";
9353ab4af3SHans de Goede		};
9453ab4af3SHans de Goede
9553ab4af3SHans de Goede		framebuffer@3 {
9653ab4af3SHans de Goede			compatible = "allwinner,simple-framebuffer",
9753ab4af3SHans de Goede				     "simple-framebuffer";
9853ab4af3SHans de Goede			allwinner,pipeline = "de_fe0-de_be0-lcd0-tve0";
99*860fbdd4SHans de Goede			clocks = <&ahb_gates 34>, <&ahb_gates 36>,
10080e5f83cSHans de Goede				 <&ahb_gates 44>, <&ahb_gates 46>,
101*860fbdd4SHans de Goede				 <&de_be0_clk>, <&de_fe0_clk>,
102*860fbdd4SHans de Goede				 <&tcon0_ch1_clk>, <&dram_gates 5>,
10380e5f83cSHans de Goede				 <&dram_gates 25>, <&dram_gates 26>;
10453ab4af3SHans de Goede			status = "disabled";
10553ab4af3SHans de Goede		};
10653ab4af3SHans de Goede	};
10753ab4af3SHans de Goede
10853ab4af3SHans de Goede	cpus {
10953ab4af3SHans de Goede		#address-cells = <1>;
11053ab4af3SHans de Goede		#size-cells = <0>;
11153ab4af3SHans de Goede		cpu0: cpu@0 {
11253ab4af3SHans de Goede			device_type = "cpu";
11353ab4af3SHans de Goede			compatible = "arm,cortex-a8";
11453ab4af3SHans de Goede			reg = <0x0>;
11553ab4af3SHans de Goede			clocks = <&cpu>;
11653ab4af3SHans de Goede			clock-latency = <244144>; /* 8 32k periods */
11753ab4af3SHans de Goede			operating-points = <
11853ab4af3SHans de Goede				/* kHz	  uV */
11953ab4af3SHans de Goede				1008000 1400000
12053ab4af3SHans de Goede				912000	1350000
12153ab4af3SHans de Goede				864000	1300000
12253ab4af3SHans de Goede				624000	1250000
12353ab4af3SHans de Goede				>;
12453ab4af3SHans de Goede			#cooling-cells = <2>;
12553ab4af3SHans de Goede			cooling-min-level = <0>;
12653ab4af3SHans de Goede			cooling-max-level = <3>;
12753ab4af3SHans de Goede		};
12853ab4af3SHans de Goede	};
12953ab4af3SHans de Goede
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 = <850000>;
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
16253ab4af3SHans de Goede	memory {
16353ab4af3SHans de Goede		reg = <0x40000000 0x80000000>;
16453ab4af3SHans de Goede	};
16553ab4af3SHans de Goede
16653ab4af3SHans de Goede	clocks {
16753ab4af3SHans de Goede		#address-cells = <1>;
16853ab4af3SHans de Goede		#size-cells = <1>;
16953ab4af3SHans de Goede		ranges;
17053ab4af3SHans de Goede
17153ab4af3SHans de Goede		/*
17253ab4af3SHans de Goede		 * This is a dummy clock, to be used as placeholder on
17353ab4af3SHans de Goede		 * other mux clocks when a specific parent clock is not
17453ab4af3SHans de Goede		 * yet implemented. It should be dropped when the driver
17553ab4af3SHans de Goede		 * is complete.
17653ab4af3SHans de Goede		 */
17753ab4af3SHans de Goede		dummy: dummy {
17853ab4af3SHans de Goede			#clock-cells = <0>;
17953ab4af3SHans de Goede			compatible = "fixed-clock";
18053ab4af3SHans de Goede			clock-frequency = <0>;
18153ab4af3SHans de Goede		};
18253ab4af3SHans de Goede
18353ab4af3SHans de Goede		osc24M: clk@01c20050 {
18453ab4af3SHans de Goede			#clock-cells = <0>;
18553ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-osc-clk";
18653ab4af3SHans de Goede			reg = <0x01c20050 0x4>;
18753ab4af3SHans de Goede			clock-frequency = <24000000>;
18853ab4af3SHans de Goede			clock-output-names = "osc24M";
18953ab4af3SHans de Goede		};
19053ab4af3SHans de Goede
191*860fbdd4SHans de Goede		osc3M: osc3M_clk {
192*860fbdd4SHans de Goede			compatible = "fixed-factor-clock";
193*860fbdd4SHans de Goede			#clock-cells = <0>;
194*860fbdd4SHans de Goede			clock-div = <8>;
195*860fbdd4SHans de Goede			clock-mult = <1>;
196*860fbdd4SHans de Goede			clocks = <&osc24M>;
197*860fbdd4SHans de Goede			clock-output-names = "osc3M";
198*860fbdd4SHans de Goede		};
199*860fbdd4SHans de Goede
20053ab4af3SHans de Goede		osc32k: clk@0 {
20153ab4af3SHans de Goede			#clock-cells = <0>;
20253ab4af3SHans de Goede			compatible = "fixed-clock";
20353ab4af3SHans de Goede			clock-frequency = <32768>;
20453ab4af3SHans de Goede			clock-output-names = "osc32k";
20553ab4af3SHans de Goede		};
20653ab4af3SHans de Goede
20753ab4af3SHans de Goede		pll1: clk@01c20000 {
20853ab4af3SHans de Goede			#clock-cells = <0>;
20953ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-pll1-clk";
21053ab4af3SHans de Goede			reg = <0x01c20000 0x4>;
21153ab4af3SHans de Goede			clocks = <&osc24M>;
21253ab4af3SHans de Goede			clock-output-names = "pll1";
21353ab4af3SHans de Goede		};
21453ab4af3SHans de Goede
21580e5f83cSHans de Goede		pll2: clk@01c20008 {
21680e5f83cSHans de Goede			#clock-cells = <1>;
21780e5f83cSHans de Goede			compatible = "allwinner,sun4i-a10-pll2-clk";
21880e5f83cSHans de Goede			reg = <0x01c20008 0x8>;
21980e5f83cSHans de Goede			clocks = <&osc24M>;
22080e5f83cSHans de Goede			clock-output-names = "pll2-1x", "pll2-2x",
22180e5f83cSHans de Goede					     "pll2-4x", "pll2-8x";
22280e5f83cSHans de Goede		};
22380e5f83cSHans de Goede
224*860fbdd4SHans de Goede		pll3: clk@01c20010 {
225*860fbdd4SHans de Goede			#clock-cells = <0>;
226*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-pll3-clk";
227*860fbdd4SHans de Goede			reg = <0x01c20010 0x4>;
228*860fbdd4SHans de Goede			clocks = <&osc3M>;
229*860fbdd4SHans de Goede			clock-output-names = "pll3";
230*860fbdd4SHans de Goede		};
231*860fbdd4SHans de Goede
232*860fbdd4SHans de Goede		pll3x2: pll3x2_clk {
233*860fbdd4SHans de Goede			compatible = "fixed-factor-clock";
234*860fbdd4SHans de Goede			#clock-cells = <0>;
235*860fbdd4SHans de Goede			clock-div = <1>;
236*860fbdd4SHans de Goede			clock-mult = <2>;
237*860fbdd4SHans de Goede			clocks = <&pll3>;
238*860fbdd4SHans de Goede			clock-output-names = "pll3-2x";
239*860fbdd4SHans de Goede		};
240*860fbdd4SHans de Goede
24153ab4af3SHans de Goede		pll4: clk@01c20018 {
24253ab4af3SHans de Goede			#clock-cells = <0>;
24353ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-pll1-clk";
24453ab4af3SHans de Goede			reg = <0x01c20018 0x4>;
24553ab4af3SHans de Goede			clocks = <&osc24M>;
24653ab4af3SHans de Goede			clock-output-names = "pll4";
24753ab4af3SHans de Goede		};
24853ab4af3SHans de Goede
24953ab4af3SHans de Goede		pll5: clk@01c20020 {
25053ab4af3SHans de Goede			#clock-cells = <1>;
25153ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-pll5-clk";
25253ab4af3SHans de Goede			reg = <0x01c20020 0x4>;
25353ab4af3SHans de Goede			clocks = <&osc24M>;
25453ab4af3SHans de Goede			clock-output-names = "pll5_ddr", "pll5_other";
25553ab4af3SHans de Goede		};
25653ab4af3SHans de Goede
25753ab4af3SHans de Goede		pll6: clk@01c20028 {
25853ab4af3SHans de Goede			#clock-cells = <1>;
25953ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-pll6-clk";
26053ab4af3SHans de Goede			reg = <0x01c20028 0x4>;
26153ab4af3SHans de Goede			clocks = <&osc24M>;
26253ab4af3SHans de Goede			clock-output-names = "pll6_sata", "pll6_other", "pll6";
26353ab4af3SHans de Goede		};
26453ab4af3SHans de Goede
265*860fbdd4SHans de Goede		pll7: clk@01c20030 {
266*860fbdd4SHans de Goede			#clock-cells = <0>;
267*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-pll3-clk";
268*860fbdd4SHans de Goede			reg = <0x01c20030 0x4>;
269*860fbdd4SHans de Goede			clocks = <&osc3M>;
270*860fbdd4SHans de Goede			clock-output-names = "pll7";
271*860fbdd4SHans de Goede		};
272*860fbdd4SHans de Goede
273*860fbdd4SHans de Goede		pll7x2: pll7x2_clk {
274*860fbdd4SHans de Goede			compatible = "fixed-factor-clock";
275*860fbdd4SHans de Goede			#clock-cells = <0>;
276*860fbdd4SHans de Goede			clock-div = <1>;
277*860fbdd4SHans de Goede			clock-mult = <2>;
278*860fbdd4SHans de Goede			clocks = <&pll7>;
279*860fbdd4SHans de Goede			clock-output-names = "pll7-2x";
280*860fbdd4SHans de Goede		};
281*860fbdd4SHans de Goede
28253ab4af3SHans de Goede		/* dummy is 200M */
28353ab4af3SHans de Goede		cpu: cpu@01c20054 {
28453ab4af3SHans de Goede			#clock-cells = <0>;
28553ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-cpu-clk";
28653ab4af3SHans de Goede			reg = <0x01c20054 0x4>;
28753ab4af3SHans de Goede			clocks = <&osc32k>, <&osc24M>, <&pll1>, <&dummy>;
28853ab4af3SHans de Goede			clock-output-names = "cpu";
28953ab4af3SHans de Goede		};
29053ab4af3SHans de Goede
29153ab4af3SHans de Goede		axi: axi@01c20054 {
29253ab4af3SHans de Goede			#clock-cells = <0>;
29353ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-axi-clk";
29453ab4af3SHans de Goede			reg = <0x01c20054 0x4>;
29553ab4af3SHans de Goede			clocks = <&cpu>;
29653ab4af3SHans de Goede			clock-output-names = "axi";
29753ab4af3SHans de Goede		};
29853ab4af3SHans de Goede
29953ab4af3SHans de Goede		axi_gates: clk@01c2005c {
30053ab4af3SHans de Goede			#clock-cells = <1>;
30153ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-axi-gates-clk";
30253ab4af3SHans de Goede			reg = <0x01c2005c 0x4>;
30353ab4af3SHans de Goede			clocks = <&axi>;
30480e5f83cSHans de Goede			clock-indices = <0>;
30553ab4af3SHans de Goede			clock-output-names = "axi_dram";
30653ab4af3SHans de Goede		};
30753ab4af3SHans de Goede
30853ab4af3SHans de Goede		ahb: ahb@01c20054 {
30953ab4af3SHans de Goede			#clock-cells = <0>;
31053ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-ahb-clk";
31153ab4af3SHans de Goede			reg = <0x01c20054 0x4>;
31253ab4af3SHans de Goede			clocks = <&axi>;
31353ab4af3SHans de Goede			clock-output-names = "ahb";
31453ab4af3SHans de Goede		};
31553ab4af3SHans de Goede
31653ab4af3SHans de Goede		ahb_gates: clk@01c20060 {
31753ab4af3SHans de Goede			#clock-cells = <1>;
31853ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-ahb-gates-clk";
31953ab4af3SHans de Goede			reg = <0x01c20060 0x8>;
32053ab4af3SHans de Goede			clocks = <&ahb>;
32180e5f83cSHans de Goede			clock-indices = <0>, <1>,
32280e5f83cSHans de Goede					<2>, <3>,
32380e5f83cSHans de Goede					<4>, <5>, <6>,
32480e5f83cSHans de Goede					<7>, <8>, <9>,
32580e5f83cSHans de Goede					<10>, <11>, <12>,
32680e5f83cSHans de Goede					<13>, <14>, <16>,
32780e5f83cSHans de Goede					<17>, <18>, <20>,
32880e5f83cSHans de Goede					<21>, <22>, <23>,
32980e5f83cSHans de Goede					<24>, <25>, <26>,
33080e5f83cSHans de Goede					<32>, <33>, <34>,
33180e5f83cSHans de Goede					<35>, <36>, <37>,
33280e5f83cSHans de Goede					<40>, <41>, <43>,
33380e5f83cSHans de Goede					<44>, <45>,
33480e5f83cSHans de Goede					<46>, <47>,
33580e5f83cSHans de Goede					<50>, <52>;
33653ab4af3SHans de Goede			clock-output-names = "ahb_usb0", "ahb_ehci0",
33780e5f83cSHans de Goede					     "ahb_ohci0", "ahb_ehci1",
33880e5f83cSHans de Goede					     "ahb_ohci1", "ahb_ss", "ahb_dma",
33980e5f83cSHans de Goede					     "ahb_bist", "ahb_mmc0", "ahb_mmc1",
34080e5f83cSHans de Goede					     "ahb_mmc2", "ahb_mmc3", "ahb_ms",
34180e5f83cSHans de Goede					     "ahb_nand", "ahb_sdram", "ahb_ace",
34280e5f83cSHans de Goede					     "ahb_emac", "ahb_ts", "ahb_spi0",
34380e5f83cSHans de Goede					     "ahb_spi1", "ahb_spi2", "ahb_spi3",
34480e5f83cSHans de Goede					     "ahb_pata", "ahb_sata", "ahb_gps",
34580e5f83cSHans de Goede					     "ahb_ve", "ahb_tvd", "ahb_tve0",
34680e5f83cSHans de Goede					     "ahb_tve1", "ahb_lcd0", "ahb_lcd1",
34780e5f83cSHans de Goede					     "ahb_csi0", "ahb_csi1", "ahb_hdmi",
34880e5f83cSHans de Goede					     "ahb_de_be0", "ahb_de_be1",
34980e5f83cSHans de Goede					     "ahb_de_fe0", "ahb_de_fe1",
35080e5f83cSHans de Goede					     "ahb_mp", "ahb_mali400";
35153ab4af3SHans de Goede		};
35253ab4af3SHans de Goede
35353ab4af3SHans de Goede		apb0: apb0@01c20054 {
35453ab4af3SHans de Goede			#clock-cells = <0>;
35553ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-apb0-clk";
35653ab4af3SHans de Goede			reg = <0x01c20054 0x4>;
35753ab4af3SHans de Goede			clocks = <&ahb>;
35853ab4af3SHans de Goede			clock-output-names = "apb0";
35953ab4af3SHans de Goede		};
36053ab4af3SHans de Goede
36153ab4af3SHans de Goede		apb0_gates: clk@01c20068 {
36253ab4af3SHans de Goede			#clock-cells = <1>;
36353ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-apb0-gates-clk";
36453ab4af3SHans de Goede			reg = <0x01c20068 0x4>;
36553ab4af3SHans de Goede			clocks = <&apb0>;
36680e5f83cSHans de Goede			clock-indices = <0>, <1>,
36780e5f83cSHans de Goede					<2>, <3>,
36880e5f83cSHans de Goede					<5>, <6>,
36980e5f83cSHans de Goede					<7>, <10>;
37053ab4af3SHans de Goede			clock-output-names = "apb0_codec", "apb0_spdif",
37180e5f83cSHans de Goede					     "apb0_ac97", "apb0_iis",
37280e5f83cSHans de Goede					     "apb0_pio", "apb0_ir0",
37353ab4af3SHans de Goede					     "apb0_ir1", "apb0_keypad";
37453ab4af3SHans de Goede		};
37553ab4af3SHans de Goede
37653ab4af3SHans de Goede		apb1: clk@01c20058 {
37753ab4af3SHans de Goede			#clock-cells = <0>;
37853ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-apb1-clk";
37953ab4af3SHans de Goede			reg = <0x01c20058 0x4>;
38053ab4af3SHans de Goede			clocks = <&osc24M>, <&pll6 1>, <&osc32k>;
38153ab4af3SHans de Goede			clock-output-names = "apb1";
38253ab4af3SHans de Goede		};
38353ab4af3SHans de Goede
38453ab4af3SHans de Goede		apb1_gates: clk@01c2006c {
38553ab4af3SHans de Goede			#clock-cells = <1>;
38653ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-apb1-gates-clk";
38753ab4af3SHans de Goede			reg = <0x01c2006c 0x4>;
38853ab4af3SHans de Goede			clocks = <&apb1>;
38980e5f83cSHans de Goede			clock-indices = <0>, <1>,
39080e5f83cSHans de Goede					<2>, <4>,
39180e5f83cSHans de Goede					<5>, <6>,
39280e5f83cSHans de Goede					<7>, <16>,
39380e5f83cSHans de Goede					<17>, <18>,
39480e5f83cSHans de Goede					<19>, <20>,
39580e5f83cSHans de Goede					<21>, <22>,
39680e5f83cSHans de Goede					<23>;
39753ab4af3SHans de Goede			clock-output-names = "apb1_i2c0", "apb1_i2c1",
39880e5f83cSHans de Goede					     "apb1_i2c2", "apb1_can",
39980e5f83cSHans de Goede					     "apb1_scr", "apb1_ps20",
40080e5f83cSHans de Goede					     "apb1_ps21", "apb1_uart0",
40180e5f83cSHans de Goede					     "apb1_uart1", "apb1_uart2",
40280e5f83cSHans de Goede					     "apb1_uart3", "apb1_uart4",
40380e5f83cSHans de Goede					     "apb1_uart5", "apb1_uart6",
40453ab4af3SHans de Goede					     "apb1_uart7";
40553ab4af3SHans de Goede		};
40653ab4af3SHans de Goede
40753ab4af3SHans de Goede		nand_clk: clk@01c20080 {
40853ab4af3SHans de Goede			#clock-cells = <0>;
40953ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mod0-clk";
41053ab4af3SHans de Goede			reg = <0x01c20080 0x4>;
41153ab4af3SHans de Goede			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
41253ab4af3SHans de Goede			clock-output-names = "nand";
41353ab4af3SHans de Goede		};
41453ab4af3SHans de Goede
41553ab4af3SHans de Goede		ms_clk: clk@01c20084 {
41653ab4af3SHans de Goede			#clock-cells = <0>;
41753ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mod0-clk";
41853ab4af3SHans de Goede			reg = <0x01c20084 0x4>;
41953ab4af3SHans de Goede			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
42053ab4af3SHans de Goede			clock-output-names = "ms";
42153ab4af3SHans de Goede		};
42253ab4af3SHans de Goede
42353ab4af3SHans de Goede		mmc0_clk: clk@01c20088 {
42453ab4af3SHans de Goede			#clock-cells = <1>;
42553ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mmc-clk";
42653ab4af3SHans de Goede			reg = <0x01c20088 0x4>;
42753ab4af3SHans de Goede			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
42853ab4af3SHans de Goede			clock-output-names = "mmc0",
42953ab4af3SHans de Goede					     "mmc0_output",
43053ab4af3SHans de Goede					     "mmc0_sample";
43153ab4af3SHans de Goede		};
43253ab4af3SHans de Goede
43353ab4af3SHans de Goede		mmc1_clk: clk@01c2008c {
43453ab4af3SHans de Goede			#clock-cells = <1>;
43553ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mmc-clk";
43653ab4af3SHans de Goede			reg = <0x01c2008c 0x4>;
43753ab4af3SHans de Goede			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
43853ab4af3SHans de Goede			clock-output-names = "mmc1",
43953ab4af3SHans de Goede					     "mmc1_output",
44053ab4af3SHans de Goede					     "mmc1_sample";
44153ab4af3SHans de Goede		};
44253ab4af3SHans de Goede
44353ab4af3SHans de Goede		mmc2_clk: clk@01c20090 {
44453ab4af3SHans de Goede			#clock-cells = <1>;
44553ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mmc-clk";
44653ab4af3SHans de Goede			reg = <0x01c20090 0x4>;
44753ab4af3SHans de Goede			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
44853ab4af3SHans de Goede			clock-output-names = "mmc2",
44953ab4af3SHans de Goede					     "mmc2_output",
45053ab4af3SHans de Goede					     "mmc2_sample";
45153ab4af3SHans de Goede		};
45253ab4af3SHans de Goede
45353ab4af3SHans de Goede		mmc3_clk: clk@01c20094 {
45453ab4af3SHans de Goede			#clock-cells = <1>;
45553ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mmc-clk";
45653ab4af3SHans de Goede			reg = <0x01c20094 0x4>;
45753ab4af3SHans de Goede			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
45853ab4af3SHans de Goede			clock-output-names = "mmc3",
45953ab4af3SHans de Goede					     "mmc3_output",
46053ab4af3SHans de Goede					     "mmc3_sample";
46153ab4af3SHans de Goede		};
46253ab4af3SHans de Goede
46353ab4af3SHans de Goede		ts_clk: clk@01c20098 {
46453ab4af3SHans de Goede			#clock-cells = <0>;
46553ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mod0-clk";
46653ab4af3SHans de Goede			reg = <0x01c20098 0x4>;
46753ab4af3SHans de Goede			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
46853ab4af3SHans de Goede			clock-output-names = "ts";
46953ab4af3SHans de Goede		};
47053ab4af3SHans de Goede
47153ab4af3SHans de Goede		ss_clk: clk@01c2009c {
47253ab4af3SHans de Goede			#clock-cells = <0>;
47353ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mod0-clk";
47453ab4af3SHans de Goede			reg = <0x01c2009c 0x4>;
47553ab4af3SHans de Goede			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
47653ab4af3SHans de Goede			clock-output-names = "ss";
47753ab4af3SHans de Goede		};
47853ab4af3SHans de Goede
47953ab4af3SHans de Goede		spi0_clk: clk@01c200a0 {
48053ab4af3SHans de Goede			#clock-cells = <0>;
48153ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mod0-clk";
48253ab4af3SHans de Goede			reg = <0x01c200a0 0x4>;
48353ab4af3SHans de Goede			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
48453ab4af3SHans de Goede			clock-output-names = "spi0";
48553ab4af3SHans de Goede		};
48653ab4af3SHans de Goede
48753ab4af3SHans de Goede		spi1_clk: clk@01c200a4 {
48853ab4af3SHans de Goede			#clock-cells = <0>;
48953ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mod0-clk";
49053ab4af3SHans de Goede			reg = <0x01c200a4 0x4>;
49153ab4af3SHans de Goede			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
49253ab4af3SHans de Goede			clock-output-names = "spi1";
49353ab4af3SHans de Goede		};
49453ab4af3SHans de Goede
49553ab4af3SHans de Goede		spi2_clk: clk@01c200a8 {
49653ab4af3SHans de Goede			#clock-cells = <0>;
49753ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mod0-clk";
49853ab4af3SHans de Goede			reg = <0x01c200a8 0x4>;
49953ab4af3SHans de Goede			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
50053ab4af3SHans de Goede			clock-output-names = "spi2";
50153ab4af3SHans de Goede		};
50253ab4af3SHans de Goede
50353ab4af3SHans de Goede		pata_clk: clk@01c200ac {
50453ab4af3SHans de Goede			#clock-cells = <0>;
50553ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mod0-clk";
50653ab4af3SHans de Goede			reg = <0x01c200ac 0x4>;
50753ab4af3SHans de Goede			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
50853ab4af3SHans de Goede			clock-output-names = "pata";
50953ab4af3SHans de Goede		};
51053ab4af3SHans de Goede
51153ab4af3SHans de Goede		ir0_clk: clk@01c200b0 {
51253ab4af3SHans de Goede			#clock-cells = <0>;
51353ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mod0-clk";
51453ab4af3SHans de Goede			reg = <0x01c200b0 0x4>;
51553ab4af3SHans de Goede			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
51653ab4af3SHans de Goede			clock-output-names = "ir0";
51753ab4af3SHans de Goede		};
51853ab4af3SHans de Goede
51953ab4af3SHans de Goede		ir1_clk: clk@01c200b4 {
52053ab4af3SHans de Goede			#clock-cells = <0>;
52153ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mod0-clk";
52253ab4af3SHans de Goede			reg = <0x01c200b4 0x4>;
52353ab4af3SHans de Goede			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
52453ab4af3SHans de Goede			clock-output-names = "ir1";
52553ab4af3SHans de Goede		};
52653ab4af3SHans de Goede
527*860fbdd4SHans de Goede		spdif_clk: clk@01c200c0 {
528*860fbdd4SHans de Goede			#clock-cells = <0>;
529*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-mod1-clk";
530*860fbdd4SHans de Goede			reg = <0x01c200c0 0x4>;
531*860fbdd4SHans de Goede			clocks = <&pll2 SUN4I_A10_PLL2_8X>,
532*860fbdd4SHans de Goede				 <&pll2 SUN4I_A10_PLL2_4X>,
533*860fbdd4SHans de Goede				 <&pll2 SUN4I_A10_PLL2_2X>,
534*860fbdd4SHans de Goede				 <&pll2 SUN4I_A10_PLL2_1X>;
535*860fbdd4SHans de Goede			clock-output-names = "spdif";
536*860fbdd4SHans de Goede		};
537*860fbdd4SHans de Goede
53853ab4af3SHans de Goede		usb_clk: clk@01c200cc {
53953ab4af3SHans de Goede			#clock-cells = <1>;
54053ab4af3SHans de Goede			#reset-cells = <1>;
54153ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-usb-clk";
54253ab4af3SHans de Goede			reg = <0x01c200cc 0x4>;
54353ab4af3SHans de Goede			clocks = <&pll6 1>;
5448b1ba941SHans de Goede			clock-output-names = "usb_ohci0", "usb_ohci1",
5458b1ba941SHans de Goede					     "usb_phy";
54653ab4af3SHans de Goede		};
54753ab4af3SHans de Goede
54853ab4af3SHans de Goede		spi3_clk: clk@01c200d4 {
54953ab4af3SHans de Goede			#clock-cells = <0>;
55053ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mod0-clk";
55153ab4af3SHans de Goede			reg = <0x01c200d4 0x4>;
55253ab4af3SHans de Goede			clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
55353ab4af3SHans de Goede			clock-output-names = "spi3";
55453ab4af3SHans de Goede		};
55580e5f83cSHans de Goede
55680e5f83cSHans de Goede		dram_gates: clk@01c20100 {
55780e5f83cSHans de Goede			#clock-cells = <1>;
55880e5f83cSHans de Goede			compatible = "allwinner,sun4i-a10-dram-gates-clk";
55980e5f83cSHans de Goede			reg = <0x01c20100 0x4>;
56080e5f83cSHans de Goede			clocks = <&pll5 0>;
56180e5f83cSHans de Goede			clock-indices = <0>,
56280e5f83cSHans de Goede					<1>, <2>,
56380e5f83cSHans de Goede					<3>,
56480e5f83cSHans de Goede					<4>,
56580e5f83cSHans de Goede					<5>, <6>,
56680e5f83cSHans de Goede					<15>,
56780e5f83cSHans de Goede					<24>, <25>,
56880e5f83cSHans de Goede					<26>, <27>,
56980e5f83cSHans de Goede					<28>, <29>;
57080e5f83cSHans de Goede			clock-output-names = "dram_ve",
57180e5f83cSHans de Goede					     "dram_csi0", "dram_csi1",
57280e5f83cSHans de Goede					     "dram_ts",
57380e5f83cSHans de Goede					     "dram_tvd",
57480e5f83cSHans de Goede					     "dram_tve0", "dram_tve1",
57580e5f83cSHans de Goede					     "dram_output",
57680e5f83cSHans de Goede					     "dram_de_fe1", "dram_de_fe0",
57780e5f83cSHans de Goede					     "dram_de_be0", "dram_de_be1",
57880e5f83cSHans de Goede					     "dram_de_mp", "dram_ace";
57980e5f83cSHans de Goede		};
58080e5f83cSHans de Goede
581*860fbdd4SHans de Goede		de_be0_clk: clk@01c20104 {
582*860fbdd4SHans de Goede			#clock-cells = <0>;
583*860fbdd4SHans de Goede			#reset-cells = <0>;
584*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-display-clk";
585*860fbdd4SHans de Goede			reg = <0x01c20104 0x4>;
586*860fbdd4SHans de Goede			clocks = <&pll3>, <&pll7>, <&pll5 1>;
587*860fbdd4SHans de Goede			clock-output-names = "de-be0";
588*860fbdd4SHans de Goede		};
589*860fbdd4SHans de Goede
590*860fbdd4SHans de Goede		de_be1_clk: clk@01c20108 {
591*860fbdd4SHans de Goede			#clock-cells = <0>;
592*860fbdd4SHans de Goede			#reset-cells = <0>;
593*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-display-clk";
594*860fbdd4SHans de Goede			reg = <0x01c20108 0x4>;
595*860fbdd4SHans de Goede			clocks = <&pll3>, <&pll7>, <&pll5 1>;
596*860fbdd4SHans de Goede			clock-output-names = "de-be1";
597*860fbdd4SHans de Goede		};
598*860fbdd4SHans de Goede
599*860fbdd4SHans de Goede		de_fe0_clk: clk@01c2010c {
600*860fbdd4SHans de Goede			#clock-cells = <0>;
601*860fbdd4SHans de Goede			#reset-cells = <0>;
602*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-display-clk";
603*860fbdd4SHans de Goede			reg = <0x01c2010c 0x4>;
604*860fbdd4SHans de Goede			clocks = <&pll3>, <&pll7>, <&pll5 1>;
605*860fbdd4SHans de Goede			clock-output-names = "de-fe0";
606*860fbdd4SHans de Goede		};
607*860fbdd4SHans de Goede
608*860fbdd4SHans de Goede		de_fe1_clk: clk@01c20110 {
609*860fbdd4SHans de Goede			#clock-cells = <0>;
610*860fbdd4SHans de Goede			#reset-cells = <0>;
611*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-display-clk";
612*860fbdd4SHans de Goede			reg = <0x01c20110 0x4>;
613*860fbdd4SHans de Goede			clocks = <&pll3>, <&pll7>, <&pll5 1>;
614*860fbdd4SHans de Goede			clock-output-names = "de-fe1";
615*860fbdd4SHans de Goede		};
616*860fbdd4SHans de Goede
617*860fbdd4SHans de Goede
618*860fbdd4SHans de Goede		tcon0_ch0_clk: clk@01c20118 {
619*860fbdd4SHans de Goede			#clock-cells = <0>;
620*860fbdd4SHans de Goede			#reset-cells = <1>;
621*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-tcon-ch0-clk";
622*860fbdd4SHans de Goede			reg = <0x01c20118 0x4>;
623*860fbdd4SHans de Goede			clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>;
624*860fbdd4SHans de Goede			clock-output-names = "tcon0-ch0-sclk";
625*860fbdd4SHans de Goede
626*860fbdd4SHans de Goede		};
627*860fbdd4SHans de Goede
628*860fbdd4SHans de Goede		tcon1_ch0_clk: clk@01c2011c {
629*860fbdd4SHans de Goede			#clock-cells = <0>;
630*860fbdd4SHans de Goede			#reset-cells = <1>;
631*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-tcon-ch1-clk";
632*860fbdd4SHans de Goede			reg = <0x01c2011c 0x4>;
633*860fbdd4SHans de Goede			clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>;
634*860fbdd4SHans de Goede			clock-output-names = "tcon1-ch0-sclk";
635*860fbdd4SHans de Goede
636*860fbdd4SHans de Goede		};
637*860fbdd4SHans de Goede
638*860fbdd4SHans de Goede		tcon0_ch1_clk: clk@01c2012c {
639*860fbdd4SHans de Goede			#clock-cells = <0>;
640*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-tcon-ch0-clk";
641*860fbdd4SHans de Goede			reg = <0x01c2012c 0x4>;
642*860fbdd4SHans de Goede			clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>;
643*860fbdd4SHans de Goede			clock-output-names = "tcon0-ch1-sclk";
644*860fbdd4SHans de Goede
645*860fbdd4SHans de Goede		};
646*860fbdd4SHans de Goede
647*860fbdd4SHans de Goede		tcon1_ch1_clk: clk@01c20130 {
648*860fbdd4SHans de Goede			#clock-cells = <0>;
649*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-tcon-ch1-clk";
650*860fbdd4SHans de Goede			reg = <0x01c20130 0x4>;
651*860fbdd4SHans de Goede			clocks = <&pll3>, <&pll7>, <&pll3x2>, <&pll7x2>;
652*860fbdd4SHans de Goede			clock-output-names = "tcon1-ch1-sclk";
653*860fbdd4SHans de Goede
654*860fbdd4SHans de Goede		};
655*860fbdd4SHans de Goede
65680e5f83cSHans de Goede		ve_clk: clk@01c2013c {
65780e5f83cSHans de Goede			#clock-cells = <0>;
65880e5f83cSHans de Goede			#reset-cells = <0>;
65980e5f83cSHans de Goede			compatible = "allwinner,sun4i-a10-ve-clk";
66080e5f83cSHans de Goede			reg = <0x01c2013c 0x4>;
66180e5f83cSHans de Goede			clocks = <&pll4>;
66280e5f83cSHans de Goede			clock-output-names = "ve";
66380e5f83cSHans de Goede		};
66480e5f83cSHans de Goede
66580e5f83cSHans de Goede		codec_clk: clk@01c20140 {
66680e5f83cSHans de Goede			#clock-cells = <0>;
66780e5f83cSHans de Goede			compatible = "allwinner,sun4i-a10-codec-clk";
66880e5f83cSHans de Goede			reg = <0x01c20140 0x4>;
66980e5f83cSHans de Goede			clocks = <&pll2 SUN4I_A10_PLL2_1X>;
67080e5f83cSHans de Goede			clock-output-names = "codec";
67180e5f83cSHans de Goede		};
67253ab4af3SHans de Goede	};
67353ab4af3SHans de Goede
67453ab4af3SHans de Goede	soc@01c00000 {
67553ab4af3SHans de Goede		compatible = "simple-bus";
67653ab4af3SHans de Goede		#address-cells = <1>;
67753ab4af3SHans de Goede		#size-cells = <1>;
67853ab4af3SHans de Goede		ranges;
67953ab4af3SHans de Goede
68053ab4af3SHans de Goede		sram-controller@01c00000 {
68153ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-sram-controller";
68253ab4af3SHans de Goede			reg = <0x01c00000 0x30>;
6838b1ba941SHans de Goede			#address-cells = <1>;
6848b1ba941SHans de Goede			#size-cells = <1>;
6858b1ba941SHans de Goede			ranges;
6868b1ba941SHans de Goede
6878b1ba941SHans de Goede			sram_a: sram@00000000 {
6888b1ba941SHans de Goede				compatible = "mmio-sram";
6898b1ba941SHans de Goede				reg = <0x00000000 0xc000>;
6908b1ba941SHans de Goede				#address-cells = <1>;
6918b1ba941SHans de Goede				#size-cells = <1>;
6928b1ba941SHans de Goede				ranges = <0 0x00000000 0xc000>;
6938b1ba941SHans de Goede
6948b1ba941SHans de Goede				emac_sram: sram-section@8000 {
6958b1ba941SHans de Goede					compatible = "allwinner,sun4i-a10-sram-a3-a4";
6968b1ba941SHans de Goede					reg = <0x8000 0x4000>;
6978b1ba941SHans de Goede					status = "disabled";
6988b1ba941SHans de Goede				};
6998b1ba941SHans de Goede			};
7008b1ba941SHans de Goede
7018b1ba941SHans de Goede			sram_d: sram@00010000 {
7028b1ba941SHans de Goede				compatible = "mmio-sram";
7038b1ba941SHans de Goede				reg = <0x00010000 0x1000>;
7048b1ba941SHans de Goede				#address-cells = <1>;
7058b1ba941SHans de Goede				#size-cells = <1>;
7068b1ba941SHans de Goede				ranges = <0 0x00010000 0x1000>;
7078b1ba941SHans de Goede
7088b1ba941SHans de Goede				otg_sram: sram-section@0000 {
7098b1ba941SHans de Goede					compatible = "allwinner,sun4i-a10-sram-d";
7108b1ba941SHans de Goede					reg = <0x0000 0x1000>;
7118b1ba941SHans de Goede					status = "disabled";
7128b1ba941SHans de Goede				};
7138b1ba941SHans de Goede			};
71453ab4af3SHans de Goede		};
71553ab4af3SHans de Goede
71653ab4af3SHans de Goede		dma: dma-controller@01c02000 {
71753ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-dma";
71853ab4af3SHans de Goede			reg = <0x01c02000 0x1000>;
71953ab4af3SHans de Goede			interrupts = <27>;
72053ab4af3SHans de Goede			clocks = <&ahb_gates 6>;
72153ab4af3SHans de Goede			#dma-cells = <2>;
72253ab4af3SHans de Goede		};
72353ab4af3SHans de Goede
724*860fbdd4SHans de Goede		nfc: nand@01c03000 {
725*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-nand";
726*860fbdd4SHans de Goede			reg = <0x01c03000 0x1000>;
727*860fbdd4SHans de Goede			interrupts = <37>;
728*860fbdd4SHans de Goede			clocks = <&ahb_gates 13>, <&nand_clk>;
729*860fbdd4SHans de Goede			clock-names = "ahb", "mod";
730*860fbdd4SHans de Goede			dmas = <&dma SUN4I_DMA_DEDICATED 3>;
731*860fbdd4SHans de Goede			dma-names = "rxtx";
732*860fbdd4SHans de Goede			status = "disabled";
733*860fbdd4SHans de Goede			#address-cells = <1>;
734*860fbdd4SHans de Goede			#size-cells = <0>;
735*860fbdd4SHans de Goede		};
736*860fbdd4SHans de Goede
73753ab4af3SHans de Goede		spi0: spi@01c05000 {
73853ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-spi";
73953ab4af3SHans de Goede			reg = <0x01c05000 0x1000>;
74053ab4af3SHans de Goede			interrupts = <10>;
74153ab4af3SHans de Goede			clocks = <&ahb_gates 20>, <&spi0_clk>;
74253ab4af3SHans de Goede			clock-names = "ahb", "mod";
74353ab4af3SHans de Goede			dmas = <&dma SUN4I_DMA_DEDICATED 27>,
74453ab4af3SHans de Goede			       <&dma SUN4I_DMA_DEDICATED 26>;
74553ab4af3SHans de Goede			dma-names = "rx", "tx";
74653ab4af3SHans de Goede			status = "disabled";
74753ab4af3SHans de Goede			#address-cells = <1>;
74853ab4af3SHans de Goede			#size-cells = <0>;
74953ab4af3SHans de Goede		};
75053ab4af3SHans de Goede
75153ab4af3SHans de Goede		spi1: spi@01c06000 {
75253ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-spi";
75353ab4af3SHans de Goede			reg = <0x01c06000 0x1000>;
75453ab4af3SHans de Goede			interrupts = <11>;
75553ab4af3SHans de Goede			clocks = <&ahb_gates 21>, <&spi1_clk>;
75653ab4af3SHans de Goede			clock-names = "ahb", "mod";
75753ab4af3SHans de Goede			dmas = <&dma SUN4I_DMA_DEDICATED 9>,
75853ab4af3SHans de Goede			       <&dma SUN4I_DMA_DEDICATED 8>;
75953ab4af3SHans de Goede			dma-names = "rx", "tx";
76053ab4af3SHans de Goede			status = "disabled";
76153ab4af3SHans de Goede			#address-cells = <1>;
76253ab4af3SHans de Goede			#size-cells = <0>;
76353ab4af3SHans de Goede		};
76453ab4af3SHans de Goede
76553ab4af3SHans de Goede		emac: ethernet@01c0b000 {
76653ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-emac";
76753ab4af3SHans de Goede			reg = <0x01c0b000 0x1000>;
76853ab4af3SHans de Goede			interrupts = <55>;
76953ab4af3SHans de Goede			clocks = <&ahb_gates 17>;
7708b1ba941SHans de Goede			allwinner,sram = <&emac_sram 1>;
77153ab4af3SHans de Goede			status = "disabled";
77253ab4af3SHans de Goede		};
77353ab4af3SHans de Goede
77453ab4af3SHans de Goede		mdio: mdio@01c0b080 {
77553ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mdio";
77653ab4af3SHans de Goede			reg = <0x01c0b080 0x14>;
77753ab4af3SHans de Goede			status = "disabled";
77853ab4af3SHans de Goede			#address-cells = <1>;
77953ab4af3SHans de Goede			#size-cells = <0>;
78053ab4af3SHans de Goede		};
78153ab4af3SHans de Goede
78253ab4af3SHans de Goede		mmc0: mmc@01c0f000 {
78353ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mmc";
78453ab4af3SHans de Goede			reg = <0x01c0f000 0x1000>;
78553ab4af3SHans de Goede			clocks = <&ahb_gates 8>,
78653ab4af3SHans de Goede				 <&mmc0_clk 0>,
78753ab4af3SHans de Goede				 <&mmc0_clk 1>,
78853ab4af3SHans de Goede				 <&mmc0_clk 2>;
78953ab4af3SHans de Goede			clock-names = "ahb",
79053ab4af3SHans de Goede				      "mmc",
79153ab4af3SHans de Goede				      "output",
79253ab4af3SHans de Goede				      "sample";
79353ab4af3SHans de Goede			interrupts = <32>;
79453ab4af3SHans de Goede			status = "disabled";
79553ab4af3SHans de Goede			#address-cells = <1>;
79653ab4af3SHans de Goede			#size-cells = <0>;
79753ab4af3SHans de Goede		};
79853ab4af3SHans de Goede
79953ab4af3SHans de Goede		mmc1: mmc@01c10000 {
80053ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mmc";
80153ab4af3SHans de Goede			reg = <0x01c10000 0x1000>;
80253ab4af3SHans de Goede			clocks = <&ahb_gates 9>,
80353ab4af3SHans de Goede				 <&mmc1_clk 0>,
80453ab4af3SHans de Goede				 <&mmc1_clk 1>,
80553ab4af3SHans de Goede				 <&mmc1_clk 2>;
80653ab4af3SHans de Goede			clock-names = "ahb",
80753ab4af3SHans de Goede				      "mmc",
80853ab4af3SHans de Goede				      "output",
80953ab4af3SHans de Goede				      "sample";
81053ab4af3SHans de Goede			interrupts = <33>;
81153ab4af3SHans de Goede			status = "disabled";
81253ab4af3SHans de Goede			#address-cells = <1>;
81353ab4af3SHans de Goede			#size-cells = <0>;
81453ab4af3SHans de Goede		};
81553ab4af3SHans de Goede
81653ab4af3SHans de Goede		mmc2: mmc@01c11000 {
81753ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mmc";
81853ab4af3SHans de Goede			reg = <0x01c11000 0x1000>;
81953ab4af3SHans de Goede			clocks = <&ahb_gates 10>,
82053ab4af3SHans de Goede				 <&mmc2_clk 0>,
82153ab4af3SHans de Goede				 <&mmc2_clk 1>,
82253ab4af3SHans de Goede				 <&mmc2_clk 2>;
82353ab4af3SHans de Goede			clock-names = "ahb",
82453ab4af3SHans de Goede				      "mmc",
82553ab4af3SHans de Goede				      "output",
82653ab4af3SHans de Goede				      "sample";
82753ab4af3SHans de Goede			interrupts = <34>;
82853ab4af3SHans de Goede			status = "disabled";
82953ab4af3SHans de Goede			#address-cells = <1>;
83053ab4af3SHans de Goede			#size-cells = <0>;
83153ab4af3SHans de Goede		};
83253ab4af3SHans de Goede
83353ab4af3SHans de Goede		mmc3: mmc@01c12000 {
83453ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-mmc";
83553ab4af3SHans de Goede			reg = <0x01c12000 0x1000>;
83653ab4af3SHans de Goede			clocks = <&ahb_gates 11>,
83753ab4af3SHans de Goede				 <&mmc3_clk 0>,
83853ab4af3SHans de Goede				 <&mmc3_clk 1>,
83953ab4af3SHans de Goede				 <&mmc3_clk 2>;
84053ab4af3SHans de Goede			clock-names = "ahb",
84153ab4af3SHans de Goede				      "mmc",
84253ab4af3SHans de Goede				      "output",
84353ab4af3SHans de Goede				      "sample";
84453ab4af3SHans de Goede			interrupts = <35>;
84553ab4af3SHans de Goede			status = "disabled";
84653ab4af3SHans de Goede			#address-cells = <1>;
84753ab4af3SHans de Goede			#size-cells = <0>;
84853ab4af3SHans de Goede		};
84953ab4af3SHans de Goede
850da52a4a3SHans de Goede		usb_otg: usb@01c13000 {
851da52a4a3SHans de Goede			compatible = "allwinner,sun4i-a10-musb";
852da52a4a3SHans de Goede			reg = <0x01c13000 0x0400>;
853da52a4a3SHans de Goede			clocks = <&ahb_gates 0>;
854da52a4a3SHans de Goede			interrupts = <38>;
855da52a4a3SHans de Goede			interrupt-names = "mc";
856da52a4a3SHans de Goede			phys = <&usbphy 0>;
857da52a4a3SHans de Goede			phy-names = "usb";
858da52a4a3SHans de Goede			extcon = <&usbphy 0>;
859da52a4a3SHans de Goede			allwinner,sram = <&otg_sram 1>;
860da52a4a3SHans de Goede			status = "disabled";
861da52a4a3SHans de Goede		};
862da52a4a3SHans de Goede
86353ab4af3SHans de Goede		usbphy: phy@01c13400 {
86453ab4af3SHans de Goede			#phy-cells = <1>;
86553ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-usb-phy";
86653ab4af3SHans de Goede			reg = <0x01c13400 0x10 0x01c14800 0x4 0x01c1c800 0x4>;
86753ab4af3SHans de Goede			reg-names = "phy_ctrl", "pmu1", "pmu2";
86853ab4af3SHans de Goede			clocks = <&usb_clk 8>;
86953ab4af3SHans de Goede			clock-names = "usb_phy";
87053ab4af3SHans de Goede			resets = <&usb_clk 0>, <&usb_clk 1>, <&usb_clk 2>;
87153ab4af3SHans de Goede			reset-names = "usb0_reset", "usb1_reset", "usb2_reset";
87253ab4af3SHans de Goede			status = "disabled";
87353ab4af3SHans de Goede		};
87453ab4af3SHans de Goede
87553ab4af3SHans de Goede		ehci0: usb@01c14000 {
87653ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-ehci", "generic-ehci";
87753ab4af3SHans de Goede			reg = <0x01c14000 0x100>;
87853ab4af3SHans de Goede			interrupts = <39>;
87953ab4af3SHans de Goede			clocks = <&ahb_gates 1>;
88053ab4af3SHans de Goede			phys = <&usbphy 1>;
88153ab4af3SHans de Goede			phy-names = "usb";
88253ab4af3SHans de Goede			status = "disabled";
88353ab4af3SHans de Goede		};
88453ab4af3SHans de Goede
88553ab4af3SHans de Goede		ohci0: usb@01c14400 {
88653ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-ohci", "generic-ohci";
88753ab4af3SHans de Goede			reg = <0x01c14400 0x100>;
88853ab4af3SHans de Goede			interrupts = <64>;
88953ab4af3SHans de Goede			clocks = <&usb_clk 6>, <&ahb_gates 2>;
89053ab4af3SHans de Goede			phys = <&usbphy 1>;
89153ab4af3SHans de Goede			phy-names = "usb";
89253ab4af3SHans de Goede			status = "disabled";
89353ab4af3SHans de Goede		};
89453ab4af3SHans de Goede
89580e5f83cSHans de Goede		crypto: crypto-engine@01c15000 {
89680e5f83cSHans de Goede			compatible = "allwinner,sun4i-a10-crypto";
89780e5f83cSHans de Goede			reg = <0x01c15000 0x1000>;
89880e5f83cSHans de Goede			interrupts = <86>;
89980e5f83cSHans de Goede			clocks = <&ahb_gates 5>, <&ss_clk>;
90080e5f83cSHans de Goede			clock-names = "ahb", "mod";
90180e5f83cSHans de Goede		};
90280e5f83cSHans de Goede
90353ab4af3SHans de Goede		spi2: spi@01c17000 {
90453ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-spi";
90553ab4af3SHans de Goede			reg = <0x01c17000 0x1000>;
90653ab4af3SHans de Goede			interrupts = <12>;
90753ab4af3SHans de Goede			clocks = <&ahb_gates 22>, <&spi2_clk>;
90853ab4af3SHans de Goede			clock-names = "ahb", "mod";
90953ab4af3SHans de Goede			dmas = <&dma SUN4I_DMA_DEDICATED 29>,
91053ab4af3SHans de Goede			       <&dma SUN4I_DMA_DEDICATED 28>;
91153ab4af3SHans de Goede			dma-names = "rx", "tx";
91253ab4af3SHans de Goede			status = "disabled";
91353ab4af3SHans de Goede			#address-cells = <1>;
91453ab4af3SHans de Goede			#size-cells = <0>;
91553ab4af3SHans de Goede		};
91653ab4af3SHans de Goede
91753ab4af3SHans de Goede		ahci: sata@01c18000 {
91853ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-ahci";
91953ab4af3SHans de Goede			reg = <0x01c18000 0x1000>;
92053ab4af3SHans de Goede			interrupts = <56>;
92153ab4af3SHans de Goede			clocks = <&pll6 0>, <&ahb_gates 25>;
92253ab4af3SHans de Goede			status = "disabled";
92353ab4af3SHans de Goede		};
92453ab4af3SHans de Goede
92553ab4af3SHans de Goede		ehci1: usb@01c1c000 {
92653ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-ehci", "generic-ehci";
92753ab4af3SHans de Goede			reg = <0x01c1c000 0x100>;
92853ab4af3SHans de Goede			interrupts = <40>;
92953ab4af3SHans de Goede			clocks = <&ahb_gates 3>;
93053ab4af3SHans de Goede			phys = <&usbphy 2>;
93153ab4af3SHans de Goede			phy-names = "usb";
93253ab4af3SHans de Goede			status = "disabled";
93353ab4af3SHans de Goede		};
93453ab4af3SHans de Goede
93553ab4af3SHans de Goede		ohci1: usb@01c1c400 {
93653ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-ohci", "generic-ohci";
93753ab4af3SHans de Goede			reg = <0x01c1c400 0x100>;
93853ab4af3SHans de Goede			interrupts = <65>;
93953ab4af3SHans de Goede			clocks = <&usb_clk 7>, <&ahb_gates 4>;
94053ab4af3SHans de Goede			phys = <&usbphy 2>;
94153ab4af3SHans de Goede			phy-names = "usb";
94253ab4af3SHans de Goede			status = "disabled";
94353ab4af3SHans de Goede		};
94453ab4af3SHans de Goede
94553ab4af3SHans de Goede		spi3: spi@01c1f000 {
94653ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-spi";
94753ab4af3SHans de Goede			reg = <0x01c1f000 0x1000>;
94853ab4af3SHans de Goede			interrupts = <50>;
94953ab4af3SHans de Goede			clocks = <&ahb_gates 23>, <&spi3_clk>;
95053ab4af3SHans de Goede			clock-names = "ahb", "mod";
95153ab4af3SHans de Goede			dmas = <&dma SUN4I_DMA_DEDICATED 31>,
95253ab4af3SHans de Goede			       <&dma SUN4I_DMA_DEDICATED 30>;
95353ab4af3SHans de Goede			dma-names = "rx", "tx";
95453ab4af3SHans de Goede			status = "disabled";
95553ab4af3SHans de Goede			#address-cells = <1>;
95653ab4af3SHans de Goede			#size-cells = <0>;
95753ab4af3SHans de Goede		};
95853ab4af3SHans de Goede
95953ab4af3SHans de Goede		intc: interrupt-controller@01c20400 {
96053ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-ic";
96153ab4af3SHans de Goede			reg = <0x01c20400 0x400>;
96253ab4af3SHans de Goede			interrupt-controller;
96353ab4af3SHans de Goede			#interrupt-cells = <1>;
96453ab4af3SHans de Goede		};
96553ab4af3SHans de Goede
96653ab4af3SHans de Goede		pio: pinctrl@01c20800 {
96753ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-pinctrl";
96853ab4af3SHans de Goede			reg = <0x01c20800 0x400>;
96953ab4af3SHans de Goede			interrupts = <28>;
97053ab4af3SHans de Goede			clocks = <&apb0_gates 5>;
97153ab4af3SHans de Goede			gpio-controller;
97253ab4af3SHans de Goede			interrupt-controller;
973da52a4a3SHans de Goede			#interrupt-cells = <3>;
97453ab4af3SHans de Goede			#gpio-cells = <3>;
97553ab4af3SHans de Goede
976*860fbdd4SHans de Goede			emac_pins_a: emac0@0 {
977*860fbdd4SHans de Goede				allwinner,pins = "PA0", "PA1", "PA2",
978*860fbdd4SHans de Goede						"PA3", "PA4", "PA5", "PA6",
979*860fbdd4SHans de Goede						"PA7", "PA8", "PA9", "PA10",
980*860fbdd4SHans de Goede						"PA11", "PA12", "PA13", "PA14",
981*860fbdd4SHans de Goede						"PA15", "PA16";
982*860fbdd4SHans de Goede				allwinner,function = "emac";
98353ab4af3SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
98453ab4af3SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
98553ab4af3SHans de Goede			};
98653ab4af3SHans de Goede
98753ab4af3SHans de Goede			i2c0_pins_a: i2c0@0 {
98853ab4af3SHans de Goede				allwinner,pins = "PB0", "PB1";
98953ab4af3SHans de Goede				allwinner,function = "i2c0";
99053ab4af3SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
99153ab4af3SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
99253ab4af3SHans de Goede			};
99353ab4af3SHans de Goede
99453ab4af3SHans de Goede			i2c1_pins_a: i2c1@0 {
99553ab4af3SHans de Goede				allwinner,pins = "PB18", "PB19";
99653ab4af3SHans de Goede				allwinner,function = "i2c1";
99753ab4af3SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
99853ab4af3SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
99953ab4af3SHans de Goede			};
100053ab4af3SHans de Goede
100153ab4af3SHans de Goede			i2c2_pins_a: i2c2@0 {
100253ab4af3SHans de Goede				allwinner,pins = "PB20", "PB21";
100353ab4af3SHans de Goede				allwinner,function = "i2c2";
100453ab4af3SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
100553ab4af3SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
100653ab4af3SHans de Goede			};
100753ab4af3SHans de Goede
10088b1ba941SHans de Goede			ir0_rx_pins_a: ir0@0 {
10098b1ba941SHans de Goede				allwinner,pins = "PB4";
101053ab4af3SHans de Goede				allwinner,function = "ir0";
101153ab4af3SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
101253ab4af3SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
101353ab4af3SHans de Goede			};
101453ab4af3SHans de Goede
10158b1ba941SHans de Goede			ir0_tx_pins_a: ir0@1 {
10168b1ba941SHans de Goede				allwinner,pins = "PB3";
10178b1ba941SHans de Goede				allwinner,function = "ir0";
10188b1ba941SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
10198b1ba941SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
10208b1ba941SHans de Goede			};
10218b1ba941SHans de Goede
10228b1ba941SHans de Goede			ir1_rx_pins_a: ir1@0 {
10238b1ba941SHans de Goede				allwinner,pins = "PB23";
10248b1ba941SHans de Goede				allwinner,function = "ir1";
10258b1ba941SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
10268b1ba941SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
10278b1ba941SHans de Goede			};
10288b1ba941SHans de Goede
10298b1ba941SHans de Goede			ir1_tx_pins_a: ir1@1 {
10308b1ba941SHans de Goede				allwinner,pins = "PB22";
103153ab4af3SHans de Goede				allwinner,function = "ir1";
103253ab4af3SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
103353ab4af3SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
103453ab4af3SHans de Goede			};
103553ab4af3SHans de Goede
1036*860fbdd4SHans de Goede			mmc0_pins_a: mmc0@0 {
1037*860fbdd4SHans de Goede				allwinner,pins = "PF0", "PF1", "PF2",
1038*860fbdd4SHans de Goede						 "PF3", "PF4", "PF5";
1039*860fbdd4SHans de Goede				allwinner,function = "mmc0";
1040*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_30_MA>;
1041*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1042*860fbdd4SHans de Goede			};
1043*860fbdd4SHans de Goede
1044*860fbdd4SHans de Goede			mmc0_cd_pin_reference_design: mmc0_cd_pin@0 {
1045*860fbdd4SHans de Goede				allwinner,pins = "PH1";
1046*860fbdd4SHans de Goede				allwinner,function = "gpio_in";
1047*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1048*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
1049*860fbdd4SHans de Goede			};
1050*860fbdd4SHans de Goede
1051*860fbdd4SHans de Goede			ps20_pins_a: ps20@0 {
1052*860fbdd4SHans de Goede				allwinner,pins = "PI20", "PI21";
1053*860fbdd4SHans de Goede				allwinner,function = "ps2";
1054*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1055*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1056*860fbdd4SHans de Goede			};
1057*860fbdd4SHans de Goede
1058*860fbdd4SHans de Goede			ps21_pins_a: ps21@0 {
1059*860fbdd4SHans de Goede				allwinner,pins = "PH12", "PH13";
1060*860fbdd4SHans de Goede				allwinner,function = "ps2";
1061*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1062*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1063*860fbdd4SHans de Goede			};
1064*860fbdd4SHans de Goede
1065*860fbdd4SHans de Goede			pwm0_pins_a: pwm0@0 {
1066*860fbdd4SHans de Goede				allwinner,pins = "PB2";
1067*860fbdd4SHans de Goede				allwinner,function = "pwm";
1068*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1069*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1070*860fbdd4SHans de Goede			};
1071*860fbdd4SHans de Goede
1072*860fbdd4SHans de Goede			pwm1_pins_a: pwm1@0 {
1073*860fbdd4SHans de Goede				allwinner,pins = "PI3";
1074*860fbdd4SHans de Goede				allwinner,function = "pwm";
1075*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1076*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
1077*860fbdd4SHans de Goede			};
1078*860fbdd4SHans de Goede
1079*860fbdd4SHans de Goede			spdif_tx_pins_a: spdif@0 {
1080*860fbdd4SHans de Goede				allwinner,pins = "PB13";
1081*860fbdd4SHans de Goede				allwinner,function = "spdif";
1082*860fbdd4SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
1083*860fbdd4SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
1084*860fbdd4SHans de Goede			};
1085*860fbdd4SHans de Goede
108653ab4af3SHans de Goede			spi0_pins_a: spi0@0 {
10878b1ba941SHans de Goede				allwinner,pins = "PI11", "PI12", "PI13";
10888b1ba941SHans de Goede				allwinner,function = "spi0";
10898b1ba941SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
10908b1ba941SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
10918b1ba941SHans de Goede			};
10928b1ba941SHans de Goede
10938b1ba941SHans de Goede			spi0_cs0_pins_a: spi0_cs0@0 {
10948b1ba941SHans de Goede				allwinner,pins = "PI10";
109553ab4af3SHans de Goede				allwinner,function = "spi0";
109653ab4af3SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
109753ab4af3SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
109853ab4af3SHans de Goede			};
109953ab4af3SHans de Goede
110053ab4af3SHans de Goede			spi1_pins_a: spi1@0 {
11018b1ba941SHans de Goede				allwinner,pins = "PI17", "PI18", "PI19";
11028b1ba941SHans de Goede				allwinner,function = "spi1";
11038b1ba941SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
11048b1ba941SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
11058b1ba941SHans de Goede			};
11068b1ba941SHans de Goede
11078b1ba941SHans de Goede			spi1_cs0_pins_a: spi1_cs0@0 {
11088b1ba941SHans de Goede				allwinner,pins = "PI16";
110953ab4af3SHans de Goede				allwinner,function = "spi1";
111053ab4af3SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
111153ab4af3SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
111253ab4af3SHans de Goede			};
111353ab4af3SHans de Goede
111453ab4af3SHans de Goede			spi2_pins_a: spi2@0 {
11158b1ba941SHans de Goede				allwinner,pins = "PC20", "PC21", "PC22";
111653ab4af3SHans de Goede				allwinner,function = "spi2";
111753ab4af3SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
111853ab4af3SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
111953ab4af3SHans de Goede			};
112053ab4af3SHans de Goede
112153ab4af3SHans de Goede			spi2_pins_b: spi2@1 {
11228b1ba941SHans de Goede				allwinner,pins = "PB15", "PB16", "PB17";
11238b1ba941SHans de Goede				allwinner,function = "spi2";
11248b1ba941SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
11258b1ba941SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
11268b1ba941SHans de Goede			};
11278b1ba941SHans de Goede
11288b1ba941SHans de Goede			spi2_cs0_pins_a: spi2_cs0@0 {
11298b1ba941SHans de Goede				allwinner,pins = "PC19";
11308b1ba941SHans de Goede				allwinner,function = "spi2";
11318b1ba941SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
11328b1ba941SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
11338b1ba941SHans de Goede			};
11348b1ba941SHans de Goede
11358b1ba941SHans de Goede			spi2_cs0_pins_b: spi2_cs0@1 {
11368b1ba941SHans de Goede				allwinner,pins = "PB14";
113753ab4af3SHans de Goede				allwinner,function = "spi2";
113853ab4af3SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
113953ab4af3SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
114053ab4af3SHans de Goede			};
114153ab4af3SHans de Goede
1142*860fbdd4SHans de Goede			uart0_pins_a: uart0@0 {
1143*860fbdd4SHans de Goede				allwinner,pins = "PB22", "PB23";
1144*860fbdd4SHans de Goede				allwinner,function = "uart0";
114553ab4af3SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
114653ab4af3SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
114753ab4af3SHans de Goede			};
114853ab4af3SHans de Goede
1149*860fbdd4SHans de Goede			uart0_pins_b: uart0@1 {
1150*860fbdd4SHans de Goede				allwinner,pins = "PF2", "PF4";
1151*860fbdd4SHans de Goede				allwinner,function = "uart0";
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			uart1_pins_a: uart1@0 {
1157*860fbdd4SHans de Goede				allwinner,pins = "PA10", "PA11";
1158*860fbdd4SHans de Goede				allwinner,function = "uart1";
115953ab4af3SHans de Goede				allwinner,drive = <SUN4I_PINCTRL_10_MA>;
116053ab4af3SHans de Goede				allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
116153ab4af3SHans de Goede			};
116253ab4af3SHans de Goede		};
116353ab4af3SHans de Goede
116453ab4af3SHans de Goede		timer@01c20c00 {
116553ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-timer";
116653ab4af3SHans de Goede			reg = <0x01c20c00 0x90>;
116753ab4af3SHans de Goede			interrupts = <22>;
116853ab4af3SHans de Goede			clocks = <&osc24M>;
116953ab4af3SHans de Goede		};
117053ab4af3SHans de Goede
117153ab4af3SHans de Goede		wdt: watchdog@01c20c90 {
117253ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-wdt";
117353ab4af3SHans de Goede			reg = <0x01c20c90 0x10>;
117453ab4af3SHans de Goede		};
117553ab4af3SHans de Goede
117653ab4af3SHans de Goede		rtc: rtc@01c20d00 {
117753ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-rtc";
117853ab4af3SHans de Goede			reg = <0x01c20d00 0x20>;
117953ab4af3SHans de Goede			interrupts = <24>;
118053ab4af3SHans de Goede		};
118153ab4af3SHans de Goede
118253ab4af3SHans de Goede		pwm: pwm@01c20e00 {
118353ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-pwm";
118453ab4af3SHans de Goede			reg = <0x01c20e00 0xc>;
118553ab4af3SHans de Goede			clocks = <&osc24M>;
118653ab4af3SHans de Goede			#pwm-cells = <3>;
118753ab4af3SHans de Goede			status = "disabled";
118853ab4af3SHans de Goede		};
118953ab4af3SHans de Goede
1190*860fbdd4SHans de Goede		spdif: spdif@01c21000 {
1191*860fbdd4SHans de Goede			#sound-dai-cells = <0>;
1192*860fbdd4SHans de Goede			compatible = "allwinner,sun4i-a10-spdif";
1193*860fbdd4SHans de Goede			reg = <0x01c21000 0x400>;
1194*860fbdd4SHans de Goede			interrupts = <13>;
1195*860fbdd4SHans de Goede			clocks = <&apb0_gates 1>, <&spdif_clk>;
1196*860fbdd4SHans de Goede			clock-names = "apb", "spdif";
1197*860fbdd4SHans de Goede			dmas = <&dma SUN4I_DMA_NORMAL 2>,
1198*860fbdd4SHans de Goede			       <&dma SUN4I_DMA_NORMAL 2>;
1199*860fbdd4SHans de Goede			dma-names = "rx", "tx";
1200*860fbdd4SHans de Goede			status = "disabled";
1201*860fbdd4SHans de Goede		};
1202*860fbdd4SHans de Goede
120353ab4af3SHans de Goede		ir0: ir@01c21800 {
120453ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-ir";
120553ab4af3SHans de Goede			clocks = <&apb0_gates 6>, <&ir0_clk>;
120653ab4af3SHans de Goede			clock-names = "apb", "ir";
120753ab4af3SHans de Goede			interrupts = <5>;
120853ab4af3SHans de Goede			reg = <0x01c21800 0x40>;
120953ab4af3SHans de Goede			status = "disabled";
121053ab4af3SHans de Goede		};
121153ab4af3SHans de Goede
121253ab4af3SHans de Goede		ir1: ir@01c21c00 {
121353ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-ir";
121453ab4af3SHans de Goede			clocks = <&apb0_gates 7>, <&ir1_clk>;
121553ab4af3SHans de Goede			clock-names = "apb", "ir";
121653ab4af3SHans de Goede			interrupts = <6>;
121753ab4af3SHans de Goede			reg = <0x01c21c00 0x40>;
121853ab4af3SHans de Goede			status = "disabled";
121953ab4af3SHans de Goede		};
122053ab4af3SHans de Goede
122153ab4af3SHans de Goede		lradc: lradc@01c22800 {
122253ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-lradc-keys";
122353ab4af3SHans de Goede			reg = <0x01c22800 0x100>;
122453ab4af3SHans de Goede			interrupts = <31>;
122553ab4af3SHans de Goede			status = "disabled";
122653ab4af3SHans de Goede		};
122753ab4af3SHans de Goede
122880e5f83cSHans de Goede		codec: codec@01c22c00 {
122980e5f83cSHans de Goede			#sound-dai-cells = <0>;
123080e5f83cSHans de Goede			compatible = "allwinner,sun4i-a10-codec";
123180e5f83cSHans de Goede			reg = <0x01c22c00 0x40>;
123280e5f83cSHans de Goede			interrupts = <30>;
123380e5f83cSHans de Goede			clocks = <&apb0_gates 0>, <&codec_clk>;
123480e5f83cSHans de Goede			clock-names = "apb", "codec";
123580e5f83cSHans de Goede			dmas = <&dma SUN4I_DMA_NORMAL 19>,
123680e5f83cSHans de Goede			       <&dma SUN4I_DMA_NORMAL 19>;
123780e5f83cSHans de Goede			dma-names = "rx", "tx";
123880e5f83cSHans de Goede			status = "disabled";
123980e5f83cSHans de Goede		};
124080e5f83cSHans de Goede
124153ab4af3SHans de Goede		sid: eeprom@01c23800 {
124253ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-sid";
124353ab4af3SHans de Goede			reg = <0x01c23800 0x10>;
124453ab4af3SHans de Goede		};
124553ab4af3SHans de Goede
124653ab4af3SHans de Goede		rtp: rtp@01c25000 {
124753ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-ts";
124853ab4af3SHans de Goede			reg = <0x01c25000 0x100>;
124953ab4af3SHans de Goede			interrupts = <29>;
125053ab4af3SHans de Goede			#thermal-sensor-cells = <0>;
125153ab4af3SHans de Goede		};
125253ab4af3SHans de Goede
125353ab4af3SHans de Goede		uart0: serial@01c28000 {
125453ab4af3SHans de Goede			compatible = "snps,dw-apb-uart";
125553ab4af3SHans de Goede			reg = <0x01c28000 0x400>;
125653ab4af3SHans de Goede			interrupts = <1>;
125753ab4af3SHans de Goede			reg-shift = <2>;
125853ab4af3SHans de Goede			reg-io-width = <4>;
125953ab4af3SHans de Goede			clocks = <&apb1_gates 16>;
126053ab4af3SHans de Goede			status = "disabled";
126153ab4af3SHans de Goede		};
126253ab4af3SHans de Goede
126353ab4af3SHans de Goede		uart1: serial@01c28400 {
126453ab4af3SHans de Goede			compatible = "snps,dw-apb-uart";
126553ab4af3SHans de Goede			reg = <0x01c28400 0x400>;
126653ab4af3SHans de Goede			interrupts = <2>;
126753ab4af3SHans de Goede			reg-shift = <2>;
126853ab4af3SHans de Goede			reg-io-width = <4>;
126953ab4af3SHans de Goede			clocks = <&apb1_gates 17>;
127053ab4af3SHans de Goede			status = "disabled";
127153ab4af3SHans de Goede		};
127253ab4af3SHans de Goede
127353ab4af3SHans de Goede		uart2: serial@01c28800 {
127453ab4af3SHans de Goede			compatible = "snps,dw-apb-uart";
127553ab4af3SHans de Goede			reg = <0x01c28800 0x400>;
127653ab4af3SHans de Goede			interrupts = <3>;
127753ab4af3SHans de Goede			reg-shift = <2>;
127853ab4af3SHans de Goede			reg-io-width = <4>;
127953ab4af3SHans de Goede			clocks = <&apb1_gates 18>;
128053ab4af3SHans de Goede			status = "disabled";
128153ab4af3SHans de Goede		};
128253ab4af3SHans de Goede
128353ab4af3SHans de Goede		uart3: serial@01c28c00 {
128453ab4af3SHans de Goede			compatible = "snps,dw-apb-uart";
128553ab4af3SHans de Goede			reg = <0x01c28c00 0x400>;
128653ab4af3SHans de Goede			interrupts = <4>;
128753ab4af3SHans de Goede			reg-shift = <2>;
128853ab4af3SHans de Goede			reg-io-width = <4>;
128953ab4af3SHans de Goede			clocks = <&apb1_gates 19>;
129053ab4af3SHans de Goede			status = "disabled";
129153ab4af3SHans de Goede		};
129253ab4af3SHans de Goede
129353ab4af3SHans de Goede		uart4: serial@01c29000 {
129453ab4af3SHans de Goede			compatible = "snps,dw-apb-uart";
129553ab4af3SHans de Goede			reg = <0x01c29000 0x400>;
129653ab4af3SHans de Goede			interrupts = <17>;
129753ab4af3SHans de Goede			reg-shift = <2>;
129853ab4af3SHans de Goede			reg-io-width = <4>;
129953ab4af3SHans de Goede			clocks = <&apb1_gates 20>;
130053ab4af3SHans de Goede			status = "disabled";
130153ab4af3SHans de Goede		};
130253ab4af3SHans de Goede
130353ab4af3SHans de Goede		uart5: serial@01c29400 {
130453ab4af3SHans de Goede			compatible = "snps,dw-apb-uart";
130553ab4af3SHans de Goede			reg = <0x01c29400 0x400>;
130653ab4af3SHans de Goede			interrupts = <18>;
130753ab4af3SHans de Goede			reg-shift = <2>;
130853ab4af3SHans de Goede			reg-io-width = <4>;
130953ab4af3SHans de Goede			clocks = <&apb1_gates 21>;
131053ab4af3SHans de Goede			status = "disabled";
131153ab4af3SHans de Goede		};
131253ab4af3SHans de Goede
131353ab4af3SHans de Goede		uart6: serial@01c29800 {
131453ab4af3SHans de Goede			compatible = "snps,dw-apb-uart";
131553ab4af3SHans de Goede			reg = <0x01c29800 0x400>;
131653ab4af3SHans de Goede			interrupts = <19>;
131753ab4af3SHans de Goede			reg-shift = <2>;
131853ab4af3SHans de Goede			reg-io-width = <4>;
131953ab4af3SHans de Goede			clocks = <&apb1_gates 22>;
132053ab4af3SHans de Goede			status = "disabled";
132153ab4af3SHans de Goede		};
132253ab4af3SHans de Goede
132353ab4af3SHans de Goede		uart7: serial@01c29c00 {
132453ab4af3SHans de Goede			compatible = "snps,dw-apb-uart";
132553ab4af3SHans de Goede			reg = <0x01c29c00 0x400>;
132653ab4af3SHans de Goede			interrupts = <20>;
132753ab4af3SHans de Goede			reg-shift = <2>;
132853ab4af3SHans de Goede			reg-io-width = <4>;
132953ab4af3SHans de Goede			clocks = <&apb1_gates 23>;
133053ab4af3SHans de Goede			status = "disabled";
133153ab4af3SHans de Goede		};
133253ab4af3SHans de Goede
133353ab4af3SHans de Goede		i2c0: i2c@01c2ac00 {
133453ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-i2c";
133553ab4af3SHans de Goede			reg = <0x01c2ac00 0x400>;
133653ab4af3SHans de Goede			interrupts = <7>;
133753ab4af3SHans de Goede			clocks = <&apb1_gates 0>;
133853ab4af3SHans de Goede			status = "disabled";
133953ab4af3SHans de Goede			#address-cells = <1>;
134053ab4af3SHans de Goede			#size-cells = <0>;
134153ab4af3SHans de Goede		};
134253ab4af3SHans de Goede
134353ab4af3SHans de Goede		i2c1: i2c@01c2b000 {
134453ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-i2c";
134553ab4af3SHans de Goede			reg = <0x01c2b000 0x400>;
134653ab4af3SHans de Goede			interrupts = <8>;
134753ab4af3SHans de Goede			clocks = <&apb1_gates 1>;
134853ab4af3SHans de Goede			status = "disabled";
134953ab4af3SHans de Goede			#address-cells = <1>;
135053ab4af3SHans de Goede			#size-cells = <0>;
135153ab4af3SHans de Goede		};
135253ab4af3SHans de Goede
135353ab4af3SHans de Goede		i2c2: i2c@01c2b400 {
135453ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-i2c";
135553ab4af3SHans de Goede			reg = <0x01c2b400 0x400>;
135653ab4af3SHans de Goede			interrupts = <9>;
135753ab4af3SHans de Goede			clocks = <&apb1_gates 2>;
135853ab4af3SHans de Goede			status = "disabled";
135953ab4af3SHans de Goede			#address-cells = <1>;
136053ab4af3SHans de Goede			#size-cells = <0>;
136153ab4af3SHans de Goede		};
136253ab4af3SHans de Goede
136353ab4af3SHans de Goede		ps20: ps2@01c2a000 {
136453ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-ps2";
136553ab4af3SHans de Goede			reg = <0x01c2a000 0x400>;
136653ab4af3SHans de Goede			interrupts = <62>;
136753ab4af3SHans de Goede			clocks = <&apb1_gates 6>;
136853ab4af3SHans de Goede			status = "disabled";
136953ab4af3SHans de Goede		};
137053ab4af3SHans de Goede
137153ab4af3SHans de Goede		ps21: ps2@01c2a400 {
137253ab4af3SHans de Goede			compatible = "allwinner,sun4i-a10-ps2";
137353ab4af3SHans de Goede			reg = <0x01c2a400 0x400>;
137453ab4af3SHans de Goede			interrupts = <63>;
137553ab4af3SHans de Goede			clocks = <&apb1_gates 7>;
137653ab4af3SHans de Goede			status = "disabled";
137753ab4af3SHans de Goede		};
137853ab4af3SHans de Goede	};
137953ab4af3SHans de Goede};
1380