17ebd8b66SMauro Carvalho ChehabKernel driver ucd9000
27ebd8b66SMauro Carvalho Chehab=====================
37ebd8b66SMauro Carvalho Chehab
47ebd8b66SMauro Carvalho ChehabSupported chips:
57ebd8b66SMauro Carvalho Chehab
6a470f11cSJim Wright  * TI UCD90120, UCD90124, UCD90160, UCD90320, UCD9090, and UCD90910
77ebd8b66SMauro Carvalho Chehab
8a470f11cSJim Wright    Prefixes: 'ucd90120', 'ucd90124', 'ucd90160', 'ucd90320', 'ucd9090',
9a470f11cSJim Wright              'ucd90910'
107ebd8b66SMauro Carvalho Chehab
117ebd8b66SMauro Carvalho Chehab    Addresses scanned: -
127ebd8b66SMauro Carvalho Chehab
137ebd8b66SMauro Carvalho Chehab    Datasheets:
147ebd8b66SMauro Carvalho Chehab
157ebd8b66SMauro Carvalho Chehab	- http://focus.ti.com/lit/ds/symlink/ucd90120.pdf
167ebd8b66SMauro Carvalho Chehab	- http://focus.ti.com/lit/ds/symlink/ucd90124.pdf
177ebd8b66SMauro Carvalho Chehab	- http://focus.ti.com/lit/ds/symlink/ucd90160.pdf
18a470f11cSJim Wright	- http://focus.ti.com/lit/ds/symlink/ucd90320.pdf
197ebd8b66SMauro Carvalho Chehab	- http://focus.ti.com/lit/ds/symlink/ucd9090.pdf
207ebd8b66SMauro Carvalho Chehab	- http://focus.ti.com/lit/ds/symlink/ucd90910.pdf
217ebd8b66SMauro Carvalho Chehab
227ebd8b66SMauro Carvalho ChehabAuthor: Guenter Roeck <linux@roeck-us.net>
237ebd8b66SMauro Carvalho Chehab
247ebd8b66SMauro Carvalho Chehab
257ebd8b66SMauro Carvalho ChehabDescription
267ebd8b66SMauro Carvalho Chehab-----------
277ebd8b66SMauro Carvalho Chehab
287ebd8b66SMauro Carvalho ChehabFrom datasheets:
297ebd8b66SMauro Carvalho Chehab
307ebd8b66SMauro Carvalho ChehabThe UCD90120 Power Supply Sequencer and System Health Monitor monitors and
317ebd8b66SMauro Carvalho Chehabsequences up to 12 independent voltage rails. The device integrates a 12-bit
327ebd8b66SMauro Carvalho ChehabADC with a 2.5V internal reference for monitoring up to 13 power supply voltage,
337ebd8b66SMauro Carvalho Chehabcurrent, or temperature inputs.
347ebd8b66SMauro Carvalho Chehab
357ebd8b66SMauro Carvalho ChehabThe UCD90124 is a 12-rail PMBus/I2C addressable power-supply sequencer and
367ebd8b66SMauro Carvalho Chehabsystem-health monitor. The device integrates a 12-bit ADC for monitoring up to
377ebd8b66SMauro Carvalho Chehab13 power-supply voltage, current, or temperature inputs. Twenty-six GPIO pins
387ebd8b66SMauro Carvalho Chehabcan be used for power supply enables, power-on reset signals, external
397ebd8b66SMauro Carvalho Chehabinterrupts, cascading, or other system functions. Twelve of these pins offer PWM
407ebd8b66SMauro Carvalho Chehabfunctionality. Using these pins, the UCD90124 offers support for fan control,
417ebd8b66SMauro Carvalho Chehabmargining, and general-purpose PWM functions.
427ebd8b66SMauro Carvalho Chehab
437ebd8b66SMauro Carvalho ChehabThe UCD90160 is a 16-rail PMBus/I2C addressable power-supply sequencer and
447ebd8b66SMauro Carvalho Chehabmonitor. The device integrates a 12-bit ADC for monitoring up to 16 power-supply
457ebd8b66SMauro Carvalho Chehabvoltage inputs. Twenty-six GPIO pins can be used for power supply enables,
467ebd8b66SMauro Carvalho Chehabpower-on reset signals, external interrupts, cascading, or other system
477ebd8b66SMauro Carvalho Chehabfunctions. Twelve of these pins offer PWM functionality. Using these pins, the
487ebd8b66SMauro Carvalho ChehabUCD90160 offers support for margining, and general-purpose PWM functions.
497ebd8b66SMauro Carvalho Chehab
50a470f11cSJim WrightThe UCD90320 is a 32-rail PMBus/I2C addressable power-supply sequencer and
51a470f11cSJim Wrightmonitor. The 24 integrated ADC channels (AMONx) monitor the power supply
52a470f11cSJim Wrightvoltage, current, and temperature. Of the 84 GPIO pins, 8 can be used as
53a470f11cSJim Wrightdigital monitors (DMONx), 32 to enable the power supply (ENx), 24 for margining
54a470f11cSJim Wright(MARx), 16 for logical GPO, and 32 GPIs for cascading, and system function.
55a470f11cSJim Wright
567ebd8b66SMauro Carvalho ChehabThe UCD9090 is a 10-rail PMBus/I2C addressable power-supply sequencer and
577ebd8b66SMauro Carvalho Chehabmonitor. The device integrates a 12-bit ADC for monitoring up to 10 power-supply
587ebd8b66SMauro Carvalho Chehabvoltage inputs. Twenty-three GPIO pins can be used for power supply enables,
597ebd8b66SMauro Carvalho Chehabpower-on reset signals, external interrupts, cascading, or other system
607ebd8b66SMauro Carvalho Chehabfunctions. Ten of these pins offer PWM functionality. Using these pins, the
617ebd8b66SMauro Carvalho ChehabUCD9090 offers support for margining, and general-purpose PWM functions.
627ebd8b66SMauro Carvalho Chehab
637ebd8b66SMauro Carvalho ChehabThe UCD90910 is a ten-rail I2C / PMBus addressable power-supply sequencer and
647ebd8b66SMauro Carvalho Chehabsystem-health monitor. The device integrates a 12-bit ADC for monitoring up to
657ebd8b66SMauro Carvalho Chehab13 power-supply voltage, current, or temperature inputs.
667ebd8b66SMauro Carvalho Chehab
677ebd8b66SMauro Carvalho ChehabThis driver is a client driver to the core PMBus driver. Please see
687ebd8b66SMauro Carvalho ChehabDocumentation/hwmon/pmbus.rst for details on PMBus client drivers.
697ebd8b66SMauro Carvalho Chehab
707ebd8b66SMauro Carvalho Chehab
717ebd8b66SMauro Carvalho ChehabUsage Notes
727ebd8b66SMauro Carvalho Chehab-----------
737ebd8b66SMauro Carvalho Chehab
747ebd8b66SMauro Carvalho ChehabThis driver does not auto-detect devices. You will have to instantiate the
75ccf988b6SMauro Carvalho Chehabdevices explicitly. Please see Documentation/i2c/instantiating-devices.rst for
767ebd8b66SMauro Carvalho Chehabdetails.
777ebd8b66SMauro Carvalho Chehab
787ebd8b66SMauro Carvalho Chehab
797ebd8b66SMauro Carvalho ChehabPlatform data support
807ebd8b66SMauro Carvalho Chehab---------------------
817ebd8b66SMauro Carvalho Chehab
827ebd8b66SMauro Carvalho ChehabThe driver supports standard PMBus driver platform data. Please see
837ebd8b66SMauro Carvalho ChehabDocumentation/hwmon/pmbus.rst for details.
847ebd8b66SMauro Carvalho Chehab
857ebd8b66SMauro Carvalho Chehab
867ebd8b66SMauro Carvalho ChehabSysfs entries
877ebd8b66SMauro Carvalho Chehab-------------
887ebd8b66SMauro Carvalho Chehab
897ebd8b66SMauro Carvalho ChehabThe following attributes are supported. Limits are read-write; all other
907ebd8b66SMauro Carvalho Chehabattributes are read-only.
917ebd8b66SMauro Carvalho Chehab
927ebd8b66SMauro Carvalho Chehab======================= ========================================================
937ebd8b66SMauro Carvalho Chehabin[1-12]_label		"vout[1-12]".
947ebd8b66SMauro Carvalho Chehabin[1-12]_input		Measured voltage. From READ_VOUT register.
957ebd8b66SMauro Carvalho Chehabin[1-12]_min		Minimum Voltage. From VOUT_UV_WARN_LIMIT register.
967ebd8b66SMauro Carvalho Chehabin[1-12]_max		Maximum voltage. From VOUT_OV_WARN_LIMIT register.
977ebd8b66SMauro Carvalho Chehabin[1-12]_lcrit		Critical minimum Voltage. VOUT_UV_FAULT_LIMIT register.
987ebd8b66SMauro Carvalho Chehabin[1-12]_crit		Critical maximum voltage. From VOUT_OV_FAULT_LIMIT
997ebd8b66SMauro Carvalho Chehab			register.
1007ebd8b66SMauro Carvalho Chehabin[1-12]_min_alarm	Voltage low alarm. From VOLTAGE_UV_WARNING status.
1017ebd8b66SMauro Carvalho Chehabin[1-12]_max_alarm	Voltage high alarm. From VOLTAGE_OV_WARNING status.
1027ebd8b66SMauro Carvalho Chehabin[1-12]_lcrit_alarm	Voltage critical low alarm. From VOLTAGE_UV_FAULT
1037ebd8b66SMauro Carvalho Chehab			status.
1047ebd8b66SMauro Carvalho Chehabin[1-12]_crit_alarm	Voltage critical high alarm. From VOLTAGE_OV_FAULT
1057ebd8b66SMauro Carvalho Chehab			status.
1067ebd8b66SMauro Carvalho Chehab
1077ebd8b66SMauro Carvalho Chehabcurr[1-12]_label	"iout[1-12]".
1087ebd8b66SMauro Carvalho Chehabcurr[1-12]_input	Measured current. From READ_IOUT register.
1097ebd8b66SMauro Carvalho Chehabcurr[1-12]_max		Maximum current. From IOUT_OC_WARN_LIMIT register.
1107ebd8b66SMauro Carvalho Chehabcurr[1-12]_lcrit	Critical minimum output current. From
1117ebd8b66SMauro Carvalho Chehab			IOUT_UC_FAULT_LIMIT register.
1127ebd8b66SMauro Carvalho Chehabcurr[1-12]_crit		Critical maximum current. From IOUT_OC_FAULT_LIMIT
1137ebd8b66SMauro Carvalho Chehab			register.
1147ebd8b66SMauro Carvalho Chehabcurr[1-12]_max_alarm	Current high alarm. From IOUT_OC_WARNING status.
1157ebd8b66SMauro Carvalho Chehabcurr[1-12]_crit_alarm	Current critical high alarm. From IOUT_OC_FAULT status.
1167ebd8b66SMauro Carvalho Chehab
1177ebd8b66SMauro Carvalho Chehab			For each attribute index, either voltage or current is
1187ebd8b66SMauro Carvalho Chehab			reported, but not both. If voltage or current is
1197ebd8b66SMauro Carvalho Chehab			reported depends on the chip configuration.
1207ebd8b66SMauro Carvalho Chehab
1217ebd8b66SMauro Carvalho Chehabtemp[1-2]_input		Measured temperatures. From READ_TEMPERATURE_1 and
1227ebd8b66SMauro Carvalho Chehab			READ_TEMPERATURE_2 registers.
1237ebd8b66SMauro Carvalho Chehabtemp[1-2]_max		Maximum temperature. From OT_WARN_LIMIT register.
1247ebd8b66SMauro Carvalho Chehabtemp[1-2]_crit		Critical high temperature. From OT_FAULT_LIMIT register.
1257ebd8b66SMauro Carvalho Chehabtemp[1-2]_max_alarm	Temperature high alarm.
1267ebd8b66SMauro Carvalho Chehabtemp[1-2]_crit_alarm	Temperature critical high alarm.
1277ebd8b66SMauro Carvalho Chehab
1287ebd8b66SMauro Carvalho Chehabfan[1-4]_input		Fan RPM.
1297ebd8b66SMauro Carvalho Chehabfan[1-4]_alarm		Fan alarm.
1307ebd8b66SMauro Carvalho Chehabfan[1-4]_fault		Fan fault.
1317ebd8b66SMauro Carvalho Chehab
1327ebd8b66SMauro Carvalho Chehab			Fan attributes are only available on chips supporting
1337ebd8b66SMauro Carvalho Chehab			fan control (UCD90124, UCD90910). Attribute files are
1347ebd8b66SMauro Carvalho Chehab			created only for enabled fans.
1357ebd8b66SMauro Carvalho Chehab			Note that even though UCD90910 supports up to 10 fans,
1367ebd8b66SMauro Carvalho Chehab			only up to four fans are currently supported.
1377ebd8b66SMauro Carvalho Chehab======================= ========================================================
138