* [PATCH v4 0/2] Add MPS MP5920 Host-Swap controller
[not found] <20240702115252.981416-1-xzeol.ref@yahoo.com>
@ 2024-07-02 11:52 ` Alex Vdovydchenko
2024-07-02 11:52 ` [PATCH v4 1/2] dt-bindings: hwmon: Add MPS mp5920 Alex Vdovydchenko
2024-07-02 11:52 ` [PATCH v4 2/2] hwmon: add MP5920 driver Alex Vdovydchenko
0 siblings, 2 replies; 9+ messages in thread
From: Alex Vdovydchenko @ 2024-07-02 11:52 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sean Anderson,
Guenter Roeck, Jean Delvare, Jonathan Corbet, Delphine CC Chiu
Cc: devicetree, linux-kernel, linux-hwmon, linux-doc, linux-i2c,
Alex Vdovydchenko
This series of patches adds the MP5920 Host-swap controller, which is used
as a protection and control IC for devices that are being inserted into a live
backplane. MP5920 acts as a voltage regulator (MP5911 etc) supervisor. IC
utilizes pmbus and provides monitoring, statistics and limits to electrical and
thermal characteristics such as:
- input and output voltage
- output current
- output power
- IC temperature
One must take into account the nonlinear character of readings, so there will be
a statistical error in the range 5–10 percents, depending on current passing
through. In order to use the IC, make sure to specify a valid I2C address
(consult to datasheet and dts-bindings)
MP5920 datasheet: https://www.monolithicpower.com/en/mp5920.html
Changes in v2:
- fixed typos
Changes in v3:
- removed unnecessary license blob
- removed unnecessary headers
- edited device tables style
- added chip name checking in probing
- fixed typos in pmbus_driver_info struct initialization
Changes in v4:
- added i2c_check_functionality in probing
- refactored usage of dev_err_probe insted of dev_err
- edited chip name string handling while printing
- restored .driver.of_match_table, keeping i2c_driver "old" style
Alex Vdovydchenko (2):
dt-bindings: hwmon: Add MPS mp5920
hwmon: add MP5920 driver
.../devicetree/bindings/trivial-devices.yaml | 2 +
Documentation/hwmon/index.rst | 1 +
Documentation/hwmon/mp5920.rst | 91 ++++++++++++++++++
drivers/hwmon/pmbus/Kconfig | 9 ++
drivers/hwmon/pmbus/Makefile | 1 +
drivers/hwmon/pmbus/mp5920.c | 93 +++++++++++++++++++
6 files changed, 197 insertions(+)
create mode 100644 Documentation/hwmon/mp5920.rst
create mode 100644 drivers/hwmon/pmbus/mp5920.c
--
2.43.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v4 1/2] dt-bindings: hwmon: Add MPS mp5920
2024-07-02 11:52 ` [PATCH v4 0/2] Add MPS MP5920 Host-Swap controller Alex Vdovydchenko
@ 2024-07-02 11:52 ` Alex Vdovydchenko
2024-07-02 13:10 ` Krzysztof Kozlowski
2024-07-02 19:29 ` Guenter Roeck
2024-07-02 11:52 ` [PATCH v4 2/2] hwmon: add MP5920 driver Alex Vdovydchenko
1 sibling, 2 replies; 9+ messages in thread
From: Alex Vdovydchenko @ 2024-07-02 11:52 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sean Anderson,
Guenter Roeck, Jean Delvare, Jonathan Corbet, Delphine CC Chiu
Cc: devicetree, linux-kernel, linux-hwmon, linux-doc, linux-i2c,
Alex Vdovydchenko
Add support for MPS mp5920 controller
Signed-off-by: Alex Vdovydchenko <xzeol@yahoo.com>
---
Documentation/devicetree/bindings/trivial-devices.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/trivial-devices.yaml b/Documentation/devicetree/bindings/trivial-devices.yaml
index ff70f0926..cb2fc26d9 100644
--- a/Documentation/devicetree/bindings/trivial-devices.yaml
+++ b/Documentation/devicetree/bindings/trivial-devices.yaml
@@ -296,6 +296,8 @@ properties:
- mps,mp2975
# Monolithic Power Systems Inc. multi-phase controller mp2993
- mps,mp2993
+ # Monolithic Power Systems Inc. multi-phase hot-swap controller mp5920
+ - mps,mp5920
# Monolithic Power Systems Inc. multi-phase hot-swap controller mp5990
- mps,mp5990
# Monolithic Power Systems Inc. digital step-down converter mp9941
--
2.43.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v4 2/2] hwmon: add MP5920 driver
2024-07-02 11:52 ` [PATCH v4 0/2] Add MPS MP5920 Host-Swap controller Alex Vdovydchenko
2024-07-02 11:52 ` [PATCH v4 1/2] dt-bindings: hwmon: Add MPS mp5920 Alex Vdovydchenko
@ 2024-07-02 11:52 ` Alex Vdovydchenko
2024-07-02 19:00 ` Thomas Weißschuh
2024-07-02 19:36 ` Guenter Roeck
1 sibling, 2 replies; 9+ messages in thread
From: Alex Vdovydchenko @ 2024-07-02 11:52 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sean Anderson,
Guenter Roeck, Jean Delvare, Jonathan Corbet, Delphine CC Chiu
Cc: devicetree, linux-kernel, linux-hwmon, linux-doc, linux-i2c,
Alex Vdovydchenko
Add support for MPS Hot-Swap controller mp5920. This driver exposes
telemetry and limit value readings and writings.
Signed-off-by: Alex Vdovydchenko <xzeol@yahoo.com>
---
Documentation/hwmon/index.rst | 1 +
Documentation/hwmon/mp5920.rst | 91 +++++++++++++++++++++++++++++++++
drivers/hwmon/pmbus/Kconfig | 9 ++++
drivers/hwmon/pmbus/Makefile | 1 +
drivers/hwmon/pmbus/mp5920.c | 93 ++++++++++++++++++++++++++++++++++
5 files changed, 195 insertions(+)
create mode 100644 Documentation/hwmon/mp5920.rst
create mode 100644 drivers/hwmon/pmbus/mp5920.c
diff --git a/Documentation/hwmon/index.rst b/Documentation/hwmon/index.rst
index e92a3d5c7..9eba7e402 100644
--- a/Documentation/hwmon/index.rst
+++ b/Documentation/hwmon/index.rst
@@ -168,6 +168,7 @@ Hardware Monitoring Kernel Drivers
mp2975
mp2993
mp5023
+ mp5920
mp5990
mp9941
mpq8785
--- /dev/null
+++ b/Documentation/hwmon/mp5920.rst
@@ -0,0 +1,91 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+Kernel driver mp5920
+====================
+
+Supported chips:
+
+ * MPS MP5920
+
+ Prefix: 'mp5920'
+
+ * Datasheet
+
+ Publicly available at the MPS website : https://www.monolithicpower.com/en/mp5920.html
+
+Authors:
+
+ Tony Ao <tony_ao@wiwynn.com>
+ Alex Vdovydchenko <xzeol@yahoo.com>
+
+Description
+-----------
+
+This driver implements support for Monolithic Power Systems, Inc. (MPS)
+MP5920 Hot-Swap Controller.
+
+Device compliant with:
+
+- PMBus rev 1.3 interface.
+
+Device supports direct and linear format for reading input voltage,
+output voltage, output current, input power and temperature.
+
+The driver exports the following attributes via the 'sysfs' files
+for input voltage:
+
+**in1_input**
+
+**in1_label**
+
+**in1_rated_max**
+
+**in1_rated_min**
+
+**in1_crit**
+
+**in1_alarm**
+
+The driver provides the following attributes for output voltage:
+
+**in2_input**
+
+**in2_label**
+
+**in2_rated_max**
+
+**in2_rated_min**
+
+**in2_alarm**
+
+The driver provides the following attributes for output current:
+
+**curr1_input**
+
+**curr1_label**
+
+**curr1_crit**
+
+**curr1_alarm**
+
+**curr1_rated_max**
+
+The driver provides the following attributes for input power:
+
+**power1_input**
+
+**power1_label**
+
+**power1_max**
+
+**power1_rated_max**
+
+The driver provides the following attributes for temperature:
+
+**temp1_input**
+
+**temp1_max**
+
+**temp1_crit**
+
+**temp1_alarm**
--- a/drivers/hwmon/pmbus/Kconfig
+++ b/drivers/hwmon/pmbus/Kconfig
@@ -371,6 +371,15 @@ config SENSORS_MP5023
This driver can also be built as a module. If so, the module will
be called mp5023.
+config SENSORS_MP5920
+ tristate "MPS MP5920"
+ help
+ If you say yes here you get hardware monitoring support for Monolithic
+ MP5920.
+
+ This driver can also be built as a module. If so, the module will
+ be called mp5920.
+
config SENSORS_MP5990
tristate "MPS MP5990"
help
--- a/drivers/hwmon/pmbus/Makefile
+++ b/drivers/hwmon/pmbus/Makefile
@@ -39,6 +39,7 @@ obj-$(CONFIG_SENSORS_MP2888) += mp2888.o
obj-$(CONFIG_SENSORS_MP2975) += mp2975.o
obj-$(CONFIG_SENSORS_MP2993) += mp2993.o
obj-$(CONFIG_SENSORS_MP5023) += mp5023.o
+obj-$(CONFIG_SENSORS_MP5920) += mp5920.o
obj-$(CONFIG_SENSORS_MP5990) += mp5990.o
obj-$(CONFIG_SENSORS_MP9941) += mp9941.o
obj-$(CONFIG_SENSORS_MPQ7932) += mpq7932.o
--- /dev/null
+++ b/drivers/hwmon/pmbus/mp5920.c
@@ -0,0 +1,85 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include <linux/i2c.h>
+#include <linux/module.h>
+#include <linux/of_device.h>
+#include "pmbus.h"
+
+static struct pmbus_driver_info mp5920_info = {
+ .pages = 1,
+ .format[PSC_VOLTAGE_IN] = direct,
+ .format[PSC_VOLTAGE_OUT] = direct,
+ .format[PSC_CURRENT_OUT] = direct,
+ .format[PSC_POWER] = direct,
+ .format[PSC_TEMPERATURE] = direct,
+ .m[PSC_VOLTAGE_IN] = 2266,
+ .b[PSC_VOLTAGE_IN] = 0,
+ .R[PSC_VOLTAGE_IN] = -1,
+ .m[PSC_VOLTAGE_OUT] = 2266,
+ .b[PSC_VOLTAGE_OUT] = 0,
+ .R[PSC_VOLTAGE_OUT] = -1,
+ .m[PSC_CURRENT_OUT] = 546,
+ .b[PSC_CURRENT_OUT] = 0,
+ .R[PSC_CURRENT_OUT] = -2,
+ .m[PSC_POWER] = 5840,
+ .b[PSC_POWER] = 0,
+ .R[PSC_POWER] = -3,
+ .m[PSC_TEMPERATURE] = 1067,
+ .b[PSC_TEMPERATURE] = 20500,
+ .R[PSC_TEMPERATURE] = -2,
+ .func[0] = PMBUS_HAVE_VIN | PMBUS_HAVE_VOUT |
+ PMBUS_HAVE_IOUT | PMBUS_HAVE_POUT |
+ PMBUS_HAVE_TEMP,
+};
+
+static int mp5920_probe(struct i2c_client *client)
+{
+ struct device *dev = &client->dev;
+ int ret;
+ u8 buf[I2C_SMBUS_BLOCK_MAX];
+
+ if (!i2c_check_functionality(client->adapter,
+ I2C_FUNC_SMBUS_READ_WORD_DATA))
+ return -ENODEV;
+
+ ret = i2c_smbus_read_block_data(client, PMBUS_MFR_MODEL, buf);
+ if (ret < 0)
+ return dev_err_probe(dev, ret, "Failed to read PMBUS_MFR_MODEL\n");
+
+ if (ret != 6 || strncmp(buf, "MP5920", 6)) {
+ return dev_err_probe(dev, -ENODEV, "Model '%.*s' not supported\n",
+ sizeof(buf), buf);
+ }
+
+ return pmbus_do_probe(client, &mp5920_info);
+}
+
+static const struct of_device_id mp5920_of_match[] = {
+ { .compatible = "mps,mp5920" },
+ { }
+};
+
+MODULE_DEVICE_TABLE(of, mp5920_of_match);
+
+static const struct i2c_device_id mp5920_id[] = {
+ { "mp5920" },
+ { }
+};
+
+MODULE_DEVICE_TABLE(i2c, mp5920_id);
+
+static struct i2c_driver mp5920_driver = {
+ .driver = {
+ .name = "mp5920",
+ .of_match_table = mp5920_of_match,
+ },
+ .probe = mp5920_probe,
+ .id_table = mp5920_id,
+};
+
+module_i2c_driver(mp5920_driver);
+
+MODULE_AUTHOR("Tony Ao <tony_ao@wiwynn.com>");
+MODULE_AUTHOR("Alex Vdovydchenko <xzeol@yahoo.com>");
+MODULE_DESCRIPTION("PMBus driver for MP5920 HSC");
+MODULE_LICENSE("GPL");
+MODULE_IMPORT_NS(PMBUS);
--
2.43.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v4 1/2] dt-bindings: hwmon: Add MPS mp5920
2024-07-02 11:52 ` [PATCH v4 1/2] dt-bindings: hwmon: Add MPS mp5920 Alex Vdovydchenko
@ 2024-07-02 13:10 ` Krzysztof Kozlowski
2024-07-02 19:29 ` Guenter Roeck
1 sibling, 0 replies; 9+ messages in thread
From: Krzysztof Kozlowski @ 2024-07-02 13:10 UTC (permalink / raw)
To: Alex Vdovydchenko, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Sean Anderson, Guenter Roeck, Jean Delvare, Jonathan Corbet,
Delphine CC Chiu
Cc: devicetree, linux-kernel, linux-hwmon, linux-doc, linux-i2c
On 02/07/2024 13:52, Alex Vdovydchenko wrote:
> Add support for MPS mp5920 controller
>
> Signed-off-by: Alex Vdovydchenko <xzeol@yahoo.com>
So you keep ignoring and ignoring?
<form letter>
This is a friendly reminder during the review process.
It looks like you received a tag and forgot to add it.
If you do not know the process, here is a short explanation:
Please add Acked-by/Reviewed-by/Tested-by tags when posting new
versions, under or above your Signed-off-by tag. Tag is "received", when
provided in a message replied to you on the mailing list. Tools like b4
can help here. However, there's no need to repost patches *only* to add
the tags. The upstream maintainer will do that for tags received on the
version they apply.
https://elixir.bootlin.com/linux/v6.5-rc3/source/Documentation/process/submitting-patches.rst#L577
If a tag was not added on purpose, please state why and what changed.
</form letter>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v4 2/2] hwmon: add MP5920 driver
2024-07-02 11:52 ` [PATCH v4 2/2] hwmon: add MP5920 driver Alex Vdovydchenko
@ 2024-07-02 19:00 ` Thomas Weißschuh
2024-07-02 19:39 ` Guenter Roeck
2024-07-02 19:36 ` Guenter Roeck
1 sibling, 1 reply; 9+ messages in thread
From: Thomas Weißschuh @ 2024-07-02 19:00 UTC (permalink / raw)
To: Alex Vdovydchenko
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sean Anderson,
Guenter Roeck, Jean Delvare, Jonathan Corbet, Delphine CC Chiu,
devicetree, linux-kernel, linux-hwmon, linux-doc, linux-i2c
On 2024-07-02 14:52:51+0000, Alex Vdovydchenko wrote:
> Add support for MPS Hot-Swap controller mp5920. This driver exposes
> telemetry and limit value readings and writings.
>
> Signed-off-by: Alex Vdovydchenko <xzeol@yahoo.com>
> ---
> Documentation/hwmon/index.rst | 1 +
> Documentation/hwmon/mp5920.rst | 91 +++++++++++++++++++++++++++++++++
> drivers/hwmon/pmbus/Kconfig | 9 ++++
> drivers/hwmon/pmbus/Makefile | 1 +
> drivers/hwmon/pmbus/mp5920.c | 93 ++++++++++++++++++++++++++++++++++
> 5 files changed, 195 insertions(+)
> create mode 100644 Documentation/hwmon/mp5920.rst
> create mode 100644 drivers/hwmon/pmbus/mp5920.c
The entry in MAINTAINERS seems to be missing.
Otherwise:
Reviewed-by: Thomas Weißschuh <linux@weissschuh.net>
<snip>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v4 1/2] dt-bindings: hwmon: Add MPS mp5920
2024-07-02 11:52 ` [PATCH v4 1/2] dt-bindings: hwmon: Add MPS mp5920 Alex Vdovydchenko
2024-07-02 13:10 ` Krzysztof Kozlowski
@ 2024-07-02 19:29 ` Guenter Roeck
2024-07-03 15:49 ` Conor Dooley
1 sibling, 1 reply; 9+ messages in thread
From: Guenter Roeck @ 2024-07-02 19:29 UTC (permalink / raw)
To: Alex Vdovydchenko
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sean Anderson,
Jean Delvare, Jonathan Corbet, Delphine CC Chiu, devicetree,
linux-kernel, linux-hwmon, linux-doc, linux-i2c
On Tue, Jul 02, 2024 at 02:52:50PM +0300, Alex Vdovydchenko wrote:
> Add support for MPS mp5920 controller
>
> Signed-off-by: Alex Vdovydchenko <xzeol@yahoo.com>
> ---
Applied, after adding Conor's Ack from v3.
Guenter
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v4 2/2] hwmon: add MP5920 driver
2024-07-02 11:52 ` [PATCH v4 2/2] hwmon: add MP5920 driver Alex Vdovydchenko
2024-07-02 19:00 ` Thomas Weißschuh
@ 2024-07-02 19:36 ` Guenter Roeck
1 sibling, 0 replies; 9+ messages in thread
From: Guenter Roeck @ 2024-07-02 19:36 UTC (permalink / raw)
To: Alex Vdovydchenko
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sean Anderson,
Jean Delvare, Jonathan Corbet, Delphine CC Chiu, devicetree,
linux-kernel, linux-hwmon, linux-doc, linux-i2c
On Tue, Jul 02, 2024 at 02:52:51PM +0300, Alex Vdovydchenko wrote:
> Add support for MPS Hot-Swap controller mp5920. This driver exposes
> telemetry and limit value readings and writings.
>
> Signed-off-by: Alex Vdovydchenko <xzeol@yahoo.com>
> Reviewed-by: Thomas Weißschuh <linux@weissschuh.net>
Applied.
Guenter
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v4 2/2] hwmon: add MP5920 driver
2024-07-02 19:00 ` Thomas Weißschuh
@ 2024-07-02 19:39 ` Guenter Roeck
0 siblings, 0 replies; 9+ messages in thread
From: Guenter Roeck @ 2024-07-02 19:39 UTC (permalink / raw)
To: Thomas Weißschuh, Alex Vdovydchenko
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sean Anderson,
Jean Delvare, Jonathan Corbet, Delphine CC Chiu, devicetree,
linux-kernel, linux-hwmon, linux-doc, linux-i2c
On 7/2/24 12:00, Thomas Weißschuh wrote:
> On 2024-07-02 14:52:51+0000, Alex Vdovydchenko wrote:
>> Add support for MPS Hot-Swap controller mp5920. This driver exposes
>> telemetry and limit value readings and writings.
>>
>> Signed-off-by: Alex Vdovydchenko <xzeol@yahoo.com>
>> ---
>> Documentation/hwmon/index.rst | 1 +
>> Documentation/hwmon/mp5920.rst | 91 +++++++++++++++++++++++++++++++++
>> drivers/hwmon/pmbus/Kconfig | 9 ++++
>> drivers/hwmon/pmbus/Makefile | 1 +
>> drivers/hwmon/pmbus/mp5920.c | 93 ++++++++++++++++++++++++++++++++++
>> 5 files changed, 195 insertions(+)
>> create mode 100644 Documentation/hwmon/mp5920.rst
>> create mode 100644 drivers/hwmon/pmbus/mp5920.c
>
> The entry in MAINTAINERS seems to be missing.
>
That isn't mandatory; checkpatch asks for it, but I prefer not to have it
in the first place if the submitter doesn't really plan to maintain it.
> Otherwise:
>
> Reviewed-by: Thomas Weißschuh <linux@weissschuh.net>
>
Thanks,
Guenter
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v4 1/2] dt-bindings: hwmon: Add MPS mp5920
2024-07-02 19:29 ` Guenter Roeck
@ 2024-07-03 15:49 ` Conor Dooley
0 siblings, 0 replies; 9+ messages in thread
From: Conor Dooley @ 2024-07-03 15:49 UTC (permalink / raw)
To: Guenter Roeck
Cc: Alex Vdovydchenko, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Sean Anderson, Jean Delvare, Jonathan Corbet, Delphine CC Chiu,
devicetree, linux-kernel, linux-hwmon, linux-doc, linux-i2c
[-- Attachment #1: Type: text/plain, Size: 311 bytes --]
On Tue, Jul 02, 2024 at 12:29:07PM -0700, Guenter Roeck wrote:
> On Tue, Jul 02, 2024 at 02:52:50PM +0300, Alex Vdovydchenko wrote:
> > Add support for MPS mp5920 controller
> >
> > Signed-off-by: Alex Vdovydchenko <xzeol@yahoo.com>
> > ---
>
> Applied, after adding Conor's Ack from v3.
Thanks :)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2024-07-03 15:49 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20240702115252.981416-1-xzeol.ref@yahoo.com>
2024-07-02 11:52 ` [PATCH v4 0/2] Add MPS MP5920 Host-Swap controller Alex Vdovydchenko
2024-07-02 11:52 ` [PATCH v4 1/2] dt-bindings: hwmon: Add MPS mp5920 Alex Vdovydchenko
2024-07-02 13:10 ` Krzysztof Kozlowski
2024-07-02 19:29 ` Guenter Roeck
2024-07-03 15:49 ` Conor Dooley
2024-07-02 11:52 ` [PATCH v4 2/2] hwmon: add MP5920 driver Alex Vdovydchenko
2024-07-02 19:00 ` Thomas Weißschuh
2024-07-02 19:39 ` Guenter Roeck
2024-07-02 19:36 ` Guenter Roeck
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).