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