Support Honeywell mprls0025pa pressure sensor
Andreas Klinger
maintainerv2 cover Support Honeywell mprls0025pa pressure sensor
Support Honeywell mprls0025pa pressure sensor.
This patch series adds support for Honeywell mprls0025pa pressure sensor. There are a variety of sensors with different pressure ranges supported.
Changes in v2:
- Patch 1: "dt-bindings: iio: pressure: Support Honeywell mprls0025pa sensor"
- change the global sensor decription of mpr to the specific sensor mprls0025pa
- change compatible string
- rename the file to honeywell,mprls0025pa.yaml
- honeywell,pmin-pascal and honeywell,pmax-pascal: add unit pascal to property names
- add new property honeywell,transfer-function
- Patch 2: "iio: pressure: Honeywell mpr pressure sensor"
- no change so far
- will be changed and send out as new version when the dt definition is settled down
- Patch 3: "MAINTAINERS: Add Honeywell mpr sensor"
- no change so far
Andreas Klinger (1):
dt-bindings: iio: pressure: Support Honeywell mprls0025pa sensor
.../iio/pressure/honeywell,mprls0025pa.yaml | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml
Signature · 1 line
2.30.2
Andreas Klinger
maintainerPATCH v2 1/1 dt-bindings: iio: pressure: Support Honeywell mprls0025pa sensor
Honeywell mpr is a pressure sensor series. There are many different models with different pressure ranges, units and transfer functions.
The range and transfer function need to be set up in the dt. Therefore new properties honeywell,pmin-pascal, honeywell,pmax-pascal, honeywell,transfer-function are introduced.
Add dt-bindings.
--- .../iio/pressure/honeywell,mprls0025pa.yaml | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml
Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml new file +93 -0
@@ -0,0 +1,93 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iio/pressure/honeywell,mprls0025pa.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Honeywell mpr series pressure sensor + +maintainers: + - Andreas Klinger <[email protected]> + +description: | + Honeywell pressure sensor of model mprls0025pa. + + This sensor has an I2C and SPI interface. Only the I2C interface is implemented. + + There are many models with different pressure ranges available. The vendor calls them "mpr + series". All of them have the identical programming model and differ in the pressure range, unit + and transfer function. + + To support different models one need to specify the pressure range as well as the transfer + function. Pressure range needs to be converted from its unit to pascal. + + The transfer function defines the ranges of numerical values delivered by the sensor. The minimal + range value stands for the minimum pressure and the maximum value also for the maximum pressure + with linear relation inside the range. + + Specifications about the devices can be found at: + https://prod-edam.honeywell.com/content/dam/honeywell-edam/sps/siot/en-us/products/sensors/ + pressure-sensors/board-mount-pressure-sensors/micropressure-mpr-series/documents/ + sps-siot-mpr-series-datasheet-32332628-ciid-172626.pdf + +properties: + compatible: + const: honeywell,mprls0025pa + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + reset-gpios: + description: + Optional GPIO for resetting the device. + If not present the device is not resetted during the probe. + maxItems: 1 + + honeywell,pmin-pascal: + description: + Minimum pressure value the sensor can measure in pascal. + $ref: /schemas/types.yaml#/definitions/uint32 + + honeywell,pmax-pascal: + description: + Maximum pressure value the sensor can measure in pascal. + $ref: /schemas/types.yaml#/definitions/uint32 + + honeywell,transfer-function: + description: + Transfer function which defines the range of valid values delivered by the sensor. + 1 - A, 10% to 90% of 2^24 (1677722 .. 15099494) + 2 - B, 2.5% to 22.5% of 2^24 (419430 .. 3774874) + 3 - C, 20% to 80% of 2^24 (3355443 .. 13421773) + +required: + - compatible + - reg + - honeywell,pmin + - honeywell,pmax + - honeywell,transfer-function + +additionalProperties: false + +examples: + - | + #include <dt-bindings/gpio/gpio.h> + #include <dt-bindings/interrupt-controller/irq.h> + i2c { + #address-cells = <1>; + #size-cells = <0>; + + pressure@18 { + compatible = "honeywell,mprls0025pa"; + reg = <0x18>; + reset-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>; + interrupt-parent = <&gpio3>; + interrupts = <21 IRQ_TYPE_EDGE_FALLING>; + honeywell,pmin = <0>; + honeywell,pmax = <172369>; + honeywell,transfer-function = <1>; + }; + };
Signature · 1 line
2.30.2
Rob Herring
maintainerRe: [PATCH v2 1/1] dt-bindings: iio: pressure: Support Honeywell mprls0025pa sensor
Quoted 6 lines · Andreas Klinger
Honeywell mpr is a pressure sensor series. There are many different models with different pressure ranges, units and transfer functions.
The range and transfer function need to be set up in the dt. Therefore new properties honeywell,pmin-pascal, honeywell,pmax-pascal, honeywell,transfer-function are introduced.
Quoted 8 lines
Add dt-bindings.
Signed-off-by Andreas Klinger <[email protected]>--- .../iio/pressure/honeywell,mprls0025pa.yaml | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml
My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13):
yamllint warnings/errors:
dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml: properties:honeywell,transfer-function: 'oneOf' conditional failed, one must be fixed:
'type' is a required property
hint: A vendor boolean property can use "type: boolean"
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml: properties:honeywell,transfer-function: 'oneOf' conditional failed, one must be fixed:
'enum' is a required property
'const' is a required property
hint: A vendor string property with exact values has an implicit type
from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml: properties:honeywell,transfer-function: 'oneOf' conditional failed, one must be fixed:
'$ref' is a required property
'allOf' is a required property
hint: A vendor property needs a $ref to types.yaml
from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml#
hint: Vendor specific properties must have a type and description unless they have a defined, common suffix.
from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.example.dtb: pressure@18: 'honeywell,pmax', 'honeywell,pmin' do not match any of the regexes: 'pinctrl-[0-9]+'
From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/ZDlLmCIiKSMa7Hah@arbad
The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
Re: [PATCH v2 1/1] dt-bindings: iio: pressure: Support Honeywell mprls0025pa sensor
In reply to Andreas KlingerQuoted 5 lines · Andreas Klinger
Honeywell mpr is a pressure sensor series. There are many different models with different pressure ranges, units and transfer functions.
The range and transfer function need to be set up in the dt. Therefore new properties honeywell,pmin-pascal, honeywell,pmax-pascal, honeywell,transfer-function are introduced.
Please wrap commit message according to Linux coding style / submission process (neither too early nor over the limit):
https://elixir.bootlin.com/linux/v5.18-rc4/source/Documentation/process/submitting-patches.rst#L586
Quoted 4 lines
Add dt-bindings.
Signed-off-by Andreas Klinger <[email protected]>
Patches 2 and 3 are missing. At least they were mentioned in the changelog but this is 1/1.
Quoted 19 lines
--- .../iio/pressure/honeywell,mprls0025pa.yaml | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yamlDocumentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml new file +8
-0@@ -0,0 +1,93 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iio/pressure/honeywell,mprls0025pa.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Honeywell mpr series pressure sensor +
Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml line 18
Quoted 10 lines
Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml new file +10
-0+maintainers: + - Andreas Klinger <[email protected]> + +description: | + Honeywell pressure sensor of model mprls0025pa. + + This sensor has an I2C and SPI interface. Only the I2C interface is implemented. + + There are many models with different pressure ranges available. The vendor calls them "mpr + series". All of them have the identical programming model and differ in the pressure range, unit
Wrap according to Linux coding style, so at 80.
Quoted 7 lines
Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml new file +7
-0+ and transfer function. + + To support different models one need to specify the pressure range as well as the transfer + function. Pressure range needs to be converted from its unit to pascal. + + The transfer function defines the ranges of numerical values delivered by the sensor. The minimal + range value stands for the minimum pressure and the maximum value also for the maximum pressure
Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml line 35
Quoted 10 lines
Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml new file +10
-0+ with linear relation inside the range. + + Specifications about the devices can be found at: + https://prod-edam.honeywell.com/content/dam/honeywell-edam/sps/siot/en-us/products/sensors/ + pressure-sensors/board-mount-pressure-sensors/micropressure-mpr-series/documents/ + sps-siot-mpr-series-datasheet-32332628-ciid-172626.pdf + +properties: + compatible: + const: honeywell,mprls0025pa
So this is one compatible for entire family of 96 separate devices. Looks like reasonable compromise, although I will wait for Rob's approval on that.
Anyway you need to fix the coding style.
Best regards,
Krzysztof
Re: [PATCH v2 1/1] dt-bindings: iio: pressure: Support Honeywell mprls0025pa sensor
Quoted 73 lines · Krzysztof Kozlowski
Quoted 5 lines · Andreas Klinger
Honeywell mpr is a pressure sensor series. There are many different models with different pressure ranges, units and transfer functions.
The range and transfer function need to be set up in the dt. Therefore new properties honeywell,pmin-pascal, honeywell,pmax-pascal, honeywell,transfer-function are introduced.
Please wrap commit message according to Linux coding style / submission process (neither too early nor over the limit):
https://elixir.bootlin.com/linux/v5.18-rc4/source/Documentation/process/submitting-patches.rst#L586Quoted 4 lines
Add dt-bindings.
Signed-off-by Andreas Klinger <[email protected]>Patches 2 and 3 are missing. At least they were mentioned in the changelog but this is 1/1.
Quoted 19 lines
--- .../iio/pressure/honeywell,mprls0025pa.yaml | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yamlDocumentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml new file +8
-0@@ -0,0 +1,93 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iio/pressure/honeywell,mprls0025pa.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Honeywell mpr series pressure sensor +Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml line 18
Quoted 10 lines
Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml new file +10
-0+maintainers: + - Andreas Klinger <[email protected]> + +description: | + Honeywell pressure sensor of model mprls0025pa. + + This sensor has an I2C and SPI interface. Only the I2C interface is implemented. + + There are many models with different pressure ranges available. The vendor calls them "mpr + series". All of them have the identical programming model and differ in the pressure range, unitWrap according to Linux coding style, so at 80.
Quoted 7 lines
Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml new file +7
-0+ and transfer function. + + To support different models one need to specify the pressure range as well as the transfer + function. Pressure range needs to be converted from its unit to pascal. + + The transfer function defines the ranges of numerical values delivered by the sensor. The minimal + range value stands for the minimum pressure and the maximum value also for the maximum pressureDocumentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml line 35
Quoted 10 lines
Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml new file +10
-0+ with linear relation inside the range. + + Specifications about the devices can be found at: + https://prod-edam.honeywell.com/content/dam/honeywell-edam/sps/siot/en-us/products/sensors/ + pressure-sensors/board-mount-pressure-sensors/micropressure-mpr-series/documents/ + sps-siot-mpr-series-datasheet-32332628-ciid-172626.pdf + +properties: + compatible: + const: honeywell,mprls0025paSo this is one compatible for entire family of 96 separate devices. Looks like reasonable compromise, although I will wait for Rob's approval on that.
Quoted 1 line
Anyway you need to fix the coding style.
... and as Rob's bot pointed out, test it before sending.
Best regards,
Krzysztof