1f126890aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2f126890aSEmmanuel Vadot%YAML 1.2
3f126890aSEmmanuel Vadot---
4f126890aSEmmanuel Vadot$id: http://devicetree.org/schemas/iio/pressure/honeywell,mprls0025pa.yaml#
5f126890aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6f126890aSEmmanuel Vadot
7f126890aSEmmanuel Vadottitle: Honeywell mprls0025pa pressure sensor
8f126890aSEmmanuel Vadot
9f126890aSEmmanuel Vadotmaintainers:
10f126890aSEmmanuel Vadot  - Andreas Klinger <ak@it-klinger.de>
11f126890aSEmmanuel Vadot
12f126890aSEmmanuel Vadotdescription: |
13f126890aSEmmanuel Vadot  Honeywell pressure sensor of model mprls0025pa.
14f126890aSEmmanuel Vadot
15f126890aSEmmanuel Vadot  This sensor has an I2C and SPI interface. Only the I2C interface is
16f126890aSEmmanuel Vadot  implemented.
17f126890aSEmmanuel Vadot
18f126890aSEmmanuel Vadot  There are many models with different pressure ranges available. The vendor
19f126890aSEmmanuel Vadot  calls them "mpr series". All of them have the identical programming model and
20f126890aSEmmanuel Vadot  differ in the pressure range, unit and transfer function.
21f126890aSEmmanuel Vadot
22f126890aSEmmanuel Vadot  To support different models one need to specify the pressure range as well as
23f126890aSEmmanuel Vadot  the transfer function. Pressure range needs to be converted from its unit to
24f126890aSEmmanuel Vadot  pascal.
25f126890aSEmmanuel Vadot
26f126890aSEmmanuel Vadot  The transfer function defines the ranges of numerical values delivered by the
27f126890aSEmmanuel Vadot  sensor. The minimal range value stands for the minimum pressure and the
28f126890aSEmmanuel Vadot  maximum value also for the maximum pressure with linear relation inside the
29f126890aSEmmanuel Vadot  range.
30f126890aSEmmanuel Vadot
31f126890aSEmmanuel Vadot  Specifications about the devices can be found at:
32f126890aSEmmanuel Vadot    https://prod-edam.honeywell.com/content/dam/honeywell-edam/sps/siot/en-us/
33f126890aSEmmanuel Vadot      products/sensors/pressure-sensors/board-mount-pressure-sensors/
34f126890aSEmmanuel Vadot      micropressure-mpr-series/documents/
35f126890aSEmmanuel Vadot      sps-siot-mpr-series-datasheet-32332628-ciid-172626.pdf
36f126890aSEmmanuel Vadot
37f126890aSEmmanuel Vadotproperties:
38f126890aSEmmanuel Vadot  compatible:
39f126890aSEmmanuel Vadot    const: honeywell,mprls0025pa
40f126890aSEmmanuel Vadot
41f126890aSEmmanuel Vadot  reg:
42f126890aSEmmanuel Vadot    maxItems: 1
43f126890aSEmmanuel Vadot
44f126890aSEmmanuel Vadot  interrupts:
45f126890aSEmmanuel Vadot    maxItems: 1
46f126890aSEmmanuel Vadot
47f126890aSEmmanuel Vadot  reset-gpios:
48f126890aSEmmanuel Vadot    description:
49f126890aSEmmanuel Vadot      Optional GPIO for resetting the device.
50*aa1a8ff2SEmmanuel Vadot      If not present the device is not reset during the probe.
51f126890aSEmmanuel Vadot    maxItems: 1
52f126890aSEmmanuel Vadot
53f126890aSEmmanuel Vadot  honeywell,pmin-pascal:
54f126890aSEmmanuel Vadot    description:
55f126890aSEmmanuel Vadot      Minimum pressure value the sensor can measure in pascal.
56f126890aSEmmanuel Vadot
57f126890aSEmmanuel Vadot  honeywell,pmax-pascal:
58f126890aSEmmanuel Vadot    description:
59f126890aSEmmanuel Vadot      Maximum pressure value the sensor can measure in pascal.
60f126890aSEmmanuel Vadot
61f126890aSEmmanuel Vadot  honeywell,transfer-function:
62f126890aSEmmanuel Vadot    description: |
63f126890aSEmmanuel Vadot      Transfer function which defines the range of valid values delivered by the
64f126890aSEmmanuel Vadot      sensor.
65f126890aSEmmanuel Vadot      1 - A, 10% to 90% of 2^24 (1677722 .. 15099494)
66f126890aSEmmanuel Vadot      2 - B, 2.5% to 22.5% of 2^24 (419430 .. 3774874)
67f126890aSEmmanuel Vadot      3 - C, 20% to 80% of 2^24 (3355443 .. 13421773)
68f126890aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
69f126890aSEmmanuel Vadot
70f126890aSEmmanuel Vadot  vdd-supply:
71f126890aSEmmanuel Vadot    description: provide VDD power to the sensor.
72f126890aSEmmanuel Vadot
73f126890aSEmmanuel Vadotrequired:
74f126890aSEmmanuel Vadot  - compatible
75f126890aSEmmanuel Vadot  - reg
76f126890aSEmmanuel Vadot  - honeywell,pmin-pascal
77f126890aSEmmanuel Vadot  - honeywell,pmax-pascal
78f126890aSEmmanuel Vadot  - honeywell,transfer-function
79f126890aSEmmanuel Vadot  - vdd-supply
80f126890aSEmmanuel Vadot
81f126890aSEmmanuel VadotadditionalProperties: false
82f126890aSEmmanuel Vadot
83f126890aSEmmanuel Vadotexamples:
84f126890aSEmmanuel Vadot  - |
85f126890aSEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
86f126890aSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
87f126890aSEmmanuel Vadot    i2c {
88f126890aSEmmanuel Vadot        #address-cells = <1>;
89f126890aSEmmanuel Vadot        #size-cells = <0>;
90f126890aSEmmanuel Vadot
91f126890aSEmmanuel Vadot        pressure@18 {
92f126890aSEmmanuel Vadot            compatible = "honeywell,mprls0025pa";
93f126890aSEmmanuel Vadot            reg = <0x18>;
94f126890aSEmmanuel Vadot            reset-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;
95f126890aSEmmanuel Vadot            interrupt-parent = <&gpio3>;
96f126890aSEmmanuel Vadot            interrupts = <21 IRQ_TYPE_EDGE_FALLING>;
97f126890aSEmmanuel Vadot            honeywell,pmin-pascal = <0>;
98f126890aSEmmanuel Vadot            honeywell,pmax-pascal = <172369>;
99f126890aSEmmanuel Vadot            honeywell,transfer-function = <1>;
100f126890aSEmmanuel Vadot            vdd-supply = <&vcc_3v3>;
101f126890aSEmmanuel Vadot        };
102f126890aSEmmanuel Vadot    };
103