Commit daec55ce authored by Felix Nieuwenhuizen's avatar Felix Nieuwenhuizen Committed by Guenter Roeck
Browse files

hwmon: (pmbus/ltc2978) add support for LTC7132



Add support for LTC7132.
The relevant registers in the LTC7132 are identical to the LTC7880.
So it's just a matter of adding the chip id.

Signed-off-by: default avatarFelix Nieuwenhuizen <Felix.Nieuwenhuizen@etas.com>
Link: https://lore.kernel.org/r/20221027145135.31802-1-Felix.Nieuwenhuizen@etas.com


Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent 9e913888
Loading
Loading
Loading
Loading
+11 −6
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@ enum chips {
	/* Managers */
	ltc2972, ltc2974, ltc2975, ltc2977, ltc2978, ltc2979, ltc2980,
	/* Controllers */
	ltc3880, ltc3882, ltc3883, ltc3884, ltc3886, ltc3887, ltc3889, ltc7880,
	ltc3880, ltc3882, ltc3883, ltc3884, ltc3886, ltc3887, ltc3889, ltc7132, ltc7880,
	/* Modules */
	ltm2987, ltm4664, ltm4675, ltm4676, ltm4677, ltm4678, ltm4680, ltm4686,
	ltm4700,
@@ -45,15 +45,14 @@ enum chips {
#define LTC2974_MFR_IOUT_PEAK		0xd7
#define LTC2974_MFR_IOUT_MIN		0xd8

/* LTC3880, LTC3882, LTC3883, LTC3887, LTM4675, and LTM4676 */
/* LTC3880, LTC3882, LTC3883, LTC3887, LTM4675, LTM4676, LTC7132 */
#define LTC3880_MFR_IOUT_PEAK		0xd7
#define LTC3880_MFR_CLEAR_PEAKS		0xe3
#define LTC3880_MFR_TEMPERATURE2_PEAK	0xf4

/* LTC3883, LTC3884, LTC3886, LTC3889 and LTC7880 only */
/* LTC3883, LTC3884, LTC3886, LTC3889, LTC7132, LTC7880 */
#define LTC3883_MFR_IIN_PEAK		0xe1


/* LTC2975 only */
#define LTC2975_MFR_IIN_PEAK		0xc4
#define LTC2975_MFR_IIN_MIN		0xc5
@@ -79,10 +78,11 @@ enum chips {
#define LTC3884_ID			0x4C00
#define LTC3886_ID			0x4600
#define LTC3887_ID			0x4700
#define LTM2987_ID_A			0x8010	/* A/B for two die IDs */
#define LTM2987_ID_B			0x8020
#define LTC3889_ID			0x4900
#define LTC7132_ID			0x4CE0
#define LTC7880_ID			0x49E0
#define LTM2987_ID_A			0x8010	/* A/B for two die IDs */
#define LTM2987_ID_B			0x8020
#define LTM4664_ID			0x4120
#define LTM4675_ID			0x47a0
#define LTM4676_ID_REV1			0x4400
@@ -547,6 +547,7 @@ static const struct i2c_device_id ltc2978_id[] = {
	{"ltc3886", ltc3886},
	{"ltc3887", ltc3887},
	{"ltc3889", ltc3889},
	{"ltc7132", ltc7132},
	{"ltc7880", ltc7880},
	{"ltm2987", ltm2987},
	{"ltm4664", ltm4664},
@@ -651,6 +652,8 @@ static int ltc2978_get_id(struct i2c_client *client)
		return ltc3887;
	else if (chip_id == LTC3889_ID)
		return ltc3889;
	else if (chip_id == LTC7132_ID)
		return ltc7132;
	else if (chip_id == LTC7880_ID)
		return ltc7880;
	else if (chip_id == LTM2987_ID_A || chip_id == LTM2987_ID_B)
@@ -831,6 +834,7 @@ static int ltc2978_probe(struct i2c_client *client)
	case ltc3884:
	case ltc3886:
	case ltc3889:
	case ltc7132:
	case ltc7880:
	case ltm4664:
	case ltm4678:
@@ -902,6 +906,7 @@ static const struct of_device_id ltc2978_of_match[] = {
	{ .compatible = "lltc,ltc3886" },
	{ .compatible = "lltc,ltc3887" },
	{ .compatible = "lltc,ltc3889" },
	{ .compatible = "lltc,ltc7132" },
	{ .compatible = "lltc,ltc7880" },
	{ .compatible = "lltc,ltm2987" },
	{ .compatible = "lltc,ltm4664" },