[PATCH 3/5] hwmon: pmbus: mpq8785: Add support for MPM3695

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Add support for the Monolithic Power Systems MPM3695 device.
The device is PMBus compliant and shares characteristics with the
MPM82504.

Tested with device tree based matching.

Signed-off-by: Pawel Dembicki <paweldembicki@xxxxxxxxx>
---
 Documentation/hwmon/mpq8785.rst | 13 +++++++++++--
 drivers/hwmon/pmbus/mpq8785.c   |  5 ++++-
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/Documentation/hwmon/mpq8785.rst b/Documentation/hwmon/mpq8785.rst
index be228ee58ce2..20d43b8bba97 100644
--- a/Documentation/hwmon/mpq8785.rst
+++ b/Documentation/hwmon/mpq8785.rst
@@ -7,6 +7,7 @@ Supported chips:
 
   * MPS MPQ8785
   * MPS MPM82504
+  * MPS MPM3695-10
 
     Prefix: 'mpq8785'
 
@@ -29,6 +30,13 @@ The device can also operate in parallel with the MPM3695-100 and additional
 MPM82504 devices to provide a higher output current. The MPM82504 operates
 at high efficiency across a wide load range.
 
+The MPM3695-10 is a scalable, ultra-thin, fully integrated power module with
+a PMBus interface. It offers a complete power solution that achieves up to
+10A of output current with excellent load and line regulation across a wide
+input voltage range. The device’s 2mm height enables it to be placed on the
+backside of a PCB for space optimization. It operates at high efficiency over
+a wide load range, and can be paralleled to deliver higher current.
+
 The PMBus interface provides converter configurations and key parameters
 monitoring.
 
@@ -43,8 +51,9 @@ over-voltage protection (OVP), under-voltage protection (UVP), and
 over-temperature protection (OTP).
 
 All supported modules require a minimal number of readily available, standard
-external components. The MPQ8785 is available in a TLGA (5mmx6mm) package
-and the MPM82504 is available in a BGA (15mmx30mmx5.18mm) package.
+external components. The MPQ8785 is available in a TLGA (5mmx6mm) package,
+the MPM82504 is available in a BGA (15mmx30mmx5.18mm) package and the MPM3695-10
+is available in an LGA-45 (8mmx8mmx2mm) package.
 
 Device compliant with:
 
diff --git a/drivers/hwmon/pmbus/mpq8785.c b/drivers/hwmon/pmbus/mpq8785.c
index 7ee201550554..e6a643856f08 100644
--- a/drivers/hwmon/pmbus/mpq8785.c
+++ b/drivers/hwmon/pmbus/mpq8785.c
@@ -8,7 +8,7 @@
 #include <linux/of_device.h>
 #include "pmbus.h"
 
-enum chips { mpq8785, mpm82504 };
+enum chips { mpq8785, mpm82504, mpm3695_10 };
 
 static int mpq8785_identify(struct i2c_client *client,
 			    struct pmbus_driver_info *info)
@@ -60,6 +60,7 @@ static struct pmbus_driver_info mpq8785_info = {
 static const struct i2c_device_id mpq8785_id[] = {
 	{ "mpq8785", mpq8785 },
 	{ "mpm82504", mpm82504 },
+	{ "mpm3695-10", mpm3695_10 },
 	{ },
 };
 MODULE_DEVICE_TABLE(i2c, mpq8785_id);
@@ -67,6 +68,7 @@ MODULE_DEVICE_TABLE(i2c, mpq8785_id);
 static const struct of_device_id __maybe_unused mpq8785_of_match[] = {
 	{ .compatible = "mps,mpq8785", .data = (void *)mpq8785 },
 	{ .compatible = "mps,mpm82504", .data = (void *)mpm82504 },
+	{ .compatible = "mps,mpm3695-10", .data = (void *)mpm3695_10 },
 	{}
 };
 MODULE_DEVICE_TABLE(of, mpq8785_of_match);
@@ -92,6 +94,7 @@ static int mpq8785_probe(struct i2c_client *client)
 
 		break;
 	case mpm82504:
+	case mpm3695_10:
 		info->format[PSC_VOLTAGE_OUT] = direct;
 		info->m[PSC_VOLTAGE_OUT] = 8;
 		info->b[PSC_VOLTAGE_OUT] = 0;
-- 
2.43.0





[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux