Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Jeff Lin and committed by
Guenter Roeck
71a117d2 0c7d530a

+24
+10
Documentation/hwmon/isl68137.rst
··· 414 414 415 415 Publicly available (after August 2020 launch) at the Renesas website 416 416 417 + * Renesas RAA229141 418 + 419 + Prefix: 'raa229141' 420 + 421 + Addresses scanned: - 422 + 423 + Datasheet: 424 + 425 + Provided by Renesas upon request and NDA 426 + 417 427 Authors: 418 428 - Maxim Sloyko <maxims@google.com> 419 429 - Robert Lippert <rlippert@google.com>
+14
drivers/hwmon/pmbus/isl68137.c
··· 65 65 raa228246, 66 66 raa229001, 67 67 raa229004, 68 + raa229141, 68 69 raa229621, 69 70 }; 70 71 ··· 74 73 raa_dmpvr2_1rail, 75 74 raa_dmpvr2_2rail, 76 75 raa_dmpvr2_2rail_nontc, 76 + raa_dmpvr2_2rail_pmbus, 77 77 raa_dmpvr2_3rail, 78 78 raa_dmpvr2_hv, 79 79 }; ··· 402 400 info->read_word_data = raa_dmpvr2_read_word_data; 403 401 info->write_word_data = raa_dmpvr2_write_word_data; 404 402 break; 403 + case raa_dmpvr2_2rail_pmbus: 404 + info->format[PSC_VOLTAGE_IN] = linear, 405 + info->format[PSC_VOLTAGE_OUT] = linear, 406 + info->format[PSC_CURRENT_IN] = linear; 407 + info->format[PSC_CURRENT_OUT] = linear; 408 + info->format[PSC_POWER] = linear; 409 + info->format[PSC_TEMPERATURE] = linear; 410 + info->pages = 2; 411 + info->read_word_data = raa_dmpvr2_read_word_data; 412 + info->write_word_data = raa_dmpvr2_write_word_data; 413 + break; 405 414 case raa_dmpvr2_3rail: 406 415 info->read_word_data = raa_dmpvr2_read_word_data; 407 416 info->write_word_data = raa_dmpvr2_write_word_data; ··· 483 470 {"raa228246", raa_dmpvr2_2rail_nontc}, 484 471 {"raa229001", raa_dmpvr2_2rail}, 485 472 {"raa229004", raa_dmpvr2_2rail}, 473 + {"raa229141", raa_dmpvr2_2rail_pmbus}, 486 474 {"raa229621", raa_dmpvr2_2rail}, 487 475 {} 488 476 };