diff mbox series

[v2,2/2] hwmon: (lm75) Add Atmel AT30TS74 support

Message ID 9494dfbc-f506-3e94-501d-6760c487c93d@axentia.se (mailing list archive)
State Accepted
Headers show
Series Add support for Atmel AT30TS74 | expand

Commit Message

Peter Rosin April 25, 2022, 8:35 p.m. UTC
Atmel (now Microchip) AT30TS74 is an LM75 compatible sensor. Add it.

Signed-off-by: Peter Rosin <peda@axentia.se>
---
 drivers/hwmon/Kconfig |  1 +
 drivers/hwmon/lm75.c  | 14 ++++++++++++++
 2 files changed, 15 insertions(+)

Comments

Guenter Roeck April 25, 2022, 9:09 p.m. UTC | #1
On Mon, Apr 25, 2022 at 10:35:50PM +0200, Peter Rosin wrote:
> Atmel (now Microchip) AT30TS74 is an LM75 compatible sensor. Add it.
> 
> Signed-off-by: Peter Rosin <peda@axentia.se>

Applied to hwmon-next.

Thanks,
Guenter

> ---
>  drivers/hwmon/Kconfig |  1 +
>  drivers/hwmon/lm75.c  | 14 ++++++++++++++
>  2 files changed, 15 insertions(+)
> 
> diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
> index 68a8a27ab3b7..d8dc58b2c55a 100644
> --- a/drivers/hwmon/Kconfig
> +++ b/drivers/hwmon/Kconfig
> @@ -1248,6 +1248,7 @@ config SENSORS_LM75
>  	  temperature sensor chip, with models including:
>  
>  		- Analog Devices ADT75
> +		- Atmel (now Microchip) AT30TS74
>  		- Dallas Semiconductor DS75, DS1775 and DS7505
>  		- Global Mixed-mode Technology (GMT) G751
>  		- Maxim MAX6625 and MAX6626
> diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c
> index afdbb63237b9..66dc826f7962 100644
> --- a/drivers/hwmon/lm75.c
> +++ b/drivers/hwmon/lm75.c
> @@ -26,6 +26,7 @@
>  
>  enum lm75_type {		/* keep sorted in alphabetical order */
>  	adt75,
> +	at30ts74,
>  	ds1775,
>  	ds75,
>  	ds7505,
> @@ -128,6 +129,14 @@ static const struct lm75_params device_params[] = {
>  		.default_resolution = 12,
>  		.default_sample_time = MSEC_PER_SEC / 10,
>  	},
> +	[at30ts74] = {
> +		.set_mask = 3 << 5,	/* 12-bit mode*/
> +		.default_resolution = 12,
> +		.default_sample_time = 200,
> +		.num_sample_times = 4,
> +		.sample_times = (unsigned int []){ 25, 50, 100, 200 },
> +		.resolutions = (u8 []) {9, 10, 11, 12 },
> +	},
>  	[ds1775] = {
>  		.clr_mask = 3 << 5,
>  		.set_mask = 2 << 5,	/* 11-bit mode */
> @@ -645,6 +654,7 @@ static int lm75_probe(struct i2c_client *client)
>  
>  static const struct i2c_device_id lm75_ids[] = {
>  	{ "adt75", adt75, },
> +	{ "at30ts74", at30ts74, },
>  	{ "ds1775", ds1775, },
>  	{ "ds75", ds75, },
>  	{ "ds7505", ds7505, },
> @@ -680,6 +690,10 @@ static const struct of_device_id __maybe_unused lm75_of_match[] = {
>  		.compatible = "adi,adt75",
>  		.data = (void *)adt75
>  	},
> +	{
> +		.compatible = "atmel,at30ts74",
> +		.data = (void *)at30ts74
> +	},
>  	{
>  		.compatible = "dallas,ds1775",
>  		.data = (void *)ds1775
diff mbox series

Patch

diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
index 68a8a27ab3b7..d8dc58b2c55a 100644
--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
@@ -1248,6 +1248,7 @@  config SENSORS_LM75
 	  temperature sensor chip, with models including:
 
 		- Analog Devices ADT75
+		- Atmel (now Microchip) AT30TS74
 		- Dallas Semiconductor DS75, DS1775 and DS7505
 		- Global Mixed-mode Technology (GMT) G751
 		- Maxim MAX6625 and MAX6626
diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c
index afdbb63237b9..66dc826f7962 100644
--- a/drivers/hwmon/lm75.c
+++ b/drivers/hwmon/lm75.c
@@ -26,6 +26,7 @@ 
 
 enum lm75_type {		/* keep sorted in alphabetical order */
 	adt75,
+	at30ts74,
 	ds1775,
 	ds75,
 	ds7505,
@@ -128,6 +129,14 @@  static const struct lm75_params device_params[] = {
 		.default_resolution = 12,
 		.default_sample_time = MSEC_PER_SEC / 10,
 	},
+	[at30ts74] = {
+		.set_mask = 3 << 5,	/* 12-bit mode*/
+		.default_resolution = 12,
+		.default_sample_time = 200,
+		.num_sample_times = 4,
+		.sample_times = (unsigned int []){ 25, 50, 100, 200 },
+		.resolutions = (u8 []) {9, 10, 11, 12 },
+	},
 	[ds1775] = {
 		.clr_mask = 3 << 5,
 		.set_mask = 2 << 5,	/* 11-bit mode */
@@ -645,6 +654,7 @@  static int lm75_probe(struct i2c_client *client)
 
 static const struct i2c_device_id lm75_ids[] = {
 	{ "adt75", adt75, },
+	{ "at30ts74", at30ts74, },
 	{ "ds1775", ds1775, },
 	{ "ds75", ds75, },
 	{ "ds7505", ds7505, },
@@ -680,6 +690,10 @@  static const struct of_device_id __maybe_unused lm75_of_match[] = {
 		.compatible = "adi,adt75",
 		.data = (void *)adt75
 	},
+	{
+		.compatible = "atmel,at30ts74",
+		.data = (void *)at30ts74
+	},
 	{
 		.compatible = "dallas,ds1775",
 		.data = (void *)ds1775