All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/1] Support Honeywell mprls0025pa pressure sensor
@ 2023-04-14 12:46 Andreas Klinger
  2023-04-14 12:48 ` [PATCH v2 1/1] dt-bindings: iio: pressure: Support Honeywell mprls0025pa sensor Andreas Klinger
  0 siblings, 1 reply; 5+ messages in thread
From: Andreas Klinger @ 2023-04-14 12:46 UTC (permalink / raw)
  To: linux-iio, devicetree
  Cc: Jonathan Cameron, Lars-Peter Clausen, Rob Herring,
	Krzysztof Kozlowski, Angel Iglesias, linux-kernel

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

-- 
2.30.2

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

* [PATCH v2 1/1] dt-bindings: iio: pressure: Support Honeywell mprls0025pa sensor
  2023-04-14 12:46 [PATCH v2 0/1] Support Honeywell mprls0025pa pressure sensor Andreas Klinger
@ 2023-04-14 12:48 ` Andreas Klinger
  2023-04-14 18:37   ` Rob Herring
  2023-04-14 20:40   ` Krzysztof Kozlowski
  0 siblings, 2 replies; 5+ messages in thread
From: Andreas Klinger @ 2023-04-14 12:48 UTC (permalink / raw)
  To: linux-iio, devicetree
  Cc: Jonathan Cameron, Lars-Peter Clausen, Rob Herring,
	Krzysztof Kozlowski, Angel Iglesias, linux-kernel

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.

Signed-off-by: Andreas Klinger <ak@it-klinger.de>
---
 .../iio/pressure/honeywell,mprls0025pa.yaml   | 93 +++++++++++++++++++
 1 file changed, 93 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml

diff --git a/Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml b/Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml
new file mode 100644
index 000000000000..c0eb3c4be16f
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml
@@ -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 <ak@it-klinger.de>
+
+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>;
+        };
+    };
-- 
2.30.2

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

* Re: [PATCH v2 1/1] dt-bindings: iio: pressure: Support Honeywell mprls0025pa sensor
  2023-04-14 12:48 ` [PATCH v2 1/1] dt-bindings: iio: pressure: Support Honeywell mprls0025pa sensor Andreas Klinger
@ 2023-04-14 18:37   ` Rob Herring
  2023-04-14 20:40   ` Krzysztof Kozlowski
  1 sibling, 0 replies; 5+ messages in thread
From: Rob Herring @ 2023-04-14 18:37 UTC (permalink / raw)
  To: Andreas Klinger
  Cc: Jonathan Cameron, Rob Herring, linux-iio, devicetree,
	Angel Iglesias, Krzysztof Kozlowski, Lars-Peter Clausen,
	linux-kernel


On Fri, 14 Apr 2023 14:48:24 +0200, Andreas Klinger wrote:
> 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.
> 
> Signed-off-by: Andreas Klinger <ak@it-klinger.de>
> ---
>  .../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.


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

* Re: [PATCH v2 1/1] dt-bindings: iio: pressure: Support Honeywell mprls0025pa sensor
  2023-04-14 12:48 ` [PATCH v2 1/1] dt-bindings: iio: pressure: Support Honeywell mprls0025pa sensor Andreas Klinger
  2023-04-14 18:37   ` Rob Herring
@ 2023-04-14 20:40   ` Krzysztof Kozlowski
  2023-04-14 20:42     ` Krzysztof Kozlowski
  1 sibling, 1 reply; 5+ messages in thread
From: Krzysztof Kozlowski @ 2023-04-14 20:40 UTC (permalink / raw)
  To: Andreas Klinger, linux-iio, devicetree
  Cc: Jonathan Cameron, Lars-Peter Clausen, Rob Herring,
	Krzysztof Kozlowski, Angel Iglesias, linux-kernel

On 14/04/2023 14:48, Andreas Klinger wrote:
> 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

> 
> Add dt-bindings.
> 
> Signed-off-by: Andreas Klinger <ak@it-klinger.de>

Patches 2 and 3 are missing. At least they were mentioned in the
changelog but this is 1/1.

> ---
>  .../iio/pressure/honeywell,mprls0025pa.yaml   | 93 +++++++++++++++++++
>  1 file changed, 93 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml
> 
> diff --git a/Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml b/Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml
> new file mode 100644
> index 000000000000..c0eb3c4be16f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml
> @@ -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 <ak@it-klinger.de>
> +
> +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.

> +  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

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


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

* Re: [PATCH v2 1/1] dt-bindings: iio: pressure: Support Honeywell mprls0025pa sensor
  2023-04-14 20:40   ` Krzysztof Kozlowski
@ 2023-04-14 20:42     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 5+ messages in thread
From: Krzysztof Kozlowski @ 2023-04-14 20:42 UTC (permalink / raw)
  To: Andreas Klinger, linux-iio, devicetree
  Cc: Jonathan Cameron, Lars-Peter Clausen, Rob Herring,
	Krzysztof Kozlowski, Angel Iglesias, linux-kernel

On 14/04/2023 22:40, Krzysztof Kozlowski wrote:
> On 14/04/2023 14:48, Andreas Klinger wrote:
>> 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
> 
>>
>> Add dt-bindings.
>>
>> Signed-off-by: Andreas Klinger <ak@it-klinger.de>
> 
> Patches 2 and 3 are missing. At least they were mentioned in the
> changelog but this is 1/1.
> 
>> ---
>>  .../iio/pressure/honeywell,mprls0025pa.yaml   | 93 +++++++++++++++++++
>>  1 file changed, 93 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml b/Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml
>> new file mode 100644
>> index 000000000000..c0eb3c4be16f
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml
>> @@ -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 <ak@it-klinger.de>
>> +
>> +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.
> 
>> +  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
> 
> 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.

... and as Rob's bot pointed out, test it before sending.

Best regards,
Krzysztof


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

end of thread, other threads:[~2023-04-14 20:42 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-14 12:46 [PATCH v2 0/1] Support Honeywell mprls0025pa pressure sensor Andreas Klinger
2023-04-14 12:48 ` [PATCH v2 1/1] dt-bindings: iio: pressure: Support Honeywell mprls0025pa sensor Andreas Klinger
2023-04-14 18:37   ` Rob Herring
2023-04-14 20:40   ` Krzysztof Kozlowski
2023-04-14 20:42     ` Krzysztof Kozlowski

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.