|  | /* | 
|  | * Device tree sources for Exynos5422 thermal zone | 
|  | * | 
|  | * Copyright (c) 2015 Lukasz Majewski <l.majewski@samsung.com> | 
|  | *			Anand Moon <linux.amoon@gmail.com> | 
|  | * | 
|  | * This program is free software; you can redistribute it and/or modify | 
|  | * it under the terms of the GNU General Public License version 2 as | 
|  | * published by the Free Software Foundation. | 
|  | * | 
|  | */ | 
|  |  | 
|  | #include <dt-bindings/thermal/thermal.h> | 
|  |  | 
|  | / { | 
|  | thermal-zones { | 
|  | cpu0_thermal: cpu0-thermal { | 
|  | thermal-sensors = <&tmu_cpu0 0>; | 
|  | polling-delay-passive = <250>; | 
|  | polling-delay = <0>; | 
|  | trips { | 
|  | cpu_alert0: cpu-alert-0 { | 
|  | temperature = <50000>; /* millicelsius */ | 
|  | hysteresis = <5000>; /* millicelsius */ | 
|  | type = "active"; | 
|  | }; | 
|  | cpu_alert1: cpu-alert-1 { | 
|  | temperature = <60000>; /* millicelsius */ | 
|  | hysteresis = <5000>; /* millicelsius */ | 
|  | type = "active"; | 
|  | }; | 
|  | cpu_alert2: cpu-alert-2 { | 
|  | temperature = <70000>; /* millicelsius */ | 
|  | hysteresis = <5000>; /* millicelsius */ | 
|  | type = "active"; | 
|  | }; | 
|  | cpu_crit0: cpu-crit-0 { | 
|  | temperature = <120000>; /* millicelsius */ | 
|  | 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_alert0>; | 
|  | cooling-device = <&fan0 0 1>; | 
|  | }; | 
|  | map1 { | 
|  | trip = <&cpu_alert1>; | 
|  | cooling-device = <&fan0 1 2>; | 
|  | }; | 
|  | map2 { | 
|  | 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>; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  | }; |