From: Adam Ford Date: Tue, 18 Aug 2020 12:57:20 +0000 (-0500) Subject: ARM: dts: omap3: Add cpu trips and cooling map for omap34/36 families X-Git-Tag: v5.15~2574^2~9^2~17 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bbdb5d129dafba02d4c8e745f9d0e856a33f287a;p=platform%2Fkernel%2Flinux-starfive.git 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: Adam Ford Tested-by: H. Nikolaus Schaller # on GTA04A5 with dm3730cbp100 Signed-off-by: Tony Lindgren --- diff --git a/arch/arm/boot/dts/omap3-cpu-thermal.dtsi b/arch/arm/boot/dts/omap3-cpu-thermal.dtsi index aee46fa..1ed8378 100644 --- a/arch/arm/boot/dts/omap3-cpu-thermal.dtsi +++ b/arch/arm/boot/dts/omap3-cpu-thermal.dtsi @@ -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>; + }; + }; }; diff --git a/arch/arm/boot/dts/omap34xx.dtsi b/arch/arm/boot/dts/omap34xx.dtsi index 9c3ee4a..c0dcc75 100644 --- a/arch/arm/boot/dts/omap34xx.dtsi +++ b/arch/arm/boot/dts/omap34xx.dtsi @@ -20,6 +20,7 @@ operating-points-v2 = <&cpu0_opp_table>; clock-latency = <300000>; /* From legacy driver */ + #cooling-cells = <2>; }; }; diff --git a/arch/arm/boot/dts/omap36xx.dtsi b/arch/arm/boot/dts/omap36xx.dtsi index 9c3beef..fadbf30 100644 --- a/arch/arm/boot/dts/omap36xx.dtsi +++ b/arch/arm/boot/dts/omap36xx.dtsi @@ -25,6 +25,7 @@ vbb-supply = <&abb_mpu_iva>; clock-latency = <300000>; /* From omap-cpufreq driver */ + #cooling-cells = <2>; }; };