Skip to main content
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 Linux Kernel Thermal Zones Documentation.
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 */
            };
        };
    };
};

Next Steps