xref: /freebsd-src/sys/contrib/device-tree/src/arm/allwinner/sun8i-a33.dtsi (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
1f126890aSEmmanuel Vadot/*
2f126890aSEmmanuel Vadot * Copyright 2014 Chen-Yu Tsai
3f126890aSEmmanuel Vadot *
4f126890aSEmmanuel Vadot * Chen-Yu Tsai <wens@csie.org>
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 "sun8i-a23-a33.dtsi"
46f126890aSEmmanuel Vadot#include <dt-bindings/thermal/thermal.h>
47f126890aSEmmanuel Vadot
48f126890aSEmmanuel Vadot/ {
49f126890aSEmmanuel Vadot	cpu0_opp_table: opp-table-cpu {
50f126890aSEmmanuel Vadot		compatible = "operating-points-v2";
51f126890aSEmmanuel Vadot		opp-shared;
52f126890aSEmmanuel Vadot
53f126890aSEmmanuel Vadot		opp-120000000 {
54f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <120000000>;
55f126890aSEmmanuel Vadot			opp-microvolt = <1040000>;
56f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
57f126890aSEmmanuel Vadot		};
58f126890aSEmmanuel Vadot
59f126890aSEmmanuel Vadot		opp-240000000 {
60f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <240000000>;
61f126890aSEmmanuel Vadot			opp-microvolt = <1040000>;
62f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
63f126890aSEmmanuel Vadot		};
64f126890aSEmmanuel Vadot
65f126890aSEmmanuel Vadot		opp-312000000 {
66f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <312000000>;
67f126890aSEmmanuel Vadot			opp-microvolt = <1040000>;
68f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
69f126890aSEmmanuel Vadot		};
70f126890aSEmmanuel Vadot
71f126890aSEmmanuel Vadot		opp-408000000 {
72f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <408000000>;
73f126890aSEmmanuel Vadot			opp-microvolt = <1040000>;
74f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
75f126890aSEmmanuel Vadot		};
76f126890aSEmmanuel Vadot
77f126890aSEmmanuel Vadot		opp-480000000 {
78f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <480000000>;
79f126890aSEmmanuel Vadot			opp-microvolt = <1040000>;
80f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
81f126890aSEmmanuel Vadot		};
82f126890aSEmmanuel Vadot
83f126890aSEmmanuel Vadot		opp-504000000 {
84f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <504000000>;
85f126890aSEmmanuel Vadot			opp-microvolt = <1040000>;
86f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
87f126890aSEmmanuel Vadot		};
88f126890aSEmmanuel Vadot
89f126890aSEmmanuel Vadot		opp-600000000 {
90f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <600000000>;
91f126890aSEmmanuel Vadot			opp-microvolt = <1040000>;
92f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
93f126890aSEmmanuel Vadot		};
94f126890aSEmmanuel Vadot
95f126890aSEmmanuel Vadot		opp-648000000 {
96f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <648000000>;
97f126890aSEmmanuel Vadot			opp-microvolt = <1040000>;
98f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
99f126890aSEmmanuel Vadot		};
100f126890aSEmmanuel Vadot
101f126890aSEmmanuel Vadot		opp-720000000 {
102f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <720000000>;
103f126890aSEmmanuel Vadot			opp-microvolt = <1100000>;
104f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
105f126890aSEmmanuel Vadot		};
106f126890aSEmmanuel Vadot
107f126890aSEmmanuel Vadot		opp-816000000 {
108f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <816000000>;
109f126890aSEmmanuel Vadot			opp-microvolt = <1100000>;
110f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
111f126890aSEmmanuel Vadot		};
112f126890aSEmmanuel Vadot
113f126890aSEmmanuel Vadot		opp-912000000 {
114f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <912000000>;
115f126890aSEmmanuel Vadot			opp-microvolt = <1200000>;
116f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
117f126890aSEmmanuel Vadot		};
118f126890aSEmmanuel Vadot
119f126890aSEmmanuel Vadot		opp-1008000000 {
120f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <1008000000>;
121f126890aSEmmanuel Vadot			opp-microvolt = <1200000>;
122f126890aSEmmanuel Vadot			clock-latency-ns = <244144>; /* 8 32k periods */
123f126890aSEmmanuel Vadot		};
124f126890aSEmmanuel Vadot	};
125f126890aSEmmanuel Vadot
126f126890aSEmmanuel Vadot	cpus {
127f126890aSEmmanuel Vadot		cpu@0 {
128f126890aSEmmanuel Vadot			clocks = <&ccu CLK_CPUX>;
129f126890aSEmmanuel Vadot			clock-names = "cpu";
130f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu0_opp_table>;
131f126890aSEmmanuel Vadot			#cooling-cells = <2>;
132f126890aSEmmanuel Vadot		};
133f126890aSEmmanuel Vadot
134f126890aSEmmanuel Vadot		cpu1: cpu@1 {
135f126890aSEmmanuel Vadot			clocks = <&ccu CLK_CPUX>;
136f126890aSEmmanuel Vadot			clock-names = "cpu";
137f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu0_opp_table>;
138f126890aSEmmanuel Vadot			#cooling-cells = <2>;
139f126890aSEmmanuel Vadot		};
140f126890aSEmmanuel Vadot
141f126890aSEmmanuel Vadot		cpu2: cpu@2 {
142f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
143f126890aSEmmanuel Vadot			device_type = "cpu";
144f126890aSEmmanuel Vadot			reg = <2>;
145f126890aSEmmanuel Vadot			clocks = <&ccu CLK_CPUX>;
146f126890aSEmmanuel Vadot			clock-names = "cpu";
147f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu0_opp_table>;
148f126890aSEmmanuel Vadot			#cooling-cells = <2>;
149f126890aSEmmanuel Vadot		};
150f126890aSEmmanuel Vadot
151f126890aSEmmanuel Vadot		cpu3: cpu@3 {
152f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
153f126890aSEmmanuel Vadot			device_type = "cpu";
154f126890aSEmmanuel Vadot			reg = <3>;
155f126890aSEmmanuel Vadot			clocks = <&ccu CLK_CPUX>;
156f126890aSEmmanuel Vadot			clock-names = "cpu";
157f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu0_opp_table>;
158f126890aSEmmanuel Vadot			#cooling-cells = <2>;
159f126890aSEmmanuel Vadot		};
160f126890aSEmmanuel Vadot	};
161f126890aSEmmanuel Vadot
162f126890aSEmmanuel Vadot	iio-hwmon {
163f126890aSEmmanuel Vadot		compatible = "iio-hwmon";
164f126890aSEmmanuel Vadot		io-channels = <&ths>;
165f126890aSEmmanuel Vadot	};
166f126890aSEmmanuel Vadot
167f126890aSEmmanuel Vadot	mali_opp_table: opp-table-gpu {
168f126890aSEmmanuel Vadot		compatible = "operating-points-v2";
169f126890aSEmmanuel Vadot
170f126890aSEmmanuel Vadot		opp-144000000 {
171f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <144000000>;
172f126890aSEmmanuel Vadot		};
173f126890aSEmmanuel Vadot
174f126890aSEmmanuel Vadot		opp-240000000 {
175f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <240000000>;
176f126890aSEmmanuel Vadot		};
177f126890aSEmmanuel Vadot
178f126890aSEmmanuel Vadot		opp-384000000 {
179f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <384000000>;
180f126890aSEmmanuel Vadot		};
181f126890aSEmmanuel Vadot	};
182f126890aSEmmanuel Vadot
183f126890aSEmmanuel Vadot	sound: sound {
184f126890aSEmmanuel Vadot		compatible = "simple-audio-card";
185f126890aSEmmanuel Vadot		simple-audio-card,name = "sun8i-a33-audio";
186f126890aSEmmanuel Vadot		simple-audio-card,format = "i2s";
187f126890aSEmmanuel Vadot		simple-audio-card,frame-master = <&link_codec>;
188f126890aSEmmanuel Vadot		simple-audio-card,bitclock-master = <&link_codec>;
189f126890aSEmmanuel Vadot		simple-audio-card,mclk-fs = <128>;
190f126890aSEmmanuel Vadot		simple-audio-card,aux-devs = <&codec_analog>;
191f126890aSEmmanuel Vadot		simple-audio-card,routing =
192f126890aSEmmanuel Vadot			"Left DAC", "DACL",
193f126890aSEmmanuel Vadot			"Right DAC", "DACR";
194f126890aSEmmanuel Vadot		status = "disabled";
195f126890aSEmmanuel Vadot
196f126890aSEmmanuel Vadot		simple-audio-card,cpu {
197f126890aSEmmanuel Vadot			sound-dai = <&dai>;
198f126890aSEmmanuel Vadot		};
199f126890aSEmmanuel Vadot
200f126890aSEmmanuel Vadot		link_codec: simple-audio-card,codec {
201f126890aSEmmanuel Vadot			sound-dai = <&codec 0>;
202f126890aSEmmanuel Vadot		};
203f126890aSEmmanuel Vadot	};
204f126890aSEmmanuel Vadot
205f126890aSEmmanuel Vadot	soc {
206f126890aSEmmanuel Vadot		video-codec@1c0e000 {
207f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a33-video-engine";
208f126890aSEmmanuel Vadot			reg = <0x01c0e000 0x1000>;
209f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_VE>, <&ccu CLK_VE>,
210f126890aSEmmanuel Vadot				 <&ccu CLK_DRAM_VE>;
211f126890aSEmmanuel Vadot			clock-names = "ahb", "mod", "ram";
212f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_VE>;
213f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
214f126890aSEmmanuel Vadot			allwinner,sram = <&ve_sram 1>;
215f126890aSEmmanuel Vadot		};
216f126890aSEmmanuel Vadot
217f126890aSEmmanuel Vadot		crypto: crypto-engine@1c15000 {
218f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a33-crypto";
219f126890aSEmmanuel Vadot			reg = <0x01c15000 0x1000>;
220f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
221f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_SS>, <&ccu CLK_SS>;
222f126890aSEmmanuel Vadot			clock-names = "ahb", "mod";
223f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_SS>;
224f126890aSEmmanuel Vadot			reset-names = "ahb";
225f126890aSEmmanuel Vadot		};
226f126890aSEmmanuel Vadot
227f126890aSEmmanuel Vadot		dai: dai@1c22c00 {
228f126890aSEmmanuel Vadot			#sound-dai-cells = <0>;
229f126890aSEmmanuel Vadot			compatible = "allwinner,sun6i-a31-i2s";
230f126890aSEmmanuel Vadot			reg = <0x01c22c00 0x200>;
231f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
232f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>;
233f126890aSEmmanuel Vadot			clock-names = "apb", "mod";
234f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_CODEC>;
235f126890aSEmmanuel Vadot			dmas = <&dma 15>, <&dma 15>;
236f126890aSEmmanuel Vadot			dma-names = "rx", "tx";
237f126890aSEmmanuel Vadot			status = "disabled";
238f126890aSEmmanuel Vadot		};
239f126890aSEmmanuel Vadot
240f126890aSEmmanuel Vadot		codec: codec@1c22e00 {
241f126890aSEmmanuel Vadot			#sound-dai-cells = <1>;
242f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a33-codec";
243f126890aSEmmanuel Vadot			reg = <0x01c22e00 0x400>;
244f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
245f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>;
246f126890aSEmmanuel Vadot			clock-names = "bus", "mod";
247f126890aSEmmanuel Vadot			status = "disabled";
248f126890aSEmmanuel Vadot		};
249f126890aSEmmanuel Vadot
250f126890aSEmmanuel Vadot		ths: ths@1c25000 {
251f126890aSEmmanuel Vadot			compatible = "allwinner,sun8i-a33-ths";
252f126890aSEmmanuel Vadot			reg = <0x01c25000 0x100>;
253f126890aSEmmanuel Vadot			#thermal-sensor-cells = <0>;
254f126890aSEmmanuel Vadot			#io-channel-cells = <0>;
255f126890aSEmmanuel Vadot		};
256f126890aSEmmanuel Vadot
257f126890aSEmmanuel Vadot		dsi: dsi@1ca0000 {
258f126890aSEmmanuel Vadot			compatible = "allwinner,sun6i-a31-mipi-dsi";
259f126890aSEmmanuel Vadot			reg = <0x01ca0000 0x1000>;
260f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
261f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_MIPI_DSI>,
262f126890aSEmmanuel Vadot				 <&ccu CLK_DSI_SCLK>;
263f126890aSEmmanuel Vadot			clock-names = "bus", "mod";
264f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_MIPI_DSI>;
265f126890aSEmmanuel Vadot			phys = <&dphy>;
266f126890aSEmmanuel Vadot			phy-names = "dphy";
267f126890aSEmmanuel Vadot			status = "disabled";
268f126890aSEmmanuel Vadot			#address-cells = <1>;
269f126890aSEmmanuel Vadot			#size-cells = <0>;
270f126890aSEmmanuel Vadot
271f126890aSEmmanuel Vadot			port {
272f126890aSEmmanuel Vadot				dsi_in_tcon0: endpoint {
273f126890aSEmmanuel Vadot					remote-endpoint = <&tcon0_out_dsi>;
274f126890aSEmmanuel Vadot				};
275f126890aSEmmanuel Vadot			};
276f126890aSEmmanuel Vadot		};
277f126890aSEmmanuel Vadot
278f126890aSEmmanuel Vadot		dphy: d-phy@1ca1000 {
279f126890aSEmmanuel Vadot			compatible = "allwinner,sun6i-a31-mipi-dphy";
280f126890aSEmmanuel Vadot			reg = <0x01ca1000 0x1000>;
281f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
282f126890aSEmmanuel Vadot			clocks = <&ccu CLK_BUS_MIPI_DSI>,
283f126890aSEmmanuel Vadot				 <&ccu CLK_DSI_DPHY>;
284f126890aSEmmanuel Vadot			clock-names = "bus", "mod";
285f126890aSEmmanuel Vadot			resets = <&ccu RST_BUS_MIPI_DSI>;
286f126890aSEmmanuel Vadot			status = "disabled";
287f126890aSEmmanuel Vadot			#phy-cells = <0>;
288f126890aSEmmanuel Vadot		};
289f126890aSEmmanuel Vadot	};
290f126890aSEmmanuel Vadot
291f126890aSEmmanuel Vadot	thermal-zones {
292f126890aSEmmanuel Vadot		cpu-thermal {
293f126890aSEmmanuel Vadot			/* milliseconds */
294f126890aSEmmanuel Vadot			polling-delay-passive = <250>;
295f126890aSEmmanuel Vadot			polling-delay = <1000>;
296f126890aSEmmanuel Vadot			thermal-sensors = <&ths>;
297f126890aSEmmanuel Vadot
298f126890aSEmmanuel Vadot			cooling-maps {
299f126890aSEmmanuel Vadot				map0 {
300f126890aSEmmanuel Vadot					trip = <&cpu_alert0>;
301f126890aSEmmanuel Vadot					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
302f126890aSEmmanuel Vadot							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
303f126890aSEmmanuel Vadot							 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
304f126890aSEmmanuel Vadot							 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
305f126890aSEmmanuel Vadot				};
306f126890aSEmmanuel Vadot				map1 {
307f126890aSEmmanuel Vadot					trip = <&cpu_alert1>;
308f126890aSEmmanuel Vadot					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
309f126890aSEmmanuel Vadot							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
310f126890aSEmmanuel Vadot							 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
311f126890aSEmmanuel Vadot							 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
312f126890aSEmmanuel Vadot				};
313f126890aSEmmanuel Vadot
314f126890aSEmmanuel Vadot				map2 {
315f126890aSEmmanuel Vadot					trip = <&gpu_alert0>;
316f126890aSEmmanuel Vadot					cooling-device = <&mali 1 THERMAL_NO_LIMIT>;
317f126890aSEmmanuel Vadot				};
318f126890aSEmmanuel Vadot
319f126890aSEmmanuel Vadot				map3 {
320f126890aSEmmanuel Vadot					trip = <&gpu_alert1>;
321f126890aSEmmanuel Vadot					cooling-device = <&mali 2 THERMAL_NO_LIMIT>;
322f126890aSEmmanuel Vadot				};
323f126890aSEmmanuel Vadot			};
324f126890aSEmmanuel Vadot
325f126890aSEmmanuel Vadot			trips {
326*7d0873ebSEmmanuel Vadot				cpu_alert0: cpu-alert0 {
327f126890aSEmmanuel Vadot					/* milliCelsius */
328f126890aSEmmanuel Vadot					temperature = <75000>;
329f126890aSEmmanuel Vadot					hysteresis = <2000>;
330f126890aSEmmanuel Vadot					type = "passive";
331f126890aSEmmanuel Vadot				};
332f126890aSEmmanuel Vadot
333*7d0873ebSEmmanuel Vadot				gpu_alert0: gpu-alert0 {
334f126890aSEmmanuel Vadot					/* milliCelsius */
335f126890aSEmmanuel Vadot					temperature = <85000>;
336f126890aSEmmanuel Vadot					hysteresis = <2000>;
337f126890aSEmmanuel Vadot					type = "passive";
338f126890aSEmmanuel Vadot				};
339f126890aSEmmanuel Vadot
340*7d0873ebSEmmanuel Vadot				cpu_alert1: cpu-alert1 {
341f126890aSEmmanuel Vadot					/* milliCelsius */
342f126890aSEmmanuel Vadot					temperature = <90000>;
343f126890aSEmmanuel Vadot					hysteresis = <2000>;
344f126890aSEmmanuel Vadot					type = "hot";
345f126890aSEmmanuel Vadot				};
346f126890aSEmmanuel Vadot
347*7d0873ebSEmmanuel Vadot				gpu_alert1: gpu-alert1 {
348f126890aSEmmanuel Vadot					/* milliCelsius */
349f126890aSEmmanuel Vadot					temperature = <95000>;
350f126890aSEmmanuel Vadot					hysteresis = <2000>;
351f126890aSEmmanuel Vadot					type = "hot";
352f126890aSEmmanuel Vadot				};
353f126890aSEmmanuel Vadot
354*7d0873ebSEmmanuel Vadot				cpu_crit: cpu-crit {
355f126890aSEmmanuel Vadot					/* milliCelsius */
356f126890aSEmmanuel Vadot					temperature = <110000>;
357f126890aSEmmanuel Vadot					hysteresis = <2000>;
358f126890aSEmmanuel Vadot					type = "critical";
359f126890aSEmmanuel Vadot				};
360f126890aSEmmanuel Vadot			};
361f126890aSEmmanuel Vadot		};
362f126890aSEmmanuel Vadot	};
363f126890aSEmmanuel Vadot};
364f126890aSEmmanuel Vadot
365f126890aSEmmanuel Vadot&be0 {
366f126890aSEmmanuel Vadot	compatible = "allwinner,sun8i-a33-display-backend";
367f126890aSEmmanuel Vadot	/* A33 has an extra "SAT" module packed inside the display backend */
368f126890aSEmmanuel Vadot	reg = <0x01e60000 0x10000>, <0x01e80000 0x1000>;
369f126890aSEmmanuel Vadot	reg-names = "be", "sat";
370f126890aSEmmanuel Vadot	clocks = <&ccu CLK_BUS_DE_BE>, <&ccu CLK_DE_BE>,
371f126890aSEmmanuel Vadot		 <&ccu CLK_DRAM_DE_BE>, <&ccu CLK_BUS_SAT>;
372f126890aSEmmanuel Vadot	clock-names = "ahb", "mod",
373f126890aSEmmanuel Vadot		      "ram", "sat";
374f126890aSEmmanuel Vadot	resets = <&ccu RST_BUS_DE_BE>, <&ccu RST_BUS_SAT>;
375f126890aSEmmanuel Vadot	reset-names = "be", "sat";
376f126890aSEmmanuel Vadot};
377f126890aSEmmanuel Vadot
378f126890aSEmmanuel Vadot&ccu {
379f126890aSEmmanuel Vadot	compatible = "allwinner,sun8i-a33-ccu";
380f126890aSEmmanuel Vadot};
381f126890aSEmmanuel Vadot
382f126890aSEmmanuel Vadot&de {
383f126890aSEmmanuel Vadot	compatible = "allwinner,sun8i-a33-display-engine";
384f126890aSEmmanuel Vadot};
385f126890aSEmmanuel Vadot
386f126890aSEmmanuel Vadot&drc0 {
387f126890aSEmmanuel Vadot	compatible = "allwinner,sun8i-a33-drc";
388f126890aSEmmanuel Vadot};
389f126890aSEmmanuel Vadot
390f126890aSEmmanuel Vadot&fe0 {
391f126890aSEmmanuel Vadot	compatible = "allwinner,sun8i-a33-display-frontend";
392f126890aSEmmanuel Vadot};
393f126890aSEmmanuel Vadot
394f126890aSEmmanuel Vadot&mali {
395f126890aSEmmanuel Vadot	operating-points-v2 = <&mali_opp_table>;
396f126890aSEmmanuel Vadot};
397f126890aSEmmanuel Vadot
398f126890aSEmmanuel Vadot&pio {
399f126890aSEmmanuel Vadot	compatible = "allwinner,sun8i-a33-pinctrl";
400f126890aSEmmanuel Vadot	interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
401f126890aSEmmanuel Vadot		     <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
402f126890aSEmmanuel Vadot
403f126890aSEmmanuel Vadot	uart0_pb_pins: uart0-pb-pins {
404f126890aSEmmanuel Vadot		pins = "PB0", "PB1";
405f126890aSEmmanuel Vadot		function = "uart0";
406f126890aSEmmanuel Vadot	};
407f126890aSEmmanuel Vadot
408f126890aSEmmanuel Vadot};
409f126890aSEmmanuel Vadot
410f126890aSEmmanuel Vadot&tcon0 {
411f126890aSEmmanuel Vadot	compatible = "allwinner,sun8i-a33-tcon";
412f126890aSEmmanuel Vadot};
413f126890aSEmmanuel Vadot
414f126890aSEmmanuel Vadot&tcon0_out {
415f126890aSEmmanuel Vadot	#address-cells = <1>;
416f126890aSEmmanuel Vadot	#size-cells = <0>;
417f126890aSEmmanuel Vadot
418f126890aSEmmanuel Vadot	tcon0_out_dsi: endpoint@1 {
419f126890aSEmmanuel Vadot		reg = <1>;
420f126890aSEmmanuel Vadot		remote-endpoint = <&dsi_in_tcon0>;
421f126890aSEmmanuel Vadot	};
422f126890aSEmmanuel Vadot};
423f126890aSEmmanuel Vadot
424f126890aSEmmanuel Vadot&usb_otg {
425f126890aSEmmanuel Vadot	compatible = "allwinner,sun8i-a33-musb";
426f126890aSEmmanuel Vadot};
427f126890aSEmmanuel Vadot
428f126890aSEmmanuel Vadot&usbphy {
429f126890aSEmmanuel Vadot	compatible = "allwinner,sun8i-a33-usb-phy";
430f126890aSEmmanuel Vadot	reg = <0x01c19400 0x14>, <0x01c1a800 0x4>;
431f126890aSEmmanuel Vadot	reg-names = "phy_ctrl", "pmu1";
432f126890aSEmmanuel Vadot};
433