Kernel driver max34440¶
Supported chips:
ADI ADPM12160
Prefixes: ‘adpm12160’
Addresses scanned: -
Datasheet: -
Maxim MAX34440
Prefixes: ‘max34440’
Addresses scanned: -
Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX34440.pdf
Maxim MAX34441
PMBus 5-Channel Power-Supply Manager and Intelligent Fan Controller
Prefixes: ‘max34441’
Addresses scanned: -
Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX34441.pdf
Maxim MAX34446
PMBus Power-Supply Data Logger
Prefixes: ‘max34446’
Addresses scanned: -
Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX34446.pdf
Maxim MAX34451
PMBus 16-Channel V/I Monitor and 12-Channel Sequencer/Marginer
Prefixes: ‘max34451’
Addresses scanned: -
Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX34451.pdf
Maxim MAX34460
PMBus 12-Channel Voltage Monitor & Sequencer
Prefix: ‘max34460’
Addresses scanned: -
Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX34460.pdf
Maxim MAX34461
PMBus 16-Channel Voltage Monitor & Sequencer
Prefix: ‘max34461’
Addresses scanned: -
Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX34461.pdf
Author: Guenter Roeck <linux@roeck-us.net>
Description¶
This driver supports multiple devices: hardware monitoring for Maxim MAX34440 PMBus 6-Channel Power-Supply Manager, MAX34441 PMBus 5-Channel Power-Supply Manager and Intelligent Fan Controller, and MAX34446 PMBus Power-Supply Data Logger; PMBus Voltage Monitor and Sequencers for MAX34451, MAX34460, and MAX34461; PMBus DC/DC Power Module ADPM12160. The MAX34451 supports monitoring voltage or current of 12 channels based on GIN pins. The MAX34460 supports 12 voltage channels, and the MAX34461 supports 16 voltage channels. The ADPM1260 also monitors both input and output of voltage and current.
The driver is a client driver to the core PMBus driver. Please see Kernel driver pmbus for details on PMBus client drivers.
Usage Notes¶
This driver does not auto-detect devices. You will have to instantiate the devices explicitly. Please see How to instantiate I2C devices for details.
For MAX34446, the value of the currX_crit attribute determines if current or voltage measurement is enabled for a given channel. Voltage measurement is enabled if currX_crit is set to 0; current measurement is enabled if the attribute is set to a positive value. Power measurement is only enabled if channel 1 (3) is configured for voltage measurement, and channel 2 (4) is configured for current measurement.
Platform data support¶
The driver supports standard PMBus driver platform data.
Sysfs entries¶
The following attributes are supported. Limits are read-write; all other attributes are read-only.
In¶
in[1-6]_label |
“vout[1-6]”. |
in[1-6]_input |
Measured voltage. From READ_VOUT register. |
in[1-6]_min |
Minimum Voltage. From VOUT_UV_WARN_LIMIT register. |
in[1-6]_max |
Maximum voltage. From VOUT_OV_WARN_LIMIT register. |
in[1-6]_lcrit |
Critical minimum Voltage. VOUT_UV_FAULT_LIMIT register. |
in[1-6]_crit |
Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register. |
in[1-6]_min_alarm |
Voltage low alarm. From VOLTAGE_UV_WARNING status. |
in[1-6]_max_alarm |
Voltage high alarm. From VOLTAGE_OV_WARNING status. |
in[1-6]_lcrit_alarm |
Voltage critical low alarm. From VOLTAGE_UV_FAULT status. |
in[1-6]_crit_alarm |
Voltage critical high alarm. From VOLTAGE_OV_FAULT status. |
in[1-6]_lowest |
Historical minimum voltage. |
in[1-6]_highest |
Historical maximum voltage. |
in[1-6]_reset_history |
Write any value to reset history. |
Note
MAX34446 only supports in[1-4].
ADPM12160 only supports in[1-2]. Label is “vin1” and “vout1” respectively.
Curr¶
curr[1-6]_label |
“iout[1-6]”. |
curr[1-6]_input |
Measured current. From READ_IOUT register. |
curr[1-6]_max |
Maximum current. From IOUT_OC_WARN_LIMIT register. |
curr[1-6]_crit |
Critical maximum current. From IOUT_OC_FAULT_LIMIT register. |
curr[1-6]_max_alarm |
Current high alarm. From IOUT_OC_WARNING status. |
curr[1-6]_crit_alarm |
Current critical high alarm. From IOUT_OC_FAULT status. |
curr[1-4]_average |
Historical average current (MAX34446/34451 only). |
curr[1-6]_highest |
Historical maximum current. |
curr[1-6]_reset_history |
Write any value to reset history. |
Note
in6 and curr6 attributes only exist for MAX34440.
MAX34446 only supports curr[1-4].
For ADPM12160, curr[1] is “iin1” and curr[2-6] are “iout[1-5].
Power¶
power[1,3]_label |
“pout[1,3]” |
power[1,3]_input |
Measured power. |
power[1,3]_average |
Historical average power. |
power[1,3]_highest |
Historical maximum power. |
Note
Power attributes only exist for MAX34446.
Temp¶
temp[1-8]_input |
Measured temperatures. From READ_TEMPERATURE_1 register. temp1 is the chip’s internal temperature. temp2..temp5 are remote I2C temperature sensors. For MAX34441, temp6 is a remote thermal-diode sensor. For MAX34440, temp6..8 are remote I2C temperature sensors. |
temp[1-8]_max |
Maximum temperature. From OT_WARN_LIMIT register. |
temp[1-8]_crit |
Critical high temperature. From OT_FAULT_LIMIT register. |
temp[1-8]_max_alarm |
Temperature high alarm. |
temp[1-8]_crit_alarm |
Temperature critical high alarm. |
temp[1-8]_average |
Historical average temperature (MAX34446 only). |
temp[1-8]_highest |
Historical maximum temperature. |
temp[1-8]_reset_history |
Write any value to reset history. |
Note
temp7 and temp8 attributes only exist for MAX34440.
MAX34446 only supports temp[1-3].
ADPM12160 only supports temp[1].
Note
MAX34451 supports attribute groups in[1-16] (or curr[1-16] based on input pins) and temp[1-5].
MAX34460 supports attribute groups in[1-12] and temp[1-5].
MAX34461 supports attribute groups in[1-16] and temp[1-5].