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