xref: /OK3568_Linux_fs/kernel/Documentation/hwmon/ucd9000.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunKernel driver ucd9000
2*4882a593Smuzhiyun=====================
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunSupported chips:
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun  * TI UCD90120, UCD90124, UCD90160, UCD90320, UCD9090, and UCD90910
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun    Prefixes: 'ucd90120', 'ucd90124', 'ucd90160', 'ucd90320', 'ucd9090',
9*4882a593Smuzhiyun              'ucd90910'
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun    Addresses scanned: -
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun    Datasheets:
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun	- http://focus.ti.com/lit/ds/symlink/ucd90120.pdf
16*4882a593Smuzhiyun	- http://focus.ti.com/lit/ds/symlink/ucd90124.pdf
17*4882a593Smuzhiyun	- http://focus.ti.com/lit/ds/symlink/ucd90160.pdf
18*4882a593Smuzhiyun	- http://focus.ti.com/lit/ds/symlink/ucd90320.pdf
19*4882a593Smuzhiyun	- http://focus.ti.com/lit/ds/symlink/ucd9090.pdf
20*4882a593Smuzhiyun	- http://focus.ti.com/lit/ds/symlink/ucd90910.pdf
21*4882a593Smuzhiyun
22*4882a593SmuzhiyunAuthor: Guenter Roeck <linux@roeck-us.net>
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun
25*4882a593SmuzhiyunDescription
26*4882a593Smuzhiyun-----------
27*4882a593Smuzhiyun
28*4882a593SmuzhiyunFrom datasheets:
29*4882a593Smuzhiyun
30*4882a593SmuzhiyunThe UCD90120 Power Supply Sequencer and System Health Monitor monitors and
31*4882a593Smuzhiyunsequences up to 12 independent voltage rails. The device integrates a 12-bit
32*4882a593SmuzhiyunADC with a 2.5V internal reference for monitoring up to 13 power supply voltage,
33*4882a593Smuzhiyuncurrent, or temperature inputs.
34*4882a593Smuzhiyun
35*4882a593SmuzhiyunThe UCD90124 is a 12-rail PMBus/I2C addressable power-supply sequencer and
36*4882a593Smuzhiyunsystem-health monitor. The device integrates a 12-bit ADC for monitoring up to
37*4882a593Smuzhiyun13 power-supply voltage, current, or temperature inputs. Twenty-six GPIO pins
38*4882a593Smuzhiyuncan be used for power supply enables, power-on reset signals, external
39*4882a593Smuzhiyuninterrupts, cascading, or other system functions. Twelve of these pins offer PWM
40*4882a593Smuzhiyunfunctionality. Using these pins, the UCD90124 offers support for fan control,
41*4882a593Smuzhiyunmargining, and general-purpose PWM functions.
42*4882a593Smuzhiyun
43*4882a593SmuzhiyunThe UCD90160 is a 16-rail PMBus/I2C addressable power-supply sequencer and
44*4882a593Smuzhiyunmonitor. The device integrates a 12-bit ADC for monitoring up to 16 power-supply
45*4882a593Smuzhiyunvoltage inputs. Twenty-six GPIO pins can be used for power supply enables,
46*4882a593Smuzhiyunpower-on reset signals, external interrupts, cascading, or other system
47*4882a593Smuzhiyunfunctions. Twelve of these pins offer PWM functionality. Using these pins, the
48*4882a593SmuzhiyunUCD90160 offers support for margining, and general-purpose PWM functions.
49*4882a593Smuzhiyun
50*4882a593SmuzhiyunThe UCD90320 is a 32-rail PMBus/I2C addressable power-supply sequencer and
51*4882a593Smuzhiyunmonitor. The 24 integrated ADC channels (AMONx) monitor the power supply
52*4882a593Smuzhiyunvoltage, current, and temperature. Of the 84 GPIO pins, 8 can be used as
53*4882a593Smuzhiyundigital monitors (DMONx), 32 to enable the power supply (ENx), 24 for margining
54*4882a593Smuzhiyun(MARx), 16 for logical GPO, and 32 GPIs for cascading, and system function.
55*4882a593Smuzhiyun
56*4882a593SmuzhiyunThe UCD9090 is a 10-rail PMBus/I2C addressable power-supply sequencer and
57*4882a593Smuzhiyunmonitor. The device integrates a 12-bit ADC for monitoring up to 10 power-supply
58*4882a593Smuzhiyunvoltage inputs. Twenty-three GPIO pins can be used for power supply enables,
59*4882a593Smuzhiyunpower-on reset signals, external interrupts, cascading, or other system
60*4882a593Smuzhiyunfunctions. Ten of these pins offer PWM functionality. Using these pins, the
61*4882a593SmuzhiyunUCD9090 offers support for margining, and general-purpose PWM functions.
62*4882a593Smuzhiyun
63*4882a593SmuzhiyunThe UCD90910 is a ten-rail I2C / PMBus addressable power-supply sequencer and
64*4882a593Smuzhiyunsystem-health monitor. The device integrates a 12-bit ADC for monitoring up to
65*4882a593Smuzhiyun13 power-supply voltage, current, or temperature inputs.
66*4882a593Smuzhiyun
67*4882a593SmuzhiyunThis driver is a client driver to the core PMBus driver. Please see
68*4882a593SmuzhiyunDocumentation/hwmon/pmbus.rst for details on PMBus client drivers.
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun
71*4882a593SmuzhiyunUsage Notes
72*4882a593Smuzhiyun-----------
73*4882a593Smuzhiyun
74*4882a593SmuzhiyunThis driver does not auto-detect devices. You will have to instantiate the
75*4882a593Smuzhiyundevices explicitly. Please see Documentation/i2c/instantiating-devices.rst for
76*4882a593Smuzhiyundetails.
77*4882a593Smuzhiyun
78*4882a593Smuzhiyun
79*4882a593SmuzhiyunPlatform data support
80*4882a593Smuzhiyun---------------------
81*4882a593Smuzhiyun
82*4882a593SmuzhiyunThe driver supports standard PMBus driver platform data. Please see
83*4882a593SmuzhiyunDocumentation/hwmon/pmbus.rst for details.
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun
86*4882a593SmuzhiyunSysfs entries
87*4882a593Smuzhiyun-------------
88*4882a593Smuzhiyun
89*4882a593SmuzhiyunThe following attributes are supported. Limits are read-write; all other
90*4882a593Smuzhiyunattributes are read-only.
91*4882a593Smuzhiyun
92*4882a593Smuzhiyun======================= ========================================================
93*4882a593Smuzhiyunin[1-12]_label		"vout[1-12]".
94*4882a593Smuzhiyunin[1-12]_input		Measured voltage. From READ_VOUT register.
95*4882a593Smuzhiyunin[1-12]_min		Minimum Voltage. From VOUT_UV_WARN_LIMIT register.
96*4882a593Smuzhiyunin[1-12]_max		Maximum voltage. From VOUT_OV_WARN_LIMIT register.
97*4882a593Smuzhiyunin[1-12]_lcrit		Critical minimum Voltage. VOUT_UV_FAULT_LIMIT register.
98*4882a593Smuzhiyunin[1-12]_crit		Critical maximum voltage. From VOUT_OV_FAULT_LIMIT
99*4882a593Smuzhiyun			register.
100*4882a593Smuzhiyunin[1-12]_min_alarm	Voltage low alarm. From VOLTAGE_UV_WARNING status.
101*4882a593Smuzhiyunin[1-12]_max_alarm	Voltage high alarm. From VOLTAGE_OV_WARNING status.
102*4882a593Smuzhiyunin[1-12]_lcrit_alarm	Voltage critical low alarm. From VOLTAGE_UV_FAULT
103*4882a593Smuzhiyun			status.
104*4882a593Smuzhiyunin[1-12]_crit_alarm	Voltage critical high alarm. From VOLTAGE_OV_FAULT
105*4882a593Smuzhiyun			status.
106*4882a593Smuzhiyun
107*4882a593Smuzhiyuncurr[1-12]_label	"iout[1-12]".
108*4882a593Smuzhiyuncurr[1-12]_input	Measured current. From READ_IOUT register.
109*4882a593Smuzhiyuncurr[1-12]_max		Maximum current. From IOUT_OC_WARN_LIMIT register.
110*4882a593Smuzhiyuncurr[1-12]_lcrit	Critical minimum output current. From
111*4882a593Smuzhiyun			IOUT_UC_FAULT_LIMIT register.
112*4882a593Smuzhiyuncurr[1-12]_crit		Critical maximum current. From IOUT_OC_FAULT_LIMIT
113*4882a593Smuzhiyun			register.
114*4882a593Smuzhiyuncurr[1-12]_max_alarm	Current high alarm. From IOUT_OC_WARNING status.
115*4882a593Smuzhiyuncurr[1-12]_crit_alarm	Current critical high alarm. From IOUT_OC_FAULT status.
116*4882a593Smuzhiyun
117*4882a593Smuzhiyun			For each attribute index, either voltage or current is
118*4882a593Smuzhiyun			reported, but not both. If voltage or current is
119*4882a593Smuzhiyun			reported depends on the chip configuration.
120*4882a593Smuzhiyun
121*4882a593Smuzhiyuntemp[1-2]_input		Measured temperatures. From READ_TEMPERATURE_1 and
122*4882a593Smuzhiyun			READ_TEMPERATURE_2 registers.
123*4882a593Smuzhiyuntemp[1-2]_max		Maximum temperature. From OT_WARN_LIMIT register.
124*4882a593Smuzhiyuntemp[1-2]_crit		Critical high temperature. From OT_FAULT_LIMIT register.
125*4882a593Smuzhiyuntemp[1-2]_max_alarm	Temperature high alarm.
126*4882a593Smuzhiyuntemp[1-2]_crit_alarm	Temperature critical high alarm.
127*4882a593Smuzhiyun
128*4882a593Smuzhiyunfan[1-4]_input		Fan RPM.
129*4882a593Smuzhiyunfan[1-4]_alarm		Fan alarm.
130*4882a593Smuzhiyunfan[1-4]_fault		Fan fault.
131*4882a593Smuzhiyun
132*4882a593Smuzhiyun			Fan attributes are only available on chips supporting
133*4882a593Smuzhiyun			fan control (UCD90124, UCD90910). Attribute files are
134*4882a593Smuzhiyun			created only for enabled fans.
135*4882a593Smuzhiyun			Note that even though UCD90910 supports up to 10 fans,
136*4882a593Smuzhiyun			only up to four fans are currently supported.
137*4882a593Smuzhiyun======================= ========================================================
138