Linux Audio

Check our new training course

In-person Linux kernel drivers training

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