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>;
47 cooling-min-state = <0>;
48 cooling-max-state = <3>;
50 cooling-levels = <0 130 170 230>;
54 cpu0_thermal: cpu0-thermal {
55 thermal-sensors = <&tmu_cpu0 0>;
56 polling-delay-passive = <250>;
59 cpu0_alert0: cpu-alert-0 {
60 temperature = <50000>; /* millicelsius */
61 hysteresis = <5000>; /* millicelsius */
64 cpu0_alert1: cpu-alert-1 {
65 temperature = <60000>; /* millicelsius */
66 hysteresis = <5000>; /* millicelsius */
69 cpu0_alert2: cpu-alert-2 {
70 temperature = <70000>; /* millicelsius */
71 hysteresis = <5000>; /* millicelsius */
74 cpu0_crit0: cpu-crit-0 {
75 temperature = <120000>; /* millicelsius */
76 hysteresis = <0>; /* millicelsius */
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
85 cpu0_alert3: cpu-alert-3 {
86 temperature = <70000>; /* millicelsius */
87 hysteresis = <10000>; /* millicelsius */
90 cpu0_alert4: cpu-alert-4 {
91 temperature = <85000>; /* millicelsius */
92 hysteresis = <10000>; /* millicelsius */
98 trip = <&cpu0_alert0>;
99 cooling-device = <&fan0 0 1>;
102 trip = <&cpu0_alert1>;
103 cooling-device = <&fan0 1 2>;
106 trip = <&cpu0_alert2>;
107 cooling-device = <&fan0 2 3>;
110 * When reaching cpu0_alert3, reduce CPU
111 * by 2 steps. On Exynos5422/5800 that would
112 * be: 1600 MHz and 1100 MHz.
115 trip = <&cpu0_alert3>;
116 cooling-device = <&cpu0 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>,
143 cpu1_thermal: cpu1-thermal {
144 thermal-sensors = <&tmu_cpu1 0>;
145 polling-delay-passive = <250>;
148 cpu1_alert0: cpu-alert-0 {
149 temperature = <50000>;
153 cpu1_alert1: cpu-alert-1 {
154 temperature = <60000>;
158 cpu1_alert2: cpu-alert-2 {
159 temperature = <70000>;
163 cpu1_crit0: cpu-crit-0 {
164 temperature = <120000>;
168 cpu1_alert3: cpu-alert-3 {
169 temperature = <70000>;
170 hysteresis = <10000>;
173 cpu1_alert4: cpu-alert-4 {
174 temperature = <85000>;
175 hysteresis = <10000>;
181 trip = <&cpu1_alert0>;
182 cooling-device = <&fan0 0 1>;
185 trip = <&cpu1_alert1>;
186 cooling-device = <&fan0 1 2>;
189 trip = <&cpu1_alert2>;
190 cooling-device = <&fan0 2 3>;
193 trip = <&cpu1_alert3>;
194 cooling-device = <&cpu0 0 2>,
204 trip = <&cpu1_alert4>;
205 cooling-device = <&cpu0 3 7>,
216 cpu2_thermal: cpu2-thermal {
217 thermal-sensors = <&tmu_cpu2 0>;
218 polling-delay-passive = <250>;
221 cpu2_alert0: cpu-alert-0 {
222 temperature = <50000>;
226 cpu2_alert1: cpu-alert-1 {
227 temperature = <60000>;
231 cpu2_alert2: cpu-alert-2 {
232 temperature = <70000>;
236 cpu2_crit0: cpu-crit-0 {
237 temperature = <120000>;
241 cpu2_alert3: cpu-alert-3 {
242 temperature = <70000>;
243 hysteresis = <10000>;
246 cpu2_alert4: cpu-alert-4 {
247 temperature = <85000>;
248 hysteresis = <10000>;
254 trip = <&cpu2_alert0>;
255 cooling-device = <&fan0 0 1>;
258 trip = <&cpu2_alert1>;
259 cooling-device = <&fan0 1 2>;
262 trip = <&cpu2_alert2>;
263 cooling-device = <&fan0 2 3>;
266 trip = <&cpu2_alert3>;
267 cooling-device = <&cpu0 0 2>,
277 trip = <&cpu2_alert4>;
278 cooling-device = <&cpu0 3 7>,
289 cpu3_thermal: cpu3-thermal {
290 thermal-sensors = <&tmu_cpu3 0>;
291 polling-delay-passive = <250>;
294 cpu3_alert0: cpu-alert-0 {
295 temperature = <50000>;
299 cpu3_alert1: cpu-alert-1 {
300 temperature = <60000>;
304 cpu3_alert2: cpu-alert-2 {
305 temperature = <70000>;
309 cpu3_crit0: cpu-crit-0 {
310 temperature = <120000>;
314 cpu3_alert3: cpu-alert-3 {
315 temperature = <70000>;
316 hysteresis = <10000>;
319 cpu3_alert4: cpu-alert-4 {
320 temperature = <85000>;
321 hysteresis = <10000>;
327 trip = <&cpu3_alert0>;
328 cooling-device = <&fan0 0 1>;
331 trip = <&cpu3_alert1>;
332 cooling-device = <&fan0 1 2>;
335 trip = <&cpu3_alert2>;
336 cooling-device = <&fan0 2 3>;
339 trip = <&cpu3_alert3>;
340 cooling-device = <&cpu0 0 2>,
350 trip = <&cpu3_alert4>;
351 cooling-device = <&cpu0 3 7>,
366 vdd-supply = <&ldo4_reg>;
373 hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
374 pinctrl-names = "default";
375 pinctrl-0 = <&hdmi_hpd_irq>;
377 vdd_osc-supply = <&ldo7_reg>;
378 vdd_pll-supply = <&ldo6_reg>;
379 vdd-supply = <&ldo6_reg>;
388 samsung,i2c-sda-delay = <100>;
389 samsung,i2c-max-bus-freq = <66000>;
390 /* used by HDMI DDC */
395 regulator-min-microvolt = <3000000>;
396 regulator-max-microvolt = <3000000>;
406 mmc-pwrseq = <&emmc_pwrseq>;
407 card-detect-delay = <200>;
408 samsung,dw-mshc-ciu-div = <3>;
409 samsung,dw-mshc-sdr-timing = <0 4>;
410 samsung,dw-mshc-ddr-timing = <0 2>;
411 samsung,dw-mshc-hs400-timing = <0 2>;
412 samsung,read-strobe-delay = <90>;
413 pinctrl-names = "default";
414 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_cd &sd0_rclk>;
419 max-frequency = <200000000>;
420 vmmc-supply = <&ldo18_reg>;
421 vqmmc-supply = <&ldo3_reg>;
425 power_key: power-key {
426 samsung,pins = "gpx0-3";
427 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
428 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
429 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
432 hdmi_hpd_irq: hdmi-hpd-irq {
433 samsung,pins = "gpx3-7";
434 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
435 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
436 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
441 emmc_nrst_pin: emmc-nrst {
442 samsung,pins = "gpd1-0";
443 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
444 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
445 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;