Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux
[linux-2.6-block.git] / arch / arm / boot / dts / exynos5422-cpu-thermal.dtsi
index 2b289d7c0d13ddda8c8a19f93f1b8d14f4812ac5..3e4c4ad96d6379a733177e52d3c565f3a62d4ae7 100644 (file)
@@ -16,7 +16,7 @@
        thermal-zones {
                cpu0_thermal: cpu0-thermal {
                        thermal-sensors = <&tmu_cpu0 0>;
-                       polling-delay-passive = <0>;
+                       polling-delay-passive = <250>;
                        polling-delay = <0>;
                        trips {
                                cpu_alert0: cpu-alert-0 {
                                        hysteresis = <0>; /* millicelsius */
                                        type = "critical";
                                };
+                               /*
+                                * Exyunos542x support 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 {
+                                       temperature = <70000>; /* millicelsius */
+                                       hysteresis = <10000>; /* millicelsius */
+                                       type = "passive";
+                               };
+                               cpu_alert4: cpu-alert-4 {
+                                       temperature = <85000>; /* millicelsius */
+                                       hysteresis = <10000>; /* millicelsius */
+                                       type = "passive";
+                               };
+
                        };
                        cooling-maps {
                                map0 {
                                     trip = <&cpu_alert2>;
                                     cooling-device = <&fan0 2 3>;
                                };
+                               /*
+                                * When reaching cpu_alert3, reduce CPU
+                                * by 2 steps. On Exynos5422/5800 that would
+                                * be: 1500 MHz and 1100 MHz.
+                                */
+                               map3 {
+                                    trip = <&cpu_alert3>;
+                                    cooling-device = <&cpu0 0 2>;
+                               };
+                               map4 {
+                                    trip = <&cpu_alert3>;
+                                    cooling-device = <&cpu4 0 2>;
+                               };
+
+                               /*
+                                * 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>;
+                               };
+                               map6 {
+                                    trip = <&cpu_alert4>;
+                                    cooling-device = <&cpu4 3 11>;
+                               };
                        };
                };
        };