ARM: tegra: nexus7: Improve thermal zones
Use skin temperature for maintaining temperature that is suitable specifically for Nexus 7. Add CPU thermal zone that protects silicon. All these changes don't make a significant difference, but it is a more correct definition of thermal zones. Signed-off-by: Dmitry Osipenko <digetx@gmail.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
This commit is contained in:
committed by
Thierry Reding
parent
3f9c8c113f
commit
2af8d585c3
@@ -1255,21 +1255,34 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
thermal-zones {
|
thermal-zones {
|
||||||
cpu-thermal {
|
/*
|
||||||
|
* NCT72 has two sensors:
|
||||||
|
*
|
||||||
|
* 0: internal that monitors ambient/skin temperature
|
||||||
|
* 1: external that is connected to the CPU's diode
|
||||||
|
*
|
||||||
|
* Ideally we should use userspace thermal governor,
|
||||||
|
* but it's a much more complex solution. The "skin"
|
||||||
|
* zone is a simpler solution which prevents Nexus 7
|
||||||
|
* from getting too hot from a user's tactile perspective.
|
||||||
|
* The CPU zone is intended to protect silicon from damage.
|
||||||
|
*/
|
||||||
|
|
||||||
|
skin-thermal {
|
||||||
polling-delay-passive = <1000>; /* milliseconds */
|
polling-delay-passive = <1000>; /* milliseconds */
|
||||||
polling-delay = <5000>; /* milliseconds */
|
polling-delay = <5000>; /* milliseconds */
|
||||||
|
|
||||||
thermal-sensors = <&nct72 1>;
|
thermal-sensors = <&nct72 0>;
|
||||||
|
|
||||||
trips {
|
trips {
|
||||||
trip0: cpu-alert0 {
|
trip0: skin-alert {
|
||||||
/* throttle at 57C until temperature drops to 56.8C */
|
/* throttle at 57C until temperature drops to 56.8C */
|
||||||
temperature = <57000>;
|
temperature = <57000>;
|
||||||
hysteresis = <200>;
|
hysteresis = <200>;
|
||||||
type = "passive";
|
type = "passive";
|
||||||
};
|
};
|
||||||
|
|
||||||
trip1: cpu-crit {
|
trip1: skin-crit {
|
||||||
/* shut down at 65C */
|
/* shut down at 65C */
|
||||||
temperature = <65000>;
|
temperature = <65000>;
|
||||||
hysteresis = <2000>;
|
hysteresis = <2000>;
|
||||||
@@ -1289,5 +1302,40 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
cpu-thermal {
|
||||||
|
polling-delay-passive = <1000>; /* milliseconds */
|
||||||
|
polling-delay = <5000>; /* milliseconds */
|
||||||
|
|
||||||
|
thermal-sensors = <&nct72 1>;
|
||||||
|
|
||||||
|
trips {
|
||||||
|
trip2: cpu-alert {
|
||||||
|
/* throttle at 85C until temperature drops to 84.8C */
|
||||||
|
temperature = <85000>;
|
||||||
|
hysteresis = <200>;
|
||||||
|
type = "passive";
|
||||||
|
};
|
||||||
|
|
||||||
|
trip3: cpu-crit {
|
||||||
|
/* shut down at 90C */
|
||||||
|
temperature = <90000>;
|
||||||
|
hysteresis = <2000>;
|
||||||
|
type = "critical";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
cooling-maps {
|
||||||
|
map1 {
|
||||||
|
trip = <&trip2>;
|
||||||
|
cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||||
|
<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||||
|
<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||||
|
<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||||
|
<&actmon THERMAL_NO_LIMIT
|
||||||
|
THERMAL_NO_LIMIT>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user