Commit bbdb5d12 authored by Adam Ford's avatar Adam Ford Committed by Tony Lindgren

ARM: dts: omap3: Add cpu trips and cooling map for omap34/36 families

Currently, OMAP3_THERMAL is disabled by default, so the bandgap sensor
is unavailable, and enabling it will somewhat increase power consumption.
However for boards which operate near their thermal limit, OMAP3_THERMAL
can be enabled and monitored to keep the processor from either running
too fast, or shutdown when it's deemed to be operating at an unsafe
thermal limit at the expense of increased power consumption.

The OMAP3530, OMAP3630, and DM3730 all show thresholds of 90C and 105C
depending on commercial or extended temperature ratings.

This patch expands the thermal information to include the limits of
80C for alert and 90C critical based on commercial temperature rating.
It sets the coolings-cells for the 34xx and 36xx CPU's which will start
to throttle back their maximum frequency when the bangap sensor reads
above the alert temerature of 80C.

For boards who which to increase the temperatures for extended
temperature ratings, these can be changed on their respective
device trees with something like:

&cpu_alert0 {
	temperature = <90000>; /* millicelsius */
};

&cpu_crit {
	temperature = <105000>; /* millicelsius */
};
Signed-off-by: default avatarAdam Ford <aford173@gmail.com>
Tested-by: H. Nikolaus Schaller <hns@goldelico.com> # on GTA04A5 with dm3730cbp100
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 03e23ca9
......@@ -17,4 +17,25 @@ cpu_thermal: cpu_thermal {
/* sensor ID */
thermal-sensors = <&bandgap 0>;
cpu_trips: trips {
cpu_alert0: cpu_alert {
temperature = <80000>; /* millicelsius */
hysteresis = <2000>; /* millicelsius */
type = "passive";
};
cpu_crit: cpu_crit {
temperature = <90000>; /* millicelsius */
hysteresis = <2000>; /* millicelsius */
type = "critical";
};
};
cpu_cooling_maps: cooling-maps {
map0 {
trip = <&cpu_alert0>;
cooling-device =
<&cpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
......@@ -20,6 +20,7 @@ cpu: cpu@0 {
operating-points-v2 = <&cpu0_opp_table>;
clock-latency = <300000>; /* From legacy driver */
#cooling-cells = <2>;
};
};
......
......@@ -25,6 +25,7 @@ cpu: cpu@0 {
vbb-supply = <&abb_mpu_iva>;
clock-latency = <300000>; /* From omap-cpufreq driver */
#cooling-cells = <2>;
};
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment