Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

docs: hwmon: add max31760 documentation

Adding documentation for max31760 fan speed controller

Signed-off-by: Ibrahim Tilki <Ibrahim.Tilki@analog.com>
Link: https://lore.kernel.org/r/20220910171945.48088-3-Ibrahim.Tilki@analog.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>

authored by

Ibrahim Tilki and committed by
Guenter Roeck
8e27c2fd 38b04ad0

+78
+1
Documentation/hwmon/index.rst
··· 133 133 max20751 134 134 max31722 135 135 max31730 136 + max31760 136 137 max31785 137 138 max31790 138 139 max34440
+77
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 + =============================== =================================================================================