1.. SPDX-License-Identifier: GPL-2.0-or-later
2
3Kernel driver max31760
4======================
5
6Supported chips:
7  * Analog Devices MAX31760
8
9    Prefix: 'max31760'
10
11    Addresses scanned: none
12
13    Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX31760.pdf
14
15
16Author: Ibrahim Tilki <Ibrahim.Tilki@analog.com>
17
18Description
19-----------
20
21The MAX31760 integrates temperature sensing along with precision PWM fan
22control. It accurately measures its local die temperature and the remote
23temperature of a discrete diode-connected transistor, such as a 2N3906,
24or a thermal diode commonly found on CPUs, graphics processor units (GPUs),
25and other ASICs. Multiple temperature thresholds, such as local
26high/overtemperature (OT) and remote high/overtemperature, can be set by an
27I2C-compatible interface. Fan speed is controlled based on the temperature
28reading as an index to a 48-byte lookup table (LUT) containing
29user-programmed PWM values. The flexible LUT-based architecture enables
30the user to program a smooth nonlinear fan speed vs. temperature transfer
31function to minimize acoustic fan noise. Two tachometer inputs allow
32measuring the speeds of two fans independently. When the local or remote
33OT threshold is exceeded, the SHDN pin is asserted low and can be used to
34shut down the system. A dedicated ALERT pin reports that either a local or
35remote high-temperature threshold has been exceeded.
36
37Temperature measurement range: from -55°C to 125°C
38
39Temperature Resolution: 11 Bits, ±0.125°C
40
41Please refer how to instantiate this driver: Documentation/i2c/instantiating-devices.rst
42
43Lookup table for auto fan control
44---------------------------------
45
46========= =================================
47LUT Index Name
48========= =================================
491         PWM value for T < +18°C
502         PWM value for +18°C ≤ T < +20°C
513         PWM value for +20°C ≤ T < +22°C
52...       ...
5347        PWM value for +108°C ≤ T < +110°C
5448        PWM value for T ≥ +110°C
55========= =================================
56
57Sysfs entries
58-------------
59
60=============================== =================================================================================
61fan[1-2]_input                  Fan speed (in RPM)
62fan[1-2]_enable                 Enable fan readings and fan fault alarms
63fan[1-2]_fault                  Fan fault status
64temp[1-2]_label                 "Remote" and "Local" temperature channel labels
65temp[1-2]_input                 Temperature sensor readings (in millidegrees Celsius)
66temp1_fault                     Remote temperature sensor fault status
67temp[1-2]_max                   Temperature max value. Asserts "ALERT" pin when exceeded
68temp[1-2]_max_alarm             Temperature max alarm status
69temp[1-2]_crit                  Temperature critical value. Asserts "SHDN" pin when exceeded
70temp[1-2]_crit_alarm            Temperature critical alarm status
71pwm1                            PWM value for direct fan control
72pwm1_enable                     1: direct fan control, 2: temperature based auto fan control
73pwm1_freq                       PWM frequency in hertz
74pwm1_auto_channels_temp         Temperature source for auto fan control. 1: temp1, 2: temp2, 3: max(temp1, temp2)
75pwm1_auto_point[1-48]_pwm       PWM value for LUT point
76pwm1_auto_point_temp_hyst       Temperature hysteresis for auto fan control. Can be either 2000mC or 4000mC
77=============================== =================================================================================
78