diff mbox series

[v1,7/9] dt-bindings: iio: afe: add binding for temperature-sense-rtd

Message ID 20210530005917.20953-8-liambeguin@gmail.com
State New
Headers show
Series iio: afe: add temperature rescaling support | expand

Commit Message

Liam Beguin May 30, 2021, 12:59 a.m. UTC
From: Liam Beguin <lvb@xiphos.com>

An ADC is often used to measure other quantities indirectly. This
binding describe one cases, the measurement of a temperature through
the voltage across an RTD resistor such as a PT1000.

Signed-off-by: Liam Beguin <lvb@xiphos.com>
---
 .../iio/afe/temperature-sense-rtd.yaml        | 65 +++++++++++++++++++
 MAINTAINERS                                   |  1 +
 2 files changed, 66 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml

Comments

Jonathan Cameron June 1, 2021, 4:43 p.m. UTC | #1
On Sat, 29 May 2021 20:59:15 -0400
Liam Beguin <liambeguin@gmail.com> wrote:

> From: Liam Beguin <lvb@xiphos.com>

> 

> An ADC is often used to measure other quantities indirectly. This

> binding describe one cases, the measurement of a temperature through

> the voltage across an RTD resistor such as a PT1000.

> 

> Signed-off-by: Liam Beguin <lvb@xiphos.com>


Just one nit pick inline.

Hmm. these devices use some 'special' units for their coefficients.
Ah well, guess we copy the industry standard.

> ---

>  .../iio/afe/temperature-sense-rtd.yaml        | 65 +++++++++++++++++++

>  MAINTAINERS                                   |  1 +

>  2 files changed, 66 insertions(+)

>  create mode 100644 Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml

> 

> diff --git a/Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml b/Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml

> new file mode 100644

> index 000000000000..4798eda6e533

> --- /dev/null

> +++ b/Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml

> @@ -0,0 +1,65 @@

> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)

> +%YAML 1.2

> +---

> +$id: http://devicetree.org/schemas/iio/afe/temperature-sense-rtd.yaml#

> +$schema: http://devicetree.org/meta-schemas/core.yaml#

> +

> +title: Temperature Sense RTD

> +

> +maintainers:

> +  - Liam Beguin <lvb@xiphos.com>

> +

> +description: |

> +  When an io-channel measures the output voltage across an RTD such as a

> +  PT1000, the interesting measurement is almost always the corresponding

> +  temperature, not the voltage output. This binding describes such a circuit.

> +

> +properties:

> +  compatible:

> +    const: temperature-sense-rtd

> +

> +  io-channels:

> +    maxItems: 1

> +    description: |

> +      Channel node of a voltage io-channel.

> +

> +  '#io-channel-cells':

> +    const: 1

> +

> +  excitation-current-microamp:

> +    description: The current fed through the RTD sensor.

> +

> +  alpha-micro-ohms-per-ohm-celsius:

> +    description: |

> +      Linear approximation of the resistance versus temperature relationship

> +      between 0 and 100 degrees Celsius.

> +

> +      Pure platinum has an alpha of 3925. Industry standards such as IEC60751

> +      and ASTM E-1137 specify an alpha of 3850.

> +

> +  r-naught-ohms:

> +    description: |

> +      Resistance of the sensor at 0 degrees Celsius.

> +      Common values are 100 for PT100 and 1000 for PT1000.

> +

> +additionalProperties: false

> +required:

> +  - compatible

> +  - io-channels

> +  - excitation-current-microamp

> +  - alpha-micro-ohms-per-ohm-celsius

> +  - r-naught-ohms

> +

> +examples:

> +  - |

> +    pt1000_1: iio-rescale0 {

> +        compatible = "temperature-sense-rtd";

> +        #io-channel-cells = <1>;

> +        io-channels = <&temp_adc1 0>;

> +

> +        excitation-current-microamp = <1000>;

> +        alpha-micro-ohms-per-ohm-celsius = <3908>;

> +        r-naught-ohms = <1000>;

> +    };

> +


Drop this blank line.  Doesn't add anything ;)

> +...

> diff --git a/MAINTAINERS b/MAINTAINERS

> index d3ab0ccc34ab..a7279af85adb 100644

> --- a/MAINTAINERS

> +++ b/MAINTAINERS

> @@ -8721,6 +8721,7 @@ L:	linux-iio@vger.kernel.org

>  S:	Maintained

>  F:	Documentation/devicetree/bindings/iio/afe/current-sense-amplifier.yaml

>  F:	Documentation/devicetree/bindings/iio/afe/current-sense-shunt.yaml

> +F:	Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml

>  F:	Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml

>  F:	drivers/iio/afe/iio-rescale.c

>
Rob Herring June 4, 2021, 9:17 p.m. UTC | #2
On Sat, May 29, 2021 at 08:59:15PM -0400, Liam Beguin wrote:
> From: Liam Beguin <lvb@xiphos.com>

> 

> An ADC is often used to measure other quantities indirectly. This

> binding describe one cases, the measurement of a temperature through

> the voltage across an RTD resistor such as a PT1000.

> 

