Kernel driver ucd9000

Supported chips:

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

Description

From datasheets:

The UCD90120 Power Supply Sequencer and System Health Monitor monitors andsequences up to 12 independent voltage rails. The device integrates a 12-bitADC 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 andsystem-health monitor. The device integrates a 12-bit ADC for monitoring up to13 power-supply voltage, current, or temperature inputs. Twenty-six GPIO pinscan be used for power supply enables, power-on reset signals, externalinterrupts, cascading, or other system functions. Twelve of these pins offer PWMfunctionality. 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 andmonitor. The device integrates a 12-bit ADC for monitoring up to 16 power-supplyvoltage inputs. Twenty-six GPIO pins can be used for power supply enables,power-on reset signals, external interrupts, cascading, or other systemfunctions. Twelve of these pins offer PWM functionality. Using these pins, theUCD90160 offers support for margining, and general-purpose PWM functions.

The UCD90320 is a 32-rail PMBus/I2C addressable power-supply sequencer andmonitor. The 24 integrated ADC channels (AMONx) monitor the power supplyvoltage, current, and temperature. Of the 84 GPIO pins, 8 can be used asdigital monitors (DMONx), 32 to enable the power supply (ENx), 24 for margining(MARx), 16 for logical GPO, and 32 GPIs for cascading, and system function.

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

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

This driver is a client driver to the core PMBus driver. Please seeDocumentation/hwmon/pmbus.rst for details on PMBus client drivers.

Usage Notes

This driver does not auto-detect devices. You will have to instantiate thedevices explicitly. Please see Documentation/i2c/instantiating-devices.rst fordetails.

Platform data support

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

Sysfs entries

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

in[1-12]_label“vout[1-12]”.
in[1-12]_inputMeasured voltage. From READ_VOUT register.
in[1-12]_minMinimum Voltage. From VOUT_UV_WARN_LIMIT register.
in[1-12]_maxMaximum voltage. From VOUT_OV_WARN_LIMIT register.
in[1-12]_lcritCritical minimum Voltage. VOUT_UV_FAULT_LIMIT register.
in[1-12]_critCritical maximum voltage. From VOUT_OV_FAULT_LIMITregister.
in[1-12]_min_alarmVoltage low alarm. From VOLTAGE_UV_WARNING status.
in[1-12]_max_alarmVoltage high alarm. From VOLTAGE_OV_WARNING status.
in[1-12]_lcrit_alarmVoltage critical low alarm. From VOLTAGE_UV_FAULTstatus.
in[1-12]_crit_alarmVoltage critical high alarm. From VOLTAGE_OV_FAULTstatus.
curr[1-12]_label“iout[1-12]”.
curr[1-12]_inputMeasured current. From READ_IOUT register.
curr[1-12]_maxMaximum current. From IOUT_OC_WARN_LIMIT register.
curr[1-12]_lcritCritical minimum output current. FromIOUT_UC_FAULT_LIMIT register.
curr[1-12]_critCritical maximum current. From IOUT_OC_FAULT_LIMITregister.
curr[1-12]_max_alarmCurrent 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 isreported, but not both. If voltage or current isreported depends on the chip configuration.

temp[1-2]_inputMeasured temperatures. From READ_TEMPERATURE_1 andREAD_TEMPERATURE_2 registers.
temp[1-2]_maxMaximum temperature. From OT_WARN_LIMIT register.
temp[1-2]_critCritical high temperature. From OT_FAULT_LIMIT register.
temp[1-2]_max_alarmTemperature high alarm.
temp[1-2]_crit_alarmTemperature critical high alarm.
fan[1-4]_inputFan RPM.
fan[1-4]_alarmFan alarm.
fan[1-4]_fault

Fan fault.

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