> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs-staging.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview of thermal management

Thermal management is a configurable framework that ensures reliability of the device. It aids in maintaining the junction and surface temperatures of the device within the specified limits even when running high workload applications.

This guide provides information about:

* Thermal architecture
* Heat dissipation techniques supported on Qualcomm Linux
* Tuning of thermal thresholds for mitigation based on the thermal requirements of the product
* Sending a notification to the user space
* Features to adjust temperature configurations to achieve the required thermal behavior

***

## Get started with thermal management workflow

New to thermal management? Start with the workflow guide:

[Get started with thermal management workflow →](get-started-with-thermal-management-workflow)

## Platform support for thermal management

Review the platforms and thermal-management features supported on Qualcomm Linux.

[View platform support →](platform-support-thermal)

## Thermal architecture

Understand the thermal components and their interactions.

[Learn more about thermal architecture →](thermal-architecture)

## Thermal mitigation policies

Learn about the built-in software and hardware temperature mitigation policies.

[View thermal mitigation policies →](thermal-mitigation-policies)

## Learn about thermal interfaces

Learn how to control the thermal behavior of the device.

[Explore thermal interfaces →](learn-about-thermal-interfaces)

## Customize device thermal behavior

### Configure a thermal zone

Add a new external thermistor to control the surface temperature.

[Configure a thermal zone →](configure-a-thermal-zone)

### Customize a thermal zone

Understand the device's thermal behavior by customizing thermal zone parameters.

[Customize a thermal zone →](customize-a-thermal-zone)

## Control heat dissipation with cooling devices

Adjust the performance of components, such as the CPU, to reduce heat dissipation.

[Manage cooling devices →](control-heat-dissipation-with-cooling-devices)

## Receive sensor temperature notifications

Use the thermal Netlink interface to receive temperature and thermal event notifications in user space.

[Receive sensor temperature notifications →](receive-sensor-temperature-notifications)

## Optimize performance with thermal tuning

Monitor, control, and optimize component temperatures to maintain performance.

[Optimize performance with thermal tuning →](optimize-performance-with-thermal-tuning)

### Battery Current Limiting (BCL)

Monitor battery overcurrent and undervoltage conditions to protect the battery and system.

[Explore BCL features →](BCL)

### Regulate temperature with fan controller

Use active cooling to dynamically regulate temperature on supported platforms.

[Regulate temperature with fan controller →](regulate-temperature-with-fan-controller)

### ThermalD

Use the ThermalD daemon to monitor temperature sensors and apply thermal mitigation with available cooling methods.

[Configure ThermalD →](thermalD)

## Troubleshoot

### Verify thermal state

Retrieve the thermal behavior and active mitigation levels of the device using ftrace logs.

[Verify thermal state →](verify-thermal-state)

## Quick reference

Common thermal management commands:

* **View all thermal zones:** `ls /sys/class/thermal/thermal_zone*`
* **Check temperature:** `cat /sys/class/thermal/thermal_zone<x>/temp`
* **View cooling devices:** `ls /sys/class/thermal/cooling_device*`
* **Enable ftrace logging:** `echo 1 > /sys/kernel/tracing/events/thermal/enable`

## Additional resources

* [Linux Kernel Thermal Documentation](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/driver-api/thermal/sysfs-api.rst?h=v6.6)

## Next steps

* [Get started with thermal management workflow](get-started-with-thermal-management-workflow)
