Commit f9e5f289 authored by Peter Yin's avatar Peter Yin Committed by Guenter Roeck

hwmon: (pmbus) Add support for MPS Multi-phase mp2856/mp2857 controller

Add support for mp2856/mp2857 device from Monolithic Power Systems, Inc.
(MPS) vendor. This is a dual-loop, digital, multi-phase,
modulation controller.
Signed-off-by: default avatarPeter Yin <peteryin.openbmc@gmail.com>
Signed-off-by: default avatarPotin Lai <potin.lai.pt@gmail.com>
Link: https://lore.kernel.org/r/20231211160519.21254-3-potin.lai.pt@gmail.com
[groeck: Fix checkpatch issues, use i2c_get_match_data()]
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent 956cf098
......@@ -158,6 +158,7 @@ Hardware Monitoring Kernel Drivers
mcp3021
menf21bmc
mlxreg-fan
mp2856
mp2888
mp2975
mp5023
......
.. SPDX-License-Identifier: GPL-2.0
Kernel driver mp2856
====================
Supported chips:
* MPS MP2856
Prefix: 'mp2856'
* MPS MP2857
Prefix: 'mp2857'
Author:
Peter Yin <peter.yin@quantatw.com>
Description
-----------
This driver implements support for Monolithic Power Systems, Inc. (MPS)
vendor dual-loop, digital, multi-phase controller MP2856/MP2857
This device:
- Supports up to two power rail.
- Supports two pages 0 and 1 for and also pages 2 for configuration.
- Can configured VOUT readout in direct or VID format and allows
setting of different formats on rails 1 and 2. For VID the following
protocols are available: AMD SVI3 mode with 5-mV/LSB.
Device supports:
- SVID interface.
- AVSBus interface.
Device compliant with:
- PMBus rev 1.3 interface.
Device supports direct format for reading output current, output voltage,
input and output power and temperature.
Device supports linear format for reading input voltage and input power.
Device supports VID and direct formats for reading output voltage.
The below VID modes are supported: AMD SVI3.
The driver provides the following sysfs attributes for current measurements:
- indexes 1 for "iin";
- indexes 2, 3 for "iout";
**curr[1-3]_alarm**
**curr[1-3]_input**
**curr[1-3]_label**
The driver provides the following sysfs attributes for voltage measurements.
- indexes 1 for "vin";
- indexes 2, 3 for "vout";
**in[1-3]_crit**
**in[1-3]_crit_alarm**
**in[1-3]_input**
**in[1-3]_label**
**in[1-3]_lcrit**
**in[1-3]_lcrit_alarm**
The driver provides the following sysfs attributes for power measurements.
- indexes 1 for "pin";
- indexes 2, 3 for "pout";
**power[1-3]_alarm**
**power[1-3]_input**
**power[1-3]_label**
The driver provides the following sysfs attributes for temperature measurements.
**temp[1-2]_crit**
**temp[1-2]_crit_alarm**
**temp[1-2]_input**
**temp[1-2]_max**
**temp[1-2]_max_alarm**
......@@ -309,6 +309,15 @@ config SENSORS_MAX8688
This driver can also be built as a module. If so, the module will
be called max8688.
config SENSORS_MP2856
tristate "MPS MP2856"
help
If you say yes here you get hardware monitoring support for MPS
MP2856 MP2857 Dual Loop Digital Multi-Phase Controller.
This driver can also be built as a module. If so, the module will
be called mp2856.
config SENSORS_MP2888
tristate "MPS MP2888"
help
......
......@@ -33,6 +33,7 @@ obj-$(CONFIG_SENSORS_MAX20751) += max20751.o
obj-$(CONFIG_SENSORS_MAX31785) += max31785.o
obj-$(CONFIG_SENSORS_MAX34440) += max34440.o
obj-$(CONFIG_SENSORS_MAX8688) += max8688.o
obj-$(CONFIG_SENSORS_MP2856) += mp2856.o
obj-$(CONFIG_SENSORS_MP2888) += mp2888.o
obj-$(CONFIG_SENSORS_MP2975) += mp2975.o
obj-$(CONFIG_SENSORS_MP5023) += mp5023.o
......
This diff is collapsed.
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