ARM: tegra: acer-a500: Improve thermal zones
Use skin temperature for maintaining temperature that is suitable specifically for A500. 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
c60e6e9818
commit
3f9c8c113f
@@ -1029,28 +1029,34 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
thermal-zones {
|
thermal-zones {
|
||||||
|
/*
|
||||||
|
* NCT1008 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 A500 from
|
||||||
|
* getting too hot from a user's tactile perspective.
|
||||||
|
* The CPU zone is intended to protect silicon from damage.
|
||||||
|
*/
|
||||||
|
|
||||||
skin-thermal {
|
skin-thermal {
|
||||||
polling-delay-passive = <1000>; /* milliseconds */
|
|
||||||
polling-delay = <0>; /* milliseconds */
|
|
||||||
|
|
||||||
thermal-sensors = <&nct1008 0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
cpu-thermal {
|
|
||||||
polling-delay-passive = <1000>; /* milliseconds */
|
polling-delay-passive = <1000>; /* milliseconds */
|
||||||
polling-delay = <5000>; /* milliseconds */
|
polling-delay = <5000>; /* milliseconds */
|
||||||
|
|
||||||
thermal-sensors = <&nct1008 1>;
|
thermal-sensors = <&nct1008 0>;
|
||||||
|
|
||||||
trips {
|
trips {
|
||||||
trip0: cpu-alert0 {
|
trip0: skin-alert {
|
||||||
/* start throttling at 60C */
|
/* start throttling at 60C */
|
||||||
temperature = <60000>;
|
temperature = <60000>;
|
||||||
hysteresis = <200>;
|
hysteresis = <200>;
|
||||||
type = "passive";
|
type = "passive";
|
||||||
};
|
};
|
||||||
|
|
||||||
trip1: cpu-crit {
|
trip1: skin-crit {
|
||||||
/* shut down at 70C */
|
/* shut down at 70C */
|
||||||
temperature = <70000>;
|
temperature = <70000>;
|
||||||
hysteresis = <2000>;
|
hysteresis = <2000>;
|
||||||
@@ -1066,6 +1072,37 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
cpu-thermal {
|
||||||
|
polling-delay-passive = <1000>; /* milliseconds */
|
||||||
|
polling-delay = <5000>; /* milliseconds */
|
||||||
|
|
||||||
|
thermal-sensors = <&nct1008 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>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
memory-controller@7000f400 {
|
memory-controller@7000f400 {
|
||||||
|
|||||||
Reference in New Issue
Block a user