Kernel driver max31760¶
- Supported chips:
Analog Devices MAX31760
Prefix: ‘max31760’
Addresses scanned: none
Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX31760.pdf
Author: Ibrahim Tilki <Ibrahim.Tilki@analog.com>
Description¶
The MAX31760 integrates temperature sensing along with precision PWM fan control. It accurately measures its local die temperature and the remote temperature of a discrete diode-connected transistor, such as a 2N3906, or a thermal diode commonly found on CPUs, graphics processor units (GPUs), and other ASICs. Multiple temperature thresholds, such as local high/overtemperature (OT) and remote high/overtemperature, can be set by an I2C-compatible interface. Fan speed is controlled based on the temperature reading as an index to a 48-byte lookup table (LUT) containing user-programmed PWM values. The flexible LUT-based architecture enables the user to program a smooth nonlinear fan speed vs. temperature transfer function to minimize acoustic fan noise. Two tachometer inputs allow measuring the speeds of two fans independently. When the local or remote OT threshold is exceeded, the SHDN pin is asserted low and can be used to shut down the system. A dedicated ALERT pin reports that either a local or remote high-temperature threshold has been exceeded.
Temperature measurement range: from -55°C to 125°C
Temperature Resolution: 11 Bits, ±0.125°C
Please refer how to instantiate this driver: How to instantiate I2C devices
Lookup table for auto fan control¶
LUT Index |
Name |
---|---|
1 |
PWM value for T < +18°C |
2 |
PWM value for +18°C ≤ T < +20°C |
3 |
PWM value for +20°C ≤ T < +22°C |
… |
… |
47 |
PWM value for +108°C ≤ T < +110°C |
48 |
PWM value for T ≥ +110°C |
Sysfs entries¶
fan[1-2]_input |
Fan speed (in RPM) |
fan[1-2]_enable |
Enable fan readings and fan fault alarms |
fan[1-2]_fault |
Fan fault status |
temp[1-2]_label |
“Remote” and “Local” temperature channel labels |
temp[1-2]_input |
Temperature sensor readings (in millidegrees Celsius) |
temp1_fault |
Remote temperature sensor fault status |
temp[1-2]_max |
Temperature max value. Asserts “ALERT” pin when exceeded |
temp[1-2]_max_alarm |
Temperature max alarm status |
temp[1-2]_crit |
Temperature critical value. Asserts “SHDN” pin when exceeded |
temp[1-2]_crit_alarm |
Temperature critical alarm status |
pwm1 |
PWM value for direct fan control |
pwm1_enable |
1: direct fan control, 2: temperature based auto fan control |
pwm1_freq |
PWM frequency in hertz |
pwm1_auto_channels_temp |
Temperature source for auto fan control. 1: temp1, 2: temp2, 3: max(temp1, temp2) |
pwm1_auto_point[1-48]_pwm |
PWM value for LUT point |
pwm1_auto_point_temp_hyst |
Temperature hysteresis for auto fan control. Can be either 2000mC or 4000mC |