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