Skip to main content
The Dragonwing IQ‑8275 EVK is designed to consume up to 70 W, necessitating a substantial thermal solution. The default cooling solution is fan‑based, using a CPU cooler mounted to the bottom of the device. The fan controller used on this board is a Texas Instruments AMC6821SQDBQRQ1 PWM fan controller IC. The fan is connected using the JFAN connector (S6B‑XH‑SM4‑TB(LF)(SN)) on the mainboard. Fan Connector details with IQ-8275 EVK main board:

Overview

The fan controller regulates fan speed based on temperature inputs to ensure optimal thermal performance and energy efficiency. It supports multiple operating modes and can be configured dynamically through system nodes.

Features

  • Supports two operating modes: Manual and Automatic (Mode 2)
  • Dynamic fan speed control based on temperature inputs

Operating Modes

ModeDescription
Manual Mode (Mode 1)Fan speed is manually set by the user. No automatic temperature-based control.
Automatic Mode (Mode 2)Fan speed is automatically controlled based on remote temperature sensor readings. This is the currently enabled mode.

How It Works

1

Initialization

System boots and loads fan controller configuration.
2

Mode Selection

The pwm1_enable node is set to 2 for automatic mode.
3

Temperature Monitoring

Remote temperature sensors continuously monitor system temperature.
4

PWM Adjustment

Based on temperature, the controller adjusts the PWM signal (0–255) to control fan speed.
5

Fan Speed Control

Fan speed (fan1_input) increases or decreases accordingly.
6

Threshold Handling

If temperature drops below temp2_auto_point1_temp, the fan is turned off.

Mode Details and Validation

Description

In Auto Mode, fan speed is automatically controlled based on the remote temperature sensor (temp2_input). The system adjusts fan power and speed according to predefined temperature thresholds to ensure efficient cooling.

Node Path

All relevant nodes are located under:
/sys/class/hwmon/hwmonX/

Temperature Thresholds

Temperature Range (°C)Node Values (millidegrees Celsius)Fan BehaviorPower (PWM1)
Below 0°Ctemp2_auto_point1_temp = 0Fan stops0
0°C – 48°Ctemp2_auto_point1_temp to temp2_auto_point2_temp = 48000Fan runs at minimal speed~85
48°C – 58°Ctemp2_auto_point2_temp to temp2_auto_point3_temp = 58000Fan runs at high speed255

Key Nodes

NodePurpose
pwm1_enableSet to 2 to enable Auto Mode
temp2_inputCurrent remote temperature
fan1_inputCurrent fan speed in RPM
pwm1Current power input to the fan (0–255)
temp2_auto_point1_tempLower threshold (fan off)
temp2_auto_point2_tempMid threshold (low speed)
temp2_auto_point3_tempUpper threshold (high speed)

Validation

For IQ-8275, amc6821 is located at hwmon0, so X = 0.
1

Confirm Mode

cat /sys/class/hwmon/hwmonX/pwm1_enable
Ensure the output is 2.
2

Monitor Temperature

cat /sys/class/hwmon/hwmonX/temp2_input
3

Check Fan Speed

cat /sys/class/hwmon/hwmonX/fan1_input
4

Check Power Input

cat /sys/class/hwmon/hwmonX/pwm1
5

Observe Behavior

  • Below temp2_auto_point1_temp: Fan should stop (fan1_input = 0, pwm1 = 0)
  • Between point1 and point2: Fan runs slowly (pwm1 ≈ 85)
  • Between point2 and point3: Fan runs at full speed (pwm1 = 255)
The actual hwmon number for the AMC6821 fan controller may vary. To determine the correct number:
grep "amc6821" hwmon*/name
Expected output:
ubuntu@ubuntu:/sys/class/hwmon$ grep "amc6821" hwmon*/name
hwmon0/name:amc6821