xref: /freebsd-src/sys/contrib/device-tree/src/arm/allwinner/sun8i-a83t.dtsi (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
1f126890aSEmmanuel Vadot/*
2f126890aSEmmanuel Vadot * Copyright 2015 Vishnu Patekar
3f126890aSEmmanuel Vadot *
4f126890aSEmmanuel Vadot * Vishnu Patekar <vishnupatekar0510@gmail.com>
5f126890aSEmmanuel Vadot *
6f126890aSEmmanuel Vadot * This file is dual-licensed: you can use it either under the terms
7f126890aSEmmanuel Vadot * of the GPL or the X11 license, at your option. Note that this dual
8f126890aSEmmanuel Vadot * licensing only applies to this file, and not this project as a
9f126890aSEmmanuel Vadot * whole.
10f126890aSEmmanuel Vadot *
11f126890aSEmmanuel Vadot *  a) This file is free software; you can redistribute it and/or
12f126890aSEmmanuel Vadot *     modify it under the terms of the GNU General Public License as
13f126890aSEmmanuel Vadot *     published by the Free Software Foundation; either version 2 of the
14f126890aSEmmanuel Vadot *     License, or (at your option) any later version.
15f126890aSEmmanuel Vadot *
16f126890aSEmmanuel Vadot *     This file is distributed in the hope that it will be useful,
17f126890aSEmmanuel Vadot *     but WITHOUT ANY WARRANTY; without even the implied warranty of
18f126890aSEmmanuel Vadot *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19f126890aSEmmanuel Vadot *     GNU General Public License for more details.
20f126890aSEmmanuel Vadot *
21f126890aSEmmanuel Vadot * Or, alternatively,
22f126890aSEmmanuel Vadot *
23f126890aSEmmanuel Vadot *  b) Permission is hereby granted, free of charge, to any person
24f126890aSEmmanuel Vadot *     obtaining a copy of this software and associated documentation
25f126890aSEmmanuel Vadot *     files (the "Software"), to deal in the Software without
26f126890aSEmmanuel Vadot *     restriction, including without limitation the rights to use,
27f126890aSEmmanuel Vadot *     copy, modify, merge, publish, distribute, sublicense, and/or
28f126890aSEmmanuel Vadot *     sell copies of the Software, and to permit persons to whom the
29f126890aSEmmanuel Vadot *     Software is furnished to do so, subject to the following
30f126890aSEmmanuel Vadot *     conditions:
31f126890aSEmmanuel Vadot *
32f126890aSEmmanuel Vadot *     The above copyright notice and this permission notice shall be
33f126890aSEmmanuel Vadot *     included in all copies or substantial portions of the Software.
34f126890aSEmmanuel Vadot *
35f126890aSEmmanuel Vadot *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36f126890aSEmmanuel Vadot *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37f126890aSEmmanuel Vadot *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38f126890aSEmmanuel Vadot *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39f126890aSEmmanuel Vadot *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40f126890aSEmmanuel Vadot *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41f126890aSEmmanuel Vadot *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42f126890aSEmmanuel Vadot *     OTHER DEALINGS IN THE SOFTWARE.
43f126890aSEmmanuel Vadot */
44f126890aSEmmanuel Vadot
45f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
46f126890aSEmmanuel Vadot
47f126890aSEmmanuel Vadot#include <dt-bindings/clock/sun8i-a83t-ccu.h>
48f126890aSEmmanuel Vadot#include <dt-bindings/clock/sun8i-de2.h>
49f126890aSEmmanuel Vadot#include <dt-bindings/clock/sun8i-r-ccu.h>
50f126890aSEmmanuel Vadot#include <dt-bindings/reset/sun8i-a83t-ccu.h>
51f126890aSEmmanuel Vadot#include <dt-bindings/reset/sun8i-de2.h>
52f126890aSEmmanuel Vadot#include <dt-bindings/reset/sun8i-r-ccu.h>
53f126890aSEmmanuel Vadot#include <dt-bindings/thermal/thermal.h>
54f126890aSEmmanuel Vadot
55f126890aSEmmanuel Vadot/ {
56f126890aSEmmanuel Vadot	interrupt-parent = <&gic>;
57f126890aSEmmanuel Vadot	#address-cells = <1>;
58f126890aSEmmanuel Vadot	#size-cells = <1>;
59f126890aSEmmanuel Vadot
60f126890aSEmmanuel Vadot	cpus {
61f126890aSEmmanuel Vadot		#address-cells = <1>;
62f126890aSEmmanuel Vadot		#size-cells = <0>;
63f126890aSEmmanuel Vadot
64f126890aSEmmanuel Vadot		cpu0: cpu@0 {
65f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
66f126890aSEmmanuel Vadot			device_type = "cpu";
67f126890aSEmmanuel Vadot			clocks = <&ccu CLK_C0CPUX>;
68f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu0_opp_table>;
69f126890aSEmmanuel Vadot			cci-control-port = <&cci_control0>;
70f126890aSEmmanuel Vadot			enable-method = "allwinner,sun8i-a83t-smp";
71f126890aSEmmanuel Vadot			reg = <0>;
72f126890aSEmmanuel Vadot			#cooling-cells = <2>;
73f126890aSEmmanuel Vadot		};
74f126890aSEmmanuel Vadot
75f126890aSEmmanuel Vadot		cpu1: cpu@1 {
76f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
77f126890aSEmmanuel Vadot			device_type = "cpu";
78f126890aSEmmanuel Vadot			clocks = <&ccu CLK_C0CPUX>;
79f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu0_opp_table>;
80f126890aSEmmanuel Vadot			cci-control-port = <&cci_control0>;
81f126890aSEmmanuel Vadot			enable-method = "allwinner,sun8i-a83t-smp";
82f126890aSEmmanuel Vadot			reg = <1>;
83f126890aSEmmanuel Vadot			#cooling-cells = <2>;
84f126890aSEmmanuel Vadot		};
85f126890aSEmmanuel Vadot
86f126890aSEmmanuel Vadot		cpu2: cpu@2 {
87f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
88f126890aSEmmanuel Vadot			device_type = "cpu";
89f126890aSEmmanuel Vadot			clocks = <&ccu CLK_C0CPUX>;
90f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu0_opp_table>;
91f126890aSEmmanuel Vadot			cci-control-port = <&cci_control0>;
92f126890aSEmmanuel Vadot			enable-method = "allwinner,sun8i-a83t-smp";
93f126890aSEmmanuel Vadot			reg = <2>;
94f126890aSEmmanuel Vadot			#cooling-cells = <2>;
95f126890aSEmmanuel Vadot		};
96f126890aSEmmanuel Vadot
97f126890aSEmmanuel Vadot		cpu3: cpu@3 {
98f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
99f126890aSEmmanuel Vadot			device_type = "cpu";
100f126890aSEmmanuel Vadot			clocks = <&ccu CLK_C0CPUX>;
101f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu0_opp_table>;
102f126890aSEmmanuel Vadot			cci-control-port = <&cci_control0>;
103f126890aSEmmanuel Vadot			enable-method = "allwinner,sun8i-a83t-smp";
104f126890aSEmmanuel Vadot			reg = <3>;
105f126890aSEmmanuel Vadot			#cooling-cells = <2>;
106f126890aSEmmanuel Vadot		};
107f126890aSEmmanuel Vadot
108f126890aSEmmanuel Vadot		cpu100: cpu@100 {
109f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
110f126890aSEmmanuel Vadot			device_type = "cpu";
111f126890aSEmmanuel Vadot			clocks = <&ccu CLK_C1CPUX>;
112f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu1_opp_table>;
113f126890aSEmmanuel Vadot			cci-control-port = <&cci_control1>;
114f126890aSEmmanuel Vadot			enable-method = "allwinner,sun8i-a83t-smp";
115f126890aSEmmanuel Vadot			reg = <0x100>;
116f126890aSEmmanuel Vadot			#cooling-cells = <2>;
117f126890aSEmmanuel Vadot		};
118f126890aSEmmanuel Vadot
119f126890aSEmmanuel Vadot		cpu101: cpu@101 {
120f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
121f126890aSEmmanuel Vadot			device_type = "cpu";
122f126890aSEmmanuel Vadot			clocks = <&ccu CLK_C1CPUX>;
123f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu1_opp_table>;
124f126890aSEmmanuel Vadot			cci-control-port = <&cci_control1>;
125f126890aSEmmanuel Vadot			enable-method = "allwinner,sun8i-a83t-smp";
126f126890aSEmmanuel Vadot			reg = <0x101>;
127f126890aSEmmanuel Vadot			#cooling-cells = <2>;
128f126890aSEmmanuel Vadot		};
129f126890aSEmmanuel Vadot
130f126890aSEmmanuel Vadot		cpu102: cpu@102 {
131f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
132f126890aSEmmanuel Vadot			device_type = "cpu";
133f126890aSEmmanuel Vadot			clocks = <&ccu CLK_C1CPUX>;
134f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu1_opp_table>;
135f126890aSEmmanuel Vadot			cci-control-port = <&cci_control1>;
136f126890aSEmmanuel Vadot			enable-method = "allwinner,sun8i-a83t-smp";
137f126890aSEmmanuel Vadot			reg = <0x102>;
138f126890aSEmmanuel Vadot			#cooling-cells = <2>;
139f126890aSEmmanuel Vadot		};
140f126890aSEmmanuel Vadot
141f126890aSEmmanuel Vadot		cpu103: cpu@103 {
142f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
143f126890aSEmmanuel Vadot			device_type = "cpu";
144f126890aSEmmanuel Vadot			clocks = <&ccu CLK_C1CPUX>;
145f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu1_opp_table>;
146f126890aSEmmanuel Vadot			cci-control-port = <&cci_control1>;
147f126890aSEmmanuel Vadot			enable-method = "allwinner,sun8i-a83t-smp";
148f126890aSEmmanuel Vadot			reg = <0x103>;
149f126890aSEmmanuel Vadot			#cooling-cells = <2>;
150f126890aSEmmanuel Vadot		};
151f126890aSEmmanuel Vadot	};
152f126890aSEmmanuel Vadot
153f126890aSEmmanuel Vadot	timer {
154f126890aSEmmanuel Vadot		compatible = "arm,armv7-timer";
155f126890aSEmmanuel Vadot		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
156f126890aSEmmanuel Vadot			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
157f126890aSEmmanuel Vadot			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
158f126890aSEmmanuel Vadot			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
159f126890aSEmmanuel Vadot	};
160f126890aSEmmanuel Vadot
161f126890aSEmmanuel Vadot	clocks {
162f126890aSEmmanuel Vadot		#address-cells = <1>;
163f126890aSEmmanuel Vadot		#size-cells = <1>;
164f126890aSEmmanuel Vadot		ranges;
165f126890aSEmmanuel Vadot
166f126890aSEmmanuel Vadot		/* TODO: PRCM block has a mux for this. */
167*7d0873ebSEmmanuel Vadot		osc24M: osc24M-clk {
168f126890aSEmmanuel Vadot			#clock-cells = <0>;
169f126890aSEmmanuel Vadot			compatible = "fixed-clock";
170f126890aSEmmanuel Vadot			clock-frequency = <24000000>;
171f126890aSEmmanuel Vadot			clock-accuracy = <50000>;
172f126890aSEmmanuel Vadot			clock-output-names = "osc24M";
173f126890aSEmmanuel Vadot		};
174f126890aSEmmanuel Vadot
175f126890aSEmmanuel Vadot		/*
176f126890aSEmmanuel Vadot		 * This is called "internal OSC" in some places.
177f126890aSEmmanuel Vadot		 * It is an internal RC-based oscillator.
178f126890aSEmmanuel Vadot		 * TODO: Its controls are in the PRCM block.
179f126890aSEmmanuel Vadot		 */
180*7d0873ebSEmmanuel Vadot		osc16M: osc16M-clk {
181f126890aSEmmanuel Vadot			#clock-cells = <0>;
182f126890aSEmmanuel Vadot			compatible = "fixed-clock";
183f126890aSEmmanuel Vadot			clock-frequency = <16000000>;
184f126890aSEmmanuel Vadot			clock-output-names = "osc16M";
185f126890aSEmmanuel Vadot		};
186f126890aSEmmanuel Vadot
187*7d0873ebSEmmanuel Vadot		osc16Md512: osc16Md512-clk {
188f126890aSEmmanuel Vadot			#clock-cells = <0>;
189f126890aSEmmanuel Vadot			compatible = "fixed-factor-clock";
190f126890aSEmmanuel Vadot			clock-div = <512>;
191f126890aSEmmanuel Vadot			clock-mult = <1>;
192f126890aSEmmanuel Vadot			clocks = <&osc16M>;
193f126890aSEmmanuel Vadot			clock-output-names = "osc16M-d512";
194f126890aSEmmanuel Vadot		};
195f126890aSEmmanuel Vadot	};
196f126890aSEmmanuel Vadot
197f126890aSEmmanuel Vadot	de: display-engine {
198f126890aSEmmanuel Vadot		compatible = "allwinner,sun8i-a83t-display-engine";
199f126890aSEmmanuel Vadot		allwinner,pipelines = <&mixer0>, <&mixer1>;
200f126890aSEmmanuel Vadot		status = "disabled";
201f126890aSEmmanuel Vadot	};
202f126890aSEmmanuel Vadot
203f126890aSEmmanuel Vadot	cpu0_opp_table: opp-table-cluster0 {
204f126890aSEmmanuel Vadot		compatible = "operating-points-v2";
205f126890aSEmmanuel Vadot		opp-shared;
206f126890aSEmmanuel Vadot
207f126890aSEmmanuel Vadot		opp-480000000 {
208f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <480000000>;
209f126890aSEmmanuel Vadot			opp-microvolt = <840000>;
210f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
211f126890aSEmmanuel Vadot		};
212f126890aSEmmanuel Vadot
213f126890aSEmmanuel Vadot		opp-600000000 {
214f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <600000000>;
215f126890aSEmmanuel Vadot			opp-microvolt = <840000>;
216f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
217f126890aSEmmanuel Vadot		};
218f126890aSEmmanuel Vadot
219f126890aSEmmanuel Vadot		opp-720000000 {
220f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <720000000>;
221f126890aSEmmanuel Vadot			opp-microvolt = <840000>;
222f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
223f126890aSEmmanuel Vadot		};
224f126890aSEmmanuel Vadot
225f126890aSEmmanuel Vadot		opp-864000000 {
226f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <864000000>;
227f126890aSEmmanuel Vadot			opp-microvolt = <840000>;
228f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
229f126890aSEmmanuel Vadot		};
230f126890aSEmmanuel Vadot
231f126890aSEmmanuel Vadot		opp-912000000 {
232f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <912000000>;
233f126890aSEmmanuel Vadot			opp-microvolt = <840000>;
234f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
235f126890aSEmmanuel Vadot		};
236f126890aSEmmanuel Vadot
237f126890aSEmmanuel Vadot		opp-1008000000 {
238f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <1008000000>;
239f126890aSEmmanuel Vadot			opp-microvolt = <840000>;
240f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
241f126890aSEmmanuel Vadot		};
242f126890aSEmmanuel Vadot
243f126890aSEmmanuel Vadot		opp-1128000000 {
244f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <1128000000>;
245f126890aSEmmanuel Vadot			opp-microvolt = <840000>;
246f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
247f126890aSEmmanuel Vadot		};
248f126890aSEmmanuel Vadot
249f126890aSEmmanuel Vadot		opp-1200000000 {
250f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <1200000000>;
251f126890aSEmmanuel Vadot			opp-microvolt = <840000>;
252f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
253f126890aSEmmanuel Vadot		};
254f126890aSEmmanuel Vadot	};
255f126890aSEmmanuel Vadot
256f126890aSEmmanuel Vadot	cpu1_opp_table: opp-table-cluster1 {
257f126890aSEmmanuel Vadot		compatible = "operating-points-v2";
258f126890aSEmmanuel Vadot		opp-shared;
259f126890aSEmmanuel Vadot
260f126890aSEmmanuel Vadot		opp-480000000 {
261f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <480000000>;
262f126890aSEmmanuel Vadot			opp-microvolt = <840000>;
263f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
264f126890aSEmmanuel Vadot		};
265f126890aSEmmanuel Vadot
266f126890aSEmmanuel Vadot		opp-600000000 {
267f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <600000000>;
268f126890aSEmmanuel Vadot			opp-microvolt = <840000>;
269f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
270f126890aSEmmanuel Vadot		};
271f126890aSEmmanuel Vadot
272f126890aSEmmanuel Vadot		opp-720000000 {
273f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <720000000>;
274f126890aSEmmanuel Vadot			opp-microvolt = <840000>;
275f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
276f126890aSEmmanuel Vadot		};
277f126890aSEmmanuel Vadot
278f126890aSEmmanuel Vadot		opp-864000000 {
279f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <864000000>;
280f126890aSEmmanuel Vadot			opp-microvolt = <840000>;
281f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
282f126890aSEmmanuel Vadot		};
283f126890aSEmmanuel Vadot
284f126890aSEmmanuel Vadot		opp-912000000 {
285f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <912000000>;
286f126890aSEmmanuel Vadot			opp-microvolt = <840000>;
287f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
288f126890aSEmmanuel Vadot		};
289f126890aSEmmanuel Vadot
290f126890aSEmmanuel Vadot		opp-1008000000 {
291f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <1008000000>;
292f126890aSEmmanuel Vadot			opp-microvolt = <840000>;
293f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
294f126890aSEmmanuel Vadot		};
295f126890aSEmmanuel Vadot
296f126890aSEmmanuel Vadot		opp-1128000000 {
297f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <1128000000>;
298f126890aSEmmanuel Vadot			opp-microvolt = <840000>;
299f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
300f126890aSEmmanuel Vadot		};
301f126890aSEmmanuel Vadot
302f126890aSEmmanuel Vadot		opp-1200000000 {
303f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <1200000000>;
304f126890aSEmmanuel Vadot			opp-microvolt = <840000>;
305f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
306f126890aSEmmanuel Vadot		};
307f126890aSEmmanuel Vadot	};
308f126890aSEmmanuel Vadot
309f126890aSEmmanuel Vadot	soc {
310f126890aSEmmanuel Vadot		compatible = "simple-bus";
311f126890aSEmmanuel Vadot		#address-cells = <1>;
312f126890aSEmmanuel Vadot		#size-cells = <1>;
313f126890aSEmmanuel Vadot		ranges;
314f126890aSEmmanuel Vadot
315f126890aSEmmanuel Vadot		display_clocks: clock@1000000 {
316f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-de2-clk";
317f126890aSEmmanuel Vadot			reg = <0x01000000 0x10000>;
318f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_DE>,
319f126890aSEmmanuel Vadot				 <&ccu CLK_PLL_DE>;
320f126890aSEmmanuel Vadot			clock-names = "bus",
321f126890aSEmmanuel Vadot				      "mod";
322f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_DE>;
323f126890aSEmmanuel Vadot			#clock-cells = <1>;
324f126890aSEmmanuel Vadot			#reset-cells = <1>;
325f126890aSEmmanuel Vadot		};
326f126890aSEmmanuel Vadot
327f126890aSEmmanuel Vadot		rotate: rotate@1020000 {
328f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-de2-rotate";
329f126890aSEmmanuel Vadot			reg = <0x1020000 0x10000>;
330f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
331f126890aSEmmanuel Vadot			clocks = <&display_clocks CLK_BUS_ROT>,
332f126890aSEmmanuel Vadot				 <&display_clocks CLK_ROT>;
333f126890aSEmmanuel Vadot			clock-names = "bus",
334f126890aSEmmanuel Vadot				      "mod";
335f126890aSEmmanuel Vadot			resets = <&display_clocks RST_ROT>;
336f126890aSEmmanuel Vadot		};
337f126890aSEmmanuel Vadot
338f126890aSEmmanuel Vadot		mixer0: mixer@1100000 {
339f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-de2-mixer-0";
340f126890aSEmmanuel Vadot			reg = <0x01100000 0x100000>;
341f126890aSEmmanuel Vadot			clocks = <&display_clocks CLK_BUS_MIXER0>,
342f126890aSEmmanuel Vadot				 <&display_clocks CLK_MIXER0>;
343f126890aSEmmanuel Vadot			clock-names = "bus",
344f126890aSEmmanuel Vadot				      "mod";
345f126890aSEmmanuel Vadot			resets = <&display_clocks RST_MIXER0>;
346f126890aSEmmanuel Vadot
347f126890aSEmmanuel Vadot			ports {
348f126890aSEmmanuel Vadot				#address-cells = <1>;
349f126890aSEmmanuel Vadot				#size-cells = <0>;
350f126890aSEmmanuel Vadot
351f126890aSEmmanuel Vadot				mixer0_out: port@1 {
352f126890aSEmmanuel Vadot					#address-cells = <1>;
353f126890aSEmmanuel Vadot					#size-cells = <0>;
354f126890aSEmmanuel Vadot					reg = <1>;
355f126890aSEmmanuel Vadot
356f126890aSEmmanuel Vadot					mixer0_out_tcon0: endpoint@0 {
357f126890aSEmmanuel Vadot						reg = <0>;
358f126890aSEmmanuel Vadot						remote-endpoint = <&tcon0_in_mixer0>;
359f126890aSEmmanuel Vadot					};
360f126890aSEmmanuel Vadot
361f126890aSEmmanuel Vadot					mixer0_out_tcon1: endpoint@1 {
362f126890aSEmmanuel Vadot						reg = <1>;
363f126890aSEmmanuel Vadot						remote-endpoint = <&tcon1_in_mixer0>;
364f126890aSEmmanuel Vadot					};
365f126890aSEmmanuel Vadot				};
366f126890aSEmmanuel Vadot			};
367f126890aSEmmanuel Vadot		};
368f126890aSEmmanuel Vadot
369f126890aSEmmanuel Vadot		mixer1: mixer@1200000 {
370f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-de2-mixer-1";
371f126890aSEmmanuel Vadot			reg = <0x01200000 0x100000>;
372f126890aSEmmanuel Vadot			clocks = <&display_clocks CLK_BUS_MIXER1>,
373f126890aSEmmanuel Vadot				 <&display_clocks CLK_MIXER1>;
374f126890aSEmmanuel Vadot			clock-names = "bus",
375f126890aSEmmanuel Vadot				      "mod";
376f126890aSEmmanuel Vadot			resets = <&display_clocks RST_WB>;
377f126890aSEmmanuel Vadot
378f126890aSEmmanuel Vadot			ports {
379f126890aSEmmanuel Vadot				#address-cells = <1>;
380f126890aSEmmanuel Vadot				#size-cells = <0>;
381f126890aSEmmanuel Vadot
382f126890aSEmmanuel Vadot				mixer1_out: port@1 {
383f126890aSEmmanuel Vadot					#address-cells = <1>;
384f126890aSEmmanuel Vadot					#size-cells = <0>;
385f126890aSEmmanuel Vadot					reg = <1>;
386f126890aSEmmanuel Vadot
387f126890aSEmmanuel Vadot					mixer1_out_tcon0: endpoint@0 {
388f126890aSEmmanuel Vadot						reg = <0>;
389f126890aSEmmanuel Vadot						remote-endpoint = <&tcon0_in_mixer1>;
390f126890aSEmmanuel Vadot					};
391f126890aSEmmanuel Vadot
392f126890aSEmmanuel Vadot					mixer1_out_tcon1: endpoint@1 {
393f126890aSEmmanuel Vadot						reg = <1>;
394f126890aSEmmanuel Vadot						remote-endpoint = <&tcon1_in_mixer1>;
395f126890aSEmmanuel Vadot					};
396f126890aSEmmanuel Vadot				};
397f126890aSEmmanuel Vadot			};
398f126890aSEmmanuel Vadot		};
399f126890aSEmmanuel Vadot
400f126890aSEmmanuel Vadot		cpucfg@1700000 {
401f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-cpucfg";
402f126890aSEmmanuel Vadot			reg = <0x01700000 0x400>;
403f126890aSEmmanuel Vadot		};
404f126890aSEmmanuel Vadot
405f126890aSEmmanuel Vadot		cci@1790000 {
406f126890aSEmmanuel Vadot			compatible = "arm,cci-400";
407f126890aSEmmanuel Vadot			#address-cells = <1>;
408f126890aSEmmanuel Vadot			#size-cells = <1>;
409f126890aSEmmanuel Vadot			reg = <0x01790000 0x10000>;
410f126890aSEmmanuel Vadot			ranges = <0x0 0x01790000 0x10000>;
411f126890aSEmmanuel Vadot
412f126890aSEmmanuel Vadot			cci_control0: slave-if@4000 {
413f126890aSEmmanuel Vadot				compatible = "arm,cci-400-ctrl-if";
414f126890aSEmmanuel Vadot				interface-type = "ace";
415f126890aSEmmanuel Vadot				reg = <0x4000 0x1000>;
416f126890aSEmmanuel Vadot			};
417f126890aSEmmanuel Vadot
418f126890aSEmmanuel Vadot			cci_control1: slave-if@5000 {
419f126890aSEmmanuel Vadot				compatible = "arm,cci-400-ctrl-if";
420f126890aSEmmanuel Vadot				interface-type = "ace";
421f126890aSEmmanuel Vadot				reg = <0x5000 0x1000>;
422f126890aSEmmanuel Vadot			};
423f126890aSEmmanuel Vadot
424f126890aSEmmanuel Vadot			pmu@9000 {
425f126890aSEmmanuel Vadot				compatible = "arm,cci-400-pmu,r1";
426f126890aSEmmanuel Vadot				reg = <0x9000 0x5000>;
427f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
428f126890aSEmmanuel Vadot					     <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
429f126890aSEmmanuel Vadot					     <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
430f126890aSEmmanuel Vadot					     <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
431f126890aSEmmanuel Vadot					     <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>,
432f126890aSEmmanuel Vadot					     <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>,
433f126890aSEmmanuel Vadot					     <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
434f126890aSEmmanuel Vadot					     <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
435f126890aSEmmanuel Vadot			};
436f126890aSEmmanuel Vadot		};
437f126890aSEmmanuel Vadot
438f126890aSEmmanuel Vadot		syscon: syscon@1c00000 {
439f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-system-controller",
440f126890aSEmmanuel Vadot				"syscon";
441f126890aSEmmanuel Vadot			reg = <0x01c00000 0x1000>;
442f126890aSEmmanuel Vadot		};
443f126890aSEmmanuel Vadot
444f126890aSEmmanuel Vadot		dma: dma-controller@1c02000 {
445f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-dma";
446f126890aSEmmanuel Vadot			reg = <0x01c02000 0x1000>;
447f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
448f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_DMA>;
449f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_DMA>;
450f126890aSEmmanuel Vadot			#dma-cells = <1>;
451f126890aSEmmanuel Vadot		};
452f126890aSEmmanuel Vadot
453f126890aSEmmanuel Vadot		tcon0: lcd-controller@1c0c000 {
454f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-tcon-lcd";
455f126890aSEmmanuel Vadot			reg = <0x01c0c000 0x1000>;
456f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
457f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_TCON0>, <&ccu CLK_TCON0>;
458f126890aSEmmanuel Vadot			clock-names = "ahb", "tcon-ch0";
459f126890aSEmmanuel Vadot			clock-output-names = "tcon-data-clock";
460f126890aSEmmanuel Vadot			#clock-cells = <0>;
461f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_TCON0>, <&ccu RST_BUS_LVDS>;
462f126890aSEmmanuel Vadot			reset-names = "lcd", "lvds";
463f126890aSEmmanuel Vadot
464f126890aSEmmanuel Vadot			ports {
465f126890aSEmmanuel Vadot				#address-cells = <1>;
466f126890aSEmmanuel Vadot				#size-cells = <0>;
467f126890aSEmmanuel Vadot
468f126890aSEmmanuel Vadot				tcon0_in: port@0 {
469f126890aSEmmanuel Vadot					#address-cells = <1>;
470f126890aSEmmanuel Vadot					#size-cells = <0>;
471f126890aSEmmanuel Vadot					reg = <0>;
472f126890aSEmmanuel Vadot
473f126890aSEmmanuel Vadot					tcon0_in_mixer0: endpoint@0 {
474f126890aSEmmanuel Vadot						reg = <0>;
475f126890aSEmmanuel Vadot						remote-endpoint = <&mixer0_out_tcon0>;
476f126890aSEmmanuel Vadot					};
477f126890aSEmmanuel Vadot
478f126890aSEmmanuel Vadot					tcon0_in_mixer1: endpoint@1 {
479f126890aSEmmanuel Vadot						reg = <1>;
480f126890aSEmmanuel Vadot						remote-endpoint = <&mixer1_out_tcon0>;
481f126890aSEmmanuel Vadot					};
482f126890aSEmmanuel Vadot				};
483f126890aSEmmanuel Vadot
484f126890aSEmmanuel Vadot				tcon0_out: port@1 {
485f126890aSEmmanuel Vadot					reg = <1>;
486f126890aSEmmanuel Vadot				};
487f126890aSEmmanuel Vadot			};
488f126890aSEmmanuel Vadot		};
489f126890aSEmmanuel Vadot
490f126890aSEmmanuel Vadot		tcon1: lcd-controller@1c0d000 {
491f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-tcon-tv";
492f126890aSEmmanuel Vadot			reg = <0x01c0d000 0x1000>;
493f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
494f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_TCON1>, <&ccu CLK_TCON1>;
495f126890aSEmmanuel Vadot			clock-names = "ahb", "tcon-ch1";
496f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_TCON1>;
497f126890aSEmmanuel Vadot			reset-names = "lcd";
498f126890aSEmmanuel Vadot
499f126890aSEmmanuel Vadot			ports {
500f126890aSEmmanuel Vadot				#address-cells = <1>;
501f126890aSEmmanuel Vadot				#size-cells = <0>;
502f126890aSEmmanuel Vadot
503f126890aSEmmanuel Vadot				tcon1_in: port@0 {
504f126890aSEmmanuel Vadot					#address-cells = <1>;
505f126890aSEmmanuel Vadot					#size-cells = <0>;
506f126890aSEmmanuel Vadot					reg = <0>;
507f126890aSEmmanuel Vadot
508f126890aSEmmanuel Vadot					tcon1_in_mixer0: endpoint@0 {
509f126890aSEmmanuel Vadot						reg = <0>;
510f126890aSEmmanuel Vadot						remote-endpoint = <&mixer0_out_tcon1>;
511f126890aSEmmanuel Vadot					};
512f126890aSEmmanuel Vadot
513f126890aSEmmanuel Vadot					tcon1_in_mixer1: endpoint@1 {
514f126890aSEmmanuel Vadot						reg = <1>;
515f126890aSEmmanuel Vadot						remote-endpoint = <&mixer1_out_tcon1>;
516f126890aSEmmanuel Vadot					};
517f126890aSEmmanuel Vadot				};
518f126890aSEmmanuel Vadot
519f126890aSEmmanuel Vadot				tcon1_out: port@1 {
520f126890aSEmmanuel Vadot					#address-cells = <1>;
521f126890aSEmmanuel Vadot					#size-cells = <0>;
522f126890aSEmmanuel Vadot					reg = <1>;
523f126890aSEmmanuel Vadot
524f126890aSEmmanuel Vadot					tcon1_out_hdmi: endpoint@1 {
525f126890aSEmmanuel Vadot						reg = <1>;
526f126890aSEmmanuel Vadot						remote-endpoint = <&hdmi_in_tcon1>;
527f126890aSEmmanuel Vadot					};
528f126890aSEmmanuel Vadot				};
529f126890aSEmmanuel Vadot			};
530f126890aSEmmanuel Vadot		};
531f126890aSEmmanuel Vadot
532f126890aSEmmanuel Vadot		mmc0: mmc@1c0f000 {
533f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-mmc",
534f126890aSEmmanuel Vadot				     "allwinner,sun7i-a20-mmc";
535f126890aSEmmanuel Vadot			reg = <0x01c0f000 0x1000>;
536f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_MMC0>,
537f126890aSEmmanuel Vadot				 <&ccu CLK_MMC0>,
538f126890aSEmmanuel Vadot				 <&ccu CLK_MMC0_OUTPUT>,
539f126890aSEmmanuel Vadot				 <&ccu CLK_MMC0_SAMPLE>;
540f126890aSEmmanuel Vadot			clock-names = "ahb",
541f126890aSEmmanuel Vadot				      "mmc",
542f126890aSEmmanuel Vadot				      "output",
543f126890aSEmmanuel Vadot				      "sample";
544f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_MMC0>;
545f126890aSEmmanuel Vadot			reset-names = "ahb";
546f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
547f126890aSEmmanuel Vadot			status = "disabled";
548f126890aSEmmanuel Vadot			#address-cells = <1>;
549f126890aSEmmanuel Vadot			#size-cells = <0>;
550f126890aSEmmanuel Vadot		};
551f126890aSEmmanuel Vadot
552f126890aSEmmanuel Vadot		mmc1: mmc@1c10000 {
553f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-mmc",
554f126890aSEmmanuel Vadot				     "allwinner,sun7i-a20-mmc";
555f126890aSEmmanuel Vadot			reg = <0x01c10000 0x1000>;
556f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_MMC1>,
557f126890aSEmmanuel Vadot				 <&ccu CLK_MMC1>,
558f126890aSEmmanuel Vadot				 <&ccu CLK_MMC1_OUTPUT>,
559f126890aSEmmanuel Vadot				 <&ccu CLK_MMC1_SAMPLE>;
560f126890aSEmmanuel Vadot			clock-names = "ahb",
561f126890aSEmmanuel Vadot				      "mmc",
562f126890aSEmmanuel Vadot				      "output",
563f126890aSEmmanuel Vadot				      "sample";
564f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_MMC1>;
565f126890aSEmmanuel Vadot			reset-names = "ahb";
566f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
567f126890aSEmmanuel Vadot			pinctrl-names = "default";
568f126890aSEmmanuel Vadot			pinctrl-0 = <&mmc1_pins>;
569f126890aSEmmanuel Vadot			status = "disabled";
570f126890aSEmmanuel Vadot			#address-cells = <1>;
571f126890aSEmmanuel Vadot			#size-cells = <0>;
572f126890aSEmmanuel Vadot		};
573f126890aSEmmanuel Vadot
574f126890aSEmmanuel Vadot		mmc2: mmc@1c11000 {
575f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-emmc";
576f126890aSEmmanuel Vadot			reg = <0x01c11000 0x1000>;
577f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_MMC2>,
578f126890aSEmmanuel Vadot				 <&ccu CLK_MMC2>,
579f126890aSEmmanuel Vadot				 <&ccu CLK_MMC2_OUTPUT>,
580f126890aSEmmanuel Vadot				 <&ccu CLK_MMC2_SAMPLE>;
581f126890aSEmmanuel Vadot			clock-names = "ahb",
582f126890aSEmmanuel Vadot				      "mmc",
583f126890aSEmmanuel Vadot				      "output",
584f126890aSEmmanuel Vadot				      "sample";
585f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_MMC2>;
586f126890aSEmmanuel Vadot			reset-names = "ahb";
587f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
588f126890aSEmmanuel Vadot			status = "disabled";
589f126890aSEmmanuel Vadot			#address-cells = <1>;
590f126890aSEmmanuel Vadot			#size-cells = <0>;
591f126890aSEmmanuel Vadot		};
592f126890aSEmmanuel Vadot
593f126890aSEmmanuel Vadot		sid: eeprom@1c14000 {
594f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-sid";
595f126890aSEmmanuel Vadot			reg = <0x1c14000 0x400>;
596f126890aSEmmanuel Vadot			#address-cells = <1>;
597f126890aSEmmanuel Vadot			#size-cells = <1>;
598f126890aSEmmanuel Vadot
599f126890aSEmmanuel Vadot			ths_calibration: thermal-sensor-calibration@34 {
600f126890aSEmmanuel Vadot				reg = <0x34 8>;
601f126890aSEmmanuel Vadot			};
602f126890aSEmmanuel Vadot		};
603f126890aSEmmanuel Vadot
604f126890aSEmmanuel Vadot		crypto: crypto@1c15000 {
605f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-crypto";
606f126890aSEmmanuel Vadot			reg = <0x01c15000 0x1000>;
607f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
608f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_SS>;
609f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_SS>, <&ccu CLK_SS>;
610f126890aSEmmanuel Vadot			clock-names = "bus", "mod";
611f126890aSEmmanuel Vadot		};
612f126890aSEmmanuel Vadot
613f126890aSEmmanuel Vadot		msgbox: mailbox@1c17000 {
614f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-msgbox",
615f126890aSEmmanuel Vadot				     "allwinner,sun6i-a31-msgbox";
616f126890aSEmmanuel Vadot			reg = <0x01c17000 0x1000>;
617f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_MSGBOX>;
618f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_MSGBOX>;
619f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
620f126890aSEmmanuel Vadot			#mbox-cells = <1>;
621f126890aSEmmanuel Vadot		};
622f126890aSEmmanuel Vadot
623f126890aSEmmanuel Vadot		usb_otg: usb@1c19000 {
624f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-musb",
625f126890aSEmmanuel Vadot				     "allwinner,sun8i-a33-musb";
626f126890aSEmmanuel Vadot			reg = <0x01c19000 0x0400>;
627f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_OTG>;
628f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_OTG>;
629f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
630f126890aSEmmanuel Vadot			interrupt-names = "mc";
631f126890aSEmmanuel Vadot			phys = <&usbphy 0>;
632f126890aSEmmanuel Vadot			phy-names = "usb";
633f126890aSEmmanuel Vadot			extcon = <&usbphy 0>;
634f126890aSEmmanuel Vadot			dr_mode = "otg";
635f126890aSEmmanuel Vadot			status = "disabled";
636f126890aSEmmanuel Vadot		};
637f126890aSEmmanuel Vadot
638f126890aSEmmanuel Vadot		usbphy: phy@1c19400 {
639f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-usb-phy";
640f126890aSEmmanuel Vadot			reg = <0x01c19400 0x10>,
641f126890aSEmmanuel Vadot			      <0x01c1a800 0x14>,
642f126890aSEmmanuel Vadot			      <0x01c1b800 0x14>;
643f126890aSEmmanuel Vadot			reg-names = "phy_ctrl",
644f126890aSEmmanuel Vadot				    "pmu1",
645f126890aSEmmanuel Vadot				    "pmu2";
646f126890aSEmmanuel Vadot			clocks = <&ccu CLK_USB_PHY0>,
647f126890aSEmmanuel Vadot				 <&ccu CLK_USB_PHY1>,
648f126890aSEmmanuel Vadot				 <&ccu CLK_USB_HSIC>,
649f126890aSEmmanuel Vadot				 <&ccu CLK_USB_HSIC_12M>;
650f126890aSEmmanuel Vadot			clock-names = "usb0_phy",
651f126890aSEmmanuel Vadot				      "usb1_phy",
652f126890aSEmmanuel Vadot				      "usb2_phy",
653f126890aSEmmanuel Vadot				      "usb2_hsic_12M";
654f126890aSEmmanuel Vadot			resets = <&ccu RST_USB_PHY0>,
655f126890aSEmmanuel Vadot				 <&ccu RST_USB_PHY1>,
656f126890aSEmmanuel Vadot				 <&ccu RST_USB_HSIC>;
657f126890aSEmmanuel Vadot			reset-names = "usb0_reset",
658f126890aSEmmanuel Vadot				      "usb1_reset",
659f126890aSEmmanuel Vadot				      "usb2_reset";
660f126890aSEmmanuel Vadot			status = "disabled";
661f126890aSEmmanuel Vadot			#phy-cells = <1>;
662f126890aSEmmanuel Vadot		};
663f126890aSEmmanuel Vadot
664f126890aSEmmanuel Vadot		ehci0: usb@1c1a000 {
665f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-ehci",
666f126890aSEmmanuel Vadot				     "generic-ehci";
667f126890aSEmmanuel Vadot			reg = <0x01c1a000 0x100>;
668f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
669f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_EHCI0>;
670f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_EHCI0>;
671f126890aSEmmanuel Vadot			phys = <&usbphy 1>;
672f126890aSEmmanuel Vadot			phy-names = "usb";
673f126890aSEmmanuel Vadot			status = "disabled";
674f126890aSEmmanuel Vadot		};
675f126890aSEmmanuel Vadot
676f126890aSEmmanuel Vadot		ohci0: usb@1c1a400 {
677f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-ohci",
678f126890aSEmmanuel Vadot				     "generic-ohci";
679f126890aSEmmanuel Vadot			reg = <0x01c1a400 0x100>;
680f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
681f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_OHCI0>, <&ccu CLK_USB_OHCI0>;
682f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_OHCI0>;
683f126890aSEmmanuel Vadot			phys = <&usbphy 1>;
684f126890aSEmmanuel Vadot			phy-names = "usb";
685f126890aSEmmanuel Vadot			status = "disabled";
686f126890aSEmmanuel Vadot		};
687f126890aSEmmanuel Vadot
688f126890aSEmmanuel Vadot		ehci1: usb@1c1b000 {
689f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-ehci",
690f126890aSEmmanuel Vadot				     "generic-ehci";
691f126890aSEmmanuel Vadot			reg = <0x01c1b000 0x100>;
692f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
693f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_EHCI1>;
694f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_EHCI1>;
695f126890aSEmmanuel Vadot			phys = <&usbphy 2>;
696f126890aSEmmanuel Vadot			phy-names = "usb";
697f126890aSEmmanuel Vadot			status = "disabled";
698f126890aSEmmanuel Vadot		};
699f126890aSEmmanuel Vadot
700f126890aSEmmanuel Vadot		ccu: clock@1c20000 {
701f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-ccu";
702f126890aSEmmanuel Vadot			reg = <0x01c20000 0x400>;
703f126890aSEmmanuel Vadot			clocks = <&osc24M>, <&osc16Md512>;
704f126890aSEmmanuel Vadot			clock-names = "hosc", "losc";
705f126890aSEmmanuel Vadot			#clock-cells = <1>;
706f126890aSEmmanuel Vadot			#reset-cells = <1>;
707f126890aSEmmanuel Vadot		};
708f126890aSEmmanuel Vadot
709f126890aSEmmanuel Vadot		pio: pinctrl@1c20800 {
710f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-pinctrl";
711f126890aSEmmanuel Vadot			interrupt-parent = <&r_intc>;
712f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
713f126890aSEmmanuel Vadot				     <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
714f126890aSEmmanuel Vadot				     <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
715f126890aSEmmanuel Vadot			reg = <0x01c20800 0x400>;
716f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&osc16Md512>;
717f126890aSEmmanuel Vadot			clock-names = "apb", "hosc", "losc";
718f126890aSEmmanuel Vadot			gpio-controller;
719f126890aSEmmanuel Vadot			interrupt-controller;
720f126890aSEmmanuel Vadot			#interrupt-cells = <3>;
721f126890aSEmmanuel Vadot			#gpio-cells = <3>;
722f126890aSEmmanuel Vadot
723f126890aSEmmanuel Vadot			/omit-if-no-ref/
724f126890aSEmmanuel Vadot			csi_8bit_parallel_pins: csi-8bit-parallel-pins {
725f126890aSEmmanuel Vadot				pins = "PE0", "PE2", "PE3", "PE6", "PE7",
726f126890aSEmmanuel Vadot				       "PE8", "PE9", "PE10", "PE11",
727f126890aSEmmanuel Vadot				       "PE12", "PE13";
728f126890aSEmmanuel Vadot				function = "csi";
729f126890aSEmmanuel Vadot			};
730f126890aSEmmanuel Vadot
731f126890aSEmmanuel Vadot			/omit-if-no-ref/
732f126890aSEmmanuel Vadot			csi_mclk_pin: csi-mclk-pin {
733f126890aSEmmanuel Vadot				pins = "PE1";
734f126890aSEmmanuel Vadot				function = "csi";
735f126890aSEmmanuel Vadot			};
736f126890aSEmmanuel Vadot
737f126890aSEmmanuel Vadot			emac_rgmii_pins: emac-rgmii-pins {
738f126890aSEmmanuel Vadot				pins = "PD2", "PD3", "PD4", "PD5", "PD6", "PD7",
739f126890aSEmmanuel Vadot				       "PD11", "PD12", "PD13", "PD14", "PD18",
740f126890aSEmmanuel Vadot				       "PD19", "PD21", "PD22", "PD23";
741f126890aSEmmanuel Vadot				function = "gmac";
742f126890aSEmmanuel Vadot				/*
743f126890aSEmmanuel Vadot				 * data lines in RGMII mode use DDR mode
744f126890aSEmmanuel Vadot				 * and need a higher signal drive strength
745f126890aSEmmanuel Vadot				 */
746f126890aSEmmanuel Vadot				drive-strength = <40>;
747f126890aSEmmanuel Vadot			};
748f126890aSEmmanuel Vadot
749f126890aSEmmanuel Vadot			hdmi_pins: hdmi-pins {
750f126890aSEmmanuel Vadot				pins = "PH6", "PH7", "PH8";
751f126890aSEmmanuel Vadot				function = "hdmi";
752f126890aSEmmanuel Vadot			};
753f126890aSEmmanuel Vadot
754f126890aSEmmanuel Vadot			i2c0_pins: i2c0-pins {
755f126890aSEmmanuel Vadot				pins = "PH0", "PH1";
756f126890aSEmmanuel Vadot				function = "i2c0";
757f126890aSEmmanuel Vadot			};
758f126890aSEmmanuel Vadot
759f126890aSEmmanuel Vadot			i2c1_pins: i2c1-pins {
760f126890aSEmmanuel Vadot				pins = "PH2", "PH3";
761f126890aSEmmanuel Vadot				function = "i2c1";
762f126890aSEmmanuel Vadot			};
763f126890aSEmmanuel Vadot
764f126890aSEmmanuel Vadot			/omit-if-no-ref/
765f126890aSEmmanuel Vadot			i2c2_pe_pins: i2c2-pe-pins {
766f126890aSEmmanuel Vadot				pins = "PE14", "PE15";
767f126890aSEmmanuel Vadot				function = "i2c2";
768f126890aSEmmanuel Vadot			};
769f126890aSEmmanuel Vadot
770f126890aSEmmanuel Vadot			i2c2_ph_pins: i2c2-ph-pins {
771f126890aSEmmanuel Vadot				pins = "PH4", "PH5";
772f126890aSEmmanuel Vadot				function = "i2c2";
773f126890aSEmmanuel Vadot			};
774f126890aSEmmanuel Vadot
775f126890aSEmmanuel Vadot			i2s1_pins: i2s1-pins {
776f126890aSEmmanuel Vadot				/* I2S1 does not have external MCLK pin */
777f126890aSEmmanuel Vadot				pins = "PG10", "PG11", "PG12", "PG13";
778f126890aSEmmanuel Vadot				function = "i2s1";
779f126890aSEmmanuel Vadot			};
780f126890aSEmmanuel Vadot
781f126890aSEmmanuel Vadot			lcd_lvds_pins: lcd-lvds-pins {
782f126890aSEmmanuel Vadot				pins = "PD18", "PD19", "PD20", "PD21", "PD22",
783f126890aSEmmanuel Vadot				       "PD23", "PD24", "PD25", "PD26", "PD27";
784f126890aSEmmanuel Vadot				function = "lvds0";
785f126890aSEmmanuel Vadot			};
786f126890aSEmmanuel Vadot
787f126890aSEmmanuel Vadot			mmc0_pins: mmc0-pins {
788f126890aSEmmanuel Vadot				pins = "PF0", "PF1", "PF2",
789f126890aSEmmanuel Vadot				       "PF3", "PF4", "PF5";
790f126890aSEmmanuel Vadot				function = "mmc0";
791f126890aSEmmanuel Vadot				drive-strength = <30>;
792f126890aSEmmanuel Vadot				bias-pull-up;
793f126890aSEmmanuel Vadot			};
794f126890aSEmmanuel Vadot
795f126890aSEmmanuel Vadot			mmc1_pins: mmc1-pins {
796f126890aSEmmanuel Vadot				pins = "PG0", "PG1", "PG2",
797f126890aSEmmanuel Vadot				       "PG3", "PG4", "PG5";
798f126890aSEmmanuel Vadot				function = "mmc1";
799f126890aSEmmanuel Vadot				drive-strength = <30>;
800f126890aSEmmanuel Vadot				bias-pull-up;
801f126890aSEmmanuel Vadot			};
802f126890aSEmmanuel Vadot
803f126890aSEmmanuel Vadot			mmc2_8bit_emmc_pins: mmc2-8bit-emmc-pins {
804f126890aSEmmanuel Vadot				pins = "PC5", "PC6", "PC8", "PC9",
805f126890aSEmmanuel Vadot				       "PC10", "PC11", "PC12", "PC13",
806f126890aSEmmanuel Vadot				       "PC14", "PC15", "PC16";
807f126890aSEmmanuel Vadot				function = "mmc2";
808f126890aSEmmanuel Vadot				drive-strength = <30>;
809f126890aSEmmanuel Vadot				bias-pull-up;
810f126890aSEmmanuel Vadot			};
811f126890aSEmmanuel Vadot
812f126890aSEmmanuel Vadot			pwm_pin: pwm-pin {
813f126890aSEmmanuel Vadot				pins = "PD28";
814f126890aSEmmanuel Vadot				function = "pwm";
815f126890aSEmmanuel Vadot			};
816f126890aSEmmanuel Vadot
817f126890aSEmmanuel Vadot			spdif_tx_pin: spdif-tx-pin {
818f126890aSEmmanuel Vadot				pins = "PE18";
819f126890aSEmmanuel Vadot				function = "spdif";
820f126890aSEmmanuel Vadot			};
821f126890aSEmmanuel Vadot
822f126890aSEmmanuel Vadot			uart0_pb_pins: uart0-pb-pins {
823f126890aSEmmanuel Vadot				pins = "PB9", "PB10";
824f126890aSEmmanuel Vadot				function = "uart0";
825f126890aSEmmanuel Vadot			};
826f126890aSEmmanuel Vadot
827f126890aSEmmanuel Vadot			uart0_pf_pins: uart0-pf-pins {
828f126890aSEmmanuel Vadot				pins = "PF2", "PF4";
829f126890aSEmmanuel Vadot				function = "uart0";
830f126890aSEmmanuel Vadot			};
831f126890aSEmmanuel Vadot
832f126890aSEmmanuel Vadot			uart1_pins: uart1-pins {
833f126890aSEmmanuel Vadot				pins = "PG6", "PG7";
834f126890aSEmmanuel Vadot				function = "uart1";
835f126890aSEmmanuel Vadot			};
836f126890aSEmmanuel Vadot
837f126890aSEmmanuel Vadot			uart1_rts_cts_pins: uart1-rts-cts-pins {
838f126890aSEmmanuel Vadot				pins = "PG8", "PG9";
839f126890aSEmmanuel Vadot				function = "uart1";
840f126890aSEmmanuel Vadot			};
841f126890aSEmmanuel Vadot
842f126890aSEmmanuel Vadot			/omit-if-no-ref/
843f126890aSEmmanuel Vadot			uart2_pb_pins: uart2-pb-pins {
844f126890aSEmmanuel Vadot				pins = "PB0", "PB1";
845f126890aSEmmanuel Vadot				function = "uart2";
846f126890aSEmmanuel Vadot			};
847f126890aSEmmanuel Vadot		};
848f126890aSEmmanuel Vadot
849f126890aSEmmanuel Vadot		timer@1c20c00 {
850f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a23-timer";
851f126890aSEmmanuel Vadot			reg = <0x01c20c00 0xa0>;
852f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
853f126890aSEmmanuel Vadot				     <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
854f126890aSEmmanuel Vadot			clocks = <&osc24M>;
855f126890aSEmmanuel Vadot		};
856f126890aSEmmanuel Vadot
857f126890aSEmmanuel Vadot		watchdog@1c20ca0 {
858f126890aSEmmanuel Vadot			compatible = "allwinner,sun6i-a31-wdt";
859f126890aSEmmanuel Vadot			reg = <0x01c20ca0 0x20>;
860f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
861f126890aSEmmanuel Vadot			clocks = <&osc24M>;
862f126890aSEmmanuel Vadot		};
863f126890aSEmmanuel Vadot
864f126890aSEmmanuel Vadot		spdif: spdif@1c21000 {
865f126890aSEmmanuel Vadot			#sound-dai-cells = <0>;
866f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-spdif",
867f126890aSEmmanuel Vadot				     "allwinner,sun8i-h3-spdif";
868f126890aSEmmanuel Vadot			reg = <0x01c21000 0x400>;
869f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
870f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_SPDIF>, <&ccu CLK_SPDIF>;
871f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_SPDIF>;
872f126890aSEmmanuel Vadot			clock-names = "apb", "spdif";
873f126890aSEmmanuel Vadot			dmas = <&dma 2>;
874f126890aSEmmanuel Vadot			dma-names = "tx";
875f126890aSEmmanuel Vadot			pinctrl-names = "default";
876f126890aSEmmanuel Vadot			pinctrl-0 = <&spdif_tx_pin>;
877f126890aSEmmanuel Vadot			status = "disabled";
878f126890aSEmmanuel Vadot		};
879f126890aSEmmanuel Vadot
880f126890aSEmmanuel Vadot		i2s0: i2s@1c22000 {
881f126890aSEmmanuel Vadot			#sound-dai-cells = <0>;
882f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-i2s";
883f126890aSEmmanuel Vadot			reg = <0x01c22000 0x400>;
884f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
885f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_I2S0>, <&ccu CLK_I2S0>;
886f126890aSEmmanuel Vadot			clock-names = "apb", "mod";
887f126890aSEmmanuel Vadot			dmas = <&dma 3>, <&dma 3>;
888f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_I2S0>;
889f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
890f126890aSEmmanuel Vadot			status = "disabled";
891f126890aSEmmanuel Vadot		};
892f126890aSEmmanuel Vadot
893f126890aSEmmanuel Vadot		i2s1: i2s@1c22400 {
894f126890aSEmmanuel Vadot			#sound-dai-cells = <0>;
895f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-i2s";
896f126890aSEmmanuel Vadot			reg = <0x01c22400 0x400>;
897f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
898f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_I2S1>, <&ccu CLK_I2S1>;
899f126890aSEmmanuel Vadot			clock-names = "apb", "mod";
900f126890aSEmmanuel Vadot			dmas = <&dma 4>, <&dma 4>;
901f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_I2S1>;
902f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
903f126890aSEmmanuel Vadot			pinctrl-names = "default";
904f126890aSEmmanuel Vadot			pinctrl-0 = <&i2s1_pins>;
905f126890aSEmmanuel Vadot			status = "disabled";
906f126890aSEmmanuel Vadot		};
907f126890aSEmmanuel Vadot
908f126890aSEmmanuel Vadot		i2s2: i2s@1c22800 {
909f126890aSEmmanuel Vadot			#sound-dai-cells = <0>;
910f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-i2s";
911f126890aSEmmanuel Vadot			reg = <0x01c22800 0x400>;
912f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
913f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_I2S2>, <&ccu CLK_I2S2>;
914f126890aSEmmanuel Vadot			clock-names = "apb", "mod";
915f126890aSEmmanuel Vadot			dmas = <&dma 27>;
916f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_I2S2>;
917f126890aSEmmanuel Vadot			dma-names = "tx";
918f126890aSEmmanuel Vadot			status = "disabled";
919f126890aSEmmanuel Vadot		};
920f126890aSEmmanuel Vadot
921f126890aSEmmanuel Vadot		pwm: pwm@1c21400 {
922f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-pwm",
923f126890aSEmmanuel Vadot				     "allwinner,sun8i-h3-pwm";
924f126890aSEmmanuel Vadot			reg = <0x01c21400 0x400>;
925f126890aSEmmanuel Vadot			clocks = <&osc24M>;
926f126890aSEmmanuel Vadot			#pwm-cells = <3>;
927f126890aSEmmanuel Vadot			status = "disabled";
928f126890aSEmmanuel Vadot		};
929f126890aSEmmanuel Vadot
930f126890aSEmmanuel Vadot		uart0: serial@1c28000 {
931f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
932f126890aSEmmanuel Vadot			reg = <0x01c28000 0x400>;
933f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
934f126890aSEmmanuel Vadot			reg-shift = <2>;
935f126890aSEmmanuel Vadot			reg-io-width = <4>;
936f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_UART0>;
937f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_UART0>;
938f126890aSEmmanuel Vadot			status = "disabled";
939f126890aSEmmanuel Vadot		};
940f126890aSEmmanuel Vadot
941f126890aSEmmanuel Vadot		uart1: serial@1c28400 {
942f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
943f126890aSEmmanuel Vadot			reg = <0x01c28400 0x400>;
944f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
945f126890aSEmmanuel Vadot			reg-shift = <2>;
946f126890aSEmmanuel Vadot			reg-io-width = <4>;
947f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_UART1>;
948f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_UART1>;
949f126890aSEmmanuel Vadot			status = "disabled";
950f126890aSEmmanuel Vadot		};
951f126890aSEmmanuel Vadot
952f126890aSEmmanuel Vadot		uart2: serial@1c28800 {
953f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
954f126890aSEmmanuel Vadot			reg = <0x01c28800 0x400>;
955f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
956f126890aSEmmanuel Vadot			reg-shift = <2>;
957f126890aSEmmanuel Vadot			reg-io-width = <4>;
958f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_UART2>;
959f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_UART2>;
960f126890aSEmmanuel Vadot			status = "disabled";
961f126890aSEmmanuel Vadot		};
962f126890aSEmmanuel Vadot
963f126890aSEmmanuel Vadot		uart3: serial@1c28c00 {
964f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
965f126890aSEmmanuel Vadot			reg = <0x01c28c00 0x400>;
966f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
967f126890aSEmmanuel Vadot			reg-shift = <2>;
968f126890aSEmmanuel Vadot			reg-io-width = <4>;
969f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_UART3>;
970f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_UART3>;
971f126890aSEmmanuel Vadot			status = "disabled";
972f126890aSEmmanuel Vadot		};
973f126890aSEmmanuel Vadot
974f126890aSEmmanuel Vadot		uart4: serial@1c29000 {
975f126890aSEmmanuel Vadot			compatible = "snps,dw-apb-uart";
976f126890aSEmmanuel Vadot			reg = <0x01c29000 0x400>;
977f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
978f126890aSEmmanuel Vadot			reg-shift = <2>;
979f126890aSEmmanuel Vadot			reg-io-width = <4>;
980f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_UART4>;
981f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_UART4>;
982f126890aSEmmanuel Vadot			status = "disabled";
983f126890aSEmmanuel Vadot		};
984f126890aSEmmanuel Vadot
985f126890aSEmmanuel Vadot		i2c0: i2c@1c2ac00 {
986f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-i2c",
987f126890aSEmmanuel Vadot				     "allwinner,sun6i-a31-i2c";
988f126890aSEmmanuel Vadot			reg = <0x01c2ac00 0x400>;
989f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
990f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_I2C0>;
991f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_I2C0>;
992f126890aSEmmanuel Vadot			pinctrl-names = "default";
993f126890aSEmmanuel Vadot			pinctrl-0 = <&i2c0_pins>;
994f126890aSEmmanuel Vadot			status = "disabled";
995f126890aSEmmanuel Vadot			#address-cells = <1>;
996f126890aSEmmanuel Vadot			#size-cells = <0>;
997f126890aSEmmanuel Vadot		};
998f126890aSEmmanuel Vadot
999f126890aSEmmanuel Vadot		i2c1: i2c@1c2b000 {
1000f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-i2c",
1001f126890aSEmmanuel Vadot				     "allwinner,sun6i-a31-i2c";
1002f126890aSEmmanuel Vadot			reg = <0x01c2b000 0x400>;
1003f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
1004f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_I2C1>;
1005f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_I2C1>;
1006f126890aSEmmanuel Vadot			pinctrl-names = "default";
1007f126890aSEmmanuel Vadot			pinctrl-0 = <&i2c1_pins>;
1008f126890aSEmmanuel Vadot			status = "disabled";
1009f126890aSEmmanuel Vadot			#address-cells = <1>;
1010f126890aSEmmanuel Vadot			#size-cells = <0>;
1011f126890aSEmmanuel Vadot		};
1012f126890aSEmmanuel Vadot
1013f126890aSEmmanuel Vadot		i2c2: i2c@1c2b400 {
1014f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-i2c",
1015f126890aSEmmanuel Vadot				     "allwinner,sun6i-a31-i2c";
1016f126890aSEmmanuel Vadot			reg = <0x01c2b400 0x400>;
1017f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
1018f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_I2C2>;
1019f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_I2C2>;
1020f126890aSEmmanuel Vadot			status = "disabled";
1021f126890aSEmmanuel Vadot			#address-cells = <1>;
1022f126890aSEmmanuel Vadot			#size-cells = <0>;
1023f126890aSEmmanuel Vadot		};
1024f126890aSEmmanuel Vadot
1025f126890aSEmmanuel Vadot		emac: ethernet@1c30000 {
1026f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-emac";
1027f126890aSEmmanuel Vadot			syscon = <&syscon>;
1028f126890aSEmmanuel Vadot			reg = <0x01c30000 0x104>;
1029f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
1030f126890aSEmmanuel Vadot			interrupt-names = "macirq";
1031f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_EMAC>;
1032f126890aSEmmanuel Vadot			clock-names = "stmmaceth";
1033f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_EMAC>;
1034f126890aSEmmanuel Vadot			reset-names = "stmmaceth";
1035f126890aSEmmanuel Vadot			status = "disabled";
1036f126890aSEmmanuel Vadot
1037f126890aSEmmanuel Vadot			mdio: mdio {
1038f126890aSEmmanuel Vadot				compatible = "snps,dwmac-mdio";
1039f126890aSEmmanuel Vadot				#address-cells = <1>;
1040f126890aSEmmanuel Vadot				#size-cells = <0>;
1041f126890aSEmmanuel Vadot			};
1042f126890aSEmmanuel Vadot		};
1043f126890aSEmmanuel Vadot
1044f126890aSEmmanuel Vadot		gic: interrupt-controller@1c81000 {
1045f126890aSEmmanuel Vadot			compatible = "arm,gic-400";
1046f126890aSEmmanuel Vadot			reg = <0x01c81000 0x1000>,
1047f126890aSEmmanuel Vadot			      <0x01c82000 0x2000>,
1048f126890aSEmmanuel Vadot			      <0x01c84000 0x2000>,
1049f126890aSEmmanuel Vadot			      <0x01c86000 0x2000>;
1050f126890aSEmmanuel Vadot			interrupt-controller;
1051f126890aSEmmanuel Vadot			#interrupt-cells = <3>;
1052f126890aSEmmanuel Vadot			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
1053f126890aSEmmanuel Vadot		};
1054f126890aSEmmanuel Vadot
1055f126890aSEmmanuel Vadot		csi: camera@1cb0000 {
1056f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-csi";
1057f126890aSEmmanuel Vadot			reg = <0x01cb0000 0x1000>;
1058f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
1059f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_CSI>,
1060f126890aSEmmanuel Vadot				 <&ccu CLK_CSI_SCLK>,
1061f126890aSEmmanuel Vadot				 <&ccu CLK_DRAM_CSI>;
1062f126890aSEmmanuel Vadot			clock-names = "bus", "mod", "ram";
1063f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_CSI>;
1064f126890aSEmmanuel Vadot			status = "disabled";
1065f126890aSEmmanuel Vadot		};
1066f126890aSEmmanuel Vadot
1067f126890aSEmmanuel Vadot		hdmi: hdmi@1ee0000 {
1068f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-dw-hdmi";
1069f126890aSEmmanuel Vadot			reg = <0x01ee0000 0x10000>;
1070f126890aSEmmanuel Vadot			reg-io-width = <1>;
1071f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
1072f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_SLOW>,
1073f126890aSEmmanuel Vadot				 <&ccu CLK_HDMI>;
1074f126890aSEmmanuel Vadot			clock-names = "iahb", "isfr", "tmds";
1075f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_HDMI1>;
1076f126890aSEmmanuel Vadot			reset-names = "ctrl";
1077f126890aSEmmanuel Vadot			phys = <&hdmi_phy>;
1078f126890aSEmmanuel Vadot			phy-names = "phy";
1079f126890aSEmmanuel Vadot			pinctrl-names = "default";
1080f126890aSEmmanuel Vadot			pinctrl-0 = <&hdmi_pins>;
1081f126890aSEmmanuel Vadot			status = "disabled";
1082f126890aSEmmanuel Vadot
1083f126890aSEmmanuel Vadot			ports {
1084f126890aSEmmanuel Vadot				#address-cells = <1>;
1085f126890aSEmmanuel Vadot				#size-cells = <0>;
1086f126890aSEmmanuel Vadot
1087f126890aSEmmanuel Vadot				hdmi_in: port@0 {
1088f126890aSEmmanuel Vadot					reg = <0>;
1089f126890aSEmmanuel Vadot
1090f126890aSEmmanuel Vadot					hdmi_in_tcon1: endpoint {
1091f126890aSEmmanuel Vadot						remote-endpoint = <&tcon1_out_hdmi>;
1092f126890aSEmmanuel Vadot					};
1093f126890aSEmmanuel Vadot				};
1094f126890aSEmmanuel Vadot
1095f126890aSEmmanuel Vadot				hdmi_out: port@1 {
1096f126890aSEmmanuel Vadot					reg = <1>;
1097f126890aSEmmanuel Vadot				};
1098f126890aSEmmanuel Vadot			};
1099f126890aSEmmanuel Vadot		};
1100f126890aSEmmanuel Vadot
1101f126890aSEmmanuel Vadot		hdmi_phy: hdmi-phy@1ef0000 {
1102f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-hdmi-phy";
1103f126890aSEmmanuel Vadot			reg = <0x01ef0000 0x10000>;
1104f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_SLOW>;
1105f126890aSEmmanuel Vadot			clock-names = "bus", "mod";
1106f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_HDMI0>;
1107f126890aSEmmanuel Vadot			reset-names = "phy";
1108f126890aSEmmanuel Vadot			#phy-cells = <0>;
1109f126890aSEmmanuel Vadot		};
1110f126890aSEmmanuel Vadot
1111f126890aSEmmanuel Vadot		r_intc: interrupt-controller@1f00c00 {
1112f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-r-intc",
1113f126890aSEmmanuel Vadot				     "allwinner,sun6i-a31-r-intc";
1114f126890aSEmmanuel Vadot			interrupt-controller;
1115f126890aSEmmanuel Vadot			#interrupt-cells = <3>;
1116f126890aSEmmanuel Vadot			reg = <0x01f00c00 0x400>;
1117f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
1118f126890aSEmmanuel Vadot		};
1119f126890aSEmmanuel Vadot
1120f126890aSEmmanuel Vadot		r_ccu: clock@1f01400 {
1121f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-r-ccu";
1122f126890aSEmmanuel Vadot			reg = <0x01f01400 0x400>;
1123f126890aSEmmanuel Vadot			clocks = <&osc24M>, <&osc16Md512>, <&osc16M>,
1124f126890aSEmmanuel Vadot				 <&ccu CLK_PLL_PERIPH>;
1125f126890aSEmmanuel Vadot			clock-names = "hosc", "losc", "iosc", "pll-periph";
1126f126890aSEmmanuel Vadot			#clock-cells = <1>;
1127f126890aSEmmanuel Vadot			#reset-cells = <1>;
1128f126890aSEmmanuel Vadot		};
1129f126890aSEmmanuel Vadot
1130*7d0873ebSEmmanuel Vadot		cpucfg@1f01c00 {
1131f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-r-cpucfg";
1132f126890aSEmmanuel Vadot			reg = <0x1f01c00 0x400>;
1133f126890aSEmmanuel Vadot		};
1134f126890aSEmmanuel Vadot
1135f126890aSEmmanuel Vadot		r_cir: ir@1f02000 {
1136f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-ir",
1137f126890aSEmmanuel Vadot				"allwinner,sun6i-a31-ir";
1138f126890aSEmmanuel Vadot			clocks = <&r_ccu CLK_APB0_IR>, <&r_ccu CLK_IR>;
1139f126890aSEmmanuel Vadot			clock-names = "apb", "ir";
1140f126890aSEmmanuel Vadot			resets = <&r_ccu RST_APB0_IR>;
1141f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
1142f126890aSEmmanuel Vadot			reg = <0x01f02000 0x400>;
1143f126890aSEmmanuel Vadot			pinctrl-names = "default";
1144f126890aSEmmanuel Vadot			pinctrl-0 = <&r_cir_pin>;
1145f126890aSEmmanuel Vadot			status = "disabled";
1146f126890aSEmmanuel Vadot		};
1147f126890aSEmmanuel Vadot
1148f126890aSEmmanuel Vadot		r_lradc: lradc@1f03c00 {
1149f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-r-lradc";
1150f126890aSEmmanuel Vadot			reg = <0x01f03c00 0x100>;
1151f126890aSEmmanuel Vadot			interrupt-parent = <&r_intc>;
1152f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
1153f126890aSEmmanuel Vadot			status = "disabled";
1154f126890aSEmmanuel Vadot		};
1155f126890aSEmmanuel Vadot
1156f126890aSEmmanuel Vadot		r_pio: pinctrl@1f02c00 {
1157f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-r-pinctrl";
1158f126890aSEmmanuel Vadot			reg = <0x01f02c00 0x400>;
1159f126890aSEmmanuel Vadot			interrupt-parent = <&r_intc>;
1160f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
1161f126890aSEmmanuel Vadot			clocks = <&r_ccu CLK_APB0_PIO>, <&osc24M>,
1162f126890aSEmmanuel Vadot				 <&osc16Md512>;
1163f126890aSEmmanuel Vadot			clock-names = "apb", "hosc", "losc";
1164f126890aSEmmanuel Vadot			gpio-controller;
1165f126890aSEmmanuel Vadot			#gpio-cells = <3>;
1166f126890aSEmmanuel Vadot			interrupt-controller;
1167f126890aSEmmanuel Vadot			#interrupt-cells = <3>;
1168f126890aSEmmanuel Vadot
1169f126890aSEmmanuel Vadot			r_cir_pin: r-cir-pin {
1170f126890aSEmmanuel Vadot				pins = "PL12";
1171f126890aSEmmanuel Vadot				function = "s_cir_rx";
1172f126890aSEmmanuel Vadot			};
1173f126890aSEmmanuel Vadot
1174f126890aSEmmanuel Vadot			r_rsb_pins: r-rsb-pins {
1175f126890aSEmmanuel Vadot				pins = "PL0", "PL1";
1176f126890aSEmmanuel Vadot				function = "s_rsb";
1177f126890aSEmmanuel Vadot				drive-strength = <20>;
1178f126890aSEmmanuel Vadot				bias-pull-up;
1179f126890aSEmmanuel Vadot			};
1180f126890aSEmmanuel Vadot		};
1181f126890aSEmmanuel Vadot
1182f126890aSEmmanuel Vadot		r_rsb: rsb@1f03400 {
1183f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-rsb",
1184f126890aSEmmanuel Vadot				     "allwinner,sun8i-a23-rsb";
1185f126890aSEmmanuel Vadot			reg = <0x01f03400 0x400>;
1186f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
1187f126890aSEmmanuel Vadot			clocks = <&r_ccu CLK_APB0_RSB>;
1188f126890aSEmmanuel Vadot			clock-frequency = <3000000>;
1189f126890aSEmmanuel Vadot			resets = <&r_ccu RST_APB0_RSB>;
1190f126890aSEmmanuel Vadot			pinctrl-names = "default";
1191f126890aSEmmanuel Vadot			pinctrl-0 = <&r_rsb_pins>;
1192f126890aSEmmanuel Vadot			status = "disabled";
1193f126890aSEmmanuel Vadot			#address-cells = <1>;
1194f126890aSEmmanuel Vadot			#size-cells = <0>;
1195f126890aSEmmanuel Vadot		};
1196f126890aSEmmanuel Vadot
1197f126890aSEmmanuel Vadot		ths: thermal-sensor@1f04000 {
1198f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a83t-ths";
1199f126890aSEmmanuel Vadot			reg = <0x01f04000 0x100>;
1200f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
1201f126890aSEmmanuel Vadot			nvmem-cells = <&ths_calibration>;
1202f126890aSEmmanuel Vadot			nvmem-cell-names = "calibration";
1203f126890aSEmmanuel Vadot			#thermal-sensor-cells = <1>;
1204f126890aSEmmanuel Vadot		};
1205f126890aSEmmanuel Vadot	};
1206f126890aSEmmanuel Vadot
1207f126890aSEmmanuel Vadot	thermal-zones {
1208f126890aSEmmanuel Vadot		cpu0_thermal: cpu0-thermal {
1209f126890aSEmmanuel Vadot			polling-delay-passive = <0>;
1210f126890aSEmmanuel Vadot			polling-delay = <0>;
1211f126890aSEmmanuel Vadot			thermal-sensors = <&ths 0>;
1212f126890aSEmmanuel Vadot
1213f126890aSEmmanuel Vadot			trips {
1214f126890aSEmmanuel Vadot				cpu0_hot: cpu-hot {
1215f126890aSEmmanuel Vadot					temperature = <80000>;
1216f126890aSEmmanuel Vadot					hysteresis = <2000>;
1217f126890aSEmmanuel Vadot					type = "passive";
1218f126890aSEmmanuel Vadot				};
1219f126890aSEmmanuel Vadot
1220f126890aSEmmanuel Vadot				cpu0_very_hot: cpu-very-hot {
1221f126890aSEmmanuel Vadot					temperature = <100000>;
1222f126890aSEmmanuel Vadot					hysteresis = <0>;
1223f126890aSEmmanuel Vadot					type = "critical";
1224f126890aSEmmanuel Vadot				};
1225f126890aSEmmanuel Vadot			};
1226f126890aSEmmanuel Vadot
1227f126890aSEmmanuel Vadot			cooling-maps {
1228f126890aSEmmanuel Vadot				cpu-hot-limit {
1229f126890aSEmmanuel Vadot					trip = <&cpu0_hot>;
1230f126890aSEmmanuel Vadot					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1231f126890aSEmmanuel Vadot							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1232f126890aSEmmanuel Vadot							 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1233f126890aSEmmanuel Vadot							 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1234f126890aSEmmanuel Vadot				};
1235f126890aSEmmanuel Vadot			};
1236f126890aSEmmanuel Vadot		};
1237f126890aSEmmanuel Vadot
1238f126890aSEmmanuel Vadot		cpu1_thermal: cpu1-thermal {
1239f126890aSEmmanuel Vadot			polling-delay-passive = <0>;
1240f126890aSEmmanuel Vadot			polling-delay = <0>;
1241f126890aSEmmanuel Vadot			thermal-sensors = <&ths 1>;
1242f126890aSEmmanuel Vadot
1243f126890aSEmmanuel Vadot			trips {
1244f126890aSEmmanuel Vadot				cpu1_hot: cpu-hot {
1245f126890aSEmmanuel Vadot					temperature = <80000>;
1246f126890aSEmmanuel Vadot					hysteresis = <2000>;
1247f126890aSEmmanuel Vadot					type = "passive";
1248f126890aSEmmanuel Vadot				};
1249f126890aSEmmanuel Vadot
1250f126890aSEmmanuel Vadot				cpu1_very_hot: cpu-very-hot {
1251f126890aSEmmanuel Vadot					temperature = <100000>;
1252f126890aSEmmanuel Vadot					hysteresis = <0>;
1253f126890aSEmmanuel Vadot					type = "critical";
1254f126890aSEmmanuel Vadot				};
1255f126890aSEmmanuel Vadot			};
1256f126890aSEmmanuel Vadot
1257f126890aSEmmanuel Vadot			cooling-maps {
1258f126890aSEmmanuel Vadot				cpu-hot-limit {
1259f126890aSEmmanuel Vadot					trip = <&cpu1_hot>;
1260f126890aSEmmanuel Vadot					cooling-device = <&cpu100 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1261f126890aSEmmanuel Vadot							 <&cpu101 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1262f126890aSEmmanuel Vadot							 <&cpu102 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1263f126890aSEmmanuel Vadot							 <&cpu103 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1264f126890aSEmmanuel Vadot				};
1265f126890aSEmmanuel Vadot			};
1266f126890aSEmmanuel Vadot		};
1267f126890aSEmmanuel Vadot
1268f126890aSEmmanuel Vadot		gpu_thermal: gpu-thermal {
1269f126890aSEmmanuel Vadot			polling-delay-passive = <0>;
1270f126890aSEmmanuel Vadot			polling-delay = <0>;
1271f126890aSEmmanuel Vadot			thermal-sensors = <&ths 2>;
1272f126890aSEmmanuel Vadot		};
1273f126890aSEmmanuel Vadot	};
1274f126890aSEmmanuel Vadot};
1275