17ebd8b66SMauro Carvalho ChehabKernel driver ucd9000 27ebd8b66SMauro Carvalho Chehab===================== 37ebd8b66SMauro Carvalho Chehab 47ebd8b66SMauro Carvalho ChehabSupported chips: 57ebd8b66SMauro Carvalho Chehab 6*a470f11cSJim Wright * TI UCD90120, UCD90124, UCD90160, UCD90320, UCD9090, and UCD90910 77ebd8b66SMauro Carvalho Chehab 8*a470f11cSJim Wright Prefixes: 'ucd90120', 'ucd90124', 'ucd90160', 'ucd90320', 'ucd9090', 9*a470f11cSJim 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 18*a470f11cSJim 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 50*a470f11cSJim WrightThe UCD90320 is a 32-rail PMBus/I2C addressable power-supply sequencer and 51*a470f11cSJim Wrightmonitor. The 24 integrated ADC channels (AMONx) monitor the power supply 52*a470f11cSJim Wrightvoltage, current, and temperature. Of the 84 GPIO pins, 8 can be used as 53*a470f11cSJim Wrightdigital monitors (DMONx), 32 to enable the power supply (ENx), 24 for margining 54*a470f11cSJim Wright(MARx), 16 for logical GPO, and 32 GPIs for cascading, and system function. 55*a470f11cSJim 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