blob: 704f0cbd95d3b3e9ccc27738dd379ca768e37182 [file] [log] [blame]
Guenter Roeck0c0a0612011-03-08 22:01:39 -08001Kernel driver ucd9000
2=====================
3
4Supported chips:
Mauro Carvalho Chehab1f234ff2019-04-17 06:46:26 -03005
Jim Wrighta470f112019-12-05 17:24:11 -06006 * TI UCD90120, UCD90124, UCD90160, UCD90320, UCD9090, and UCD90910
Mauro Carvalho Chehab1f234ff2019-04-17 06:46:26 -03007
Jim Wrighta470f112019-12-05 17:24:11 -06008 Prefixes: 'ucd90120', 'ucd90124', 'ucd90160', 'ucd90320', 'ucd9090',
9 'ucd90910'
Mauro Carvalho Chehab1f234ff2019-04-17 06:46:26 -030010
Guenter Roeck0c0a0612011-03-08 22:01:39 -080011 Addresses scanned: -
Mauro Carvalho Chehab1f234ff2019-04-17 06:46:26 -030012
Guenter Roeck0c0a0612011-03-08 22:01:39 -080013 Datasheets:
Mauro Carvalho Chehab1f234ff2019-04-17 06:46:26 -030014
15 - http://focus.ti.com/lit/ds/symlink/ucd90120.pdf
16 - http://focus.ti.com/lit/ds/symlink/ucd90124.pdf
17 - http://focus.ti.com/lit/ds/symlink/ucd90160.pdf
Jim Wrighta470f112019-12-05 17:24:11 -060018 - http://focus.ti.com/lit/ds/symlink/ucd90320.pdf
Mauro Carvalho Chehab1f234ff2019-04-17 06:46:26 -030019 - http://focus.ti.com/lit/ds/symlink/ucd9090.pdf
20 - http://focus.ti.com/lit/ds/symlink/ucd90910.pdf
Guenter Roeck0c0a0612011-03-08 22:01:39 -080021
Guenter Roecke3333e52013-02-20 20:58:42 -080022Author: Guenter Roeck <linux@roeck-us.net>
Guenter Roeck0c0a0612011-03-08 22:01:39 -080023
24
25Description
26-----------
27
28From datasheets:
29
30The UCD90120 Power Supply Sequencer and System Health Monitor monitors and
31sequences up to 12 independent voltage rails. The device integrates a 12-bit
32ADC with a 2.5V internal reference for monitoring up to 13 power supply voltage,
33current, or temperature inputs.
34
35The UCD90124 is a 12-rail PMBus/I2C addressable power-supply sequencer and
36system-health monitor. The device integrates a 12-bit ADC for monitoring up to
3713 power-supply voltage, current, or temperature inputs. Twenty-six GPIO pins
38can be used for power supply enables, power-on reset signals, external
39interrupts, cascading, or other system functions. Twelve of these pins offer PWM
40functionality. Using these pins, the UCD90124 offers support for fan control,
41margining, and general-purpose PWM functions.
42
Matt Weber50b2b022016-08-19 21:08:45 -050043The UCD90160 is a 16-rail PMBus/I2C addressable power-supply sequencer and
44monitor. The device integrates a 12-bit ADC for monitoring up to 16 power-supply
45voltage inputs. Twenty-six GPIO pins can be used for power supply enables,
46power-on reset signals, external interrupts, cascading, or other system
47functions. Twelve of these pins offer PWM functionality. Using these pins, the
48UCD90160 offers support for margining, and general-purpose PWM functions.
49
Jim Wrighta470f112019-12-05 17:24:11 -060050The UCD90320 is a 32-rail PMBus/I2C addressable power-supply sequencer and
51monitor. The 24 integrated ADC channels (AMONx) monitor the power supply
52voltage, current, and temperature. Of the 84 GPIO pins, 8 can be used as
53digital monitors (DMONx), 32 to enable the power supply (ENx), 24 for margining
54(MARx), 16 for logical GPO, and 32 GPIs for cascading, and system function.
55
Guenter Roeck0c0a0612011-03-08 22:01:39 -080056The UCD9090 is a 10-rail PMBus/I2C addressable power-supply sequencer and
57monitor. The device integrates a 12-bit ADC for monitoring up to 10 power-supply
58voltage inputs. Twenty-three GPIO pins can be used for power supply enables,
59power-on reset signals, external interrupts, cascading, or other system
60functions. Ten of these pins offer PWM functionality. Using these pins, the
61UCD9090 offers support for margining, and general-purpose PWM functions.
62
63The UCD90910 is a ten-rail I2C / PMBus addressable power-supply sequencer and
64system-health monitor. The device integrates a 12-bit ADC for monitoring up to
6513 power-supply voltage, current, or temperature inputs.
66
67This driver is a client driver to the core PMBus driver. Please see
Mauro Carvalho Chehab7ebd8b662019-04-17 06:46:29 -030068Documentation/hwmon/pmbus.rst for details on PMBus client drivers.
Guenter Roeck0c0a0612011-03-08 22:01:39 -080069
70
71Usage Notes
72-----------
73
74This driver does not auto-detect devices. You will have to instantiate the
Mauro Carvalho Chehabccf988b2019-07-26 09:51:16 -030075devices explicitly. Please see Documentation/i2c/instantiating-devices.rst for
Guenter Roeck0c0a0612011-03-08 22:01:39 -080076details.
77
78
79Platform data support
80---------------------
81
82The driver supports standard PMBus driver platform data. Please see
Mauro Carvalho Chehab7ebd8b662019-04-17 06:46:29 -030083Documentation/hwmon/pmbus.rst for details.
Guenter Roeck0c0a0612011-03-08 22:01:39 -080084
85
86Sysfs entries
87-------------
88
89The following attributes are supported. Limits are read-write; all other
90attributes are read-only.
91
Mauro Carvalho Chehab1f234ff2019-04-17 06:46:26 -030092======================= ========================================================
Guenter Roeck0c0a0612011-03-08 22:01:39 -080093in[1-12]_label "vout[1-12]".
94in[1-12]_input Measured voltage. From READ_VOUT register.
Masanari Iida40e47122012-03-04 23:16:11 +090095in[1-12]_min Minimum Voltage. From VOUT_UV_WARN_LIMIT register.
Guenter Roeck0c0a0612011-03-08 22:01:39 -080096in[1-12]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
Masanari Iida40e47122012-03-04 23:16:11 +090097in[1-12]_lcrit Critical minimum Voltage. VOUT_UV_FAULT_LIMIT register.
Mauro Carvalho Chehab1f234ff2019-04-17 06:46:26 -030098in[1-12]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT
99 register.
Guenter Roeck0c0a0612011-03-08 22:01:39 -0800100in[1-12]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
101in[1-12]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
Mauro Carvalho Chehab1f234ff2019-04-17 06:46:26 -0300102in[1-12]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT
103 status.
104in[1-12]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT
105 status.
Guenter Roeck0c0a0612011-03-08 22:01:39 -0800106
107curr[1-12]_label "iout[1-12]".
108curr[1-12]_input Measured current. From READ_IOUT register.
109curr[1-12]_max Maximum current. From IOUT_OC_WARN_LIMIT register.
Mauro Carvalho Chehab1f234ff2019-04-17 06:46:26 -0300110curr[1-12]_lcrit Critical minimum output current. From
111 IOUT_UC_FAULT_LIMIT register.
112curr[1-12]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT
Guenter Roeck0c0a0612011-03-08 22:01:39 -0800113 register.
Guenter Roeck0c0a0612011-03-08 22:01:39 -0800114curr[1-12]_max_alarm Current high alarm. From IOUT_OC_WARNING status.
115curr[1-12]_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status.
116
117 For each attribute index, either voltage or current is
118 reported, but not both. If voltage or current is
119 reported depends on the chip configuration.
120
121temp[1-2]_input Measured temperatures. From READ_TEMPERATURE_1 and
122 READ_TEMPERATURE_2 registers.
123temp[1-2]_max Maximum temperature. From OT_WARN_LIMIT register.
124temp[1-2]_crit Critical high temperature. From OT_FAULT_LIMIT register.
125temp[1-2]_max_alarm Temperature high alarm.
126temp[1-2]_crit_alarm Temperature critical high alarm.
127
128fan[1-4]_input Fan RPM.
129fan[1-4]_alarm Fan alarm.
130fan[1-4]_fault Fan fault.
131
132 Fan attributes are only available on chips supporting
133 fan control (UCD90124, UCD90910). Attribute files are
134 created only for enabled fans.
135 Note that even though UCD90910 supports up to 10 fans,
136 only up to four fans are currently supported.
Mauro Carvalho Chehab1f234ff2019-04-17 06:46:26 -0300137======================= ========================================================