hwmon/pmbus: (isl68137) Add support for raa229141

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>
This commit is contained in:
Jeff Lin 2025-11-06 18:45:19 +08:00 committed by Guenter Roeck
parent 0c7d530a04
commit 71a117d28f
2 changed files with 24 additions and 0 deletions

View 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>

View 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},
{}
};