Commit 71a117d2 authored by Jeff Lin's avatar Jeff Lin Committed by Guenter Roeck
Browse files

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: default avatarJeff Lin <jefflin994697@gmail.com>
Link: https://lore.kernel.org/r/20251106104519.2014853-1-jefflin994697@gmail.com


Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent 0c7d530a
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -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>
+14 −0
Original line number Diff line number Diff line
@@ -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},
	{}
};