> Signed-off-by: Liam Beguin <lvb@xiphos.com>

> ---

>  .../iio/afe/temperature-sense-rtd.yaml        | 65 +++++++++++++++++++

>  MAINTAINERS                                   |  1 +

>  2 files changed, 66 insertions(+)

>  create mode 100644 Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml

> 

> diff --git a/Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml b/Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml

> new file mode 100644

> index 000000000000..4798eda6e533

> --- /dev/null

> +++ b/Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml

> @@ -0,0 +1,65 @@

> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)

> +%YAML 1.2

> +---

> +$id: http://devicetree.org/schemas/iio/afe/temperature-sense-rtd.yaml#

> +$schema: http://devicetree.org/meta-schemas/core.yaml#

> +

> +title: Temperature Sense RTD

> +

> +maintainers:

> +  - Liam Beguin <lvb@xiphos.com>

> +

> +description: |

> +  When an io-channel measures the output voltage across an RTD such as a


What's an RTD? Not defined anywhere here.

> +  PT1000, the interesting measurement is almost always the corresponding

> +  temperature, not the voltage output. This binding describes such a circuit.

> +

> +properties:

> +  compatible:

> +    const: temperature-sense-rtd

> +

> +  io-channels:

> +    maxItems: 1

> +    description: |

> +      Channel node of a voltage io-channel.

> +

> +  '#io-channel-cells':

> +    const: 1


Doesn't this belong in the provider?

> +

> +  excitation-current-microamp:

> +    description: The current fed through the RTD sensor.

> +

> +  alpha-micro-ohms-per-ohm-celsius:

> +    description: |

> +      Linear approximation of the resistance versus temperature relationship

> +      between 0 and 100 degrees Celsius.

> +

> +      Pure platinum has an alpha of 3925. Industry standards such as IEC60751

> +      and ASTM E-1137 specify an alpha of 3850.


Is there a max and min value?

> +

> +  r-naught-ohms:

> +    description: |

> +      Resistance of the sensor at 0 degrees Celsius.

> +      Common values are 100 for PT100 and 1000 for PT1000.


max or min?

> +

> +additionalProperties: false


blank line here.

> +required:

> +  - compatible

> +  - io-channels

> +  - excitation-current-microamp

> +  - alpha-micro-ohms-per-ohm-celsius

> +  - r-naught-ohms

> +

> +examples:

> +  - |

> +    pt1000_1: iio-rescale0 {

> +        compatible = "temperature-sense-rtd";

> +        #io-channel-cells = <1>;

> +        io-channels = <&temp_adc1 0>;

> +

> +        excitation-current-microamp = <1000>;

> +        alpha-micro-ohms-per-ohm-celsius = <3908>;

> +        r-naught-ohms = <1000>;

> +    };

> +

> +...

> diff --git a/MAINTAINERS b/MAINTAINERS

> index d3ab0ccc34ab..a7279af85adb 100644

> --- a/MAINTAINERS

> +++ b/MAINTAINERS

> @@ -8721,6 +8721,7 @@ L:	linux-iio@vger.kernel.org

>  S:	Maintained

>  F:	Documentation/devicetree/bindings/iio/afe/current-sense-amplifier.yaml

>  F:	Documentation/devicetree/bindings/iio/afe/current-sense-shunt.yaml

> +F:	Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml

>  F:	Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml

>  F:	drivers/iio/afe/iio-rescale.c

>  

> -- 

> 2.30.1.489.g328c10930387
Jonathan Cameron June 5, 2021, 2:58 p.m. UTC | #3
On Fri, 4 Jun 2021 16:17:02 -0500
Rob Herring <robh@kernel.org> wrote:

> On Sat, May 29, 2021 at 08:59:15PM -0400, Liam Beguin wrote:

> > From: Liam Beguin <lvb@xiphos.com>

> > 

> > An ADC is often used to measure other quantities indirectly. This

> > binding describe one cases, the measurement of a temperature through

> > the voltage across an RTD resistor such as a PT1000.

> > 

> > Signed-off-by: Liam Beguin <lvb@xiphos.com>

> > ---

> >  .../iio/afe/temperature-sense-rtd.yaml        | 65 +++++++++++++++++++

> >  MAINTAINERS                                   |  1 +

> >  2 files changed, 66 insertions(+)

> >  create mode 100644 Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml

> > 

> > diff --git a/Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml b/Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml

> > new file mode 100644

> > index 000000000000..4798eda6e533

> > --- /dev/null

> > +++ b/Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml

> > @@ -0,0 +1,65 @@

> > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)

> > +%YAML 1.2

> > +---

> > +$id: http://devicetree.org/schemas/iio/afe/temperature-sense-rtd.yaml#

> > +$schema: http://devicetree.org/meta-schemas/core.yaml#

> > +

> > +title: Temperature Sense RTD

> > +

> > +maintainers:

> > +  - Liam Beguin <lvb@xiphos.com>

> > +

> > +description: |

> > +  When an io-channel measures the output voltage across an RTD such as a  

> 

> What's an RTD? Not defined anywhere here.

> 

> > +  PT1000, the interesting measurement is almost always the corresponding

