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