Message ID | 2e8b4a7d3ef4bc1c53bd0a849e4c31eaf2477f6b.1700648165.git.cmo@melexis.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | iio: temperature: mlx90635 Driver for MLX90635 IR temperature sensor | expand |
On 22/11/2023 11:27, Crt Mori wrote: > Add device tree bindings for MLX90635 Infra Red contactless temperature > sensor. Please use scripts/get_maintainers.pl to get a list of necessary people and lists to CC (and consider --no-git-fallback argument). It might happen, that command when run on an older kernel, gives you outdated entries. Therefore please be sure you base your patches on recent Linux kernel. A nit, subject: drop second/last, redundant "bindings". The "dt-bindings" prefix is already stating that these are bindings. > > Signed-off-by: Crt Mori <cmo@melexis.com> > --- > .../iio/temperature/melexis,mlx90635.yaml | 60 +++++++++++++++++++ > 1 file changed, 60 insertions(+) > create mode 100644 Documentation/devicetree/bindings/iio/temperature/melexis,mlx90635.yaml > > diff --git a/Documentation/devicetree/bindings/iio/temperature/melexis,mlx90635.yaml b/Documentation/devicetree/bindings/iio/temperature/melexis,mlx90635.yaml > new file mode 100644 > index 000000000000..96463121a806 > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/temperature/melexis,mlx90635.yaml > @@ -0,0 +1,60 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/iio/temperature/melexis,mlx90635.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Melexis MLX90635 contactless Infra Red temperature sensor > + > +maintainers: > + - Crt Mori <cmo@melexis.com> > + > +description: | > + https://www.melexis.com/en/documents/documentation/datasheets/datasheet-mlx90635 > + > + There are various applications for the Infra Red contactless temperature > + sensor and MLX90635 is most suitable for consumer applications where > + measured object temperature is in range between -20 to 100 degrees > + Celsius with relative error of measurement 2 degree Celsius in > + object temperature range for industrial applications, while just 0.2 > + degree Celsius for human body measurement applications. Since it can > + operate and measure ambient temperature in range of -20 to 85 degrees > + Celsius it is suitable also for outdoor use. > + > + Be aware that electronics surrounding the sensor can increase ambient > + temperature. MLX90635 can be calibrated to reduce the housing effect via > + already existing EEPROM parameters. > + > + Since measured object emissivity effects Infra Red energy emitted, > + emissivity should be set before requesting the object temperature. > + > +properties: > + compatible: > + const: melexis,mlx90635 It's the same as mlx90632. Add it there (as enum). Best regards, Krzysztof
On Wed, 22 Nov 2023 at 12:52, Krzysztof Kozlowski <krzk@kernel.org> wrote: > > On 22/11/2023 11:27, Crt Mori wrote: > > Add device tree bindings for MLX90635 Infra Red contactless temperature > > sensor. > > Please use scripts/get_maintainers.pl to get a list of necessary people > and lists to CC (and consider --no-git-fallback argument). It might > happen, that command when run on an older kernel, gives you outdated > entries. Therefore please be sure you base your patches on recent Linux > kernel. > OK, will put everyone in that list in next spin. > A nit, subject: drop second/last, redundant "bindings". The > "dt-bindings" prefix is already stating that these are bindings. > Ok, will fix that in next version (probably main driver review will get some comments). > > > > Signed-off-by: Crt Mori <cmo@melexis.com> > > --- > > .../iio/temperature/melexis,mlx90635.yaml | 60 +++++++++++++++++++ > > 1 file changed, 60 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/iio/temperature/melexis,mlx90635.yaml > > > > diff --git a/Documentation/devicetree/bindings/iio/temperature/melexis,mlx90635.yaml b/Documentation/devicetree/bindings/iio/temperature/melexis,mlx90635.yaml > > new file mode 100644 > > index 000000000000..96463121a806 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/iio/temperature/melexis,mlx90635.yaml > > @@ -0,0 +1,60 @@ > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/iio/temperature/melexis,mlx90635.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Melexis MLX90635 contactless Infra Red temperature sensor > > + > > +maintainers: > > + - Crt Mori <cmo@melexis.com> > > + > > +description: | > > + https://www.melexis.com/en/documents/documentation/datasheets/datasheet-mlx90635 > > + > > + There are various applications for the Infra Red contactless temperature > > + sensor and MLX90635 is most suitable for consumer applications where > > + measured object temperature is in range between -20 to 100 degrees > > + Celsius with relative error of measurement 2 degree Celsius in > > + object temperature range for industrial applications, while just 0.2 > > + degree Celsius for human body measurement applications. Since it can > > + operate and measure ambient temperature in range of -20 to 85 degrees > > + Celsius it is suitable also for outdoor use. > > + > > + Be aware that electronics surrounding the sensor can increase ambient > > + temperature. MLX90635 can be calibrated to reduce the housing effect via > > + already existing EEPROM parameters. > > + > > + Since measured object emissivity effects Infra Red energy emitted, > > + emissivity should be set before requesting the object temperature. > > + > > +properties: > > + compatible: > > + const: melexis,mlx90635 > > It's the same as mlx90632. Add it there (as enum). > Properties are the same, but then you can't have much differences for a temperature sensor. It has a bit worse relative measurement error outside of the human body range and overall different DSP, register map, even physical size - it's 1.8x1.8 mm compared to 90632 3x3 mm. I was not sure how it qualifies for adding it as another enum, but I went with the feeling that if it can reuse the driver, then it is an enum, otherwise it is a new file. And I could not reuse anything from 90632. Thanks for quick feedback and best regards, Crt > Best regards, > Krzysztof >
On 22/11/2023 13:28, Crt Mori wrote: >>> + Since measured object emissivity effects Infra Red energy emitted, >>> + emissivity should be set before requesting the object temperature. >>> + >>> +properties: >>> + compatible: >>> + const: melexis,mlx90635 >> >> It's the same as mlx90632. Add it there (as enum). >> > > Properties are the same, but then you can't have much differences for > a temperature sensor. It has a bit worse relative measurement error > outside of the human body range and overall different DSP, register > map, even physical size - it's 1.8x1.8 mm compared to 90632 3x3 mm. I > was not sure how it qualifies for adding it as another enum, but I > went with the feeling that if it can reuse the driver, then it is an > enum, otherwise it is a new file. And I could not reuse anything from > 90632. > > Thanks for quick feedback and best regards, Driver is independent choice. There is no need for new binding file if everything is the same from bindings point of view. Best regards, Krzysztof
On Wed, 22 Nov 2023 13:35:19 +0100 Krzysztof Kozlowski <krzk@kernel.org> wrote: > On 22/11/2023 13:28, Crt Mori wrote: > >>> + Since measured object emissivity effects Infra Red energy emitted, > >>> + emissivity should be set before requesting the object temperature. > >>> + > >>> +properties: > >>> + compatible: > >>> + const: melexis,mlx90635 > >> > >> It's the same as mlx90632. Add it there (as enum). > >> > > > > Properties are the same, but then you can't have much differences for > > a temperature sensor. It has a bit worse relative measurement error > > outside of the human body range and overall different DSP, register > > map, even physical size - it's 1.8x1.8 mm compared to 90632 3x3 mm. I > > was not sure how it qualifies for adding it as another enum, but I > > went with the feeling that if it can reuse the driver, then it is an > > enum, otherwise it is a new file. And I could not reuse anything from > > 90632. > > > > Thanks for quick feedback and best regards, > > Driver is independent choice. There is no need for new binding file if > everything is the same from bindings point of view. > > Best regards, > Krzysztof > > We got this wrong in the past in IIO and it's a slow effort to merge the various very similar bindings. For now we are mostly keeping to within a vendor though unless a driver supports parts from multiple vendors. It potentially gets too confusing to maintain otherwise. This one is easy case though so definitely merge as Krzystof suggested! Jonathan
diff --git a/Documentation/devicetree/bindings/iio/temperature/melexis,mlx90635.yaml b/Documentation/devicetree/bindings/iio/temperature/melexis,mlx90635.yaml new file mode 100644 index 000000000000..96463121a806 --- /dev/null +++ b/Documentation/devicetree/bindings/iio/temperature/melexis,mlx90635.yaml @@ -0,0 +1,60 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iio/temperature/melexis,mlx90635.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Melexis MLX90635 contactless Infra Red temperature sensor + +maintainers: + - Crt Mori <cmo@melexis.com> + +description: | + https://www.melexis.com/en/documents/documentation/datasheets/datasheet-mlx90635 + + There are various applications for the Infra Red contactless temperature + sensor and MLX90635 is most suitable for consumer applications where + measured object temperature is in range between -20 to 100 degrees + Celsius with relative error of measurement 2 degree Celsius in + object temperature range for industrial applications, while just 0.2 + degree Celsius for human body measurement applications. Since it can + operate and measure ambient temperature in range of -20 to 85 degrees + Celsius it is suitable also for outdoor use. + + Be aware that electronics surrounding the sensor can increase ambient + temperature. MLX90635 can be calibrated to reduce the housing effect via + already existing EEPROM parameters. + + Since measured object emissivity effects Infra Red energy emitted, + emissivity should be set before requesting the object temperature. + +properties: + compatible: + const: melexis,mlx90635 + + reg: + maxItems: 1 + description: Default is 0x3a, but can be reprogrammed. + + vdd-supply: + description: provide VDD power to the sensor (check datasheet for voltage). + +required: + - compatible + - reg + +additionalProperties: false + +examples: + - | + i2c { + #address-cells = <1>; + #size-cells = <0>; + + temp-sensor@3a { + compatible = "melexis,mlx90635"; + reg = <0x3a>; + vdd-supply = <&ldo4_reg>; + }; + }; +...
Add device tree bindings for MLX90635 Infra Red contactless temperature sensor. Signed-off-by: Crt Mori <cmo@melexis.com> --- .../iio/temperature/melexis,mlx90635.yaml | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/temperature/melexis,mlx90635.yaml