# Regulate temperature with fan controller

The fan controller dynamically regulates fan speed, based on temperature inputs, to support optimal thermal performance and energy efficiency. It supports many operating modes and can be configured in real-time through the system nodes.

## Fan controller operation

- The AMC6821, developed by Texas Instruments, is a flexible temperature monitor and PWM fan controller. It communicates through I²C/SMBus interface, making it ideal for embedded systems requiring active thermal management.
- The AMC6821 fan controller is integrated with Dragonwing IQ-9075 platforms to manage cooling operations. It supports two operating modes: Manual and Auto. AMC6821 fan controller operates in Auto mode by default. Dragonwing IQ-9075 uses default behavior for dynamic thermal regulation.
- Developers can refer to AMC6821 controller specific documentation to operate in Manual mode and configure the fan behavior to meet specific system requirements.
- - The kernel driver and respective documentation of AMC6821 fan controller is available at:
    - - [AMC8621 driver source file](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/hwmon/amc6821.c?h=v6.6).
    - [AMC8621 documentation](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/hwmon/amc6821.rst?h=v6.17-rc6).

## Connection to SoC

- The AMC6821 fan controller interfaces with I²C bus, using the two pins: GPIO99 and GPIO100
- The pins are configured in the device tree source file: `arch/arm64/boot/dts/qcom/qcs9075-iq-9075-evk.dts`
- Device tree configuration:

> 
> 
> qup_i2c19_default: qup-i2c19-state
>         {
>               pins = "gpio99", "gpio100";
>               function = "qup2_se5";
>               drive-strength = <2>;
>               bias-pull-up;
>         }
>         Copy to clipboard

Note

Fan controller is enabled only in Dragonwing IQ-9075.

## Next steps

- [Verify thermal state](https://docs.qualcomm.com/doc/80-70022-30/topic/thermal-debug.html#thermal-debug)

Last Published: Sep 25, 2025

[Previous Topic
Configure a thermal zone](https://docs.qualcomm.com/bundle/publicresource/80-70022-30/topics/customize.md) [Next Topic
Verify thermal state](https://docs.qualcomm.com/bundle/publicresource/80-70022-30/topics/thermal-debug.md)