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