]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
hwmon: (pmbus/adp1050) Add regulator support for ltp8800
authorCedric Encarnacion <cedricjustine.encarnacion@analog.com>
Wed, 9 Jul 2025 05:43:27 +0000 (13:43 +0800)
committerGuenter Roeck <linux@roeck-us.net>
Sun, 20 Jul 2025 23:38:34 +0000 (16:38 -0700)
Add regulator support for the single-channel LTP8800-1A/-2/-4A
150A/135A/200A DC/DC µModule Regulator.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Cedric Encarnacion <cedricjustine.encarnacion@analog.com>
Link: https://lore.kernel.org/r/20250709-adp1051-v5-3-539254692252@analog.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/pmbus/Kconfig
drivers/hwmon/pmbus/adp1050.c

index 441f984a859dd935e5248793f1bf54204ce2c371..55e492452ce8115419718256de38dda1bd39fd9a 100644 (file)
@@ -67,6 +67,15 @@ config SENSORS_ADP1050
          This driver can also be built as a module. If so, the module will
          be called adp1050.
 
+config SENSORS_ADP1050_REGULATOR
+       bool "Regulator support for ADP1050 and compatibles"
+       depends on SENSORS_ADP1050 && REGULATOR
+       help
+         If you say yes here you get regulator support for Analog Devices
+         LTP8800-1A, LTP8800-4A, and LTP8800-2. LTP8800 is a family of DC/DC
+         µModule regulators that can provide microprocessor power from 54V
+         power distribution architecture.
+
 config SENSORS_BEL_PFE
        tristate "Bel PFE Compatible Power Supplies"
        help
index 1ffb189f4b6f0cd3a268895be9a61f0347a278e6..a73774f8da2dd5d9de26760569bea67f331b9755 100644 (file)
 
 #include "pmbus.h"
 
+#if IS_ENABLED(CONFIG_SENSORS_ADP1050_REGULATOR)
+static const struct regulator_desc adp1050_reg_desc[] = {
+       PMBUS_REGULATOR_ONE("vout"),
+};
+#endif /* CONFIG_SENSORS_ADP1050_REGULATOR */
+
 static struct pmbus_driver_info adp1050_info = {
        .pages = 1,
        .format[PSC_VOLTAGE_IN] = linear,
@@ -65,6 +71,10 @@ static struct pmbus_driver_info ltp8800_info = {
                | PMBUS_HAVE_STATUS_VOUT
                | PMBUS_HAVE_STATUS_INPUT
                | PMBUS_HAVE_STATUS_TEMP,
+#if IS_ENABLED(CONFIG_SENSORS_ADP1050_REGULATOR)
+       .num_regulators = 1,
+       .reg_desc = adp1050_reg_desc,
+#endif
 };
 
 static int adp1050_probe(struct i2c_client *client)