diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi index 05b9afdd..66b4ea3 100644 --- a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi +++ b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi @@ -64,83 +64,219 @@ polling-delay-passive = <250>; polling-delay = <0>; trips { - cpu_alert0: cpu-alert-0 { - temperature = <50000>; /* millicelsius */ - hysteresis = <5000>; /* millicelsius */ + cpu0_alert0: cpu-alert-0 { + temperature = <65000>; /* millicelsius */ + hysteresis = <1000>; /* millicelsius */ type = "active"; }; - cpu_alert1: cpu-alert-1 { - temperature = <60000>; /* millicelsius */ - hysteresis = <5000>; /* millicelsius */ + cpu0_alert1: cpu-alert-1 { + temperature = <70000>; /* millicelsius */ + hysteresis = <1000>; /* millicelsius */ type = "active"; }; - cpu_alert2: cpu-alert-2 { - temperature = <70000>; /* millicelsius */ - hysteresis = <5000>; /* millicelsius */ + cpu0_alert2: cpu-alert-2 { + temperature = <80000>; /* millicelsius */ + hysteresis = <1000>; /* millicelsius */ + type = "active"; + }; + cpu0_alert3: cpu-alert-3 { + temperature = <85000>; /* millicelsius */ + hysteresis = <1000>; /* millicelsius */ type = "active"; }; - cpu_crit0: cpu-crit-0 { + cpu0_alert4: cpu-alert-4 { + temperature = <90000>; /* millicelsius */ + hysteresis = <1000>; /* millicelsius */ + type = "active"; + }; + cpu0_alert5: cpu-alert-5 { + temperature = <95000>; /* millicelsius */ + hysteresis = <1000>; /* millicelsius */ + type = "active"; + }; + cpu0_alert6: cpu-alert-6 { + temperature = <100000>; /* millicelsius */ + hysteresis = <1000>; /* millicelsius */ + type = "active"; + }; + cpu0_crit0: cpu-crit-0 { temperature = <120000>; /* millicelsius */ - hysteresis = <0>; /* millicelsius */ + hysteresis = <1000>; /* millicelsius */ type = "critical"; }; - /* - * Exynos542x supports only 4 trip-points - * so for these polling mode is required. - * Start polling at temperature level of last - * interrupt-driven trip: cpu_alert2 - */ - cpu_alert3: cpu-alert-3 { + }; + cooling-maps { + map0 { + trip = <&cpu0_alert0>; + cooling-device = <&fan0 0 1>; + }; + map1 { + trip = <&cpu0_alert1>; + cooling-device = <&fan0 1 2>; + }; + map2 { + trip = <&cpu0_alert2>; + cooling-device = <&fan0 2 3>; + }; + map3 { + /* Set maximum frequency as 1200MHz */ + trip = <&cpu0_alert2>; + cooling-device = <&cpu0 1 2>; + }; + map4 { + /* Set maximum frequency as 1100MHz */ + trip = <&cpu0_alert3>; + cooling-device = <&cpu0 2 3>; + }; + map5 { + /* Set maximum frequency as 1000MHz */ + trip = <&cpu0_alert4>; + cooling-device = <&cpu0 3 4>; + }; + map6 { + /* Set maximum frequency as 900MHz */ + trip = <&cpu0_alert5>; + cooling-device = <&cpu0 4 5>; + }; + map7 { + /* Set maximum frequency as 800MHz */ + trip = <&cpu0_alert6>; + cooling-device = <&cpu0 5 9>; + }; + }; + }; + cpu1_thermal: cpu1-thermal { + thermal-sensors = <&tmu_cpu1 0>; + polling-delay-passive = <250>; + polling-delay = <0>; + trips { + cpu1_alert0: cpu-alert-0 { + temperature = <65000>; /* millicelsius */ + hysteresis = <1000>; /* millicelsius */ + type = "active"; + }; + cpu1_alert1: cpu-alert-1 { temperature = <70000>; /* millicelsius */ - hysteresis = <10000>; /* millicelsius */ - type = "passive"; + hysteresis = <1000>; /* millicelsius */ + type = "active"; }; - cpu_alert4: cpu-alert-4 { + cpu1_alert2: cpu-alert-2 { + temperature = <80000>; /* millicelsius */ + hysteresis = <1000>; /* millicelsius */ + type = "active"; + }; + cpu1_alert3: cpu-alert-3 { temperature = <85000>; /* millicelsius */ - hysteresis = <10000>; /* millicelsius */ - type = "passive"; + hysteresis = <1000>; /* millicelsius */ + type = "active"; }; - + cpu1_alert4: cpu-alert-4 { + temperature = <90000>; /* millicelsius */ + hysteresis = <1000>; /* millicelsius */ + type = "active"; + }; + cpu1_alert5: cpu-alert-5 { + temperature = <95000>; /* millicelsius */ + hysteresis = <1000>; /* millicelsius */ + type = "active"; + }; + cpu1_alert6: cpu-alert-6 { + temperature = <100000>; /* millicelsius */ + hysteresis = <1000>; /* millicelsius */ + type = "active"; + }; + cpu1_crit0: cpu-crit-0 { + temperature = <120000>; /* millicelsius */ + hysteresis = <0>; /* millicelsius */ + type = "critical"; + }; + }; cooling-maps { map0 { - trip = <&cpu_alert0>; + trip = <&cpu1_alert0>; cooling-device = <&fan0 0 1>; }; map1 { - trip = <&cpu_alert1>; + trip = <&cpu1_alert1>; cooling-device = <&fan0 1 2>; }; map2 { - trip = <&cpu_alert2>; + trip = <&cpu1_alert2>; cooling-device = <&fan0 2 3>; }; - /* - * When reaching cpu_alert3, reduce CPU - * by 2 steps. On Exynos5422/5800 that would - * be: 1600 MHz and 1100 MHz. - */ map3 { - trip = <&cpu_alert3>; - cooling-device = <&cpu0 0 2>; + /* Set maximum frequency as 1800MHz */ + trip = <&cpu1_alert0>; + cooling-device = <&cpu4 1 2>; }; map4 { - trip = <&cpu_alert3>; - cooling-device = <&cpu4 0 2>; + /* Set maximum frequency as 1700MHz */ + trip = <&cpu1_alert1>; + cooling-device = <&cpu4 2 3>; }; - - /* - * When reaching cpu_alert4, reduce CPU - * further, down to 600 MHz (11 steps for big, - * 7 steps for LITTLE). - */ map5 { - trip = <&cpu_alert4>; - cooling-device = <&cpu0 3 7>; + /* Set maximum frequency as 1600MHz */ + trip = <&cpu1_alert2>; + cooling-device = <&cpu4 3 4>; }; map6 { - trip = <&cpu_alert4>; - cooling-device = <&cpu4 3 11>; + /* Set maximum frequency as 1500MHz */ + trip = <&cpu1_alert3>; + cooling-device = <&cpu4 4 5>; + }; + map7 { + /* Set maximum frequency as 1400MHz */ + trip = <&cpu1_alert4>; + cooling-device = <&cpu4 5 7>; + }; + map8 { + /* Set maximum frequencyas 1200MHz */ + trip = <&cpu1_alert5>; + cooling-device = <&cpu4 7 9>; + }; + map9 { + /* Set maximum frequency as 1000MHz */ + trip = <&cpu1_alert6>; + cooling-device = <&cpu4 9 14>; + }; + }; + }; + + gpu_thermal: gpu-thermal { + thermal-sensors = <&tmu_gpu>; + polling-delay-passive = <250>; + polling-delay = <0>; + trips { + gpu_alert0: gpu-alert-0 { + temperature = <70000>; /* millicelsius */ + hysteresis = <1000>; /* millicelsius */ + type = "active"; + }; + gpu_alert1: gpu-alert-1 { + temperature = <75000>; /* millicelsius */ + hysteresis = <1000>; /* millicelsius */ + type = "active"; + }; + gpu_alert_2: gpu-alert-2 { + temperature = <80000>; /* millicelsius */ + hysteresis = <1000>; /* millicelsius */ + type = "active"; + }; + gpu_alert_3: gpu-alert-3 { + temperature = <85000>; /* millicelsius */ + hysteresis = <1000>; /* millicelsius */ + type = "active"; + }; + gpu_alert_4: gpu-alert-4 { + temperature = <90000>; /* millicelsius */ + hysteresis = <1000>; /* millicelsius */ + type = "active"; + }; + gpu_alert_5: gpu-alert-5 { + temperature = <95000>; /* millicelsius */ + hysteresis = <1000>; /* millicelsius */ + type = "active"; }; }; };