Kernel driver ucd9000
=====================

Supported chips:

  * TI UCD90120, UCD90124, UCD90160, UCD9090, and UCD90910

    Prefixes: 'ucd90120', 'ucd90124', 'ucd90160', 'ucd9090', 'ucd90910'

    Addresses scanned: -

    Datasheets:

	- http://focus.ti.com/lit/ds/symlink/ucd90120.pdf
	- http://focus.ti.com/lit/ds/symlink/ucd90124.pdf
	- http://focus.ti.com/lit/ds/symlink/ucd90160.pdf
	- http://focus.ti.com/lit/ds/symlink/ucd9090.pdf
	- http://focus.ti.com/lit/ds/symlink/ucd90910.pdf

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


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

From datasheets:

The UCD90120 Power Supply Sequencer and System Health Monitor monitors and
sequences up to 12 independent voltage rails. The device integrates a 12-bit
ADC with a 2.5V internal reference for monitoring up to 13 power supply voltage,
current, or temperature inputs.

The UCD90124 is a 12-rail PMBus/I2C addressable power-supply sequencer and
system-health monitor. The device integrates a 12-bit ADC for monitoring up to
13 power-supply voltage, current, or temperature inputs. Twenty-six GPIO pins
can be used for power supply enables, power-on reset signals, external
interrupts, cascading, or other system functions. Twelve of these pins offer PWM
functionality. Using these pins, the UCD90124 offers support for fan control,
margining, and general-purpose PWM functions.

The UCD90160 is a 16-rail PMBus/I2C addressable power-supply sequencer and
monitor. The device integrates a 12-bit ADC for monitoring up to 16 power-supply
voltage inputs. Twenty-six GPIO pins can be used for power supply enables,
power-on reset signals, external interrupts, cascading, or other system
functions. Twelve of these pins offer PWM functionality. Using these pins, the
UCD90160 offers support for margining, and general-purpose PWM functions.

The UCD9090 is a 10-rail PMBus/I2C addressable power-supply sequencer and
monitor. The device integrates a 12-bit ADC for monitoring up to 10 power-supply
voltage inputs. Twenty-three GPIO pins can be used for power supply enables,
power-on reset signals, external interrupts, cascading, or other system
functions. Ten of these pins offer PWM functionality. Using these pins, the
UCD9090 offers support for margining, and general-purpose PWM functions.

The UCD90910 is a ten-rail I2C / PMBus addressable power-supply sequencer and
system-health monitor. The device integrates a 12-bit ADC for monitoring up to
13 power-supply voltage, current, or temperature inputs.

This driver is a client driver to the core PMBus driver. Please see
Documentation/hwmon/pmbus.rst 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.


Platform data support
---------------------

The driver supports standard PMBus driver platform data. Please see
Documentation/hwmon/pmbus.rst for details.


Sysfs entries
-------------

The following attributes are supported. Limits are read-write; all other
attributes are read-only.

======================= ========================================================
in[1-12]_label		"vout[1-12]".
in[1-12]_input		Measured voltage. From READ_VOUT register.
in[1-12]_min		Minimum Voltage. From VOUT_UV_WARN_LIMIT register.
in[1-12]_max		Maximum voltage. From VOUT_OV_WARN_LIMIT register.
in[1-12]_lcrit		Critical minimum Voltage. VOUT_UV_FAULT_LIMIT register.
in[1-12]_crit		Critical maximum voltage. From VOUT_OV_FAULT_LIMIT
			register.
in[1-12]_min_alarm	Voltage low alarm. From VOLTAGE_UV_WARNING status.
in[1-12]_max_alarm	Voltage high alarm. From VOLTAGE_OV_WARNING status.
in[1-12]_lcrit_alarm	Voltage critical low alarm. From VOLTAGE_UV_FAULT
			status.
in[1-12]_crit_alarm	Voltage critical high alarm. From VOLTAGE_OV_FAULT
			status.

curr[1-12]_label	"iout[1-12]".
curr[1-12]_input	Measured current. From READ_IOUT register.
curr[1-12]_max		Maximum current. From IOUT_OC_WARN_LIMIT register.
curr[1-12]_lcrit	Critical minimum output current. From
			IOUT_UC_FAULT_LIMIT register.
curr[1-12]_crit		Critical maximum current. From IOUT_OC_FAULT_LIMIT
			register.
curr[1-12]_max_alarm	Current high alarm. From IOUT_OC_WARNING status.
curr[1-12]_crit_alarm	Current critical high alarm. From IOUT_OC_FAULT status.

			For each attribute index, either voltage or current is
			reported, but not both. If voltage or current is
			reported depends on the chip configuration.

temp[1-2]_input		Measured temperatures. From READ_TEMPERATURE_1 and
			READ_TEMPERATURE_2 registers.
temp[1-2]_max		Maximum temperature. From OT_WARN_LIMIT register.
temp[1-2]_crit		Critical high temperature. From OT_FAULT_LIMIT register.
temp[1-2]_max_alarm	Temperature high alarm.
temp[1-2]_crit_alarm	Temperature critical high alarm.

fan[1-4]_input		Fan RPM.
fan[1-4]_alarm		Fan alarm.
fan[1-4]_fault		Fan fault.

			Fan attributes are only available on chips supporting
			fan control (UCD90124, UCD90910). Attribute files are
			created only for enabled fans.
			Note that even though UCD90910 supports up to 10 fans,
			only up to four fans are currently supported.
======================= ========================================================
