2 * Hardkernel Odroid XU3 board device tree source
4 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
5 * http://www.samsung.com
6 * Copyright (c) 2014 Collabora Ltd.
7 * Copyright (c) 2015 Lukasz Majewski <l.majewski@samsung.com>
8 * Anand Moon <linux.amoon@gmail.com>
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
15 #include <dt-bindings/input/input.h>
16 #include "exynos5422-odroid-core.dtsi"
20 compatible = "gpio-keys";
21 pinctrl-names = "default";
22 pinctrl-0 = <&power_key>;
26 * The power button (SW2) is connected to the PWRON
27 * pin (active high) of the S2MPS11 PMIC, which acts
28 * as a 16ms debouce filter and signal inverter with
29 * output on ONOB pin (active low). ONOB PMIC pin is
30 * then connected to XEINT3 SoC pin.
32 gpios = <&gpx0 3 GPIO_ACTIVE_LOW>;
33 linux,code = <KEY_POWER>;
35 debounce-interval = <0>;
41 pinctrl-0 = <&emmc_nrst_pin>;
42 pinctrl-names = "default";
43 compatible = "mmc-pwrseq-emmc";
44 reset-gpios = <&gpd1 0 GPIO_ACTIVE_LOW>;
48 compatible = "pwm-fan";
49 pwms = <&pwm 0 20972 0>;
50 cooling-min-state = <0>;
51 cooling-max-state = <3>;
53 cooling-levels = <0 130 170 230>;
57 cpu0_thermal: cpu0-thermal {
58 thermal-sensors = <&tmu_cpu0 0>;
59 polling-delay-passive = <250>;
62 cpu0_alert0: cpu-alert-0 {
63 temperature = <50000>; /* millicelsius */
64 hysteresis = <5000>; /* millicelsius */
67 cpu0_alert1: cpu-alert-1 {
68 temperature = <60000>; /* millicelsius */
69 hysteresis = <5000>; /* millicelsius */
72 cpu0_alert2: cpu-alert-2 {
73 temperature = <70000>; /* millicelsius */
74 hysteresis = <5000>; /* millicelsius */
77 cpu0_crit0: cpu-crit-0 {
78 temperature = <120000>; /* millicelsius */
79 hysteresis = <0>; /* millicelsius */
83 * Exynos542x supports only 4 trip-points
84 * so for these polling mode is required.
85 * Start polling at temperature level of last
86 * interrupt-driven trip: cpu0_alert2
88 cpu0_alert3: cpu-alert-3 {
89 temperature = <70000>; /* millicelsius */
90 hysteresis = <10000>; /* millicelsius */
93 cpu0_alert4: cpu-alert-4 {
94 temperature = <85000>; /* millicelsius */
95 hysteresis = <10000>; /* millicelsius */
101 trip = <&cpu0_alert0>;
102 cooling-device = <&fan0 0 1>;
105 trip = <&cpu0_alert1>;
106 cooling-device = <&fan0 1 2>;
109 trip = <&cpu0_alert2>;
110 cooling-device = <&fan0 2 3>;
113 * When reaching cpu0_alert3, reduce CPU
114 * by 2 steps. On Exynos5422/5800 that would
115 * be: 1600 MHz and 1100 MHz.
118 trip = <&cpu0_alert3>;
119 cooling-device = <&cpu0 0 2>;
122 trip = <&cpu0_alert3>;
123 cooling-device = <&cpu4 0 2>;
126 * When reaching cpu0_alert4, reduce CPU
127 * further, down to 600 MHz (12 steps for big,
128 * 7 steps for LITTLE).
131 trip = <&cpu0_alert4>;
132 cooling-device = <&cpu0 3 7>;
135 trip = <&cpu0_alert4>;
136 cooling-device = <&cpu4 3 12>;
140 cpu1_thermal: cpu1-thermal {
141 thermal-sensors = <&tmu_cpu1 0>;
142 polling-delay-passive = <250>;
145 cpu1_alert0: cpu-alert-0 {
146 temperature = <50000>;
150 cpu1_alert1: cpu-alert-1 {
151 temperature = <60000>;
155 cpu1_alert2: cpu-alert-2 {
156 temperature = <70000>;
160 cpu1_crit0: cpu-crit-0 {
161 temperature = <120000>;
165 cpu1_alert3: cpu-alert-3 {
166 temperature = <70000>;
167 hysteresis = <10000>;
170 cpu1_alert4: cpu-alert-4 {
171 temperature = <85000>;
172 hysteresis = <10000>;
178 trip = <&cpu1_alert0>;
179 cooling-device = <&fan0 0 1>;
182 trip = <&cpu1_alert1>;
183 cooling-device = <&fan0 1 2>;
186 trip = <&cpu1_alert2>;
187 cooling-device = <&fan0 2 3>;
190 trip = <&cpu1_alert3>;
191 cooling-device = <&cpu0 0 2>;
194 trip = <&cpu1_alert3>;
195 cooling-device = <&cpu4 0 2>;
198 trip = <&cpu1_alert4>;
199 cooling-device = <&cpu0 3 7>;
202 trip = <&cpu1_alert4>;
203 cooling-device = <&cpu4 3 12>;
207 cpu2_thermal: cpu2-thermal {
208 thermal-sensors = <&tmu_cpu2 0>;
209 polling-delay-passive = <250>;
212 cpu2_alert0: cpu-alert-0 {
213 temperature = <50000>;
217 cpu2_alert1: cpu-alert-1 {
218 temperature = <60000>;
222 cpu2_alert2: cpu-alert-2 {
223 temperature = <70000>;
227 cpu2_crit0: cpu-crit-0 {
228 temperature = <120000>;
232 cpu2_alert3: cpu-alert-3 {
233 temperature = <70000>;
234 hysteresis = <10000>;
237 cpu2_alert4: cpu-alert-4 {
238 temperature = <85000>;
239 hysteresis = <10000>;
245 trip = <&cpu2_alert0>;
246 cooling-device = <&fan0 0 1>;
249 trip = <&cpu2_alert1>;
250 cooling-device = <&fan0 1 2>;
253 trip = <&cpu2_alert2>;
254 cooling-device = <&fan0 2 3>;
257 trip = <&cpu2_alert3>;
258 cooling-device = <&cpu0 0 2>;
261 trip = <&cpu2_alert3>;
262 cooling-device = <&cpu4 0 2>;
265 trip = <&cpu2_alert4>;
266 cooling-device = <&cpu0 3 7>;
269 trip = <&cpu2_alert4>;
270 cooling-device = <&cpu4 3 12>;
274 cpu3_thermal: cpu3-thermal {
275 thermal-sensors = <&tmu_cpu3 0>;
276 polling-delay-passive = <250>;
279 cpu3_alert0: cpu-alert-0 {
280 temperature = <50000>;
284 cpu3_alert1: cpu-alert-1 {
285 temperature = <60000>;
289 cpu3_alert2: cpu-alert-2 {
290 temperature = <70000>;
294 cpu3_crit0: cpu-crit-0 {
295 temperature = <120000>;
299 cpu3_alert3: cpu-alert-3 {
300 temperature = <70000>;
301 hysteresis = <10000>;
304 cpu3_alert4: cpu-alert-4 {
305 temperature = <85000>;
306 hysteresis = <10000>;
312 trip = <&cpu3_alert0>;
313 cooling-device = <&fan0 0 1>;
316 trip = <&cpu3_alert1>;
317 cooling-device = <&fan0 1 2>;
320 trip = <&cpu3_alert2>;
321 cooling-device = <&fan0 2 3>;
324 trip = <&cpu3_alert3>;
325 cooling-device = <&cpu0 0 2>;
328 trip = <&cpu3_alert3>;
329 cooling-device = <&cpu4 0 2>;
332 trip = <&cpu3_alert4>;
333 cooling-device = <&cpu0 3 7>;
336 trip = <&cpu3_alert4>;
337 cooling-device = <&cpu4 3 12>;
345 vdd-supply = <&ldo4_reg>;
352 hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
353 pinctrl-names = "default";
354 pinctrl-0 = <&hdmi_hpd_irq>;
356 vdd_osc-supply = <&ldo7_reg>;
357 vdd_pll-supply = <&ldo6_reg>;
358 vdd-supply = <&ldo6_reg>;
367 samsung,i2c-sda-delay = <100>;
368 samsung,i2c-max-bus-freq = <66000>;
369 /* used by HDMI DDC */
379 mmc-pwrseq = <&emmc_pwrseq>;
380 card-detect-delay = <200>;
381 samsung,dw-mshc-ciu-div = <3>;
382 samsung,dw-mshc-sdr-timing = <0 4>;
383 samsung,dw-mshc-ddr-timing = <0 2>;
384 samsung,dw-mshc-hs400-timing = <0 2>;
385 samsung,read-strobe-delay = <90>;
386 pinctrl-names = "default";
387 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_cd &sd0_rclk>;
392 vmmc-supply = <&ldo18_reg>;
393 vqmmc-supply = <&ldo3_reg>;
397 power_key: power-key {
398 samsung,pins = "gpx0-3";
399 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
400 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
401 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
404 hdmi_hpd_irq: hdmi-hpd-irq {
405 samsung,pins = "gpx3-7";
406 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
407 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
408 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
413 emmc_nrst_pin: emmc-nrst {
414 samsung,pins = "gpd1-0";
415 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
416 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
417 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;