All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/2] iio: chemical: atlas-sensor: add RTD-SM module support
@ 2020-04-25  7:25 Matt Ranostay
  2020-04-25  7:25 ` [PATCH v3 1/2] dt-bindings: iio: chemical: add Atlas Scientific RTD-SM sensor docs Matt Ranostay
  2020-04-25  7:25 ` [PATCH v3 2/2] iio: chemical: atlas-sensor: add RTD-SM module support Matt Ranostay
  0 siblings, 2 replies; 5+ messages in thread
From: Matt Ranostay @ 2020-04-25  7:25 UTC (permalink / raw)
  To: jic23; +Cc: linux-iio, Matt Ranostay

Changes from v1:
* fix borked patchset

Changes from v2:
* add missing IIO_CHAN_INFO_PROCESSED fall-through in .read_raw
* confirmed the temperature value is a signed long from Atlas

Matt Ranostay (2):
  dt-bindings: iio: chemical: add Atlas Scientific RTD-SM sensor docs
  iio: chemical: atlas-sensor: add RTD-SM module support

 .../bindings/iio/chemical/atlas,sensor.yaml   |  2 ++
 drivers/iio/chemical/atlas-sensor.c           | 29 +++++++++++++++++++
 2 files changed, 31 insertions(+)

-- 
2.20.1


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

* [PATCH v3 1/2] dt-bindings: iio: chemical: add Atlas Scientific RTD-SM sensor docs
  2020-04-25  7:25 [PATCH v3 0/2] iio: chemical: atlas-sensor: add RTD-SM module support Matt Ranostay
@ 2020-04-25  7:25 ` Matt Ranostay
  2020-04-25 14:27   ` Jonathan Cameron
  2020-04-25  7:25 ` [PATCH v3 2/2] iio: chemical: atlas-sensor: add RTD-SM module support Matt Ranostay
  1 sibling, 1 reply; 5+ messages in thread
From: Matt Ranostay @ 2020-04-25  7:25 UTC (permalink / raw)
  To: jic23; +Cc: linux-iio, Matt Ranostay, devicetree

Cc: devicetree@vger.kernel.org
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
---
 .../devicetree/bindings/iio/chemical/atlas,sensor.yaml          | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/iio/chemical/atlas,sensor.yaml b/Documentation/devicetree/bindings/iio/chemical/atlas,sensor.yaml
index edcd2904d50e..0e510a52920d 100644
--- a/Documentation/devicetree/bindings/iio/chemical/atlas,sensor.yaml
+++ b/Documentation/devicetree/bindings/iio/chemical/atlas,sensor.yaml
@@ -17,6 +17,7 @@ description: |
     http://www.atlas-scientific.com/_files/_datasheets/_oem/EC_oem_datasheet.pdf
     http://www.atlas-scientific.com/_files/_datasheets/_oem/ORP_oem_datasheet.pdf
     http://www.atlas-scientific.com/_files/_datasheets/_oem/pH_oem_datasheet.pdf
+    http://www.atlas-scientific.com/_files/_datasheets/_oem/RTD_oem_datasheet.pdf
 
 properties:
   compatible:
@@ -25,6 +26,7 @@ properties:
       - atlas,ec-sm
       - atlas,orp-sm
       - atlas,ph-sm
+      - atlas,rtd-sm
 
   reg:
      maxItems: 1
-- 
2.20.1


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

* [PATCH v3 2/2] iio: chemical: atlas-sensor: add RTD-SM module support
  2020-04-25  7:25 [PATCH v3 0/2] iio: chemical: atlas-sensor: add RTD-SM module support Matt Ranostay
  2020-04-25  7:25 ` [PATCH v3 1/2] dt-bindings: iio: chemical: add Atlas Scientific RTD-SM sensor docs Matt Ranostay
@ 2020-04-25  7:25 ` Matt Ranostay
  2020-04-25 14:26   ` Jonathan Cameron
  1 sibling, 1 reply; 5+ messages in thread
From: Matt Ranostay @ 2020-04-25  7:25 UTC (permalink / raw)
  To: jic23; +Cc: linux-iio, Matt Ranostay

