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