Merge tag 'iommu-updates-v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro...
[platform/kernel/linux-rpi.git] / Documentation / hwmon / ucd9000.rst
1 Kernel driver ucd9000
2 =====================
3
4 Supported chips:
5
6   * TI UCD90120, UCD90124, UCD90160, UCD90320, UCD9090, and UCD90910
7
8     Prefixes: 'ucd90120', 'ucd90124', 'ucd90160', 'ucd90320', 'ucd9090',
9               'ucd90910'
10
11     Addresses scanned: -
12
13     Datasheets:
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
18         - http://focus.ti.com/lit/ds/symlink/ucd90320.pdf
19         - http://focus.ti.com/lit/ds/symlink/ucd9090.pdf
20         - http://focus.ti.com/lit/ds/symlink/ucd90910.pdf
21
22 Author: Guenter Roeck <linux@roeck-us.net>
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
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
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
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
68 Documentation/hwmon/pmbus.rst for details on PMBus client drivers.
69
70
71 Usage Notes
72 -----------
73
74 This driver does not auto-detect devices. You will have to instantiate the
75 devices explicitly. Please see Documentation/i2c/instantiating-devices.rst for
76 details.
77
78
79 Platform data support
80 ---------------------
81
82 The driver supports standard PMBus driver platform data. Please see
83 Documentation/hwmon/pmbus.rst for details.
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
92 ======================= ========================================================
93 in[1-12]_label          "vout[1-12]".
94 in[1-12]_input          Measured voltage. From READ_VOUT register.
95 in[1-12]_min            Minimum Voltage. From VOUT_UV_WARN_LIMIT register.
96 in[1-12]_max            Maximum voltage. From VOUT_OV_WARN_LIMIT register.
97 in[1-12]_lcrit          Critical minimum Voltage. VOUT_UV_FAULT_LIMIT register.
98 in[1-12]_crit           Critical maximum voltage. From VOUT_OV_FAULT_LIMIT
99                         register.
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.
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.
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.
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
113                         register.
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.
137 ======================= ========================================================