Atlas Scientific RTD-SM OEM sensor reads temperaturee using
resistance temperature detector technology.

Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
---
 drivers/iio/chemical/atlas-sensor.c | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/drivers/iio/chemical/atlas-sensor.c b/drivers/iio/chemical/atlas-sensor.c
index 82d470561ad3..4688cbe83d86 100644
--- a/drivers/iio/chemical/atlas-sensor.c
+++ b/drivers/iio/chemical/atlas-sensor.c
@@ -53,6 +53,8 @@
 #define ATLAS_REG_DO_CALIB_STATUS_PRESSURE	BIT(0)
 #define ATLAS_REG_DO_CALIB_STATUS_DO		BIT(1)
 
+#define ATLAS_REG_RTD_DATA		0x0e
+
 #define ATLAS_REG_PH_TEMP_DATA		0x0e
 #define ATLAS_REG_PH_DATA		0x16
 
@@ -72,12 +74,14 @@
 #define ATLAS_EC_INT_TIME_IN_MS		650
 #define ATLAS_ORP_INT_TIME_IN_MS	450
 #define ATLAS_DO_INT_TIME_IN_MS		450
+#define ATLAS_RTD_INT_TIME_IN_MS	450
 
 enum {
 	ATLAS_PH_SM,
 	ATLAS_EC_SM,
 	ATLAS_ORP_SM,
 	ATLAS_DO_SM,
+	ATLAS_RTD_SM,
 };
 
 struct atlas_data {
@@ -206,6 +210,22 @@ static const struct iio_chan_spec atlas_do_channels[] = {
 	},
 };
 
+static const struct iio_chan_spec atlas_rtd_channels[] = {
+	{
+		.type = IIO_TEMP,
+		.address = ATLAS_REG_RTD_DATA,
+		.info_mask_separate = BIT(IIO_CHAN_INFO_PROCESSED),
+		.scan_index = 0,
+		.scan_type = {
+			.sign = 's',
+			.realbits = 32,
+			.storagebits = 32,
+			.endianness = IIO_BE,
+		},
+	},
+	IIO_CHAN_SOFT_TIMESTAMP(1),
+};
+
 static int atlas_check_ph_calibration(struct atlas_data *data)
 {
 	struct device *dev = &data->client->dev;
@@ -350,6 +370,12 @@ static struct atlas_device atlas_devices[] = {
 				.calibration = &atlas_check_do_calibration,
 				.delay = ATLAS_DO_INT_TIME_IN_MS,
 	},
+	[ATLAS_RTD_SM] = {
+				.channels = atlas_rtd_channels,
+				.num_channels = 2,
+				.data_reg = ATLAS_REG_RTD_DATA,
+				.delay = ATLAS_RTD_INT_TIME_IN_MS,
+	},
 };
 
 static int atlas_set_powermode(struct atlas_data *data, int on)
