# Configure a new thermal zone

For optimal performance of your product or application, it’s important
to customize and control its thermal behavior. You can configure a new
thermal zone for a newly added external thermistor to control the
surface temperature of Qualcomm Linux.

The following sample code shows how to configure a thermal zone using a
device tree.

For example, monitor a temperature threshold of 50°C and apply mitigation to the CPU cooling devices.

Note

By default, the system configures a stepwise thermal governor.

Parameters that are specific to the thermal zone are explained in
[index:
kernel/git/torvalds/linux.git](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/thermal/thermal-zones.yaml?h=v6.6).

thermal-zones {
        <thermal zone name> {
            polling-delay-passive = <2000>;
            polling-delay = <0>;
            thermal-sensors = < thermal sensor phandle and sensor specifier used to monitor this thermal zone>;
            trips {
                trip0: apc-trip {
                    temperature = <50000>;  /*Threshold to trigger thermal mitigation */
                    hysteresis = <2000>;    /*The offset of clear threshold, the clear threshold is 48000 */
                };
            };
            cooling-maps {
                map0 {
                     trip = <&apc_trip>;
                     cooling-device = <&cpufreq-cpu4 THERMAL_NO_LIMIT 5>; /* Reduce Gold cluster CPU fmax freq by 5 levels */
                };
            };
        };
    };
    Copy to clipboard

Last Published: Apr 10, 2025

[Previous Topic
Receive sensor temperature notifications](https://docs.qualcomm.com/bundle/publicresource/80-70018-30/topics/notificationtouserspace.md) [Next Topic
Debug using ftrace method](https://docs.qualcomm.com/bundle/publicresource/80-70018-30/topics/thermal-debug.md)