Commit 0181749d authored by Petre Rodan's avatar Petre Rodan Committed by Jonathan Cameron

dt-bindings: iio: pressure: honeywell,mprls0025pa.yaml add pressure-triplet

Change order of properties in order for the end user to hopefully ignore
pmin-pascal and pmax-pascal which are superseded by pressure-triplet.

Add pressure-triplet property which automatically initializes
pmin-pascal and pmax-pascal inside the driver.

Rework honeywell,pmXX-pascal requirements based on feedback from
Jonathan and Conor.
Co-developed-by: default avatarAndreas Klinger <ak@it-klinger.de>
Signed-off-by: default avatarAndreas Klinger <ak@it-klinger.de>
Signed-off-by: default avatarPetre Rodan <petre.rodan@subdimension.ro>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20231229092445.30180-3-petre.rodan@subdimension.roSigned-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent 7b34e1e3
...@@ -19,14 +19,17 @@ description: | ...@@ -19,14 +19,17 @@ description: |
calls them "mpr series". All of them have the identical programming model and calls them "mpr series". All of them have the identical programming model and
differ in the pressure range, unit and transfer function. differ in the pressure range, unit and transfer function.
To support different models one need to specify the pressure range as well as To support different models one need to specify its pressure triplet as well
the transfer function. Pressure range needs to be converted from its unit to as the transfer function.
pascal.
For custom silicon chips not covered by the Honeywell MPR series datasheet,
the pressure values can be specified manually via honeywell,pmin-pascal and
honeywell,pmax-pascal.
The minimal range value stands for the minimum pressure and the maximum value
also for the maximum pressure with linear relation inside the range.
The transfer function defines the ranges of numerical values delivered by the The transfer function defines the ranges of numerical values delivered by the
sensor. The minimal range value stands for the minimum pressure and the sensor.
maximum value also for the maximum pressure with linear relation inside the
range.
Specifications about the devices can be found at: Specifications about the devices can be found at:
https://prod-edam.honeywell.com/content/dam/honeywell-edam/sps/siot/en-us/ https://prod-edam.honeywell.com/content/dam/honeywell-edam/sps/siot/en-us/
...@@ -54,14 +57,6 @@ properties: ...@@ -54,14 +57,6 @@ properties:
If not present the device is not reset during the probe. If not present the device is not reset during the probe.
maxItems: 1 maxItems: 1
honeywell,pmin-pascal:
description:
Minimum pressure value the sensor can measure in pascal.
honeywell,pmax-pascal:
description:
Maximum pressure value the sensor can measure in pascal.
honeywell,transfer-function: honeywell,transfer-function:
description: | description: |
Transfer function which defines the range of valid values delivered by the Transfer function which defines the range of valid values delivered by the
...@@ -72,17 +67,50 @@ properties: ...@@ -72,17 +67,50 @@ properties:
enum: [1, 2, 3] enum: [1, 2, 3]
$ref: /schemas/types.yaml#/definitions/uint32 $ref: /schemas/types.yaml#/definitions/uint32
honeywell,pressure-triplet:
description: |
Case-sensitive five character string that defines pressure range, unit
and type as part of the device nomenclature. In the unlikely case of a
custom chip, unset and provide pmin-pascal and pmax-pascal instead.
enum: [0001BA, 01.6BA, 02.5BA, 0060MG, 0100MG, 0160MG, 0250MG, 0400MG,
0600MG, 0001BG, 01.6BG, 02.5BG, 0100KA, 0160KA, 0250KA, 0006KG,
0010KG, 0016KG, 0025KG, 0040KG, 0060KG, 0100KG, 0160KG, 0250KG,
0015PA, 0025PA, 0030PA, 0001PG, 0005PG, 0015PG, 0030PG, 0300YG]
$ref: /schemas/types.yaml#/definitions/string
honeywell,pmin-pascal:
description:
Minimum pressure value the sensor can measure in pascal.
honeywell,pmax-pascal:
description:
Maximum pressure value the sensor can measure in pascal.
vdd-supply: vdd-supply:
description: provide VDD power to the sensor. description: provide VDD power to the sensor.
required: required:
- compatible - compatible
- reg - reg
- honeywell,pmin-pascal
- honeywell,pmax-pascal
- honeywell,transfer-function - honeywell,transfer-function
- vdd-supply - vdd-supply
oneOf:
- required:
- honeywell,pressure-triplet
- required:
- honeywell,pmin-pascal
- honeywell,pmax-pascal
allOf:
- if:
required:
- honeywell,pressure-triplet
then:
properties:
honeywell,pmin-pascal: false
honeywell,pmax-pascal: false
additionalProperties: false additionalProperties: false
examples: examples:
...@@ -99,8 +127,8 @@ examples: ...@@ -99,8 +127,8 @@ examples:
reset-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>; reset-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;
interrupt-parent = <&gpio3>; interrupt-parent = <&gpio3>;
interrupts = <21 IRQ_TYPE_EDGE_RISING>; interrupts = <21 IRQ_TYPE_EDGE_RISING>;
honeywell,pmin-pascal = <0>;
honeywell,pmax-pascal = <172369>; honeywell,pressure-triplet = "0025PA";
honeywell,transfer-function = <1>; honeywell,transfer-function = <1>;
vdd-supply = <&vcc_3v3>; vdd-supply = <&vcc_3v3>;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment