^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) Kernel driver max34440
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) ======================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) Supported chips:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) * Maxim MAX34440
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) Prefixes: 'max34440'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) Addresses scanned: -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX34440.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) * Maxim MAX34441
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) PMBus 5-Channel Power-Supply Manager and Intelligent Fan Controller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) Prefixes: 'max34441'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) Addresses scanned: -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX34441.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) * Maxim MAX34446
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) PMBus Power-Supply Data Logger
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) Prefixes: 'max34446'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) Addresses scanned: -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX34446.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) * Maxim MAX34451
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) PMBus 16-Channel V/I Monitor and 12-Channel Sequencer/Marginer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) Prefixes: 'max34451'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) Addresses scanned: -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX34451.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) * Maxim MAX34460
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) PMBus 12-Channel Voltage Monitor & Sequencer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) Prefix: 'max34460'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) Addresses scanned: -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX34460.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) * Maxim MAX34461
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) PMBus 16-Channel Voltage Monitor & Sequencer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) Prefix: 'max34461'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) Addresses scanned: -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX34461.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) Author: Guenter Roeck <linux@roeck-us.net>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) Description
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) -----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) This driver supports hardware monitoring for Maxim MAX34440 PMBus 6-Channel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) Power-Supply Manager, MAX34441 PMBus 5-Channel Power-Supply Manager
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) and Intelligent Fan Controller, and MAX34446 PMBus Power-Supply Data Logger.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) It also supports the MAX34451, MAX34460, and MAX34461 PMBus Voltage Monitor &
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) Sequencers. The MAX34451 supports monitoring voltage or current of 12 channels
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) based on GIN pins. The MAX34460 supports 12 voltage channels, and the MAX34461
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) supports 16 voltage channels.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) The driver is a client driver to the core PMBus driver. Please see
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) Documentation/hwmon/pmbus.rst for details on PMBus client drivers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) Usage Notes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) -----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) This driver does not auto-detect devices. You will have to instantiate the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) devices explicitly. Please see Documentation/i2c/instantiating-devices.rst for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) details.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) For MAX34446, the value of the currX_crit attribute determines if current or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) voltage measurement is enabled for a given channel. Voltage measurement is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) enabled if currX_crit is set to 0; current measurement is enabled if the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) attribute is set to a positive value. Power measurement is only enabled if
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) channel 1 (3) is configured for voltage measurement, and channel 2 (4) is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) configured for current measurement.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) Platform data support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) ---------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) The driver supports standard PMBus driver platform data.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) Sysfs entries
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) -------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) The following attributes are supported. Limits are read-write; all other
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) attributes are read-only.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) In
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) ~~
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) ======================= =======================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) in[1-6]_label "vout[1-6]".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) in[1-6]_input Measured voltage. From READ_VOUT register.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) in[1-6]_min Minimum Voltage. From VOUT_UV_WARN_LIMIT register.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) in[1-6]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) in[1-6]_lcrit Critical minimum Voltage. VOUT_UV_FAULT_LIMIT register.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) in[1-6]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) register.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) in[1-6]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) in[1-6]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) in[1-6]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) status.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) in[1-6]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) status.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) in[1-6]_lowest Historical minimum voltage.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) in[1-6]_highest Historical maximum voltage.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) in[1-6]_reset_history Write any value to reset history.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) ======================= =======================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) .. note:: MAX34446 only supports in[1-4].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) Curr
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) ~~~~
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) ======================= ========================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) curr[1-6]_label "iout[1-6]".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) curr[1-6]_input Measured current. From READ_IOUT register.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) curr[1-6]_max Maximum current. From IOUT_OC_WARN_LIMIT register.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) curr[1-6]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) register.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) curr[1-6]_max_alarm Current high alarm. From IOUT_OC_WARNING status.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) curr[1-6]_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) curr[1-4]_average Historical average current (MAX34446/34451 only).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) curr[1-6]_highest Historical maximum current.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) curr[1-6]_reset_history Write any value to reset history.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) ======================= ========================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) .. note::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) - in6 and curr6 attributes only exist for MAX34440.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) - MAX34446 only supports curr[1-4].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) Power
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) ~~~~~
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) ======================= ========================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) power[1,3]_label "pout[1,3]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) power[1,3]_input Measured power.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) power[1,3]_average Historical average power.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) power[1,3]_highest Historical maximum power.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) ======================= ========================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) .. note:: Power attributes only exist for MAX34446.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) Temp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) ~~~~
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) ======================= ========================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) temp[1-8]_input Measured temperatures. From READ_TEMPERATURE_1 register.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) temp1 is the chip's internal temperature. temp2..temp5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) are remote I2C temperature sensors. For MAX34441, temp6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) is a remote thermal-diode sensor. For MAX34440, temp6..8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) are remote I2C temperature sensors.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) temp[1-8]_max Maximum temperature. From OT_WARN_LIMIT register.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) temp[1-8]_crit Critical high temperature. From OT_FAULT_LIMIT register.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) temp[1-8]_max_alarm Temperature high alarm.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) temp[1-8]_crit_alarm Temperature critical high alarm.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) temp[1-8]_average Historical average temperature (MAX34446 only).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) temp[1-8]_highest Historical maximum temperature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) temp[1-8]_reset_history Write any value to reset history.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) ======================= ========================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) .. note::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) - temp7 and temp8 attributes only exist for MAX34440.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) - MAX34446 only supports temp[1-3].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) .. note::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) - MAX34451 supports attribute groups in[1-16] (or curr[1-16] based on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) input pins) and temp[1-5].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) - MAX34460 supports attribute groups in[1-12] and temp[1-5].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) - MAX34461 supports attribute groups in[1-16] and temp[1-5].