Guenter Roeck | 0c0a061 | 2011-03-08 22:01:39 -0800 | [diff] [blame] | 1 | Kernel driver ucd9000 |
| 2 | ===================== |
| 3 | |
| 4 | Supported chips: |
Mauro Carvalho Chehab | 1f234ff | 2019-04-17 06:46:26 -0300 | [diff] [blame] | 5 | |
Jim Wright | a470f11 | 2019-12-05 17:24:11 -0600 | [diff] [blame] | 6 | * TI UCD90120, UCD90124, UCD90160, UCD90320, UCD9090, and UCD90910 |
Mauro Carvalho Chehab | 1f234ff | 2019-04-17 06:46:26 -0300 | [diff] [blame] | 7 | |
Jim Wright | a470f11 | 2019-12-05 17:24:11 -0600 | [diff] [blame] | 8 | Prefixes: 'ucd90120', 'ucd90124', 'ucd90160', 'ucd90320', 'ucd9090', |
| 9 | 'ucd90910' |
Mauro Carvalho Chehab | 1f234ff | 2019-04-17 06:46:26 -0300 | [diff] [blame] | 10 | |
Guenter Roeck | 0c0a061 | 2011-03-08 22:01:39 -0800 | [diff] [blame] | 11 | Addresses scanned: - |
Mauro Carvalho Chehab | 1f234ff | 2019-04-17 06:46:26 -0300 | [diff] [blame] | 12 | |
Guenter Roeck | 0c0a061 | 2011-03-08 22:01:39 -0800 | [diff] [blame] | 13 | Datasheets: |
Mauro Carvalho Chehab | 1f234ff | 2019-04-17 06:46:26 -0300 | [diff] [blame] | 14 | |
| 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 Wright | a470f11 | 2019-12-05 17:24:11 -0600 | [diff] [blame] | 18 | - http://focus.ti.com/lit/ds/symlink/ucd90320.pdf |
Mauro Carvalho Chehab | 1f234ff | 2019-04-17 06:46:26 -0300 | [diff] [blame] | 19 | - http://focus.ti.com/lit/ds/symlink/ucd9090.pdf |
| 20 | - http://focus.ti.com/lit/ds/symlink/ucd90910.pdf |
Guenter Roeck | 0c0a061 | 2011-03-08 22:01:39 -0800 | [diff] [blame] | 21 | |
Guenter Roeck | e3333e5 | 2013-02-20 20:58:42 -0800 | [diff] [blame] | 22 | Author: Guenter Roeck <linux@roeck-us.net> |
Guenter Roeck | 0c0a061 | 2011-03-08 22:01:39 -0800 | [diff] [blame] | 23 | |
| 24 | |
| 25 | Description |
| 26 | ----------- |
| 27 | |
| 28 | From datasheets: |
| 29 | |
| 30 | The UCD90120 Power Supply Sequencer and System Health Monitor monitors and |
| 31 | sequences up to 12 independent voltage rails. The device integrates a 12-bit |
| 32 | ADC with a 2.5V internal reference for monitoring up to 13 power supply voltage, |
| 33 | current, or temperature inputs. |
| 34 | |
| 35 | The UCD90124 is a 12-rail PMBus/I2C addressable power-supply sequencer and |
| 36 | system-health monitor. The device integrates a 12-bit ADC for monitoring up to |
| 37 | 13 power-supply voltage, current, or temperature inputs. Twenty-six GPIO pins |
| 38 | can be used for power supply enables, power-on reset signals, external |
| 39 | interrupts, cascading, or other system functions. Twelve of these pins offer PWM |
| 40 | functionality. Using these pins, the UCD90124 offers support for fan control, |
| 41 | margining, and general-purpose PWM functions. |
| 42 | |
Matt Weber | 50b2b02 | 2016-08-19 21:08:45 -0500 | [diff] [blame] | 43 | The UCD90160 is a 16-rail PMBus/I2C addressable power-supply sequencer and |
| 44 | monitor. The device integrates a 12-bit ADC for monitoring up to 16 power-supply |
| 45 | voltage inputs. Twenty-six GPIO pins can be used for power supply enables, |
| 46 | power-on reset signals, external interrupts, cascading, or other system |
| 47 | functions. Twelve of these pins offer PWM functionality. Using these pins, the |
| 48 | UCD90160 offers support for margining, and general-purpose PWM functions. |
| 49 | |
Jim Wright | a470f11 | 2019-12-05 17:24:11 -0600 | [diff] [blame] | 50 | The UCD90320 is a 32-rail PMBus/I2C addressable power-supply sequencer and |
| 51 | monitor. The 24 integrated ADC channels (AMONx) monitor the power supply |
| 52 | voltage, current, and temperature. Of the 84 GPIO pins, 8 can be used as |
| 53 | digital 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 Roeck | 0c0a061 | 2011-03-08 22:01:39 -0800 | [diff] [blame] | 56 | The UCD9090 is a 10-rail PMBus/I2C addressable power-supply sequencer and |
| 57 | monitor. The device integrates a 12-bit ADC for monitoring up to 10 power-supply |
| 58 | voltage inputs. Twenty-three GPIO pins can be used for power supply enables, |
| 59 | power-on reset signals, external interrupts, cascading, or other system |
| 60 | functions. Ten of these pins offer PWM functionality. Using these pins, the |
| 61 | UCD9090 offers support for margining, and general-purpose PWM functions. |
| 62 | |
| 63 | The UCD90910 is a ten-rail I2C / PMBus addressable power-supply sequencer and |
| 64 | system-health monitor. The device integrates a 12-bit ADC for monitoring up to |
| 65 | 13 power-supply voltage, current, or temperature inputs. |
| 66 | |
| 67 | This driver is a client driver to the core PMBus driver. Please see |
Mauro Carvalho Chehab | 7ebd8b66 | 2019-04-17 06:46:29 -0300 | [diff] [blame] | 68 | Documentation/hwmon/pmbus.rst for details on PMBus client drivers. |
Guenter Roeck | 0c0a061 | 2011-03-08 22:01:39 -0800 | [diff] [blame] | 69 | |
| 70 | |
| 71 | Usage Notes |
| 72 | ----------- |
| 73 | |
| 74 | This driver does not auto-detect devices. You will have to instantiate the |
Mauro Carvalho Chehab | ccf988b | 2019-07-26 09:51:16 -0300 | [diff] [blame] | 75 | devices explicitly. Please see Documentation/i2c/instantiating-devices.rst for |
Guenter Roeck | 0c0a061 | 2011-03-08 22:01:39 -0800 | [diff] [blame] | 76 | details. |
| 77 | |
| 78 | |
| 79 | Platform data support |
| 80 | --------------------- |
| 81 | |
| 82 | The driver supports standard PMBus driver platform data. Please see |
Mauro Carvalho Chehab | 7ebd8b66 | 2019-04-17 06:46:29 -0300 | [diff] [blame] | 83 | Documentation/hwmon/pmbus.rst for details. |
Guenter Roeck | 0c0a061 | 2011-03-08 22:01:39 -0800 | [diff] [blame] | 84 | |
| 85 | |
| 86 | Sysfs entries |
| 87 | ------------- |
| 88 | |
| 89 | The following attributes are supported. Limits are read-write; all other |
| 90 | attributes are read-only. |
| 91 | |
Mauro Carvalho Chehab | 1f234ff | 2019-04-17 06:46:26 -0300 | [diff] [blame] | 92 | ======================= ======================================================== |
Guenter Roeck | 0c0a061 | 2011-03-08 22:01:39 -0800 | [diff] [blame] | 93 | in[1-12]_label "vout[1-12]". |
| 94 | in[1-12]_input Measured voltage. From READ_VOUT register. |
Masanari Iida | 40e4712 | 2012-03-04 23:16:11 +0900 | [diff] [blame] | 95 | in[1-12]_min Minimum Voltage. From VOUT_UV_WARN_LIMIT register. |
Guenter Roeck | 0c0a061 | 2011-03-08 22:01:39 -0800 | [diff] [blame] | 96 | in[1-12]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register. |
Masanari Iida | 40e4712 | 2012-03-04 23:16:11 +0900 | [diff] [blame] | 97 | in[1-12]_lcrit Critical minimum Voltage. VOUT_UV_FAULT_LIMIT register. |
Mauro Carvalho Chehab | 1f234ff | 2019-04-17 06:46:26 -0300 | [diff] [blame] | 98 | in[1-12]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT |
| 99 | register. |
Guenter Roeck | 0c0a061 | 2011-03-08 22:01:39 -0800 | [diff] [blame] | 100 | in[1-12]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status. |
| 101 | in[1-12]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status. |
Mauro Carvalho Chehab | 1f234ff | 2019-04-17 06:46:26 -0300 | [diff] [blame] | 102 | in[1-12]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT |
| 103 | status. |
| 104 | in[1-12]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT |
| 105 | status. |
Guenter Roeck | 0c0a061 | 2011-03-08 22:01:39 -0800 | [diff] [blame] | 106 | |
| 107 | curr[1-12]_label "iout[1-12]". |
| 108 | curr[1-12]_input Measured current. From READ_IOUT register. |
| 109 | curr[1-12]_max Maximum current. From IOUT_OC_WARN_LIMIT register. |
Mauro Carvalho Chehab | 1f234ff | 2019-04-17 06:46:26 -0300 | [diff] [blame] | 110 | curr[1-12]_lcrit Critical minimum output current. From |
| 111 | IOUT_UC_FAULT_LIMIT register. |
| 112 | curr[1-12]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT |
Guenter Roeck | 0c0a061 | 2011-03-08 22:01:39 -0800 | [diff] [blame] | 113 | register. |
Guenter Roeck | 0c0a061 | 2011-03-08 22:01:39 -0800 | [diff] [blame] | 114 | curr[1-12]_max_alarm Current high alarm. From IOUT_OC_WARNING status. |
| 115 | curr[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 | |
| 121 | temp[1-2]_input Measured temperatures. From READ_TEMPERATURE_1 and |
| 122 | READ_TEMPERATURE_2 registers. |
| 123 | temp[1-2]_max Maximum temperature. From OT_WARN_LIMIT register. |
| 124 | temp[1-2]_crit Critical high temperature. From OT_FAULT_LIMIT register. |
| 125 | temp[1-2]_max_alarm Temperature high alarm. |
| 126 | temp[1-2]_crit_alarm Temperature critical high alarm. |
| 127 | |
| 128 | fan[1-4]_input Fan RPM. |
| 129 | fan[1-4]_alarm Fan alarm. |
| 130 | fan[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 Chehab | 1f234ff | 2019-04-17 06:46:26 -0300 | [diff] [blame] | 137 | ======================= ======================================================== |