1 // SPDX-License-Identifier: GPL-2.0
3 * Hardkernel Odroid XU3/XU3-Lite/XU4 boards common device tree source
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>
12 #include <dt-bindings/input/input.h>
13 #include "exynos5422-odroid-core.dtsi"
17 compatible = "gpio-keys";
18 pinctrl-names = "default";
19 pinctrl-0 = <&power_key>;
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.
29 gpios = <&gpx0 3 GPIO_ACTIVE_LOW>;
30 linux,code = <KEY_POWER>;
32 debounce-interval = <0>;
38 pinctrl-0 = <&emmc_nrst_pin>;
39 pinctrl-names = "default";
40 compatible = "mmc-pwrseq-emmc";
41 reset-gpios = <&gpd1 0 GPIO_ACTIVE_LOW>;
45 compatible = "pwm-fan";
46 pwms = <&pwm 0 20972 0>;
48 cooling-levels = <0 130 170 230>;
52 cpu0_thermal: cpu0-thermal {
53 thermal-sensors = <&tmu_cpu0 0>;
54 polling-delay-passive = <250>;
57 cpu0_alert0: cpu-alert-0 {
58 temperature = <50000>; /* millicelsius */
59 hysteresis = <5000>; /* millicelsius */
62 cpu0_alert1: cpu-alert-1 {
63 temperature = <60000>; /* millicelsius */
64 hysteresis = <5000>; /* millicelsius */
67 cpu0_alert2: cpu-alert-2 {
68 temperature = <70000>; /* millicelsius */
69 hysteresis = <5000>; /* millicelsius */
72 cpu0_crit0: cpu-crit-0 {
73 temperature = <120000>; /* millicelsius */
74 hysteresis = <0>; /* millicelsius */
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
83 cpu0_alert3: cpu-alert-3 {
84 temperature = <70000>; /* millicelsius */
85 hysteresis = <10000>; /* millicelsius */
88 cpu0_alert4: cpu-alert-4 {
89 temperature = <85000>; /* millicelsius */
90 hysteresis = <10000>; /* millicelsius */
96 trip = <&cpu0_alert0>;
97 cooling-device = <&fan0 0 1>;
100 trip = <&cpu0_alert1>;
101 cooling-device = <&fan0 1 2>;
104 trip = <&cpu0_alert2>;
105 cooling-device = <&fan0 2 3>;
108 * When reaching cpu0_alert3, reduce CPU
109 * by 2 steps. On Exynos5422/5800 that would
110 * (usually) be: 1800 MHz and 1200 MHz.
113 trip = <&cpu0_alert3>;
114 cooling-device = <&cpu0 0 2>,
124 * When reaching cpu0_alert4, reduce CPU
125 * further, down to 600 MHz (14 steps for big,
126 * 8 steps for LITTLE).
128 cpu0_cooling_map4: map4 {
129 trip = <&cpu0_alert4>;
130 cooling-device = <&cpu0 3 8>,
141 cpu1_thermal: cpu1-thermal {
142 thermal-sensors = <&tmu_cpu1 0>;
143 polling-delay-passive = <250>;
146 cpu1_alert0: cpu-alert-0 {
147 temperature = <50000>;
151 cpu1_alert1: cpu-alert-1 {
152 temperature = <60000>;
156 cpu1_alert2: cpu-alert-2 {
157 temperature = <70000>;
161 cpu1_crit0: cpu-crit-0 {
162 temperature = <120000>;
166 cpu1_alert3: cpu-alert-3 {
167 temperature = <70000>;
168 hysteresis = <10000>;
171 cpu1_alert4: cpu-alert-4 {
172 temperature = <85000>;
173 hysteresis = <10000>;
179 trip = <&cpu1_alert0>;
180 cooling-device = <&fan0 0 1>;
183 trip = <&cpu1_alert1>;
184 cooling-device = <&fan0 1 2>;
187 trip = <&cpu1_alert2>;
188 cooling-device = <&fan0 2 3>;
191 trip = <&cpu1_alert3>;
192 cooling-device = <&cpu0 0 2>,
201 cpu1_cooling_map4: map4 {
202 trip = <&cpu1_alert4>;
203 cooling-device = <&cpu0 3 8>,
214 cpu2_thermal: cpu2-thermal {
215 thermal-sensors = <&tmu_cpu2 0>;
216 polling-delay-passive = <250>;
219 cpu2_alert0: cpu-alert-0 {
220 temperature = <50000>;
224 cpu2_alert1: cpu-alert-1 {
225 temperature = <60000>;
229 cpu2_alert2: cpu-alert-2 {
230 temperature = <70000>;
234 cpu2_crit0: cpu-crit-0 {
235 temperature = <120000>;
239 cpu2_alert3: cpu-alert-3 {
240 temperature = <70000>;
241 hysteresis = <10000>;
244 cpu2_alert4: cpu-alert-4 {
245 temperature = <85000>;
246 hysteresis = <10000>;
252 trip = <&cpu2_alert0>;
253 cooling-device = <&fan0 0 1>;
256 trip = <&cpu2_alert1>;
257 cooling-device = <&fan0 1 2>;
260 trip = <&cpu2_alert2>;
261 cooling-device = <&fan0 2 3>;
264 trip = <&cpu2_alert3>;
265 cooling-device = <&cpu0 0 2>,
274 cpu2_cooling_map4: map4 {
275 trip = <&cpu2_alert4>;
276 cooling-device = <&cpu0 3 8>,
287 cpu3_thermal: cpu3-thermal {
288 thermal-sensors = <&tmu_cpu3 0>;
289 polling-delay-passive = <250>;
292 cpu3_alert0: cpu-alert-0 {
293 temperature = <50000>;
297 cpu3_alert1: cpu-alert-1 {
298 temperature = <60000>;
302 cpu3_alert2: cpu-alert-2 {
303 temperature = <70000>;
307 cpu3_crit0: cpu-crit-0 {
308 temperature = <120000>;
312 cpu3_alert3: cpu-alert-3 {
313 temperature = <70000>;
314 hysteresis = <10000>;
317 cpu3_alert4: cpu-alert-4 {
318 temperature = <85000>;
319 hysteresis = <10000>;
325 trip = <&cpu3_alert0>;
326 cooling-device = <&fan0 0 1>;
329 trip = <&cpu3_alert1>;
330 cooling-device = <&fan0 1 2>;
333 trip = <&cpu3_alert2>;
334 cooling-device = <&fan0 2 3>;
337 trip = <&cpu3_alert3>;
338 cooling-device = <&cpu0 0 2>,
347 cpu3_cooling_map4: map4 {
348 trip = <&cpu3_alert4>;
349 cooling-device = <&cpu0 3 8>,
364 /* Supplies vmmc-supply of mmc_0 */
372 hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
373 pinctrl-names = "default";
374 pinctrl-0 = <&hdmi_hpd_irq>;
376 vdd_osc-supply = <&ldo7_reg>;
377 vdd_pll-supply = <&ldo6_reg>;
378 vdd-supply = <&ldo6_reg>;
387 samsung,i2c-sda-delay = <100>;
388 samsung,i2c-max-bus-freq = <66000>;
389 /* used by HDMI DDC */
394 regulator-min-microvolt = <3000000>;
395 regulator-max-microvolt = <3000000>;
405 mmc-pwrseq = <&emmc_pwrseq>;
406 card-detect-delay = <200>;
407 samsung,dw-mshc-ciu-div = <3>;
408 samsung,dw-mshc-sdr-timing = <0 4>;
409 samsung,dw-mshc-ddr-timing = <0 2>;
410 samsung,dw-mshc-hs400-timing = <0 2>;
411 samsung,read-strobe-delay = <90>;
412 pinctrl-names = "default";
413 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_cd &sd0_rclk>;
418 max-frequency = <200000000>;
419 vmmc-supply = <&ldo18_reg>;
420 vqmmc-supply = <&ldo3_reg>;
424 power_key: power-key {
425 samsung,pins = "gpx0-3";
426 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
427 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
428 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
431 hdmi_hpd_irq: hdmi-hpd-irq {
432 samsung,pins = "gpx3-7";
433 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
434 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
435 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
440 emmc_nrst_pin: emmc-nrst {
441 samsung,pins = "gpd1-0";
442 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
443 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
444 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;