[PATCH v3 05/10] ARM: tegra: tf701t: Add thermal zones for nct1008 sensor
Svyatoslav Ryhel <[email protected]> Fri, 31 Jul 2026 14:41:01 +0300
| Newsgroups | org.kernel.vger.linux-tegra,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
ASUS TF701T has an additional thermal sensor for more accurate readings. Add thermal zones for this sensor. Signed-off-by: Svyatoslav Ryhel <[email protected]> Reviewed-by: Mikko Perttunen <[email protected]> --- .../boot/dts/nvidia/tegra114-asus-tf701t.dts | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/arch/arm/boot/dts/nvidia/tegra114-asus-tf701t.dts b/arch/arm/boot/dts/nvidia/tegra114-asus-tf701t.dts index a27d3c4f2c63c..83f8dd84d28a2 100644 --- a/arch/arm/boot/dts/nvidia/tegra114-asus-tf701t.dts +++ b/arch/arm/boot/dts/nvidia/tegra114-asus-tf701t.dts @@ -4,6 +4,7 @@ #include <dt-bindings/input/gpio-keys.h> #include <dt-bindings/input/input.h> +#include <dt-bindings/thermal/thermal.h> #include "tegra114.dtsi" @@ -2682,4 +2683,86 @@ vdd_1v8_touch: regulator-touch-vio { enable-active-high; vin-supply = <&vdd_3v3_sys>; }; + + thermal-zones { + /* + * 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 exists as a simpler solution which prevents + * Transformer from getting too hot from a user's + * tactile perspective. The CPU zone is intended to + * protect silicon from damage. + */ + + nct72-skin-thermal { + polling-delay-passive = <1000>; /* milliseconds */ + polling-delay = <5000>; /* milliseconds */ + + thermal-sensors = <&temp_sensor 0>; + + trips { + skin_alert_trip: skin-alert { + /* throttle at 57C until temperature drops to 56.5C */ + temperature = <57000>; + hysteresis = <500>; + type = "passive"; + }; + + skin-crit { + /* shut down at 65C */ + temperature = <65000>; + hysteresis = <2000>; + type = "critical"; + }; + }; + + cooling-maps { + map-skin { + trip = <&skin_alert_trip>; + 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>; + }; + }; + }; + + nct72-cpu-thermal { + polling-delay-passive = <1000>; /* milliseconds */ + polling-delay = <5000>; /* milliseconds */ + + thermal-sensors = <&temp_sensor 1>; + + trips { + cpu_alert_trip: cpu-alert { + /* throttle at 75C until temperature drops to 74.5C */ + temperature = <75000>; + hysteresis = <500>; + type = "passive"; + }; + + cpu-crit { + /* shut down at 105C */ + temperature = <105000>; + hysteresis = <2000>; + type = "critical"; + }; + }; + + cooling-maps { + map-cpu { + trip = <&cpu_alert_trip>; + 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>; + }; + }; + }; + }; }; -- 2.53.0