]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
hwmon/pmbus: (isl68137) Add support for raa229141
authorJeff Lin <jefflin994697@gmail.com>
Thu, 6 Nov 2025 10:45:19 +0000 (18:45 +0800)
committerGuenter Roeck <linux@roeck-us.net>
Wed, 12 Nov 2025 20:13:41 +0000 (12:13 -0800)
The RAA229141A is a digital dual output multiphase (X+Y ≤ 12) PWM
controller designed to be compliant with Intel VR13, VR13.HC, VR14 and
VR14.Cloud specifications, targeting VCORE and auxiliary rails.

The RAA229141A supports the Intel SVID interface along with PMBus V1.3
specifications, making it ideal for controlling the microprocessor core and
system rails in Intel VR13, VR13.HC, VR14 and VR14.Cloud platforms.

Signed-off-by: Jeff Lin <jefflin994697@gmail.com>
Link: https://lore.kernel.org/r/20251106104519.2014853-1-jefflin994697@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Documentation/hwmon/isl68137.rst
drivers/hwmon/pmbus/isl68137.c

index 5bc029c98383d37e216edb8a1e3c3204a2610449..e77f582c285054435cfebe069c2cbbdd40547c8f 100644 (file)
@@ -414,6 +414,16 @@ Supported chips:
 
       Publicly available (after August 2020 launch) at the Renesas website
 
+  * Renesas RAA229141
+
+    Prefix: 'raa229141'
+
+    Addresses scanned: -
+
+    Datasheet:
+
+      Provided by Renesas upon request and NDA
+
 Authors:
       - Maxim Sloyko <maxims@google.com>
       - Robert Lippert <rlippert@google.com>
index 52cf62e45a86f14fd179482ff851e70eebb74c12..f95088fd4dd2bd284da61e94ce31765a97c3c1ee 100644 (file)
@@ -65,6 +65,7 @@ enum chips {
        raa228246,
        raa229001,
        raa229004,
+       raa229141,
        raa229621,
 };
 
@@ -73,6 +74,7 @@ enum variants {
        raa_dmpvr2_1rail,
        raa_dmpvr2_2rail,
        raa_dmpvr2_2rail_nontc,
+       raa_dmpvr2_2rail_pmbus,
        raa_dmpvr2_3rail,
        raa_dmpvr2_hv,
 };
@@ -400,6 +402,17 @@ static int isl68137_probe(struct i2c_client *client)
                info->read_word_data = raa_dmpvr2_read_word_data;
                info->write_word_data = raa_dmpvr2_write_word_data;
                break;
+       case raa_dmpvr2_2rail_pmbus:
+               info->format[PSC_VOLTAGE_IN] = linear,
+               info->format[PSC_VOLTAGE_OUT] = linear,
+               info->format[PSC_CURRENT_IN] = linear;
+               info->format[PSC_CURRENT_OUT] = linear;
+               info->format[PSC_POWER] = linear;
+               info->format[PSC_TEMPERATURE] = linear;
+               info->pages = 2;
+               info->read_word_data = raa_dmpvr2_read_word_data;
+               info->write_word_data = raa_dmpvr2_write_word_data;
+               break;
        case raa_dmpvr2_3rail:
                info->read_word_data = raa_dmpvr2_read_word_data;
                info->write_word_data = raa_dmpvr2_write_word_data;
@@ -470,6 +483,7 @@ static const struct i2c_device_id raa_dmpvr_id[] = {
        {"raa228246", raa_dmpvr2_2rail_nontc},
        {"raa229001", raa_dmpvr2_2rail},
        {"raa229004", raa_dmpvr2_2rail},
+       {"raa229141", raa_dmpvr2_2rail_pmbus},
        {"raa229621", raa_dmpvr2_2rail},
        {}
 };