hwmon: (pmbus/tps53679) Add support for TPS53622 and TPS53659

TPS53622 and TPS53659 are dual-channel D-CAP+ step-down controllers that
use the VID VOUT format and VOUT_MODE identification like the existing
TPS53679/TPS53688, so they reuse tps53679_identify().

Shorten the Kconfig prompt to the family name and list the supported
chips in the help text instead; this also adds TPS53685, which is already
supported by the driver but was missing from the list. Update the driver
documentation, including the per-attribute lists, and fix an existing
"TPS53588" typo (should be TPS53688) in those lists.

Signed-off-by: Sanman Pradhan <psanman@juniper.net>
Link: https://patch.msgid.link/20260901211129.360792-3-sanman.pradhan@hpe.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
Sanman Pradhan 2026-09-01 21:11:53 +00:00 committed by Guenter Roeck
parent b8dccc148a
commit dc62090efa
3 changed files with 31 additions and 7 deletions

View File

@ -3,6 +3,14 @@ Kernel driver tps53679
Supported chips:
* Texas Instruments TPS53622
Prefix: 'tps53622'
Addresses scanned: -
Datasheet: https://www.ti.com/lit/gpn/TPS53622
* Texas Instruments TPS53647
Prefix: 'tps53647'
@ -11,6 +19,14 @@ Supported chips:
Datasheet: https://www.ti.com/lit/gpn/tps53647
* Texas Instruments TPS53659
Prefix: 'tps53659'
Addresses scanned: -
Datasheet: https://www.ti.com/lit/gpn/TPS53659
* Texas Instruments TPS53667
Prefix: 'tps53667'
@ -108,7 +124,7 @@ in1_crit_alarm Input voltage critical high alarm.
in[N]_label "vout[1-2]"
- TPS53647, TPS53667: N=2
- TPS53679, TPS53588: N=2,3
- TPS53622, TPS53659, TPS53679, TPS53688: N=2,3
in[N]_input Measured output voltage.
@ -135,7 +151,7 @@ in[N]_crit_alarm Output voltage critical high alarm.
temp[N]_input Measured temperature.
- TPS53647, TPS53667: N=1
- TPS53679, TPS53681, TPS53588: N=1,2
- TPS53622, TPS53659, TPS53679, TPS53681, TPS53688: N=1,2
temp[N]_max Maximum temperature.
@ -152,7 +168,7 @@ power1_input Measured input power.
power[N]_label "pout[1-2]".
- TPS53647, TPS53667: N=2
- TPS53676, TPS53679, TPS53681, TPS53588: N=2,3
- TPS53622, TPS53659, TPS53676, TPS53679, TPS53681, TPS53688: N=2,3
power[N]_input Measured output power.
@ -175,7 +191,7 @@ curr[N]_label "iout[1-2]" or "iout1.[0-5]".
telemetry supported on TPS53676 and TPS53681 only.
- TPS53647, TPS53667: N=2
- TPS53679, TPS53588: N=2,3
- TPS53622, TPS53659, TPS53679, TPS53688: N=2,3
- TPS53676: N=2-8
- TPS53681: N=2-9

View File

@ -790,10 +790,11 @@ config SENSORS_TPS40422
be called tps40422.
config SENSORS_TPS53679
tristate "TI TPS53647, TPS53667, TPS53676, TPS53679, TPS53681, TPS53688"
tristate "TI TPS536xx family"
help
If you say yes here you get hardware monitoring support for TI
TPS53647, TPS53667, TPS53676, TPS53679, TPS53681, and TPS53688.
TPS53622, TPS53647, TPS53659, TPS53667, TPS53676, TPS53679, TPS53681,
TPS53685, and TPS53688.
This driver can also be built as a module. If so, the module will
be called tps53679.

View File

@ -16,7 +16,8 @@
#include "pmbus.h"
enum chips {
tps53647, tps53667, tps53676, tps53679, tps53681, tps53685, tps53688
tps53622, tps53647, tps53659, tps53667, tps53676, tps53679, tps53681,
tps53685, tps53688
};
#define TPS53647_PAGE_NUM 1
@ -277,6 +278,8 @@ static int tps53679_probe(struct i2c_client *client)
case tps53676:
info->identify = tps53676_identify;
break;
case tps53622:
case tps53659:
case tps53679:
case tps53688:
info->pages = TPS53679_PAGE_NUM;
@ -301,7 +304,9 @@ static int tps53679_probe(struct i2c_client *client)
static const struct i2c_device_id tps53679_id[] = {
{ .name = "bmr474", .driver_data = tps53676 },
{ .name = "tps53622", .driver_data = tps53622 },
{ .name = "tps53647", .driver_data = tps53647 },
{ .name = "tps53659", .driver_data = tps53659 },
{ .name = "tps53667", .driver_data = tps53667 },
{ .name = "tps53676", .driver_data = tps53676 },
{ .name = "tps53679", .driver_data = tps53679 },
@ -314,7 +319,9 @@ static const struct i2c_device_id tps53679_id[] = {
MODULE_DEVICE_TABLE(i2c, tps53679_id);
static const struct of_device_id __maybe_unused tps53679_of_match[] = {
{.compatible = "ti,tps53622", .data = (void *)tps53622},
{.compatible = "ti,tps53647", .data = (void *)tps53647},
{.compatible = "ti,tps53659", .data = (void *)tps53659},
{.compatible = "ti,tps53667", .data = (void *)tps53667},
{.compatible = "ti,tps53676", .data = (void *)tps53676},
{.compatible = "ti,tps53679", .data = (void *)tps53679},