xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Hardkernel Odroid XU3/XU3-Lite/XU4 boards common device tree source
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * Copyright (c) 2013 Samsung Electronics Co., Ltd.
6*4882a593Smuzhiyun *		http://www.samsung.com
7*4882a593Smuzhiyun * Copyright (c) 2014 Collabora Ltd.
8*4882a593Smuzhiyun * Copyright (c) 2015 Lukasz Majewski <l.majewski@samsung.com>
9*4882a593Smuzhiyun *                    Anand Moon <linux.amoon@gmail.com>
10*4882a593Smuzhiyun */
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun#include <dt-bindings/input/input.h>
13*4882a593Smuzhiyun#include "exynos5422-odroid-core.dtsi"
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun/ {
16*4882a593Smuzhiyun	gpio_keys {
17*4882a593Smuzhiyun		compatible = "gpio-keys";
18*4882a593Smuzhiyun		pinctrl-names = "default";
19*4882a593Smuzhiyun		pinctrl-0 = <&power_key>;
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun		power_key {
22*4882a593Smuzhiyun			/*
23*4882a593Smuzhiyun			 * The power button (SW2) is connected to the PWRON
24*4882a593Smuzhiyun			 * pin (active high) of the S2MPS11 PMIC, which acts
25*4882a593Smuzhiyun			 * as a 16ms debouce filter and signal inverter with
26*4882a593Smuzhiyun			 * output on ONOB pin (active low). ONOB PMIC pin is
27*4882a593Smuzhiyun			 * then connected to XEINT3 SoC pin.
28*4882a593Smuzhiyun			 */
29*4882a593Smuzhiyun			gpios = <&gpx0 3 GPIO_ACTIVE_LOW>;
30*4882a593Smuzhiyun			linux,code = <KEY_POWER>;
31*4882a593Smuzhiyun			label = "power key";
32*4882a593Smuzhiyun			debounce-interval = <0>;
33*4882a593Smuzhiyun			wakeup-source;
34*4882a593Smuzhiyun		};
35*4882a593Smuzhiyun	};
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun	emmc_pwrseq: pwrseq {
38*4882a593Smuzhiyun		pinctrl-0 = <&emmc_nrst_pin>;
39*4882a593Smuzhiyun		pinctrl-names = "default";
40*4882a593Smuzhiyun		compatible = "mmc-pwrseq-emmc";
41*4882a593Smuzhiyun		reset-gpios = <&gpd1 0 GPIO_ACTIVE_LOW>;
42*4882a593Smuzhiyun	};
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun	fan0: pwm-fan {
45*4882a593Smuzhiyun		compatible = "pwm-fan";
46*4882a593Smuzhiyun		pwms = <&pwm 0 20972 0>;
47*4882a593Smuzhiyun		#cooling-cells = <2>;
48*4882a593Smuzhiyun		cooling-levels = <0 130 170 230>;
49*4882a593Smuzhiyun	};
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun	thermal-zones {
52*4882a593Smuzhiyun		cpu0_thermal: cpu0-thermal {
53*4882a593Smuzhiyun			thermal-sensors = <&tmu_cpu0 0>;
54*4882a593Smuzhiyun			polling-delay-passive = <250>;
55*4882a593Smuzhiyun			polling-delay = <0>;
56*4882a593Smuzhiyun			trips {
57*4882a593Smuzhiyun				cpu0_alert0: cpu-alert-0 {
58*4882a593Smuzhiyun					temperature = <50000>; /* millicelsius */
59*4882a593Smuzhiyun					hysteresis = <5000>; /* millicelsius */
60*4882a593Smuzhiyun					type = "active";
61*4882a593Smuzhiyun				};
62*4882a593Smuzhiyun				cpu0_alert1: cpu-alert-1 {
63*4882a593Smuzhiyun					temperature = <60000>; /* millicelsius */
64*4882a593Smuzhiyun					hysteresis = <5000>; /* millicelsius */
65*4882a593Smuzhiyun					type = "active";
66*4882a593Smuzhiyun				};
67*4882a593Smuzhiyun				cpu0_alert2: cpu-alert-2 {
68*4882a593Smuzhiyun					temperature = <70000>; /* millicelsius */
69*4882a593Smuzhiyun					hysteresis = <5000>; /* millicelsius */
70*4882a593Smuzhiyun					type = "active";
71*4882a593Smuzhiyun				};
72*4882a593Smuzhiyun				cpu0_crit0: cpu-crit-0 {
73*4882a593Smuzhiyun					temperature = <120000>; /* millicelsius */
74*4882a593Smuzhiyun					hysteresis = <0>; /* millicelsius */
75*4882a593Smuzhiyun					type = "critical";
76*4882a593Smuzhiyun				};
77*4882a593Smuzhiyun				/*
78*4882a593Smuzhiyun				 * Exynos542x supports only 4 trip-points
79*4882a593Smuzhiyun				 * so for these polling mode is required.
80*4882a593Smuzhiyun				 * Start polling at temperature level of last
81*4882a593Smuzhiyun				 * interrupt-driven trip: cpu0_alert2
82*4882a593Smuzhiyun				 */
83*4882a593Smuzhiyun				cpu0_alert3: cpu-alert-3 {
84*4882a593Smuzhiyun					temperature = <70000>; /* millicelsius */
85*4882a593Smuzhiyun					hysteresis = <10000>; /* millicelsius */
86*4882a593Smuzhiyun					type = "passive";
87*4882a593Smuzhiyun				};
88*4882a593Smuzhiyun				cpu0_alert4: cpu-alert-4 {
89*4882a593Smuzhiyun					temperature = <85000>; /* millicelsius */
90*4882a593Smuzhiyun					hysteresis = <10000>; /* millicelsius */
91*4882a593Smuzhiyun					type = "passive";
92*4882a593Smuzhiyun				};
93*4882a593Smuzhiyun			};
94*4882a593Smuzhiyun			cooling-maps {
95*4882a593Smuzhiyun				map0 {
96*4882a593Smuzhiyun					trip = <&cpu0_alert0>;
97*4882a593Smuzhiyun					cooling-device = <&fan0 0 1>;
98*4882a593Smuzhiyun				};
99*4882a593Smuzhiyun				map1 {
100*4882a593Smuzhiyun					trip = <&cpu0_alert1>;
101*4882a593Smuzhiyun					cooling-device = <&fan0 1 2>;
102*4882a593Smuzhiyun				};
103*4882a593Smuzhiyun				map2 {
104*4882a593Smuzhiyun					trip = <&cpu0_alert2>;
105*4882a593Smuzhiyun					cooling-device = <&fan0 2 3>;
106*4882a593Smuzhiyun				};
107*4882a593Smuzhiyun				/*
108*4882a593Smuzhiyun				 * When reaching cpu0_alert3, reduce CPU
109*4882a593Smuzhiyun				 * by 2 steps. On Exynos5422/5800 that would
110*4882a593Smuzhiyun				 * (usually) be: 1800 MHz and 1200 MHz.
111*4882a593Smuzhiyun				 */
112*4882a593Smuzhiyun				map3 {
113*4882a593Smuzhiyun					trip = <&cpu0_alert3>;
114*4882a593Smuzhiyun					cooling-device = <&cpu0 0 2>,
115*4882a593Smuzhiyun							 <&cpu1 0 2>,
116*4882a593Smuzhiyun							 <&cpu2 0 2>,
117*4882a593Smuzhiyun							 <&cpu3 0 2>,
118*4882a593Smuzhiyun							 <&cpu4 0 2>,
119*4882a593Smuzhiyun							 <&cpu5 0 2>,
120*4882a593Smuzhiyun							 <&cpu6 0 2>,
121*4882a593Smuzhiyun							 <&cpu7 0 2>;
122*4882a593Smuzhiyun				};
123*4882a593Smuzhiyun				/*
124*4882a593Smuzhiyun				 * When reaching cpu0_alert4, reduce CPU
125*4882a593Smuzhiyun				 * further, down to 600 MHz (14 steps for big,
126*4882a593Smuzhiyun				 * 8 steps for LITTLE).
127*4882a593Smuzhiyun				 */
128*4882a593Smuzhiyun				cpu0_cooling_map4: map4 {
129*4882a593Smuzhiyun					trip = <&cpu0_alert4>;
130*4882a593Smuzhiyun					cooling-device = <&cpu0 3 8>,
131*4882a593Smuzhiyun							 <&cpu1 3 8>,
132*4882a593Smuzhiyun							 <&cpu2 3 8>,
133*4882a593Smuzhiyun							 <&cpu3 3 8>,
134*4882a593Smuzhiyun							 <&cpu4 3 14>,
135*4882a593Smuzhiyun							 <&cpu5 3 14>,
136*4882a593Smuzhiyun							 <&cpu6 3 14>,
137*4882a593Smuzhiyun							 <&cpu7 3 14>;
138*4882a593Smuzhiyun				};
139*4882a593Smuzhiyun			};
140*4882a593Smuzhiyun		};
141*4882a593Smuzhiyun		cpu1_thermal: cpu1-thermal {
142*4882a593Smuzhiyun			thermal-sensors = <&tmu_cpu1 0>;
143*4882a593Smuzhiyun			polling-delay-passive = <250>;
144*4882a593Smuzhiyun			polling-delay = <0>;
145*4882a593Smuzhiyun			trips {
146*4882a593Smuzhiyun				cpu1_alert0: cpu-alert-0 {
147*4882a593Smuzhiyun					temperature = <50000>;
148*4882a593Smuzhiyun					hysteresis = <5000>;
149*4882a593Smuzhiyun					type = "active";
150*4882a593Smuzhiyun				};
151*4882a593Smuzhiyun				cpu1_alert1: cpu-alert-1 {
152*4882a593Smuzhiyun					temperature = <60000>;
153*4882a593Smuzhiyun					hysteresis = <5000>;
154*4882a593Smuzhiyun					type = "active";
155*4882a593Smuzhiyun				};
156*4882a593Smuzhiyun				cpu1_alert2: cpu-alert-2 {
157*4882a593Smuzhiyun					temperature = <70000>;
158*4882a593Smuzhiyun					hysteresis = <5000>;
159*4882a593Smuzhiyun					type = "active";
160*4882a593Smuzhiyun				};
161*4882a593Smuzhiyun				cpu1_crit0: cpu-crit-0 {
162*4882a593Smuzhiyun					temperature = <120000>;
163*4882a593Smuzhiyun					hysteresis = <0>;
164*4882a593Smuzhiyun					type = "critical";
165*4882a593Smuzhiyun				};
166*4882a593Smuzhiyun				cpu1_alert3: cpu-alert-3 {
167*4882a593Smuzhiyun					temperature = <70000>;
168*4882a593Smuzhiyun					hysteresis = <10000>;
169*4882a593Smuzhiyun					type = "passive";
170*4882a593Smuzhiyun				};
171*4882a593Smuzhiyun				cpu1_alert4: cpu-alert-4 {
172*4882a593Smuzhiyun					temperature = <85000>;
173*4882a593Smuzhiyun					hysteresis = <10000>;
174*4882a593Smuzhiyun					type = "passive";
175*4882a593Smuzhiyun				};
176*4882a593Smuzhiyun			};
177*4882a593Smuzhiyun			cooling-maps {
178*4882a593Smuzhiyun				map0 {
179*4882a593Smuzhiyun					trip = <&cpu1_alert0>;
180*4882a593Smuzhiyun					cooling-device = <&fan0 0 1>;
181*4882a593Smuzhiyun				};
182*4882a593Smuzhiyun				map1 {
183*4882a593Smuzhiyun					trip = <&cpu1_alert1>;
184*4882a593Smuzhiyun					cooling-device = <&fan0 1 2>;
185*4882a593Smuzhiyun				};
186*4882a593Smuzhiyun				map2 {
187*4882a593Smuzhiyun					trip = <&cpu1_alert2>;
188*4882a593Smuzhiyun					cooling-device = <&fan0 2 3>;
189*4882a593Smuzhiyun				};
190*4882a593Smuzhiyun				map3 {
191*4882a593Smuzhiyun					trip = <&cpu1_alert3>;
192*4882a593Smuzhiyun					cooling-device = <&cpu0 0 2>,
193*4882a593Smuzhiyun							 <&cpu1 0 2>,
194*4882a593Smuzhiyun							 <&cpu2 0 2>,
195*4882a593Smuzhiyun							 <&cpu3 0 2>,
196*4882a593Smuzhiyun							 <&cpu4 0 2>,
197*4882a593Smuzhiyun							 <&cpu5 0 2>,
198*4882a593Smuzhiyun							 <&cpu6 0 2>,
199*4882a593Smuzhiyun							 <&cpu7 0 2>;
200*4882a593Smuzhiyun				};
201*4882a593Smuzhiyun				cpu1_cooling_map4: map4 {
202*4882a593Smuzhiyun					trip = <&cpu1_alert4>;
203*4882a593Smuzhiyun					cooling-device = <&cpu0 3 8>,
204*4882a593Smuzhiyun							 <&cpu1 3 8>,
205*4882a593Smuzhiyun							 <&cpu2 3 8>,
206*4882a593Smuzhiyun							 <&cpu3 3 8>,
207*4882a593Smuzhiyun							 <&cpu4 3 14>,
208*4882a593Smuzhiyun							 <&cpu5 3 14>,
209*4882a593Smuzhiyun							 <&cpu6 3 14>,
210*4882a593Smuzhiyun							 <&cpu7 3 14>;
211*4882a593Smuzhiyun				};
212*4882a593Smuzhiyun			};
213*4882a593Smuzhiyun		};
214*4882a593Smuzhiyun		cpu2_thermal: cpu2-thermal {
215*4882a593Smuzhiyun			thermal-sensors = <&tmu_cpu2 0>;
216*4882a593Smuzhiyun			polling-delay-passive = <250>;
217*4882a593Smuzhiyun			polling-delay = <0>;
218*4882a593Smuzhiyun			trips {
219*4882a593Smuzhiyun				cpu2_alert0: cpu-alert-0 {
220*4882a593Smuzhiyun					temperature = <50000>;
221*4882a593Smuzhiyun					hysteresis = <5000>;
222*4882a593Smuzhiyun					type = "active";
223*4882a593Smuzhiyun				};
224*4882a593Smuzhiyun				cpu2_alert1: cpu-alert-1 {
225*4882a593Smuzhiyun					temperature = <60000>;
226*4882a593Smuzhiyun					hysteresis = <5000>;
227*4882a593Smuzhiyun					type = "active";
228*4882a593Smuzhiyun				};
229*4882a593Smuzhiyun				cpu2_alert2: cpu-alert-2 {
230*4882a593Smuzhiyun					temperature = <70000>;
231*4882a593Smuzhiyun					hysteresis = <5000>;
232*4882a593Smuzhiyun					type = "active";
233*4882a593Smuzhiyun				};
234*4882a593Smuzhiyun				cpu2_crit0: cpu-crit-0 {
235*4882a593Smuzhiyun					temperature = <120000>;
236*4882a593Smuzhiyun					hysteresis = <0>;
237*4882a593Smuzhiyun					type = "critical";
238*4882a593Smuzhiyun				};
239*4882a593Smuzhiyun				cpu2_alert3: cpu-alert-3 {
240*4882a593Smuzhiyun					temperature = <70000>;
241*4882a593Smuzhiyun					hysteresis = <10000>;
242*4882a593Smuzhiyun					type = "passive";
243*4882a593Smuzhiyun				};
244*4882a593Smuzhiyun				cpu2_alert4: cpu-alert-4 {
245*4882a593Smuzhiyun					temperature = <85000>;
246*4882a593Smuzhiyun					hysteresis = <10000>;
247*4882a593Smuzhiyun					type = "passive";
248*4882a593Smuzhiyun				};
249*4882a593Smuzhiyun			};
250*4882a593Smuzhiyun			cooling-maps {
251*4882a593Smuzhiyun				map0 {
252*4882a593Smuzhiyun					trip = <&cpu2_alert0>;
253*4882a593Smuzhiyun					cooling-device = <&fan0 0 1>;
254*4882a593Smuzhiyun				};
255*4882a593Smuzhiyun				map1 {
256*4882a593Smuzhiyun					trip = <&cpu2_alert1>;
257*4882a593Smuzhiyun					cooling-device = <&fan0 1 2>;
258*4882a593Smuzhiyun				};
259*4882a593Smuzhiyun				map2 {
260*4882a593Smuzhiyun					trip = <&cpu2_alert2>;
261*4882a593Smuzhiyun					cooling-device = <&fan0 2 3>;
262*4882a593Smuzhiyun				};
263*4882a593Smuzhiyun				map3 {
264*4882a593Smuzhiyun					trip = <&cpu2_alert3>;
265*4882a593Smuzhiyun					cooling-device = <&cpu0 0 2>,
266*4882a593Smuzhiyun							 <&cpu1 0 2>,
267*4882a593Smuzhiyun							 <&cpu2 0 2>,
268*4882a593Smuzhiyun							 <&cpu3 0 2>,
269*4882a593Smuzhiyun							 <&cpu4 0 2>,
270*4882a593Smuzhiyun							 <&cpu5 0 2>,
271*4882a593Smuzhiyun							 <&cpu6 0 2>,
272*4882a593Smuzhiyun							 <&cpu7 0 2>;
273*4882a593Smuzhiyun				};
274*4882a593Smuzhiyun				cpu2_cooling_map4: map4 {
275*4882a593Smuzhiyun					trip = <&cpu2_alert4>;
276*4882a593Smuzhiyun					cooling-device = <&cpu0 3 8>,
277*4882a593Smuzhiyun							 <&cpu1 3 8>,
278*4882a593Smuzhiyun							 <&cpu2 3 8>,
279*4882a593Smuzhiyun							 <&cpu3 3 8>,
280*4882a593Smuzhiyun							 <&cpu4 3 14>,
281*4882a593Smuzhiyun							 <&cpu5 3 14>,
282*4882a593Smuzhiyun							 <&cpu6 3 14>,
283*4882a593Smuzhiyun							 <&cpu7 3 14>;
284*4882a593Smuzhiyun				};
285*4882a593Smuzhiyun			};
286*4882a593Smuzhiyun		};
287*4882a593Smuzhiyun		cpu3_thermal: cpu3-thermal {
288*4882a593Smuzhiyun			thermal-sensors = <&tmu_cpu3 0>;
289*4882a593Smuzhiyun			polling-delay-passive = <250>;
290*4882a593Smuzhiyun			polling-delay = <0>;
291*4882a593Smuzhiyun			trips {
292*4882a593Smuzhiyun				cpu3_alert0: cpu-alert-0 {
293*4882a593Smuzhiyun					temperature = <50000>;
294*4882a593Smuzhiyun					hysteresis = <5000>;
295*4882a593Smuzhiyun					type = "active";
296*4882a593Smuzhiyun				};
297*4882a593Smuzhiyun				cpu3_alert1: cpu-alert-1 {
298*4882a593Smuzhiyun					temperature = <60000>;
299*4882a593Smuzhiyun					hysteresis = <5000>;
300*4882a593Smuzhiyun					type = "active";
301*4882a593Smuzhiyun				};
302*4882a593Smuzhiyun				cpu3_alert2: cpu-alert-2 {
303*4882a593Smuzhiyun					temperature = <70000>;
304*4882a593Smuzhiyun					hysteresis = <5000>;
305*4882a593Smuzhiyun					type = "active";
306*4882a593Smuzhiyun				};
307*4882a593Smuzhiyun				cpu3_crit0: cpu-crit-0 {
308*4882a593Smuzhiyun					temperature = <120000>;
309*4882a593Smuzhiyun					hysteresis = <0>;
310*4882a593Smuzhiyun					type = "critical";
311*4882a593Smuzhiyun				};
312*4882a593Smuzhiyun				cpu3_alert3: cpu-alert-3 {
313*4882a593Smuzhiyun					temperature = <70000>;
314*4882a593Smuzhiyun					hysteresis = <10000>;
315*4882a593Smuzhiyun					type = "passive";
316*4882a593Smuzhiyun				};
317*4882a593Smuzhiyun				cpu3_alert4: cpu-alert-4 {
318*4882a593Smuzhiyun					temperature = <85000>;
319*4882a593Smuzhiyun					hysteresis = <10000>;
320*4882a593Smuzhiyun					type = "passive";
321*4882a593Smuzhiyun				};
322*4882a593Smuzhiyun			};
323*4882a593Smuzhiyun			cooling-maps {
324*4882a593Smuzhiyun				map0 {
325*4882a593Smuzhiyun					trip = <&cpu3_alert0>;
326*4882a593Smuzhiyun					cooling-device = <&fan0 0 1>;
327*4882a593Smuzhiyun				};
328*4882a593Smuzhiyun				map1 {
329*4882a593Smuzhiyun					trip = <&cpu3_alert1>;
330*4882a593Smuzhiyun					cooling-device = <&fan0 1 2>;
331*4882a593Smuzhiyun				};
332*4882a593Smuzhiyun				map2 {
333*4882a593Smuzhiyun					trip = <&cpu3_alert2>;
334*4882a593Smuzhiyun					cooling-device = <&fan0 2 3>;
335*4882a593Smuzhiyun				};
336*4882a593Smuzhiyun				map3 {
337*4882a593Smuzhiyun					trip = <&cpu3_alert3>;
338*4882a593Smuzhiyun					cooling-device = <&cpu0 0 2>,
339*4882a593Smuzhiyun							 <&cpu1 0 2>,
340*4882a593Smuzhiyun							 <&cpu2 0 2>,
341*4882a593Smuzhiyun							 <&cpu3 0 2>,
342*4882a593Smuzhiyun							 <&cpu4 0 2>,
343*4882a593Smuzhiyun							 <&cpu5 0 2>,
344*4882a593Smuzhiyun							 <&cpu6 0 2>,
345*4882a593Smuzhiyun							 <&cpu7 0 2>;
346*4882a593Smuzhiyun				};
347*4882a593Smuzhiyun				cpu3_cooling_map4: map4 {
348*4882a593Smuzhiyun					trip = <&cpu3_alert4>;
349*4882a593Smuzhiyun					cooling-device = <&cpu0 3 8>,
350*4882a593Smuzhiyun							 <&cpu1 3 8>,
351*4882a593Smuzhiyun							 <&cpu2 3 8>,
352*4882a593Smuzhiyun							 <&cpu3 3 8>,
353*4882a593Smuzhiyun							 <&cpu4 3 14>,
354*4882a593Smuzhiyun							 <&cpu5 3 14>,
355*4882a593Smuzhiyun							 <&cpu6 3 14>,
356*4882a593Smuzhiyun							 <&cpu7 3 14>;
357*4882a593Smuzhiyun				};
358*4882a593Smuzhiyun			};
359*4882a593Smuzhiyun		};
360*4882a593Smuzhiyun		gpu_thermal: gpu-thermal {
361*4882a593Smuzhiyun			thermal-sensors = <&tmu_gpu 0>;
362*4882a593Smuzhiyun			polling-delay-passive = <250>;
363*4882a593Smuzhiyun			polling-delay = <0>;
364*4882a593Smuzhiyun			trips {
365*4882a593Smuzhiyun				gpu_alert0: gpu-alert-0 {
366*4882a593Smuzhiyun					temperature = <50000>;
367*4882a593Smuzhiyun					hysteresis = <5000>;
368*4882a593Smuzhiyun					type = "active";
369*4882a593Smuzhiyun				};
370*4882a593Smuzhiyun				gpu_alert1: gpu-alert-1 {
371*4882a593Smuzhiyun					temperature = <60000>;
372*4882a593Smuzhiyun					hysteresis = <5000>;
373*4882a593Smuzhiyun					type = "active";
374*4882a593Smuzhiyun				};
375*4882a593Smuzhiyun				gpu_alert2: gpu-alert-2 {
376*4882a593Smuzhiyun					temperature = <70000>;
377*4882a593Smuzhiyun					hysteresis = <5000>;
378*4882a593Smuzhiyun					type = "active";
379*4882a593Smuzhiyun				};
380*4882a593Smuzhiyun				gpu_crit0: gpu-crit-0 {
381*4882a593Smuzhiyun					temperature = <120000>;
382*4882a593Smuzhiyun					hysteresis = <0>;
383*4882a593Smuzhiyun					type = "critical";
384*4882a593Smuzhiyun				};
385*4882a593Smuzhiyun				gpu_alert3: gpu-alert-3 {
386*4882a593Smuzhiyun					temperature = <70000>;
387*4882a593Smuzhiyun					hysteresis = <10000>;
388*4882a593Smuzhiyun					type = "passive";
389*4882a593Smuzhiyun				};
390*4882a593Smuzhiyun				gpu_alert4: gpu-alert-4 {
391*4882a593Smuzhiyun					temperature = <85000>;
392*4882a593Smuzhiyun					hysteresis = <10000>;
393*4882a593Smuzhiyun					type = "passive";
394*4882a593Smuzhiyun				};
395*4882a593Smuzhiyun			};
396*4882a593Smuzhiyun			cooling-maps {
397*4882a593Smuzhiyun				map0 {
398*4882a593Smuzhiyun					trip = <&gpu_alert0>;
399*4882a593Smuzhiyun					cooling-device = <&fan0 0 1>;
400*4882a593Smuzhiyun				};
401*4882a593Smuzhiyun				map1 {
402*4882a593Smuzhiyun					trip = <&gpu_alert1>;
403*4882a593Smuzhiyun					cooling-device = <&fan0 1 2>;
404*4882a593Smuzhiyun				};
405*4882a593Smuzhiyun				map2 {
406*4882a593Smuzhiyun					trip = <&gpu_alert2>;
407*4882a593Smuzhiyun					cooling-device = <&fan0 2 3>;
408*4882a593Smuzhiyun				};
409*4882a593Smuzhiyun				map3 {
410*4882a593Smuzhiyun					trip = <&gpu_alert3>;
411*4882a593Smuzhiyun					cooling-device = <&gpu 0 2>;
412*4882a593Smuzhiyun				};
413*4882a593Smuzhiyun				map4 {
414*4882a593Smuzhiyun					trip = <&gpu_alert4>;
415*4882a593Smuzhiyun					cooling-device = <&gpu 3 6>;
416*4882a593Smuzhiyun				};
417*4882a593Smuzhiyun			};
418*4882a593Smuzhiyun		};
419*4882a593Smuzhiyun	};
420*4882a593Smuzhiyun};
421*4882a593Smuzhiyun
422*4882a593Smuzhiyun&buck10_reg {
423*4882a593Smuzhiyun	/* Supplies vmmc-supply of mmc_0 */
424*4882a593Smuzhiyun	regulator-always-on;
425*4882a593Smuzhiyun	regulator-boot-on;
426*4882a593Smuzhiyun};
427*4882a593Smuzhiyun
428*4882a593Smuzhiyun&hdmi {
429*4882a593Smuzhiyun	status = "okay";
430*4882a593Smuzhiyun	ddc = <&i2c_2>;
431*4882a593Smuzhiyun	hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
432*4882a593Smuzhiyun	pinctrl-names = "default";
433*4882a593Smuzhiyun	pinctrl-0 = <&hdmi_hpd_irq>;
434*4882a593Smuzhiyun
435*4882a593Smuzhiyun	vdd_osc-supply = <&ldo7_reg>;
436*4882a593Smuzhiyun	vdd_pll-supply = <&ldo6_reg>;
437*4882a593Smuzhiyun	vdd-supply = <&ldo6_reg>;
438*4882a593Smuzhiyun};
439*4882a593Smuzhiyun
440*4882a593Smuzhiyun&hdmicec {
441*4882a593Smuzhiyun	status = "okay";
442*4882a593Smuzhiyun	needs-hpd;
443*4882a593Smuzhiyun};
444*4882a593Smuzhiyun
445*4882a593Smuzhiyun&i2c_2 {
446*4882a593Smuzhiyun	samsung,i2c-sda-delay = <100>;
447*4882a593Smuzhiyun	samsung,i2c-max-bus-freq = <66000>;
448*4882a593Smuzhiyun	/* used by HDMI DDC */
449*4882a593Smuzhiyun	status = "okay";
450*4882a593Smuzhiyun};
451*4882a593Smuzhiyun
452*4882a593Smuzhiyun&ldo26_reg {
453*4882a593Smuzhiyun	regulator-min-microvolt = <3000000>;
454*4882a593Smuzhiyun	regulator-max-microvolt = <3000000>;
455*4882a593Smuzhiyun	regulator-always-on;
456*4882a593Smuzhiyun};
457*4882a593Smuzhiyun
458*4882a593Smuzhiyun&mixer {
459*4882a593Smuzhiyun	status = "okay";
460*4882a593Smuzhiyun};
461*4882a593Smuzhiyun
462*4882a593Smuzhiyun&mmc_0 {
463*4882a593Smuzhiyun	status = "okay";
464*4882a593Smuzhiyun	mmc-pwrseq = <&emmc_pwrseq>;
465*4882a593Smuzhiyun	card-detect-delay = <200>;
466*4882a593Smuzhiyun	samsung,dw-mshc-ciu-div = <3>;
467*4882a593Smuzhiyun	samsung,dw-mshc-sdr-timing = <0 4>;
468*4882a593Smuzhiyun	samsung,dw-mshc-ddr-timing = <0 2>;
469*4882a593Smuzhiyun	samsung,dw-mshc-hs400-timing = <0 2>;
470*4882a593Smuzhiyun	samsung,read-strobe-delay = <90>;
471*4882a593Smuzhiyun	pinctrl-names = "default";
472*4882a593Smuzhiyun	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_cd &sd0_rclk>;
473*4882a593Smuzhiyun	bus-width = <8>;
474*4882a593Smuzhiyun	cap-mmc-highspeed;
475*4882a593Smuzhiyun	mmc-hs200-1_8v;
476*4882a593Smuzhiyun	mmc-hs400-1_8v;
477*4882a593Smuzhiyun	max-frequency = <200000000>;
478*4882a593Smuzhiyun	vmmc-supply = <&ldo18_reg>;
479*4882a593Smuzhiyun	vqmmc-supply = <&ldo3_reg>;
480*4882a593Smuzhiyun};
481*4882a593Smuzhiyun
482*4882a593Smuzhiyun&pinctrl_0 {
483*4882a593Smuzhiyun	power_key: power-key {
484*4882a593Smuzhiyun		samsung,pins = "gpx0-3";
485*4882a593Smuzhiyun		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
486*4882a593Smuzhiyun		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
487*4882a593Smuzhiyun		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
488*4882a593Smuzhiyun	};
489*4882a593Smuzhiyun
490*4882a593Smuzhiyun	hdmi_hpd_irq: hdmi-hpd-irq {
491*4882a593Smuzhiyun		samsung,pins = "gpx3-7";
492*4882a593Smuzhiyun		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
493*4882a593Smuzhiyun		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
494*4882a593Smuzhiyun		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
495*4882a593Smuzhiyun	};
496*4882a593Smuzhiyun};
497*4882a593Smuzhiyun
498*4882a593Smuzhiyun&pinctrl_1 {
499*4882a593Smuzhiyun	emmc_nrst_pin: emmc-nrst {
500*4882a593Smuzhiyun		samsung,pins = "gpd1-0";
501*4882a593Smuzhiyun		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
502*4882a593Smuzhiyun		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
503*4882a593Smuzhiyun		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
504*4882a593Smuzhiyun	};
505*4882a593Smuzhiyun};
506