Kernel driver max34440
======================

Supported chips:
  * Maxim MAX34440
    Prefixes: 'max34440'
    Addresses scanned: -
    Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX34440.pdf
  * Maxim MAX34441
    PMBus 5-Channel Power-Supply Manager and Intelligent Fan Controller
    Prefixes: 'max34441'
    Addresses scanned: -
    Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX34441.pdf
  * Maxim MAX34446
    PMBus Power-Supply Data Logger
    Prefixes: 'max34446'
    Addresses scanned: -
    Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX34446.pdf
  * Maxim MAX34460
    PMBus 12-Channel Voltage Monitor & Sequencer
    Prefix: 'max34460'
    Addresses scanned: -
    Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX34460.pdf
  * Maxim MAX34461
    PMBus 16-Channel Voltage Monitor & Sequencer
    Prefix: 'max34461'
    Addresses scanned: -
    Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX34461.pdf

Author: Guenter Roeck <linux@roeck-us.net>


Description
-----------

This driver supports hardware montoring 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.
It also supports the MAX34460 and MAX34461 PMBus Voltage Monitor & Sequencers.
The MAX34460 supports 12 voltage channels, and the MAX34461 supports 16 voltage
channels.

The driver is a client driver to the core PMBus driver. Please see
Documentation/hwmon/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 Documentation/i2c/instantiating-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[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.

			MAX34446 only supports in[1-4].

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 only).
curr[1-6]_highest	Historical maximum current.
curr[1-6]_reset_history	Write any value to reset history.

			in6 and curr6 attributes only exist for MAX34440.
			MAX34446 only supports curr[1-4].

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.

			Power attributes only exist for MAX34446.

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.

			temp7 and temp8 attributes only exist for MAX34440.
			MAX34446 only supports temp[1-3].

MAX34460 supports attribute groups in[1-12] and temp[1-5].
MAX34461 supports attribute groups in[1-16] and temp[1-5].
