Re: [PATCH v2 02/10] dt-bindings: iio: pressure: honeywell,mprls0025pa.yaml add pressure-triplet

From: Krzysztof Kozlowski
Date: Mon Dec 25 2023 - 07:57:57 EST


On 24/12/2023 15:34, Petre Rodan wrote:
> Change order of properties in order for the end user to de-prioritize
> 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.
>
> Signed-off-by: Petre Rodan <petre.rodan@xxxxxxxxxxxxxxx>
> Signed-off-by: Andreas Klinger <ak@xxxxxxxxxxxxx>
> ---
> .../iio/pressure/honeywell,mprls0025pa.yaml | 64 ++++++++++++++-----
> 1 file changed, 47 insertions(+), 17 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml b/Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml
> index 84ced4e5a7da..e4021306d187 100644
> --- a/Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml
> +++ b/Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml
> @@ -19,14 +19,17 @@ description: |
> 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
> + To support different models one need to specify its pressure triplet as well
> + as the transfer function.
> +
> + For custom models the pressure values can alternatively be specified manually.
> + The minimal range value stands for the minimum pressure and the maximum value
> + also for the maximum pressure with linear relation inside the range.
> + Pressure range needs to be converted from the datasheet specified 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.
> + sensor.
>
> Specifications about the devices can be found at:
> 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.
> 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:
> description: |
> Transfer function which defines the range of valid values delivered by the
> @@ -72,17 +67,52 @@ properties:
> enum: [1, 2, 3]
> $ref: /schemas/types.yaml#/definitions/uint32
>
> + honeywell,pressure-triplet:

Why not putting it just before existing properties?

> + 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.
> + To be specified only if honeywell,pressure-triplet is not set.

The last sentence is redundant - schema should enforce that.

> +
> + honeywell,pmax-pascal:
> + description:
> + Maximum pressure value the sensor can measure in pascal.
> + To be specified only if honeywell,pressure-triplet is not set.
> +
> vdd-supply:
> description: provide VDD power to the sensor.
>
> required:
> - compatible
> - reg
> - - honeywell,pmin-pascal
> - - honeywell,pmax-pascal
> - honeywell,transfer-function
> - vdd-supply
>
> +oneOf:
> + - required:
> + - honeywell,pmin-pascal
> + - honeywell,pmax-pascal
> + - required:
> + - honeywell,pressure-triplet
> +
> +allOf:
> + - if:
> + required:
> + - honeywell,pressure-triplet
> + then:
> + properties:
> + honeywell,pmin-pascal: false
> + honeywell,pmax-pascal: false

This allOf is not needed.

Best regards,
Krzysztof