Re: [PATCH v2 05/10] ARM: tegra: tf701t: Add thermal zones for nct1008 sensor

Mikko Perttunen <[email protected]> Thu, 30 Jul 2026 16:07:27 +0900
Newsgroups org.kernel.vger.linux-tegra,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
On Tuesday, July 21, 2026 7:10=E2=80=AFPM Svyatoslav Ryhel wrote:
> ASUS TF701T has an additional thermal sensor for more accurate readings.
> Add thermal zones for this sensor.
>=20
> Signed-off-by: Svyatoslav Ryhel <[email protected]>
> ---
>  .../boot/dts/nvidia/tegra114-asus-tf701t.dts  | 83 +++++++++++++++++++
>  1 file changed, 83 insertions(+)
>=20
> 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 @@
> =20
>  #include <dt-bindings/input/gpio-keys.h>
>  #include <dt-bindings/input/input.h>
> +#include <dt-bindings/thermal/thermal.h>
> =20
>  #include "tegra114.dtsi"
> =20
> @@ -2682,4 +2683,86 @@ vdd_1v8_touch: regulator-touch-vio {
>  		enable-active-high;
>  		vin-supply =3D <&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 =3D <1000>; /* milliseconds */
> +			polling-delay =3D <5000>; /* milliseconds */
> +
> +			thermal-sensors =3D <&temp_sensor 0>;
> +
> +			trips {
> +				skin_alert_trip: skin-alert {
> +					/* throttle at 57C until temperature drops to 56.5C */
> +					temperature =3D <57000>;
> +					hysteresis =3D <500>;
> +					type =3D "passive";
> +				};
> +
> +				skin-crit {
> +					/* shut down at 65C */
> +					temperature =3D <65000>;
> +					hysteresis =3D <2000>;
> +					type =3D "critical";
> +				};
> +			};
> +
> +			cooling-maps {
> +				map-skin {
> +					trip =3D <&skin_alert_trip>;
> +					cooling-device =3D <&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 =3D <1000>; /* milliseconds */
> +			polling-delay =3D <5000>; /* milliseconds */
> +
> +			thermal-sensors =3D <&temp_sensor 1>;
> +
> +			trips {
> +				cpu_alert_trip: cpu-alert {
> +					/* throttle at 75C until temperature drops to 74.5C */
> +					temperature =3D <75000>;
> +					hysteresis =3D <500>;
> +					type =3D "passive";
> +				};
> +
> +				cpu-crit {
> +					/* shut down at 105C */
> +					temperature =3D <105000>;
> +					hysteresis =3D <2000>;
> +					type =3D "critical";
> +				};
> +			};
> +
> +			cooling-maps {
> +				map-cpu {
> +					trip =3D <&cpu_alert_trip>;
> +					cooling-device =3D <&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>;
> +				};
> +			};
> +		};
> +	};
>  };
> --=20
> 2.53.0
>=20
>=20

Reviewed-by: Mikko Perttunen <[email protected]>