| # 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 mprls0025pa pressure sensor |
| |
| maintainers: |
| - Andreas Klinger <ak@it-klinger.de> |
| - Petre Rodan <petre.rodan@subdimension.ro> |
| |
| description: | |
| Honeywell pressure sensor of model mprls0025pa. |
| |
| This sensor has an I2C and SPI interface. |
| |
| 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 its pressure triplet as well |
| as the transfer function. |
| |
| 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 |
| sensor. |
| |
| 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: |
| description: |
| Optional interrupt for indicating End-of-conversion. |
| If not present, the driver loops for a while until the received status |
| byte indicates correct measurement. |
| maxItems: 1 |
| |
| reset-gpios: |
| description: |
| Optional GPIO for resetting the device. |
| If not present the device is not reset during the probe. |
| maxItems: 1 |
| |
| 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) |
| enum: [1, 2, 3] |
| $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. |
| |
| spi-max-frequency: |
| maximum: 800000 |
| |
| vdd-supply: |
| description: provide VDD power to the sensor. |
| |
| required: |
| - compatible |
| - reg |
| - honeywell,transfer-function |
| - vdd-supply |
| |
| oneOf: |
| - required: |
| - honeywell,pressure-triplet |
| - required: |
| - honeywell,pmin-pascal |
| - honeywell,pmax-pascal |
| |
| allOf: |
| - $ref: /schemas/spi/spi-peripheral-props.yaml |
| - if: |
| required: |
| - honeywell,pressure-triplet |
| then: |
| properties: |
| honeywell,pmin-pascal: false |
| honeywell,pmax-pascal: false |
| |
| 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_RISING>; |
| |
| honeywell,pressure-triplet = "0025PA"; |
| honeywell,transfer-function = <1>; |
| vdd-supply = <&vcc_3v3>; |
| }; |
| }; |
| - | |
| spi { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| pressure@0 { |
| compatible = "honeywell,mprls0025pa"; |
| reg = <0>; |
| spi-max-frequency = <800000>; |
| reset-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>; |
| interrupt-parent = <&gpio0>; |
| interrupts = <30 IRQ_TYPE_EDGE_RISING>; |
| |
| honeywell,pressure-triplet = "0015PA"; |
| honeywell,transfer-function = <1>; |
| vdd-supply = <&vcc_3v3>; |
| }; |
| }; |
| ... |