Ysphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget"/translations/zh_CN/hwmon/max31760modnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/zh_TW/hwmon/max31760modnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/it_IT/hwmon/max31760modnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/ja_JP/hwmon/max31760modnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/ko_KR/hwmon/max31760modnameN classnameN refexplicituh1hhh ubh)}(hhh]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/pt_BR/hwmon/max31760modnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/sp_SP/hwmon/max31760modnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h)SPDX-License-Identifier: GPL-2.0-or-laterh]h)SPDX-License-Identifier: GPL-2.0-or-later}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhhhhNhNubah}(h]h ]h"]h$]h&]refurij@uh1j<hj4ubeh}(h]h ]h"]h$]h&]uh1jhhhK hjubeh}(h]h ]h"]h$]h&]uh1jhhubah}(h]h ]h"]h$]h&]bullet*uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhubeh}(h]h ]h"]h$]h&]uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhhhhNhNubj )}(h0Author: Ibrahim Tilki h](hAuthor: Ibrahim Tilki <}(hjshhhNhNubj=)}(hIbrahim.Tilki@analog.comh]hIbrahim.Tilki@analog.com}(hj{hhhNhNubah}(h]h ]h"]h$]h&]refurimailto:Ibrahim.Tilki@analog.comuh1j<hjsubh>}(hjshhhNhNubeh}(h]h ]h"]h$]h&]uh1jhhhKhhhhubh)}(hhh](h)}(h Descriptionh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubj )}(hX%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.h]hX%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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjhhubj )}(h4Temperature measurement range: from -55°C to 125°Ch]h4Temperature measurement range: from -55°C to 125°C}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK%hjhhubj )}(h+Temperature Resolution: 11 Bits, ±0.125°Ch]h+Temperature Resolution: 11 Bits, ±0.125°C}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK'hjhhubj )}(hXPlease refer how to instantiate this driver: Documentation/i2c/instantiating-devices.rsth]hXPlease refer how to instantiate this driver: Documentation/i2c/instantiating-devices.rst}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK)hjhhubeh}(h] descriptionah ]h"] descriptionah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h!Lookup table for auto fan controlh]h!Lookup table for auto fan control}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK,ubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1jhjubhthead)}(hhh]hrow)}(hhh](hentry)}(hhh]j )}(h LUT Indexh]h LUT Index}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK/hj#ubah}(h]h ]h"]h$]h&]uh1j!hjubj")}(hhh]j )}(hNameh]hName}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK/hj:ubah}(h]h ]h"]h$]h&]uh1j!hjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubhtbody)}(hhh](j)}(hhh](j")}(hhh]j )}(h1h]h1}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK1hjeubah}(h]h ]h"]h$]h&]uh1j!hjbubj")}(hhh]j )}(hPWM value for T < +18°Ch]hPWM value for T < +18°C}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK1hj|ubah}(h]h ]h"]h$]h&]uh1j!hjbubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j")}(hhh]j )}(h2h]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK2hjubah}(h]h ]h"]h$]h&]uh1j!hjubj")}(hhh]j )}(h#PWM value for +18°C ≤ T < +20°Ch]h#PWM value for +18°C ≤ T < +20°C}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK2hjubah}(h]h ]h"]h$]h&]uh1j!hjubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j")}(hhh]j )}(h3h]h3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK3hjubah}(h]h ]h"]h$]h&]uh1j!hjubj")}(hhh]j )}(h#PWM value for +20°C ≤ T < +22°Ch]h#PWM value for +20°C ≤ T < +22°C}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK3hjubah}(h]h ]h"]h$]h&]uh1j!hjubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j")}(hhh]j )}(h...h]h...}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK4hj ubah}(h]h ]h"]h$]h&]uh1j!hjubj")}(hhh]j )}(h...h]h...}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK4hj!ubah}(h]h ]h"]h$]h&]uh1j!hjubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j")}(hhh]j )}(h47h]h47}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK5hjAubah}(h]h ]h"]h$]h&]uh1j!hj>ubj")}(hhh]j )}(h%PWM value for +108°C ≤ T < +110°Ch]h%PWM value for +108°C ≤ T < +110°C}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK5hjXubah}(h]h ]h"]h$]h&]uh1j!hj>ubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j")}(hhh]j )}(h48h]h48}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK6hjxubah}(h]h ]h"]h$]h&]uh1j!hjuubj")}(hhh]j )}(hPWM value for T ≥ +110°Ch]hPWM value for T ≥ +110°C}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK6hjubah}(h]h ]h"]h$]h&]uh1j!hjuubeh}(h]h ]h"]h$]h&]uh1jhj_ubeh}(h]h ]h"]h$]h&]uh1j]hjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]!lookup-table-for-auto-fan-controlah ]h"]!lookup table for auto fan controlah$]h&]uh1hhhhhhhhK,ubh)}(hhh](h)}(h Sysfs entriesh]h Sysfs entries}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK:ubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKQuh1jhjubj^)}(hhh](j)}(hhh](j")}(hhh]j )}(hfan[1-2]_inputh]hfan[1-2]_input}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK=hjubah}(h]h ]h"]h$]h&]uh1j!hjubj")}(hhh]j )}(hFan speed (in RPM)h]hFan speed (in RPM)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK=hjubah}(h]h ]h"]h$]h&]uh1j!hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j")}(hhh]j )}(hfan[1-2]_enableh]hfan[1-2]_enable}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK>hj/ubah}(h]h ]h"]h$]h&]uh1j!hj,ubj")}(hhh]j )}(h(Enable fan readings and fan fault alarmsh]h(Enable fan readings and fan fault alarms}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK>hjFubah}(h]h ]h"]h$]h&]uh1j!hj,ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j")}(hhh]j )}(hfan[1-2]_faulth]hfan[1-2]_fault}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK?hjfubah}(h]h ]h"]h$]h&]uh1j!hjcubj")}(hhh]j )}(hFan fault statush]hFan fault status}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK?hj}ubah}(h]h ]h"]h$]h&]uh1j!hjcubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j")}(hhh]j )}(htemp[1-2]_labelh]htemp[1-2]_label}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK@hjubah}(h]h ]h"]h$]h&]uh1j!hjubj")}(hhh]j )}(h/"Remote" and "Local" temperature channel labelsh]h7“Remote” and “Local” temperature channel labels}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK@hjubah}(h]h ]h"]h$]h&]uh1j!hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j")}(hhh]j )}(htemp[1-2]_inputh]htemp[1-2]_input}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKAhjubah}(h]h ]h"]h$]h&]uh1j!hjubj")}(hhh]j )}(h5Temperature sensor readings (in millidegrees Celsius)h]h5Temperature sensor readings (in millidegrees Celsius)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKAhjubah}(h]h ]h"]h$]h&]uh1j!hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j")}(hhh]j )}(h temp1_faulth]h temp1_fault}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKBhj ubah}(h]h ]h"]h$]h&]uh1j!hjubj")}(hhh]j )}(h&Remote temperature sensor fault statush]h&Remote temperature sensor fault status}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKBhj"ubah}(h]h ]h"]h$]h&]uh1j!hjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j")}(hhh]j )}(h temp[1-2]_maxh]h temp[1-2]_max}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKChjBubah}(h]h ]h"]h$]h&]uh1j!hj?ubj")}(hhh]j )}(h8Temperature max value. Asserts "ALERT" pin when exceededh]h