mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-23 16:53:58 -05:00
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: Andreas Klinger <ak@it-klinger.de> Signed-off-by: Andreas Klinger <ak@it-klinger.de> Signed-off-by: Petre Rodan <petre.rodan@subdimension.ro> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20231229092445.30180-3-petre.rodan@subdimension.ro Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
7b34e1e330
commit
0181749d4e
1 changed files with 46 additions and 18 deletions
|
@ -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:
|
||||||
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:
|
||||||
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:
|
||||||
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>;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Reference in a new issue