Commit 1f234ff1 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab Committed by Guenter Roeck

docs: hwmon: pmbus files: convert to ReST format

Convert pmbus files to ReST format, in order to allow them to
be parsed by Sphinx.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent 0d925626
...@@ -2,29 +2,53 @@ Kernel driver adm1275 ...@@ -2,29 +2,53 @@ Kernel driver adm1275
===================== =====================
Supported chips: Supported chips:
* Analog Devices ADM1075 * Analog Devices ADM1075
Prefix: 'adm1075' Prefix: 'adm1075'
Addresses scanned: - Addresses scanned: -
Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1075.pdf Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1075.pdf
* Analog Devices ADM1272 * Analog Devices ADM1272
Prefix: 'adm1272' Prefix: 'adm1272'
Addresses scanned: - Addresses scanned: -
Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1272.pdf Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1272.pdf
* Analog Devices ADM1275 * Analog Devices ADM1275
Prefix: 'adm1275' Prefix: 'adm1275'
Addresses scanned: - Addresses scanned: -
Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1275.pdf Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1275.pdf
* Analog Devices ADM1276 * Analog Devices ADM1276
Prefix: 'adm1276' Prefix: 'adm1276'
Addresses scanned: - Addresses scanned: -
Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1276.pdf Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1276.pdf
* Analog Devices ADM1278 * Analog Devices ADM1278
Prefix: 'adm1278' Prefix: 'adm1278'
Addresses scanned: - Addresses scanned: -
Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1278.pdf Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1278.pdf
* Analog Devices ADM1293/ADM1294 * Analog Devices ADM1293/ADM1294
Prefix: 'adm1293', 'adm1294' Prefix: 'adm1293', 'adm1294'
Addresses scanned: - Addresses scanned: -
Datasheet: http://www.analog.com/media/en/technical-documentation/data-sheets/ADM1293_1294.pdf Datasheet: http://www.analog.com/media/en/technical-documentation/data-sheets/ADM1293_1294.pdf
Author: Guenter Roeck <linux@roeck-us.net> Author: Guenter Roeck <linux@roeck-us.net>
...@@ -75,6 +99,7 @@ Sysfs entries ...@@ -75,6 +99,7 @@ Sysfs entries
The following attributes are supported. Limits are read-write, history reset The following attributes are supported. Limits are read-write, history reset
attributes are write-only, all other attributes are read-only. attributes are write-only, all other attributes are read-only.
======================= =======================================================
inX_label "vin1" or "vout1" depending on chip variant and inX_label "vin1" or "vout1" depending on chip variant and
configuration. On ADM1075, ADM1293, and ADM1294, configuration. On ADM1075, ADM1293, and ADM1294,
vout1 reports the voltage on the VAUX pin. vout1 reports the voltage on the VAUX pin.
...@@ -120,3 +145,4 @@ temp1_reset_history Write any value to reset history. ...@@ -120,3 +145,4 @@ temp1_reset_history Write any value to reset history.
Temperature attributes are supported on ADM1272 and Temperature attributes are supported on ADM1272 and
ADM1278. ADM1278.
======================= =======================================================
...@@ -2,6 +2,7 @@ Kernel driver ibm-cffps ...@@ -2,6 +2,7 @@ Kernel driver ibm-cffps
======================= =======================
Supported chips: Supported chips:
* IBM Common Form Factor power supply * IBM Common Form Factor power supply
Author: Eddie James <eajames@us.ibm.com> Author: Eddie James <eajames@us.ibm.com>
...@@ -24,6 +25,7 @@ Sysfs entries ...@@ -24,6 +25,7 @@ Sysfs entries
The following attributes are supported: The following attributes are supported:
======================= ======================================================
curr1_alarm Output current over-current alarm. curr1_alarm Output current over-current alarm.
curr1_input Measured output current in mA. curr1_input Measured output current in mA.
curr1_label "iout1" curr1_label "iout1"
...@@ -52,3 +54,4 @@ temp2_alarm Secondary rectifier temp over-temperature alarm. ...@@ -52,3 +54,4 @@ temp2_alarm Secondary rectifier temp over-temperature alarm.
temp2_input Measured secondary rectifier temp in millidegrees C. temp2_input Measured secondary rectifier temp in millidegrees C.
temp3_alarm ORing FET temperature over-temperature alarm. temp3_alarm ORing FET temperature over-temperature alarm.
temp3_input Measured ORing FET temperature in millidegrees C. temp3_input Measured ORing FET temperature in millidegrees C.
======================= ======================================================
...@@ -3,8 +3,11 @@ Kernel driver ir35221 ...@@ -3,8 +3,11 @@ Kernel driver ir35221
Supported chips: Supported chips:
* Infineon IR35221 * Infineon IR35221
Prefix: 'ir35221' Prefix: 'ir35221'
Addresses scanned: - Addresses scanned: -
Datasheet: Datasheet is not publicly available. Datasheet: Datasheet is not publicly available.
Author: Samuel Mendoza-Jonas <sam@mendozajonas.com> Author: Samuel Mendoza-Jonas <sam@mendozajonas.com>
...@@ -23,15 +26,16 @@ This driver does not probe for PMBus devices. You will have to instantiate ...@@ -23,15 +26,16 @@ This driver does not probe for PMBus devices. You will have to instantiate
devices explicitly. devices explicitly.
Example: the following commands will load the driver for an IR35221 Example: the following commands will load the driver for an IR35221
at address 0x70 on I2C bus #4: at address 0x70 on I2C bus #4::
# modprobe ir35221 # modprobe ir35221
# echo ir35221 0x70 > /sys/bus/i2c/devices/i2c-4/new_device # echo ir35221 0x70 > /sys/bus/i2c/devices/i2c-4/new_device
Sysfs attributes Sysfs attributes
---------------- ----------------
======================= =======================================================
curr1_label "iin" curr1_label "iin"
curr1_input Measured input current curr1_input Measured input current
curr1_max Maximum current curr1_max Maximum current
...@@ -85,3 +89,4 @@ temp[1-2]_highest Highest temperature ...@@ -85,3 +89,4 @@ temp[1-2]_highest Highest temperature
temp[1-2]_lowest Lowest temperature temp[1-2]_lowest Lowest temperature
temp[1-2]_max Maximum temperature temp[1-2]_max Maximum temperature
temp[1-2]_max_alarm Chip temperature high alarm temp[1-2]_max_alarm Chip temperature high alarm
======================= =======================================================
...@@ -2,34 +2,62 @@ Kernel driver lm25066 ...@@ -2,34 +2,62 @@ Kernel driver lm25066
===================== =====================
Supported chips: Supported chips:
* TI LM25056 * TI LM25056
Prefix: 'lm25056' Prefix: 'lm25056'
Addresses scanned: - Addresses scanned: -
Datasheets: Datasheets:
http://www.ti.com/lit/gpn/lm25056 http://www.ti.com/lit/gpn/lm25056
http://www.ti.com/lit/gpn/lm25056a http://www.ti.com/lit/gpn/lm25056a
* National Semiconductor LM25066 * National Semiconductor LM25066
Prefix: 'lm25066' Prefix: 'lm25066'
Addresses scanned: - Addresses scanned: -
Datasheets: Datasheets:
http://www.national.com/pf/LM/LM25066.html http://www.national.com/pf/LM/LM25066.html
http://www.national.com/pf/LM/LM25066A.html http://www.national.com/pf/LM/LM25066A.html
* National Semiconductor LM5064 * National Semiconductor LM5064
Prefix: 'lm5064' Prefix: 'lm5064'
Addresses scanned: - Addresses scanned: -
Datasheet: Datasheet:
http://www.national.com/pf/LM/LM5064.html http://www.national.com/pf/LM/LM5064.html
* National Semiconductor LM5066 * National Semiconductor LM5066
Prefix: 'lm5066' Prefix: 'lm5066'
Addresses scanned: - Addresses scanned: -
Datasheet: Datasheet:
http://www.national.com/pf/LM/LM5066.html http://www.national.com/pf/LM/LM5066.html
* Texas Instruments LM5066I * Texas Instruments LM5066I
Prefix: 'lm5066i' Prefix: 'lm5066i'
Addresses scanned: - Addresses scanned: -
Datasheet: Datasheet:
http://www.ti.com/product/LM5066I http://www.ti.com/product/LM5066I
Author: Guenter Roeck <linux@roeck-us.net> Author: Guenter Roeck <linux@roeck-us.net>
...@@ -64,6 +92,7 @@ Sysfs entries ...@@ -64,6 +92,7 @@ Sysfs entries
The following attributes are supported. Limits are read-write; all other The following attributes are supported. Limits are read-write; all other
attributes are read-only. attributes are read-only.
======================= =======================================================
in1_label "vin" in1_label "vin"
in1_input Measured input voltage. in1_input Measured input voltage.
in1_average Average measured input voltage. in1_average Average measured input voltage.
...@@ -105,3 +134,4 @@ temp1_max Maximum temperature. ...@@ -105,3 +134,4 @@ temp1_max Maximum temperature.
temp1_crit Critical high temperature. temp1_crit Critical high temperature.
temp1_max_alarm Chip temperature high alarm. temp1_max_alarm Chip temperature high alarm.
temp1_crit_alarm Chip temperature critical high alarm. temp1_crit_alarm Chip temperature critical high alarm.
======================= =======================================================
This diff is collapsed.
...@@ -2,9 +2,13 @@ Kernel driver ltc3815 ...@@ -2,9 +2,13 @@ Kernel driver ltc3815
===================== =====================
Supported chips: Supported chips:
* Linear Technology LTC3815 * Linear Technology LTC3815
Prefix: 'ltc3815' Prefix: 'ltc3815'
Addresses scanned: - Addresses scanned: -
Datasheet: http://www.linear.com/product/ltc3815 Datasheet: http://www.linear.com/product/ltc3815
Author: Guenter Roeck <linux@roeck-us.net> Author: Guenter Roeck <linux@roeck-us.net>
...@@ -23,15 +27,16 @@ This driver does not probe for PMBus devices. You will have to instantiate ...@@ -23,15 +27,16 @@ This driver does not probe for PMBus devices. You will have to instantiate
devices explicitly. devices explicitly.
Example: the following commands will load the driver for an LTC3815 Example: the following commands will load the driver for an LTC3815
at address 0x20 on I2C bus #1: at address 0x20 on I2C bus #1::
# modprobe ltc3815 # modprobe ltc3815
# echo ltc3815 0x20 > /sys/bus/i2c/devices/i2c-1/new_device # echo ltc3815 0x20 > /sys/bus/i2c/devices/i2c-1/new_device
Sysfs attributes Sysfs attributes
---------------- ----------------
======================= =======================================================
in1_label "vin" in1_label "vin"
in1_input Measured input voltage. in1_input Measured input voltage.
in1_alarm Input voltage alarm. in1_alarm Input voltage alarm.
...@@ -59,3 +64,4 @@ curr2_input Measured output current. ...@@ -59,3 +64,4 @@ curr2_input Measured output current.
curr2_alarm Output current alarm. curr2_alarm Output current alarm.
curr2_highest Highest output current. curr2_highest Highest output current.
curr2_reset_history Reset output current history. curr2_reset_history Reset output current history.
======================= =======================================================
...@@ -2,9 +2,13 @@ Kernel driver max16064 ...@@ -2,9 +2,13 @@ Kernel driver max16064
====================== ======================
Supported chips: Supported chips:
* Maxim MAX16064 * Maxim MAX16064
Prefix: 'max16064' Prefix: 'max16064'
Addresses scanned: - Addresses scanned: -
Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX16064.pdf Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX16064.pdf
Author: Guenter Roeck <linux@roeck-us.net> Author: Guenter Roeck <linux@roeck-us.net>
...@@ -40,16 +44,20 @@ Sysfs entries ...@@ -40,16 +44,20 @@ Sysfs entries
The following attributes are supported. Limits are read-write; all other The following attributes are supported. Limits are read-write; all other
attributes are read-only. attributes are read-only.
======================= ========================================================
in[1-4]_label "vout[1-4]" in[1-4]_label "vout[1-4]"
in[1-4]_input Measured voltage. From READ_VOUT register. in[1-4]_input Measured voltage. From READ_VOUT register.
in[1-4]_min Minimum Voltage. From VOUT_UV_WARN_LIMIT register. in[1-4]_min Minimum Voltage. From VOUT_UV_WARN_LIMIT register.
in[1-4]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register. in[1-4]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
in[1-4]_lcrit Critical minimum Voltage. VOUT_UV_FAULT_LIMIT register. in[1-4]_lcrit Critical minimum Voltage. VOUT_UV_FAULT_LIMIT register.
in[1-4]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register. in[1-4]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT
register.
in[1-4]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status. in[1-4]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
in[1-4]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status. in[1-4]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
in[1-4]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status. in[1-4]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT
in[1-4]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status. status.
in[1-4]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT
status.
in[1-4]_highest Historical maximum voltage. in[1-4]_highest Historical maximum voltage.
in[1-4]_reset_history Write any value to reset history. in[1-4]_reset_history Write any value to reset history.
...@@ -64,3 +72,4 @@ temp1_crit_alarm Chip temperature critical high alarm. Set by comparing ...@@ -64,3 +72,4 @@ temp1_crit_alarm Chip temperature critical high alarm. Set by comparing
status is set. status is set.
temp1_highest Historical maximum temperature. temp1_highest Historical maximum temperature.
temp1_reset_history Write any value to reset history. temp1_reset_history Write any value to reset history.
======================= ========================================================
...@@ -2,10 +2,15 @@ Kernel driver max20751 ...@@ -2,10 +2,15 @@ Kernel driver max20751
====================== ======================
Supported chips: Supported chips:
* maxim MAX20751 * maxim MAX20751
Prefix: 'max20751' Prefix: 'max20751'
Addresses scanned: - Addresses scanned: -
Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX20751.pdf Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX20751.pdf
Application note: http://pdfserv.maximintegrated.com/en/an/AN5941.pdf Application note: http://pdfserv.maximintegrated.com/en/an/AN5941.pdf
Author: Guenter Roeck <linux@roeck-us.net> Author: Guenter Roeck <linux@roeck-us.net>
...@@ -40,6 +45,7 @@ Sysfs entries ...@@ -40,6 +45,7 @@ Sysfs entries
The following attributes are supported. The following attributes are supported.
======================= =======================================================
in1_label "vin1" in1_label "vin1"
in1_input Measured voltage. in1_input Measured voltage.
in1_min Minimum input voltage. in1_min Minimum input voltage.
...@@ -75,3 +81,4 @@ temp1_crit_alarm Chip temperature critical high alarm. ...@@ -75,3 +81,4 @@ temp1_crit_alarm Chip temperature critical high alarm.
power1_input Output power. power1_input Output power.
power1_label "pout1" power1_label "pout1"
======================= =======================================================
...@@ -2,9 +2,13 @@ Kernel driver max31785 ...@@ -2,9 +2,13 @@ Kernel driver max31785
====================== ======================
Supported chips: Supported chips:
* Maxim MAX31785, MAX31785A * Maxim MAX31785, MAX31785A
Prefix: 'max31785' or 'max31785a' Prefix: 'max31785' or 'max31785a'
Addresses scanned: - Addresses scanned: -
Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX31785.pdf Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX31785.pdf
Author: Andrew Jeffery <andrew@aj.id.au> Author: Andrew Jeffery <andrew@aj.id.au>
...@@ -30,6 +34,7 @@ devices explicitly. ...@@ -30,6 +34,7 @@ devices explicitly.
Sysfs attributes Sysfs attributes
---------------- ----------------
======================= =======================================================
fan[1-4]_alarm Fan alarm. fan[1-4]_alarm Fan alarm.
fan[1-4]_fault Fan fault. fan[1-4]_fault Fan fault.
fan[1-8]_input Fan RPM. On the MAX31785A, inputs 5-8 correspond to the fan[1-8]_input Fan RPM. On the MAX31785A, inputs 5-8 correspond to the
...@@ -58,3 +63,4 @@ temp[1-11]_crit_alarm Chip temperature critical high alarm ...@@ -58,3 +63,4 @@ temp[1-11]_crit_alarm Chip temperature critical high alarm
temp[1-11]_input Measured temperature temp[1-11]_input Measured temperature
temp[1-11]_max Maximum temperature temp[1-11]_max Maximum temperature
temp[1-11]_max_alarm Chip temperature high alarm temp[1-11]_max_alarm Chip temperature high alarm
======================= =======================================================
...@@ -2,34 +2,63 @@ Kernel driver max34440 ...@@ -2,34 +2,63 @@ Kernel driver max34440
====================== ======================
Supported chips: Supported chips:
* Maxim MAX34440 * Maxim MAX34440
Prefixes: 'max34440' Prefixes: 'max34440'
Addresses scanned: - Addresses scanned: -
Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX34440.pdf Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX34440.pdf
* Maxim MAX34441 * Maxim MAX34441
PMBus 5-Channel Power-Supply Manager and Intelligent Fan Controller PMBus 5-Channel Power-Supply Manager and Intelligent Fan Controller
Prefixes: 'max34441' Prefixes: 'max34441'
Addresses scanned: - Addresses scanned: -
Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX34441.pdf Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX34441.pdf
* Maxim MAX34446 * Maxim MAX34446
PMBus Power-Supply Data Logger PMBus Power-Supply Data Logger
Prefixes: 'max34446' Prefixes: 'max34446'
Addresses scanned: - Addresses scanned: -
Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX34446.pdf Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX34446.pdf
* Maxim MAX34451 * Maxim MAX34451
PMBus 16-Channel V/I Monitor and 12-Channel Sequencer/Marginer PMBus 16-Channel V/I Monitor and 12-Channel Sequencer/Marginer
Prefixes: 'max34451' Prefixes: 'max34451'
Addresses scanned: - Addresses scanned: -
Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX34451.pdf Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX34451.pdf
* Maxim MAX34460 * Maxim MAX34460
PMBus 12-Channel Voltage Monitor & Sequencer PMBus 12-Channel Voltage Monitor & Sequencer
Prefix: 'max34460' Prefix: 'max34460'
Addresses scanned: - Addresses scanned: -
Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX34460.pdf Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX34460.pdf
* Maxim MAX34461 * Maxim MAX34461
PMBus 16-Channel Voltage Monitor & Sequencer PMBus 16-Channel Voltage Monitor & Sequencer
Prefix: 'max34461' Prefix: 'max34461'
Addresses scanned: - Addresses scanned: -
Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX34461.pdf Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX34461.pdf
Author: Guenter Roeck <linux@roeck-us.net> Author: Guenter Roeck <linux@roeck-us.net>
...@@ -77,42 +106,67 @@ Sysfs entries ...@@ -77,42 +106,67 @@ Sysfs entries
The following attributes are supported. Limits are read-write; all other The following attributes are supported. Limits are read-write; all other
attributes are read-only. attributes are read-only.
In
~~
======================= =======================================================
in[1-6]_label "vout[1-6]". in[1-6]_label "vout[1-6]".
in[1-6]_input Measured voltage. From READ_VOUT register. in[1-6]_input Measured voltage. From READ_VOUT register.
in[1-6]_min Minimum Voltage. From VOUT_UV_WARN_LIMIT register. in[1-6]_min Minimum Voltage. From VOUT_UV_WARN_LIMIT register.
in[1-6]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register. in[1-6]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
in[1-6]_lcrit Critical minimum Voltage. VOUT_UV_FAULT_LIMIT register. in[1-6]_lcrit Critical minimum Voltage. VOUT_UV_FAULT_LIMIT register.
in[1-6]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register. in[1-6]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT
register.
in[1-6]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status. in[1-6]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
in[1-6]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status. in[1-6]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
in[1-6]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status. in[1-6]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT
in[1-6]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status. status.
in[1-6]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT
status.
in[1-6]_lowest Historical minimum voltage. in[1-6]_lowest Historical minimum voltage.
in[1-6]_highest Historical maximum voltage. in[1-6]_highest Historical maximum voltage.
in[1-6]_reset_history Write any value to reset history. in[1-6]_reset_history Write any value to reset history.
======================= =======================================================
.. note:: MAX34446 only supports in[1-4].
MAX34446 only supports in[1-4]. Curr
~~~~
======================= ========================================================
curr[1-6]_label "iout[1-6]". curr[1-6]_label "iout[1-6]".
curr[1-6]_input Measured current. From READ_IOUT register. curr[1-6]_input Measured current. From READ_IOUT register.
curr[1-6]_max Maximum current. From IOUT_OC_WARN_LIMIT register. curr[1-6]_max Maximum current. From IOUT_OC_WARN_LIMIT register.
curr[1-6]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register. curr[1-6]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT
register.
curr[1-6]_max_alarm Current high alarm. From IOUT_OC_WARNING status. curr[1-6]_max_alarm Current high alarm. From IOUT_OC_WARNING status.
curr[1-6]_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status. curr[1-6]_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status.
curr[1-4]_average Historical average current (MAX34446/34451 only). curr[1-4]_average Historical average current (MAX34446/34451 only).
curr[1-6]_highest Historical maximum current. curr[1-6]_highest Historical maximum current.
curr[1-6]_reset_history Write any value to reset history. curr[1-6]_reset_history Write any value to reset history.
======================= ========================================================
.. note::
- in6 and curr6 attributes only exist for MAX34440.
- MAX34446 only supports curr[1-4].
in6 and curr6 attributes only exist for MAX34440. Power
MAX34446 only supports curr[1-4]. ~~~~~
======================= ========================================================
power[1,3]_label "pout[1,3]" power[1,3]_label "pout[1,3]"
power[1,3]_input Measured power. power[1,3]_input Measured power.
power[1,3]_average Historical average power. power[1,3]_average Historical average power.
power[1,3]_highest Historical maximum power. power[1,3]_highest Historical maximum power.
======================= ========================================================
Power attributes only exist for MAX34446. .. note:: Power attributes only exist for MAX34446.
Temp
~~~~
======================= ========================================================
temp[1-8]_input Measured temperatures. From READ_TEMPERATURE_1 register. temp[1-8]_input Measured temperatures. From READ_TEMPERATURE_1 register.
temp1 is the chip's internal temperature. temp2..temp5 temp1 is the chip's internal temperature. temp2..temp5
are remote I2C temperature sensors. For MAX34441, temp6 are remote I2C temperature sensors. For MAX34441, temp6
...@@ -125,11 +179,17 @@ temp[1-8]_crit_alarm Temperature critical high alarm. ...@@ -125,11 +179,17 @@ temp[1-8]_crit_alarm Temperature critical high alarm.
temp[1-8]_average Historical average temperature (MAX34446 only). temp[1-8]_average Historical average temperature (MAX34446 only).
temp[1-8]_highest Historical maximum temperature. temp[1-8]_highest Historical maximum temperature.
temp[1-8]_reset_history Write any value to reset history. temp[1-8]_reset_history Write any value to reset history.
======================= ========================================================
.. note::
- temp7 and temp8 attributes only exist for MAX34440.
- MAX34446 only supports temp[1-3].
temp7 and temp8 attributes only exist for MAX34440. .. note::
MAX34446 only supports temp[1-3].
MAX34451 supports attribute groups in[1-16] (or curr[1-16] based on input pins) - MAX34451 supports attribute groups in[1-16] (or curr[1-16] based on
and temp[1-5]. input pins) and temp[1-5].
MAX34460 supports attribute groups in[1-12] and temp[1-5]. - MAX34460 supports attribute groups in[1-12] and temp[1-5].
MAX34461 supports attribute groups in[1-16] and temp[1-5]. - MAX34461 supports attribute groups in[1-16] and temp[1-5].
...@@ -2,9 +2,13 @@ Kernel driver max8688 ...@@ -2,9 +2,13 @@ Kernel driver max8688
===================== =====================
Supported chips: Supported chips:
* Maxim MAX8688 * Maxim MAX8688
Prefix: 'max8688' Prefix: 'max8688'
Addresses scanned: - Addresses scanned: -
Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX8688.pdf Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX8688.pdf
Author: Guenter Roeck <linux@roeck-us.net> Author: Guenter Roeck <linux@roeck-us.net>
...@@ -40,23 +44,28 @@ Sysfs entries ...@@ -40,23 +44,28 @@ Sysfs entries
The following attributes are supported. Limits are read-write; all other The following attributes are supported. Limits are read-write; all other
attributes are read-only. attributes are read-only.
======================= ========================================================
in1_label "vout1" in1_label "vout1"
in1_input Measured voltage. From READ_VOUT register. in1_input Measured voltage. From READ_VOUT register.
in1_min Minimum Voltage. From VOUT_UV_WARN_LIMIT register. in1_min Minimum Voltage. From VOUT_UV_WARN_LIMIT register.
in1_max Maximum voltage. From VOUT_OV_WARN_LIMIT register. in1_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
in1_lcrit Critical minimum Voltage. VOUT_UV_FAULT_LIMIT register. in1_lcrit Critical minimum Voltage. VOUT_UV_FAULT_LIMIT register.
in1_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register. in1_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT
register.
in1_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status. in1_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
in1_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status. in1_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
in1_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status. in1_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT
in1_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status. status.
in1_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT
status.
in1_highest Historical maximum voltage. in1_highest Historical maximum voltage.
in1_reset_history Write any value to reset history. in1_reset_history Write any value to reset history.
curr1_label "iout1" curr1_label "iout1"
curr1_input Measured current. From READ_IOUT register. curr1_input Measured current. From READ_IOUT register.
curr1_max Maximum current. From IOUT_OC_WARN_LIMIT register. curr1_max Maximum current. From IOUT_OC_WARN_LIMIT register.
curr1_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register. curr1_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT
register.
curr1_max_alarm Current high alarm. From IOUT_OC_WARN_LIMIT register. curr1_max_alarm Current high alarm. From IOUT_OC_WARN_LIMIT register.
curr1_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status. curr1_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status.
curr1_highest Historical maximum current. curr1_highest Historical maximum current.
...@@ -73,3 +82,4 @@ temp1_crit_alarm Chip temperature critical high alarm. Set by comparing ...@@ -73,3 +82,4 @@ temp1_crit_alarm Chip temperature critical high alarm. Set by comparing
status is set. status is set.
temp1_highest Historical maximum temperature. temp1_highest Historical maximum temperature.
temp1_reset_history Write any value to reset history. temp1_reset_history Write any value to reset history.
======================= ========================================================
Kernel driver pmbus Kernel driver pmbus
==================== ===================
Supported chips: Supported chips:
* Ericsson BMR453, BMR454 * Ericsson BMR453, BMR454
Prefixes: 'bmr453', 'bmr454' Prefixes: 'bmr453', 'bmr454'
Addresses scanned: - Addresses scanned: -
Datasheet: Datasheet:
http://archive.ericsson.net/service/internet/picov/get?DocNo=28701-EN/LZT146395 http://archive.ericsson.net/service/internet/picov/get?DocNo=28701-EN/LZT146395
* ON Semiconductor ADP4000, NCP4200, NCP4208 * ON Semiconductor ADP4000, NCP4200, NCP4208
Prefixes: 'adp4000', 'ncp4200', 'ncp4208' Prefixes: 'adp4000', 'ncp4200', 'ncp4208'
Addresses scanned: - Addresses scanned: -
Datasheets: Datasheets:
http://www.onsemi.com/pub_link/Collateral/ADP4000-D.PDF http://www.onsemi.com/pub_link/Collateral/ADP4000-D.PDF
http://www.onsemi.com/pub_link/Collateral/NCP4200-D.PDF http://www.onsemi.com/pub_link/Collateral/NCP4200-D.PDF
http://www.onsemi.com/pub_link/Collateral/JUNE%202009-%20REV.%200.PDF http://www.onsemi.com/pub_link/Collateral/JUNE%202009-%20REV.%200.PDF
* Lineage Power * Lineage Power
Prefixes: 'mdt040', 'pdt003', 'pdt006', 'pdt012', 'udt020' Prefixes: 'mdt040', 'pdt003', 'pdt006', 'pdt012', 'udt020'
Addresses scanned: - Addresses scanned: -
Datasheets: Datasheets:
http://www.lineagepower.com/oem/pdf/PDT003A0X.pdf http://www.lineagepower.com/oem/pdf/PDT003A0X.pdf
http://www.lineagepower.com/oem/pdf/PDT006A0X.pdf http://www.lineagepower.com/oem/pdf/PDT006A0X.pdf
http://www.lineagepower.com/oem/pdf/PDT012A0X.pdf http://www.lineagepower.com/oem/pdf/PDT012A0X.pdf
http://www.lineagepower.com/oem/pdf/UDT020A0X.pdf http://www.lineagepower.com/oem/pdf/UDT020A0X.pdf
http://www.lineagepower.com/oem/pdf/MDT040A0X.pdf http://www.lineagepower.com/oem/pdf/MDT040A0X.pdf
* Texas Instruments TPS40400, TPS544B20, TPS544B25, TPS544C20, TPS544C25 * Texas Instruments TPS40400, TPS544B20, TPS544B25, TPS544C20, TPS544C25
Prefixes: 'tps40400', 'tps544b20', 'tps544b25', 'tps544c20', 'tps544c25' Prefixes: 'tps40400', 'tps544b20', 'tps544b25', 'tps544c20', 'tps544c25'
Addresses scanned: - Addresses scanned: -
Datasheets: Datasheets:
http://www.ti.com/lit/gpn/tps40400 http://www.ti.com/lit/gpn/tps40400
http://www.ti.com/lit/gpn/tps544b20 http://www.ti.com/lit/gpn/tps544b20
http://www.ti.com/lit/gpn/tps544b25 http://www.ti.com/lit/gpn/tps544b25
http://www.ti.com/lit/gpn/tps544c20 http://www.ti.com/lit/gpn/tps544c20
http://www.ti.com/lit/gpn/tps544c25 http://www.ti.com/lit/gpn/tps544c25
* Generic PMBus devices * Generic PMBus devices
Prefix: 'pmbus' Prefix: 'pmbus'
Addresses scanned: - Addresses scanned: -
Datasheet: n.a. Datasheet: n.a.
Author: Guenter Roeck <linux@roeck-us.net> Author: Guenter Roeck <linux@roeck-us.net>
...@@ -62,9 +97,10 @@ supported by all chips), and since there is no well defined address range for ...@@ -62,9 +97,10 @@ supported by all chips), and since there is no well defined address range for
PMBus devices. You will have to instantiate the devices explicitly. PMBus devices. You will have to instantiate the devices explicitly.
Example: the following will load the driver for an LTC2978 at address 0x60 Example: the following will load the driver for an LTC2978 at address 0x60
on I2C bus #1: on I2C bus #1::
$ modprobe pmbus
$ echo ltc2978 0x60 > /sys/bus/i2c/devices/i2c-1/new_device $ modprobe pmbus
$ echo ltc2978 0x60 > /sys/bus/i2c/devices/i2c-1/new_device
Platform data support Platform data support
...@@ -72,9 +108,9 @@ Platform data support ...@@ -72,9 +108,9 @@ Platform data support
Support for additional PMBus chips can be added by defining chip parameters in Support for additional PMBus chips can be added by defining chip parameters in
a new chip specific driver file. For example, (untested) code to add support for a new chip specific driver file. For example, (untested) code to add support for
Emerson DS1200 power modules might look as follows. Emerson DS1200 power modules might look as follows::
static struct pmbus_driver_info ds1200_info = { static struct pmbus_driver_info ds1200_info = {
.pages = 1, .pages = 1,
/* Note: All other sensors are in linear mode */ /* Note: All other sensors are in linear mode */
.direct[PSC_VOLTAGE_OUT] = true, .direct[PSC_VOLTAGE_OUT] = true,
...@@ -95,45 +131,45 @@ static struct pmbus_driver_info ds1200_info = { ...@@ -95,45 +131,45 @@ static struct pmbus_driver_info ds1200_info = {
| PMBUS_HAVE_PIN | PMBUS_HAVE_POUT | PMBUS_HAVE_PIN | PMBUS_HAVE_POUT
| PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP | PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP
| PMBUS_HAVE_FAN12 | PMBUS_HAVE_STATUS_FAN12, | PMBUS_HAVE_FAN12 | PMBUS_HAVE_STATUS_FAN12,
}; };
static int ds1200_probe(struct i2c_client *client, static int ds1200_probe(struct i2c_client *client,
const struct i2c_device_id *id) const struct i2c_device_id *id)
{ {
return pmbus_do_probe(client, id, &ds1200_info); return pmbus_do_probe(client, id, &ds1200_info);
} }
static int ds1200_remove(struct i2c_client *client) static int ds1200_remove(struct i2c_client *client)
{ {
return pmbus_do_remove(client); return pmbus_do_remove(client);
} }
static const struct i2c_device_id ds1200_id[] = { static const struct i2c_device_id ds1200_id[] = {
{"ds1200", 0}, {"ds1200", 0},
{} {}
}; };
MODULE_DEVICE_TABLE(i2c, ds1200_id); MODULE_DEVICE_TABLE(i2c, ds1200_id);
/* This is the driver that will be inserted */ /* This is the driver that will be inserted */
static struct i2c_driver ds1200_driver = { static struct i2c_driver ds1200_driver = {
.driver = { .driver = {
.name = "ds1200", .name = "ds1200",
}, },
.probe = ds1200_probe, .probe = ds1200_probe,
.remove = ds1200_remove, .remove = ds1200_remove,
.id_table = ds1200_id, .id_table = ds1200_id,
}; };
static int __init ds1200_init(void) static int __init ds1200_init(void)
{ {
return i2c_add_driver(&ds1200_driver); return i2c_add_driver(&ds1200_driver);
} }
static void __exit ds1200_exit(void) static void __exit ds1200_exit(void)
{ {
i2c_del_driver(&ds1200_driver); i2c_del_driver(&ds1200_driver);
} }
Sysfs entries Sysfs entries
...@@ -148,6 +184,7 @@ a given sysfs entry. ...@@ -148,6 +184,7 @@ a given sysfs entry.
The following attributes are supported. Limits are read-write; all other The following attributes are supported. Limits are read-write; all other
attributes are read-only. attributes are read-only.
======================= ========================================================
inX_input Measured voltage. From READ_VIN or READ_VOUT register. inX_input Measured voltage. From READ_VIN or READ_VOUT register.
inX_min Minimum Voltage. inX_min Minimum Voltage.
From VIN_UV_WARN_LIMIT or VOUT_UV_WARN_LIMIT register. From VIN_UV_WARN_LIMIT or VOUT_UV_WARN_LIMIT register.
...@@ -214,3 +251,4 @@ tempX_lcrit_alarm Chip temperature critical low alarm. Set by comparing ...@@ -214,3 +251,4 @@ tempX_lcrit_alarm Chip temperature critical low alarm. Set by comparing
tempX_crit_alarm Chip temperature critical high alarm. Set by comparing tempX_crit_alarm Chip temperature critical high alarm. Set by comparing
READ_TEMPERATURE_X with OT_FAULT_LIMIT if READ_TEMPERATURE_X with OT_FAULT_LIMIT if
TEMP_OT_FAULT status is set. TEMP_OT_FAULT status is set.
======================= ========================================================
==================================
PMBus core driver and internal API PMBus core driver and internal API
================================== ==================================
...@@ -120,24 +121,24 @@ Specifically, it provides the following information. ...@@ -120,24 +121,24 @@ Specifically, it provides the following information.
non-standard PMBus commands to standard commands, or to augment standard non-standard PMBus commands to standard commands, or to augment standard
command return values with device specific information. command return values with device specific information.
API functions API functions
------------- =============
Functions provided by chip driver Functions provided by chip driver
--------------------------------- ---------------------------------
All functions return the command return value (read) or zero (write) if All functions return the command return value (read) or zero (write) if
successful. A return value of -ENODATA indicates that there is no manufacturer successful. A return value of -ENODATA indicates that there is no manufacturer
specific command, but that a standard PMBus command may exist. Any other specific command, but that a standard PMBus command may exist. Any other
negative return value indicates that the commands does not exist for this negative return value indicates that the commands does not exist for this
chip, and that no attempt should be made to read or write the standard chip, and that no attempt should be made to read or write the standard
command. command.
As mentioned above, an exception to this rule applies to virtual commands, As mentioned above, an exception to this rule applies to virtual commands,
which _must_ be handled in driver specific code. See "Virtual PMBus Commands" which *must* be handled in driver specific code. See "Virtual PMBus Commands"
above for more details. above for more details.
Command execution in the core PMBus driver code is as follows. Command execution in the core PMBus driver code is as follows::
if (chip_access_function) { if (chip_access_function) {
status = chip_access_function(); status = chip_access_function();
...@@ -148,128 +149,160 @@ Specifically, it provides the following information. ...@@ -148,128 +149,160 @@ Specifically, it provides the following information.
return -EINVAL; return -EINVAL;
return generic_access(); return generic_access();
Chip drivers may provide pointers to the following functions in struct Chip drivers may provide pointers to the following functions in struct
pmbus_driver_info. All functions are optional. pmbus_driver_info. All functions are optional.
::
int (*read_byte_data)(struct i2c_client *client, int page, int reg); int (*read_byte_data)(struct i2c_client *client, int page, int reg);
Read byte from page <page>, register <reg>. Read byte from page <page>, register <reg>.
<page> may be -1, which means "current page". <page> may be -1, which means "current page".
::
int (*read_word_data)(struct i2c_client *client, int page, int reg); int (*read_word_data)(struct i2c_client *client, int page, int reg);
Read word from page <page>, register <reg>. Read word from page <page>, register <reg>.
::
int (*write_word_data)(struct i2c_client *client, int page, int reg, int (*write_word_data)(struct i2c_client *client, int page, int reg,
u16 word); u16 word);
Write word to page <page>, register <reg>. Write word to page <page>, register <reg>.
::
int (*write_byte)(struct i2c_client *client, int page, u8 value); int (*write_byte)(struct i2c_client *client, int page, u8 value);
Write byte to page <page>, register <reg>. Write byte to page <page>, register <reg>.
<page> may be -1, which means "current page". <page> may be -1, which means "current page".
::
int (*identify)(struct i2c_client *client, struct pmbus_driver_info *info); int (*identify)(struct i2c_client *client, struct pmbus_driver_info *info);
Determine supported PMBus functionality. This function is only necessary Determine supported PMBus functionality. This function is only necessary
if a chip driver supports multiple chips, and the chip functionality is not if a chip driver supports multiple chips, and the chip functionality is not
pre-determined. It is currently only used by the generic pmbus driver pre-determined. It is currently only used by the generic pmbus driver
(pmbus.c). (pmbus.c).
Functions exported by core driver
---------------------------------
Functions exported by core driver Chip drivers are expected to use the following functions to read or write
--------------------------------- PMBus registers. Chip drivers may also use direct I2C commands. If direct I2C
commands are used, the chip driver code must not directly modify the current
page, since the selected page is cached in the core driver and the core driver
will assume that it is selected. Using pmbus_set_page() to select a new page
is mandatory.
Chip drivers are expected to use the following functions to read or write ::
PMBus registers. Chip drivers may also use direct I2C commands. If direct I2C
commands are used, the chip driver code must not directly modify the current
page, since the selected page is cached in the core driver and the core driver
will assume that it is selected. Using pmbus_set_page() to select a new page
is mandatory.
int pmbus_set_page(struct i2c_client *client, u8 page); int pmbus_set_page(struct i2c_client *client, u8 page);
Set PMBus page register to <page> for subsequent commands. Set PMBus page register to <page> for subsequent commands.
::
int pmbus_read_word_data(struct i2c_client *client, u8 page, u8 reg); int pmbus_read_word_data(struct i2c_client *client, u8 page, u8 reg);
Read word data from <page>, <reg>. Similar to i2c_smbus_read_word_data(), but Read word data from <page>, <reg>. Similar to i2c_smbus_read_word_data(), but
selects page first. selects page first.
::
int pmbus_write_word_data(struct i2c_client *client, u8 page, u8 reg, int pmbus_write_word_data(struct i2c_client *client, u8 page, u8 reg,
u16 word); u16 word);
Write word data to <page>, <reg>. Similar to i2c_smbus_write_word_data(), but Write word data to <page>, <reg>. Similar to i2c_smbus_write_word_data(), but
selects page first. selects page first.
::
int pmbus_read_byte_data(struct i2c_client *client, int page, u8 reg); int pmbus_read_byte_data(struct i2c_client *client, int page, u8 reg);
Read byte data from <page>, <reg>. Similar to i2c_smbus_read_byte_data(), but Read byte data from <page>, <reg>. Similar to i2c_smbus_read_byte_data(), but
selects page first. <page> may be -1, which means "current page". selects page first. <page> may be -1, which means "current page".
::
int pmbus_write_byte(struct i2c_client *client, int page, u8 value); int pmbus_write_byte(struct i2c_client *client, int page, u8 value);
Write byte data to <page>, <reg>. Similar to i2c_smbus_write_byte(), but Write byte data to <page>, <reg>. Similar to i2c_smbus_write_byte(), but
selects page first. <page> may be -1, which means "current page". selects page first. <page> may be -1, which means "current page".
::
void pmbus_clear_faults(struct i2c_client *client); void pmbus_clear_faults(struct i2c_client *client);
Execute PMBus "Clear Fault" command on all chip pages. Execute PMBus "Clear Fault" command on all chip pages.
This function calls the device specific write_byte function if defined. This function calls the device specific write_byte function if defined.
Therefore, it must _not_ be called from that function. Therefore, it must _not_ be called from that function.
::
bool pmbus_check_byte_register(struct i2c_client *client, int page, int reg); bool pmbus_check_byte_register(struct i2c_client *client, int page, int reg);
Check if byte register exists. Return true if the register exists, false Check if byte register exists. Return true if the register exists, false
otherwise. otherwise.
This function calls the device specific write_byte function if defined to This function calls the device specific write_byte function if defined to
obtain the chip status. Therefore, it must _not_ be called from that function. obtain the chip status. Therefore, it must _not_ be called from that function.
::
bool pmbus_check_word_register(struct i2c_client *client, int page, int reg); bool pmbus_check_word_register(struct i2c_client *client, int page, int reg);
Check if word register exists. Return true if the register exists, false Check if word register exists. Return true if the register exists, false
otherwise. otherwise.
This function calls the device specific write_byte function if defined to This function calls the device specific write_byte function if defined to
obtain the chip status. Therefore, it must _not_ be called from that function. obtain the chip status. Therefore, it must _not_ be called from that function.
::
int pmbus_do_probe(struct i2c_client *client, const struct i2c_device_id *id, int pmbus_do_probe(struct i2c_client *client, const struct i2c_device_id *id,
struct pmbus_driver_info *info); struct pmbus_driver_info *info);
Execute probe function. Similar to standard probe function for other drivers,
with the pointer to struct pmbus_driver_info as additional argument. Calls
identify function if supported. Must only be called from device probe
function.
Execute probe function. Similar to standard probe function for other drivers, ::
with the pointer to struct pmbus_driver_info as additional argument. Calls
identify function if supported. Must only be called from device probe
function.
void pmbus_do_remove(struct i2c_client *client); void pmbus_do_remove(struct i2c_client *client);
Execute driver remove function. Similar to standard driver remove function. Execute driver remove function. Similar to standard driver remove function.
::
const struct pmbus_driver_info const struct pmbus_driver_info
*pmbus_get_driver_info(struct i2c_client *client); *pmbus_get_driver_info(struct i2c_client *client);
Return pointer to struct pmbus_driver_info as passed to pmbus_do_probe(). Return pointer to struct pmbus_driver_info as passed to pmbus_do_probe().
PMBus driver platform data PMBus driver platform data
========================== ==========================
PMBus platform data is defined in include/linux/pmbus.h. Platform data PMBus platform data is defined in include/linux/pmbus.h. Platform data
currently only provides a flag field with a single bit used. currently only provides a flag field with a single bit used::
#define PMBUS_SKIP_STATUS_CHECK (1 << 0) #define PMBUS_SKIP_STATUS_CHECK (1 << 0)
struct pmbus_platform_data { struct pmbus_platform_data {
u32 flags; /* Device specific flags */ u32 flags; /* Device specific flags */
}; };
Flags Flags
----- -----
PMBUS_SKIP_STATUS_CHECK PMBUS_SKIP_STATUS_CHECK
During register detection, skip checking the status register for
During register detection, skip checking the status register for communication or command errors.
communication or command errors.
Some PMBus chips respond with valid data when trying to read an unsupported Some PMBus chips respond with valid data when trying to read an unsupported
register. For such chips, checking the status register is mandatory when register. For such chips, checking the status register is mandatory when
......
...@@ -2,9 +2,13 @@ Kernel driver tps40422 ...@@ -2,9 +2,13 @@ Kernel driver tps40422
====================== ======================
Supported chips: Supported chips:
* TI TPS40422 * TI TPS40422
Prefix: 'tps40422' Prefix: 'tps40422'
Addresses scanned: - Addresses scanned: -
Datasheet: http://www.ti.com/lit/gpn/tps40422 Datasheet: http://www.ti.com/lit/gpn/tps40422
Author: Zhu Laiwen <richard.zhu@nsn.com> Author: Zhu Laiwen <richard.zhu@nsn.com>
...@@ -39,6 +43,7 @@ Sysfs entries ...@@ -39,6 +43,7 @@ Sysfs entries
The following attributes are supported. The following attributes are supported.
======================= =======================================================
in[1-2]_label "vout[1-2]" in[1-2]_label "vout[1-2]"
in[1-2]_input Measured voltage. From READ_VOUT register. in[1-2]_input Measured voltage. From READ_VOUT register.
in[1-2]_alarm voltage alarm. in[1-2]_alarm voltage alarm.
...@@ -46,19 +51,23 @@ in[1-2]_alarm voltage alarm. ...@@ -46,19 +51,23 @@ in[1-2]_alarm voltage alarm.
curr[1-2]_input Measured current. From READ_IOUT register. curr[1-2]_input Measured current. From READ_IOUT register.
curr[1-2]_label "iout[1-2]" curr[1-2]_label "iout[1-2]"
curr1_max Maximum current. From IOUT_OC_WARN_LIMIT register. curr1_max Maximum current. From IOUT_OC_WARN_LIMIT register.
curr1_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register. curr1_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT
register.
curr1_max_alarm Current high alarm. From IOUT_OC_WARN_LIMIT status. curr1_max_alarm Current high alarm. From IOUT_OC_WARN_LIMIT status.
curr1_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status. curr1_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status.
curr2_alarm Current high alarm. From IOUT_OC_WARNING status. curr2_alarm Current high alarm. From IOUT_OC_WARNING status.
temp1_input Measured temperature. From READ_TEMPERATURE_2 register on page 0. temp1_input Measured temperature. From READ_TEMPERATURE_2 register
on page 0.
temp1_max Maximum temperature. From OT_WARN_LIMIT register. temp1_max Maximum temperature. From OT_WARN_LIMIT register.
temp1_crit Critical high temperature. From OT_FAULT_LIMIT register. temp1_crit Critical high temperature. From OT_FAULT_LIMIT register.
temp1_max_alarm Chip temperature high alarm. Set by comparing temp1_max_alarm Chip temperature high alarm. Set by comparing
READ_TEMPERATURE_2 on page 0 with OT_WARN_LIMIT if TEMP_OT_WARNING READ_TEMPERATURE_2 on page 0 with OT_WARN_LIMIT if
status is set. TEMP_OT_WARNING status is set.
temp1_crit_alarm Chip temperature critical high alarm. Set by comparing temp1_crit_alarm Chip temperature critical high alarm. Set by comparing
READ_TEMPERATURE_2 on page 0 with OT_FAULT_LIMIT if TEMP_OT_FAULT READ_TEMPERATURE_2 on page 0 with OT_FAULT_LIMIT if
status is set. TEMP_OT_FAULT status is set.
temp2_input Measured temperature. From READ_TEMPERATURE_2 register on page 1. temp2_input Measured temperature. From READ_TEMPERATURE_2 register
on page 1.
temp2_alarm Chip temperature alarm on page 1. temp2_alarm Chip temperature alarm on page 1.
======================= =======================================================
...@@ -2,15 +2,20 @@ Kernel driver ucd9000 ...@@ -2,15 +2,20 @@ Kernel driver ucd9000
===================== =====================
Supported chips: Supported chips:
* TI UCD90120, UCD90124, UCD90160, UCD9090, and UCD90910 * TI UCD90120, UCD90124, UCD90160, UCD9090, and UCD90910
Prefixes: 'ucd90120', 'ucd90124', 'ucd90160', 'ucd9090', 'ucd90910' Prefixes: 'ucd90120', 'ucd90124', 'ucd90160', 'ucd9090', 'ucd90910'
Addresses scanned: - Addresses scanned: -
Datasheets: Datasheets:
http://focus.ti.com/lit/ds/symlink/ucd90120.pdf
http://focus.ti.com/lit/ds/symlink/ucd90124.pdf - http://focus.ti.com/lit/ds/symlink/ucd90120.pdf
http://focus.ti.com/lit/ds/symlink/ucd90160.pdf - http://focus.ti.com/lit/ds/symlink/ucd90124.pdf
http://focus.ti.com/lit/ds/symlink/ucd9090.pdf - http://focus.ti.com/lit/ds/symlink/ucd90160.pdf
http://focus.ti.com/lit/ds/symlink/ucd90910.pdf - http://focus.ti.com/lit/ds/symlink/ucd9090.pdf
- http://focus.ti.com/lit/ds/symlink/ucd90910.pdf
Author: Guenter Roeck <linux@roeck-us.net> Author: Guenter Roeck <linux@roeck-us.net>
...@@ -76,23 +81,28 @@ Sysfs entries ...@@ -76,23 +81,28 @@ Sysfs entries
The following attributes are supported. Limits are read-write; all other The following attributes are supported. Limits are read-write; all other
attributes are read-only. attributes are read-only.
======================= ========================================================
in[1-12]_label "vout[1-12]". in[1-12]_label "vout[1-12]".
in[1-12]_input Measured voltage. From READ_VOUT register. in[1-12]_input Measured voltage. From READ_VOUT register.
in[1-12]_min Minimum Voltage. From VOUT_UV_WARN_LIMIT register. in[1-12]_min Minimum Voltage. From VOUT_UV_WARN_LIMIT register.
in[1-12]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register. in[1-12]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
in[1-12]_lcrit Critical minimum Voltage. VOUT_UV_FAULT_LIMIT register. in[1-12]_lcrit Critical minimum Voltage. VOUT_UV_FAULT_LIMIT register.
in[1-12]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register. in[1-12]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT
register.
in[1-12]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status. in[1-12]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
in[1-12]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status. in[1-12]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
in[1-12]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status. in[1-12]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT
in[1-12]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status. status.
in[1-12]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT
status.
curr[1-12]_label "iout[1-12]". curr[1-12]_label "iout[1-12]".
curr[1-12]_input Measured current. From READ_IOUT register. curr[1-12]_input Measured current. From READ_IOUT register.
curr[1-12]_max Maximum current. From IOUT_OC_WARN_LIMIT register. curr[1-12]_max Maximum current. From IOUT_OC_WARN_LIMIT register.
curr[1-12]_lcrit Critical minimum output current. From IOUT_UC_FAULT_LIMIT curr[1-12]_lcrit Critical minimum output current. From
IOUT_UC_FAULT_LIMIT register.
curr[1-12]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT
register. register.
curr[1-12]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register.
curr[1-12]_max_alarm Current high alarm. From IOUT_OC_WARNING status. curr[1-12]_max_alarm Current high alarm. From IOUT_OC_WARNING status.
curr[1-12]_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status. curr[1-12]_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status.
...@@ -116,3 +126,4 @@ fan[1-4]_fault Fan fault. ...@@ -116,3 +126,4 @@ fan[1-4]_fault Fan fault.
created only for enabled fans. created only for enabled fans.
Note that even though UCD90910 supports up to 10 fans, Note that even though UCD90910 supports up to 10 fans,
only up to four fans are currently supported. only up to four fans are currently supported.
======================= ========================================================
...@@ -2,18 +2,23 @@ Kernel driver ucd9200 ...@@ -2,18 +2,23 @@ Kernel driver ucd9200
===================== =====================
Supported chips: Supported chips:
* TI UCD9220, UCD9222, UCD9224, UCD9240, UCD9244, UCD9246, and UCD9248 * TI UCD9220, UCD9222, UCD9224, UCD9240, UCD9244, UCD9246, and UCD9248
Prefixes: 'ucd9220', 'ucd9222', 'ucd9224', 'ucd9240', 'ucd9244', 'ucd9246', Prefixes: 'ucd9220', 'ucd9222', 'ucd9224', 'ucd9240', 'ucd9244', 'ucd9246',
'ucd9248' 'ucd9248'
Addresses scanned: - Addresses scanned: -
Datasheets: Datasheets:
http://focus.ti.com/lit/ds/symlink/ucd9220.pdf
http://focus.ti.com/lit/ds/symlink/ucd9222.pdf - http://focus.ti.com/lit/ds/symlink/ucd9220.pdf
http://focus.ti.com/lit/ds/symlink/ucd9224.pdf - http://focus.ti.com/lit/ds/symlink/ucd9222.pdf
http://focus.ti.com/lit/ds/symlink/ucd9240.pdf - http://focus.ti.com/lit/ds/symlink/ucd9224.pdf
http://focus.ti.com/lit/ds/symlink/ucd9244.pdf - http://focus.ti.com/lit/ds/symlink/ucd9240.pdf
http://focus.ti.com/lit/ds/symlink/ucd9246.pdf - http://focus.ti.com/lit/ds/symlink/ucd9244.pdf
http://focus.ti.com/lit/ds/symlink/ucd9248.pdf - http://focus.ti.com/lit/ds/symlink/ucd9246.pdf
- http://focus.ti.com/lit/ds/symlink/ucd9248.pdf
Author: Guenter Roeck <linux@roeck-us.net> Author: Guenter Roeck <linux@roeck-us.net>
...@@ -52,12 +57,14 @@ Sysfs entries ...@@ -52,12 +57,14 @@ Sysfs entries
The following attributes are supported. Limits are read-write; all other The following attributes are supported. Limits are read-write; all other
attributes are read-only. attributes are read-only.
======================= ========================================================
in1_label "vin". in1_label "vin".
in1_input Measured voltage. From READ_VIN register. in1_input Measured voltage. From READ_VIN register.
in1_min Minimum Voltage. From VIN_UV_WARN_LIMIT register. in1_min Minimum Voltage. From VIN_UV_WARN_LIMIT register.
in1_max Maximum voltage. From VIN_OV_WARN_LIMIT register. in1_max Maximum voltage. From VIN_OV_WARN_LIMIT register.
in1_lcrit Critical minimum Voltage. VIN_UV_FAULT_LIMIT register. in1_lcrit Critical minimum Voltage. VIN_UV_FAULT_LIMIT register.
in1_crit Critical maximum voltage. From VIN_OV_FAULT_LIMIT register. in1_crit Critical maximum voltage. From VIN_OV_FAULT_LIMIT
register.
in1_min_alarm Voltage low alarm. From VIN_UV_WARNING status. in1_min_alarm Voltage low alarm. From VIN_UV_WARNING status.
in1_max_alarm Voltage high alarm. From VIN_OV_WARNING status. in1_max_alarm Voltage high alarm. From VIN_OV_WARNING status.
in1_lcrit_alarm Voltage critical low alarm. From VIN_UV_FAULT status. in1_lcrit_alarm Voltage critical low alarm. From VIN_UV_FAULT status.
...@@ -68,11 +75,14 @@ in[2-5]_input Measured voltage. From READ_VOUT register. ...@@ -68,11 +75,14 @@ in[2-5]_input Measured voltage. From READ_VOUT register.
in[2-5]_min Minimum Voltage. From VOUT_UV_WARN_LIMIT register. in[2-5]_min Minimum Voltage. From VOUT_UV_WARN_LIMIT register.
in[2-5]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register. in[2-5]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
in[2-5]_lcrit Critical minimum Voltage. VOUT_UV_FAULT_LIMIT register. in[2-5]_lcrit Critical minimum Voltage. VOUT_UV_FAULT_LIMIT register.
in[2-5]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register. in[2-5]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT
register.
in[2-5]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status. in[2-5]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
in[2-5]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status. in[2-5]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
in[2-5]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status. in[2-5]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT
in[2-5]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status. status.
in[2-5]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT
status.
curr1_label "iin". curr1_label "iin".
curr1_input Measured current. From READ_IIN register. curr1_input Measured current. From READ_IIN register.
...@@ -80,9 +90,10 @@ curr1_input Measured current. From READ_IIN register. ...@@ -80,9 +90,10 @@ curr1_input Measured current. From READ_IIN register.
curr[2-5]_label "iout[1-4]". curr[2-5]_label "iout[1-4]".
curr[2-5]_input Measured current. From READ_IOUT register. curr[2-5]_input Measured current. From READ_IOUT register.
curr[2-5]_max Maximum current. From IOUT_OC_WARN_LIMIT register. curr[2-5]_max Maximum current. From IOUT_OC_WARN_LIMIT register.
curr[2-5]_lcrit Critical minimum output current. From IOUT_UC_FAULT_LIMIT curr[2-5]_lcrit Critical minimum output current. From
IOUT_UC_FAULT_LIMIT register.
curr[2-5]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT
register. register.
curr[2-5]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register.
curr[2-5]_max_alarm Current high alarm. From IOUT_OC_WARNING status. curr[2-5]_max_alarm Current high alarm. From IOUT_OC_WARNING status.
curr[2-5]_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status. curr[2-5]_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status.
...@@ -97,7 +108,7 @@ power[2-5]_label "pout[1-4]" ...@@ -97,7 +108,7 @@ power[2-5]_label "pout[1-4]"
rails. See chip datasheets for details. rails. See chip datasheets for details.
temp[1-5]_input Measured temperatures. From READ_TEMPERATURE_1 and temp[1-5]_input Measured temperatures. From READ_TEMPERATURE_1 and
READ_TEMPERATURE_2 registers. READ_TEMPERATURE_2 registers.
temp1 is the chip internal temperature. temp[2-5] are temp1 is the chip internal temperature. temp[2-5] are
rail temperatures. temp[2-5] attributes are only rail temperatures. temp[2-5] attributes are only
created for enabled rails. See chip datasheets for created for enabled rails. See chip datasheets for
...@@ -110,3 +121,4 @@ temp[1-5]_crit_alarm Temperature critical high alarm. ...@@ -110,3 +121,4 @@ temp[1-5]_crit_alarm Temperature critical high alarm.
fan1_input Fan RPM. ucd9240 only. fan1_input Fan RPM. ucd9240 only.
fan1_alarm Fan alarm. ucd9240 only. fan1_alarm Fan alarm. ucd9240 only.
fan1_fault Fan fault. ucd9240 only. fan1_fault Fan fault. ucd9240 only.
======================= ========================================================
...@@ -2,57 +2,106 @@ Kernel driver zl6100 ...@@ -2,57 +2,106 @@ Kernel driver zl6100
==================== ====================
Supported chips: Supported chips:
* Intersil / Zilker Labs ZL2004 * Intersil / Zilker Labs ZL2004
Prefix: 'zl2004' Prefix: 'zl2004'
Addresses scanned: - Addresses scanned: -
Datasheet: http://www.intersil.com/data/fn/fn6847.pdf Datasheet: http://www.intersil.com/data/fn/fn6847.pdf
* Intersil / Zilker Labs ZL2005 * Intersil / Zilker Labs ZL2005
Prefix: 'zl2005' Prefix: 'zl2005'
Addresses scanned: - Addresses scanned: -
Datasheet: http://www.intersil.com/data/fn/fn6848.pdf Datasheet: http://www.intersil.com/data/fn/fn6848.pdf
* Intersil / Zilker Labs ZL2006 * Intersil / Zilker Labs ZL2006
Prefix: 'zl2006' Prefix: 'zl2006'
Addresses scanned: - Addresses scanned: -
Datasheet: http://www.intersil.com/data/fn/fn6850.pdf Datasheet: http://www.intersil.com/data/fn/fn6850.pdf
* Intersil / Zilker Labs ZL2008 * Intersil / Zilker Labs ZL2008
Prefix: 'zl2008' Prefix: 'zl2008'
Addresses scanned: - Addresses scanned: -
Datasheet: http://www.intersil.com/data/fn/fn6859.pdf Datasheet: http://www.intersil.com/data/fn/fn6859.pdf
* Intersil / Zilker Labs ZL2105 * Intersil / Zilker Labs ZL2105
Prefix: 'zl2105' Prefix: 'zl2105'
Addresses scanned: - Addresses scanned: -
Datasheet: http://www.intersil.com/data/fn/fn6851.pdf Datasheet: http://www.intersil.com/data/fn/fn6851.pdf
* Intersil / Zilker Labs ZL2106 * Intersil / Zilker Labs ZL2106
Prefix: 'zl2106' Prefix: 'zl2106'
Addresses scanned: - Addresses scanned: -
Datasheet: http://www.intersil.com/data/fn/fn6852.pdf Datasheet: http://www.intersil.com/data/fn/fn6852.pdf
* Intersil / Zilker Labs ZL6100 * Intersil / Zilker Labs ZL6100
Prefix: 'zl6100' Prefix: 'zl6100'
Addresses scanned: - Addresses scanned: -
Datasheet: http://www.intersil.com/data/fn/fn6876.pdf Datasheet: http://www.intersil.com/data/fn/fn6876.pdf
* Intersil / Zilker Labs ZL6105 * Intersil / Zilker Labs ZL6105
Prefix: 'zl6105' Prefix: 'zl6105'
Addresses scanned: - Addresses scanned: -
Datasheet: http://www.intersil.com/data/fn/fn6906.pdf Datasheet: http://www.intersil.com/data/fn/fn6906.pdf
* Intersil / Zilker Labs ZL9101M * Intersil / Zilker Labs ZL9101M
Prefix: 'zl9101' Prefix: 'zl9101'
Addresses scanned: - Addresses scanned: -
Datasheet: http://www.intersil.com/data/fn/fn7669.pdf Datasheet: http://www.intersil.com/data/fn/fn7669.pdf
* Intersil / Zilker Labs ZL9117M * Intersil / Zilker Labs ZL9117M
Prefix: 'zl9117' Prefix: 'zl9117'
Addresses scanned: - Addresses scanned: -
Datasheet: http://www.intersil.com/data/fn/fn7914.pdf Datasheet: http://www.intersil.com/data/fn/fn7914.pdf
* Ericsson BMR450, BMR451 * Ericsson BMR450, BMR451
Prefix: 'bmr450', 'bmr451' Prefix: 'bmr450', 'bmr451'
Addresses scanned: - Addresses scanned: -
Datasheet: Datasheet:
http://archive.ericsson.net/service/internet/picov/get?DocNo=28701-EN/LZT146401 http://archive.ericsson.net/service/internet/picov/get?DocNo=28701-EN/LZT146401
* Ericsson BMR462, BMR463, BMR464 * Ericsson BMR462, BMR463, BMR464
Prefixes: 'bmr462', 'bmr463', 'bmr464' Prefixes: 'bmr462', 'bmr463', 'bmr464'
Addresses scanned: - Addresses scanned: -
Datasheet: Datasheet:
http://archive.ericsson.net/service/internet/picov/get?DocNo=28701-EN/LZT146256
http://archive.ericsson.net/service/internet/picov/get?DocNo=28701-EN/LZT146256
Author: Guenter Roeck <linux@roeck-us.net> Author: Guenter Roeck <linux@roeck-us.net>
...@@ -75,13 +124,15 @@ This driver does not auto-detect devices. You will have to instantiate the ...@@ -75,13 +124,15 @@ This driver does not auto-detect devices. You will have to instantiate the
devices explicitly. Please see Documentation/i2c/instantiating-devices for devices explicitly. Please see Documentation/i2c/instantiating-devices for
details. details.
WARNING: Do not access chip registers using the i2cdump command, and do not use .. warning::
any of the i2ctools commands on a command register used to save and restore
configuration data (0x11, 0x12, 0x15, 0x16, and 0xf4). The chips supported by Do not access chip registers using the i2cdump command, and do not use
this driver interpret any access to those command registers (including read any of the i2ctools commands on a command register used to save and restore
commands) as request to execute the command in question. Unless write accesses configuration data (0x11, 0x12, 0x15, 0x16, and 0xf4). The chips supported by
to those registers are protected, this may result in power loss, board resets, this driver interpret any access to those command registers (including read
and/or Flash corruption. Worst case, your board may turn into a brick. commands) as request to execute the command in question. Unless write accesses
to those registers are protected, this may result in power loss, board resets,
and/or Flash corruption. Worst case, your board may turn into a brick.
Platform data support Platform data support
...@@ -110,6 +161,7 @@ Sysfs entries ...@@ -110,6 +161,7 @@ Sysfs entries
The following attributes are supported. Limits are read-write; all other The following attributes are supported. Limits are read-write; all other
attributes are read-only. attributes are read-only.
======================= ========================================================
in1_label "vin" in1_label "vin"
in1_input Measured input voltage. in1_input Measured input voltage.
in1_min Minimum input voltage. in1_min Minimum input voltage.
...@@ -158,3 +210,4 @@ temp[12]_min_alarm Chip temperature low alarm. ...@@ -158,3 +210,4 @@ temp[12]_min_alarm Chip temperature low alarm.
temp[12]_max_alarm Chip temperature high alarm. temp[12]_max_alarm Chip temperature high alarm.
temp[12]_lcrit_alarm Chip temperature critical low alarm. temp[12]_lcrit_alarm Chip temperature critical low alarm.
temp[12]_crit_alarm Chip temperature critical high alarm. temp[12]_crit_alarm Chip temperature critical high alarm.
======================= ========================================================
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment