All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] hwmon: (pmbus/ltc2978) add support for LTC7132
@ 2022-10-27  9:00 Felix Nieuwenhuizen
  2022-10-27 13:32 ` Guenter Roeck
  0 siblings, 1 reply; 2+ messages in thread
From: Felix Nieuwenhuizen @ 2022-10-27  9:00 UTC (permalink / raw)
  To: linux-hwmon; +Cc: Guenter Roeck, Jean Delvare, Felix Nieuwenhuizen

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

Signed-off-by: Felix Nieuwenhuizen <Felix.Nieuwenhuizen@etas.com>
---
 drivers/hwmon/pmbus/ltc2978.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/drivers/hwmon/pmbus/ltc2978.c b/drivers/hwmon/pmbus/ltc2978.c
index 6d2592731ba3..a3ce95861a53 100644
--- a/drivers/hwmon/pmbus/ltc2978.c
+++ b/drivers/hwmon/pmbus/ltc2978.c
@@ -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:
@@ -903,6 +907,7 @@ static const struct of_device_id ltc2978_of_match[] = {
 	{ .compatible = "lltc,ltc3887" },
 	{ .compatible = "lltc,ltc3889" },
 	{ .compatible = "lltc,ltc7880" },
+	{ .compatible = "lltc,ltc7132" },
 	{ .compatible = "lltc,ltm2987" },
 	{ .compatible = "lltc,ltm4664" },
 	{ .compatible = "lltc,ltm4675" },
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] hwmon: (pmbus/ltc2978) add support for LTC7132
  2022-10-27  9:00 [PATCH] hwmon: (pmbus/ltc2978) add support for LTC7132 Felix Nieuwenhuizen
@ 2022-10-27 13:32 ` Guenter Roeck
  0 siblings, 0 replies; 2+ messages in thread
From: Guenter Roeck @ 2022-10-27 13:32 UTC (permalink / raw)
  To: Felix Nieuwenhuizen; +Cc: linux-hwmon, Jean Delvare

On Thu, Oct 27, 2022 at 11:00:26AM +0200, Felix Nieuwenhuizen wrote:
> Add support for LTC7132.
> The relevant registers in the LTC7132 are identical to the LTC3883.

Should that be LTC7880 ? LTC3883 is unpaged, second page registers are
slightly different, and the LTC_NOT_PENDING bit in the MFR_COMMON
register is not supported on LTC3883.

> So it's just a matter of adding the chip id.
> 
> Signed-off-by: Felix Nieuwenhuizen <Felix.Nieuwenhuizen@etas.com>
> ---
>  drivers/hwmon/pmbus/ltc2978.c | 17 +++++++++++------
>  1 file changed, 11 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/hwmon/pmbus/ltc2978.c b/drivers/hwmon/pmbus/ltc2978.c
> index 6d2592731ba3..a3ce95861a53 100644
> --- a/drivers/hwmon/pmbus/ltc2978.c
> +++ b/drivers/hwmon/pmbus/ltc2978.c
> @@ -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:
> @@ -903,6 +907,7 @@ static const struct of_device_id ltc2978_of_match[] = {
>  	{ .compatible = "lltc,ltc3887" },
>  	{ .compatible = "lltc,ltc3889" },
>  	{ .compatible = "lltc,ltc7880" },
> +	{ .compatible = "lltc,ltc7132" },

Please stick with alphabetic order.

Thanks,
Guenter

>  	{ .compatible = "lltc,ltm2987" },
>  	{ .compatible = "lltc,ltm4664" },
>  	{ .compatible = "lltc,ltm4675" },

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-10-27 13:32 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-27  9:00 [PATCH] hwmon: (pmbus/ltc2978) add support for LTC7132 Felix Nieuwenhuizen
2022-10-27 13:32 ` Guenter Roeck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.