> > +  temperature, not the voltage output. This binding describes such a circuit.

> > +

> > +properties:

> > +  compatible:

> > +    const: temperature-sense-rtd

> > +

> > +  io-channels:

> > +    maxItems: 1

> > +    description: |

> > +      Channel node of a voltage io-channel.

> > +

> > +  '#io-channel-cells':

> > +    const: 1  

> 

> Doesn't this belong in the provider?


Potentially this could in turn also be a provider if wired up to iio-hwmon or
similar.  Certainly an option for a temperature sensor.

> 

> > +

> > +  excitation-current-microamp:

> > +    description: The current fed through the RTD sensor.

> > +

> > +  alpha-micro-ohms-per-ohm-celsius:

> > +    description: |

> > +      Linear approximation of the resistance versus temperature relationship

> > +      between 0 and 100 degrees Celsius.

> > +

> > +      Pure platinum has an alpha of 3925. Industry standards such as IEC60751

> > +      and ASTM E-1137 specify an alpha of 3850.  

> 

> Is there a max and min value?

> 

> > +

> > +  r-naught-ohms:

> > +    description: |

> > +      Resistance of the sensor at 0 degrees Celsius.

> > +      Common values are 100 for PT100 and 1000 for PT1000.  

> 

> max or min?

> 

> > +

> > +additionalProperties: false  

> 

> blank line here.

> 

> > +required:

> > +  - compatible

> > +  - io-channels

> > +  - excitation-current-microamp

> > +  - alpha-micro-ohms-per-ohm-celsius

> > +  - r-naught-ohms

> > +

> > +examples:

> > +  - |

> > +    pt1000_1: iio-rescale0 {

> > +        compatible = "temperature-sense-rtd";

> > +        #io-channel-cells = <1>;

> > +        io-channels = <&temp_adc1 0>;

> > +

> > +        excitation-current-microamp = <1000>;

> > +        alpha-micro-ohms-per-ohm-celsius = <3908>;

> > +        r-naught-ohms = <1000>;

> > +    };

> > +

> > +...

> > diff --git a/MAINTAINERS b/MAINTAINERS

> > index d3ab0ccc34ab..a7279af85adb 100644

> > --- a/MAINTAINERS

> > +++ b/MAINTAINERS

> > @@ -8721,6 +8721,7 @@ L:	linux-iio@vger.kernel.org

> >  S:	Maintained

> >  F:	Documentation/devicetree/bindings/iio/afe/current-sense-amplifier.yaml

> >  F:	Documentation/devicetree/bindings/iio/afe/current-sense-shunt.yaml

> > +F:	Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml

> >  F:	Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml

> >  F:	drivers/iio/afe/iio-rescale.c

> >  

> > -- 

> > 2.30.1.489.g328c10930387
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml b/Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml
new file mode 100644
index 000000000000..4798eda6e533
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml
@@ -0,0 +1,65 @@ 
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/afe/temperature-sense-rtd.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Temperature Sense RTD
+
+maintainers:
+  - Liam Beguin <lvb@xiphos.com>
+
+description: |
+  When an io-channel measures the output voltage across an RTD such as a
+  PT1000, the interesting measurement is almost always the corresponding
+  temperature, not the voltage output. This binding describes such a circuit.
+
+properties:
+  compatible:
+    const: temperature-sense-rtd
+
+  io-channels:
+    maxItems: 1
+    description: |
+      Channel node of a voltage io-channel.
+
+  '#io-channel-cells':
+    const: 1
+
+  excitation-current-microamp:
+    description: The current fed through the RTD sensor.
+
+  alpha-micro-ohms-per-ohm-celsius:
+    description: |
+      Linear approximation of the resistance versus temperature relationship
+      between 0 and 100 degrees Celsius.
+
+      Pure platinum has an alpha of 3925. Industry standards such as IEC60751
+      and ASTM E-1137 specify an alpha of 3850.
+
+  r-naught-ohms:
+    description: |
+      Resistance of the sensor at 0 degrees Celsius.
+      Common values are 100 for PT100 and 1000 for PT1000.
+
+additionalProperties: false
+required:
+  - compatible
+  - io-channels
+  - excitation-current-microamp
+  - alpha-micro-ohms-per-ohm-celsius
+  - r-naught-ohms
+
+examples:
+  - |
+    pt1000_1: iio-rescale0 {
+        compatible = "temperature-sense-rtd";
+        #io-channel-cells = <1>;
+        io-channels = <&temp_adc1 0>;
+
+        excitation-current-microamp = <1000>;
+        alpha-micro-ohms-per-ohm-celsius = <3908>;
+        r-naught-ohms = <1000>;
+    };
+
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index d3ab0ccc34ab..a7279af85adb 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -8721,6 +8721,7 @@  L:	linux-iio@vger.kernel.org
 S:	Maintained
 F:	Documentation/devicetree/bindings/iio/afe/current-sense-amplifier.yaml
 F:	Documentation/devicetree/bindings/iio/afe/current-sense-shunt.yaml
+F:	Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml
 F:	Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml
 F:	drivers/iio/afe/iio-rescale.c