@@ -478,6 +504,7 @@ static int atlas_read_raw(struct iio_dev *indio_dev,
 	struct atlas_data *data = iio_priv(indio_dev);
 
 	switch (mask) {
+	case IIO_CHAN_INFO_PROCESSED:
 	case IIO_CHAN_INFO_RAW: {
 		int ret;
 		__be32 reg;
@@ -566,6 +593,7 @@ static const struct i2c_device_id atlas_id[] = {
 	{ "atlas-ec-sm", ATLAS_EC_SM},
 	{ "atlas-orp-sm", ATLAS_ORP_SM},
 	{ "atlas-do-sm", ATLAS_DO_SM},
+	{ "atlas-rtd-sm", ATLAS_RTD_SM},
 	{}
 };
 MODULE_DEVICE_TABLE(i2c, atlas_id);
@@ -575,6 +603,7 @@ static const struct of_device_id atlas_dt_ids[] = {
 	{ .compatible = "atlas,ec-sm", .data = (void *)ATLAS_EC_SM, },
 	{ .compatible = "atlas,orp-sm", .data = (void *)ATLAS_ORP_SM, },
 	{ .compatible = "atlas,do-sm", .data = (void *)ATLAS_DO_SM, },
+	{ .compatible = "atlas,rtd-sm", .data = (void *)ATLAS_RTD_SM, },
 	{ }
 };
 MODULE_DEVICE_TABLE(of, atlas_dt_ids);
-- 
2.20.1


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

* Re: [PATCH v3 2/2] iio: chemical: atlas-sensor: add RTD-SM module support
  2020-04-25  7:25 ` [PATCH v3 2/2] iio: chemical: atlas-sensor: add RTD-SM module support Matt Ranostay
@ 2020-04-25 14:26   ` Jonathan Cameron
  0 siblings, 0 replies; 5+ messages in thread
From: Jonathan Cameron @ 2020-04-25 14:26 UTC (permalink / raw)
  To: Matt Ranostay; +Cc: linux-iio

On Sat, 25 Apr 2020 10:25:20 +0300
Matt Ranostay <matt.ranostay@konsulko.com> wrote:

> Atlas Scientific RTD-SM OEM sensor reads temperaturee using
temperature


> resistance temperature detector technology.
> 
> Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>

Other than the above looks good to me and as you've addressed Peter's
comment I'll assume he is fine with it and apply to the togreg branch of iio.git
Still time for people to comment though as I'll push that as testing for
the autobuilders to play with it.

Thanks,

Jonathan

> ---
>  drivers/iio/chemical/atlas-sensor.c | 29 +++++++++++++++++++++++++++++
>  1 file changed, 29 insertions(+)
> 
> diff --git a/drivers/iio/chemical/atlas-sensor.c b/drivers/iio/chemical/atlas-sensor.c
> index 82d470561ad3..4688cbe83d86 100644
> --- a/drivers/iio/chemical/atlas-sensor.c
> +++ b/drivers/iio/chemical/atlas-sensor.c
> @@ -53,6 +53,8 @@
>  #define ATLAS_REG_DO_CALIB_STATUS_PRESSURE	BIT(0)
>  #define ATLAS_REG_DO_CALIB_STATUS_DO		BIT(1)
>  
> +#define ATLAS_REG_RTD_DATA		0x0e
> +
>  #define ATLAS_REG_PH_TEMP_DATA		0x0e
>  #define ATLAS_REG_PH_DATA		0x16
>  
> @@ -72,12 +74,14 @@
>  #define ATLAS_EC_INT_TIME_IN_MS		650
>  #define ATLAS_ORP_INT_TIME_IN_MS	450
>  #define ATLAS_DO_INT_TIME_IN_MS		450
> +#define ATLAS_RTD_INT_TIME_IN_MS	450
>  
>  enum {
>  	ATLAS_PH_SM,
>  	ATLAS_EC_SM,
>  	ATLAS_ORP_SM,
>  	ATLAS_DO_SM,
> +	ATLAS_RTD_SM,
>  };
>  
>  struct atlas_data {
> @@ -206,6 +210,22 @@ static const struct iio_chan_spec atlas_do_channels[] = {
>  	},
>  };
>  
> +static const struct iio_chan_spec atlas_rtd_channels[] = {
> +	{
> +		.type = IIO_TEMP,
> +		.address = ATLAS_REG_RTD_DATA,
> +		.info_mask_separate = BIT(IIO_CHAN_INFO_PROCESSED),
> +		.scan_index = 0,
> +		.scan_type = {
> +			.sign = 's',
> +			.realbits = 32,
> +			.storagebits = 32,
> +			.endianness = IIO_BE,
> +		},
> +	},
> +	IIO_CHAN_SOFT_TIMESTAMP(1),
> +};
> +
>  static int atlas_check_ph_calibration(struct atlas_data *data)
>  {
>  	struct device *dev = &data->client->dev;
> @@ -350,6 +370,12 @@ static struct atlas_device atlas_devices[] = {
>  				.calibration = &atlas_check_do_calibration,
>  				.delay = ATLAS_DO_INT_TIME_IN_MS,
>  	},
> +	[ATLAS_RTD_SM] = {
> +				.channels = atlas_rtd_channels,
> +				.num_channels = 2,
> +				.data_reg = ATLAS_REG_RTD_DATA,
> +				.delay = ATLAS_RTD_INT_TIME_IN_MS,
> +	},
>  };
>  
>  static int atlas_set_powermode(struct atlas_data *data, int on)
> @@ -478,6 +504,7 @@ static int atlas_read_raw(struct iio_dev *indio_dev,
>  	struct atlas_data *data = iio_priv(indio_dev);
>  
>  	switch (mask) {
> +	case IIO_CHAN_INFO_PROCESSED:
>  	case IIO_CHAN_INFO_RAW: {
>  		int ret;
>  		__be32 reg;
> @@ -566,6 +593,7 @@ static const struct i2c_device_id atlas_id[] = {
>  	{ "atlas-ec-sm", ATLAS_EC_SM},
>  	{ "atlas-orp-sm", ATLAS_ORP_SM},
>  	{ "atlas-do-sm", ATLAS_DO_SM},
> +	{ "atlas-rtd-sm", ATLAS_RTD_SM},
>  	{}
>  };
>  MODULE_DEVICE_TABLE(i2c, atlas_id);
> @@ -575,6 +603,7 @@ static const struct of_device_id atlas_dt_ids[] = {
>  	{ .compatible = "atlas,ec-sm", .data = (void *)ATLAS_EC_SM, },
>  	{ .compatible = "atlas,orp-sm", .data = (void *)ATLAS_ORP_SM, },
>  	{ .compatible = "atlas,do-sm", .data = (void *)ATLAS_DO_SM, },
> +	{ .compatible = "atlas,rtd-sm", .data = (void *)ATLAS_RTD_SM, },
>  	{ }
>  };
>  MODULE_DEVICE_TABLE(of, atlas_dt_ids);


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

* Re: [PATCH v3 1/2] dt-bindings: iio: chemical: add Atlas Scientific RTD-SM sensor docs
  2020-04-25  7:25 ` [PATCH v3 1/2] dt-bindings: iio: chemical: add Atlas Scientific RTD-SM sensor docs Matt Ranostay
@ 2020-04-25 14:27   ` Jonathan Cameron
  0 siblings, 0 replies; 5+ messages in thread
From: Jonathan Cameron @ 2020-04-25 14:27 UTC (permalink / raw)
  To: Matt Ranostay; +Cc: linux-iio, devicetree

On Sat, 25 Apr 2020 10:25:19 +0300
Matt Ranostay <matt.ranostay@konsulko.com> wrote:

> Cc: devicetree@vger.kernel.org
> Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
Applied to the togreg branch of iio.git and pushed out as testing.

Thanks,

Jonathan

> ---
>  .../devicetree/bindings/iio/chemical/atlas,sensor.yaml          | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/iio/chemical/atlas,sensor.yaml b/Documentation/devicetree/bindings/iio/chemical/atlas,sensor.yaml
> index edcd2904d50e..0e510a52920d 100644
> --- a/Documentation/devicetree/bindings/iio/chemical/atlas,sensor.yaml
> +++ b/Documentation/devicetree/bindings/iio/chemical/atlas,sensor.yaml
> @@ -17,6 +17,7 @@ description: |
>      http://www.atlas-scientific.com/_files/_datasheets/_oem/EC_oem_datasheet.pdf
>      http://www.atlas-scientific.com/_files/_datasheets/_oem/ORP_oem_datasheet.pdf
>      http://www.atlas-scientific.com/_files/_datasheets/_oem/pH_oem_datasheet.pdf
> +    http://www.atlas-scientific.com/_files/_datasheets/_oem/RTD_oem_datasheet.pdf
>  
>  properties:
>    compatible:
> @@ -25,6 +26,7 @@ properties:
>        - atlas,ec-sm
>        - atlas,orp-sm
>        - atlas,ph-sm
> +      - atlas,rtd-sm
>  
>    reg:
>       maxItems: 1


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

end of thread, other threads:[~2020-04-25 14:27 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-25  7:25 [PATCH v3 0/2] iio: chemical: atlas-sensor: add RTD-SM module support Matt Ranostay
2020-04-25  7:25 ` [PATCH v3 1/2] dt-bindings: iio: chemical: add Atlas Scientific RTD-SM sensor docs Matt Ranostay
2020-04-25 14:27   ` Jonathan Cameron
2020-04-25  7:25 ` [PATCH v3 2/2] iio: chemical: atlas-sensor: add RTD-SM module support Matt Ranostay
2020-04-25 14:26   ` Jonathan Cameron

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.