File Index
Files and directories
Sign in
FILE

honeywell,mprls0025pa.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/iio/pressure/honeywell,mprls0025pa.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Honeywell mprls0025pa pressure sensor
  8
  9maintainers:
 10  - Andreas Klinger <ak@it-klinger.de>
 11  - Petre Rodan <petre.rodan@subdimension.ro>
 12
 13description: |
 14  Honeywell pressure sensor of model mprls0025pa.
 15
 16  This sensor has an I2C and SPI interface.
 17
 18  There are many models with different pressure ranges available. The vendor
 19  calls them "mpr series". All of them have the identical programming model and
 20  differ in the pressure range, unit and transfer function.
 21
 22  To support different models one need to specify its pressure triplet as well
 23  as the transfer function.
 24
 25  For custom silicon chips not covered by the Honeywell MPR series datasheet,
 26  the pressure values can be specified manually via honeywell,pmin-pascal and
 27  honeywell,pmax-pascal.
 28  The minimal range value stands for the minimum pressure and the maximum value
 29  also for the maximum pressure with linear relation inside the range.
 30
 31  The transfer function defines the ranges of numerical values delivered by the
 32  sensor.
 33
 34  Specifications about the devices can be found at:
 35    https://prod-edam.honeywell.com/content/dam/honeywell-edam/sps/siot/en-us/
 36      products/sensors/pressure-sensors/board-mount-pressure-sensors/
 37      micropressure-mpr-series/documents/
 38      sps-siot-mpr-series-datasheet-32332628-ciid-172626.pdf
 39
 40properties:
 41  compatible:
 42    const: honeywell,mprls0025pa
 43
 44  reg:
 45    maxItems: 1
 46
 47  interrupts:
 48    description:
 49      Optional interrupt for indicating End-of-conversion.
 50      If not present, the driver loops for a while until the received status
 51      byte indicates correct measurement.
 52    maxItems: 1
 53
 54  reset-gpios:
 55    description:
 56      Optional GPIO for resetting the device.
 57      If not present the device is not reset during the probe.
 58    maxItems: 1
 59
 60  honeywell,transfer-function:
 61    description: |
 62      Transfer function which defines the range of valid values delivered by the
 63      sensor.
 64      1 - A, 10% to 90% of 2^24 (1677722 .. 15099494)
 65      2 - B, 2.5% to 22.5% of 2^24 (419430 .. 3774874)
 66      3 - C, 20% to 80% of 2^24 (3355443 .. 13421773)
 67    enum: [1, 2, 3]
 68    $ref: /schemas/types.yaml#/definitions/uint32
 69
 70  honeywell,pressure-triplet:
 71    description: |
 72      Case-sensitive five character string that defines pressure range, unit
 73      and type as part of the device nomenclature. In the unlikely case of a
 74      custom chip, unset and provide pmin-pascal and pmax-pascal instead.
 75    enum: [0001BA, 01.6BA, 02.5BA, 0060MG, 0100MG, 0160MG, 0250MG, 0400MG,
 76           0600MG, 0001BG, 01.6BG, 02.5BG, 0100KA, 0160KA, 0250KA, 0006KG,
 77           0010KG, 0016KG, 0025KG, 0040KG, 0060KG, 0100KG, 0160KG, 0250KG,
 78           0015PA, 0025PA, 0030PA, 0001PG, 0005PG, 0015PG, 0030PG, 0300YG]
 79    $ref: /schemas/types.yaml#/definitions/string
 80
 81  honeywell,pmin-pascal:
 82    description:
 83      Minimum pressure value the sensor can measure in pascal.
 84
 85  honeywell,pmax-pascal:
 86    description:
 87      Maximum pressure value the sensor can measure in pascal.
 88
 89  spi-max-frequency:
 90    maximum: 800000
 91
 92  vdd-supply:
 93    description: provide VDD power to the sensor.
 94
 95required:
 96  - compatible
 97  - reg
 98  - honeywell,transfer-function
 99  - vdd-supply
100
101oneOf:
102  - required:
103      - honeywell,pressure-triplet
104  - required:
105      - honeywell,pmin-pascal
106      - honeywell,pmax-pascal
107
108allOf:
109  - $ref: /schemas/spi/spi-peripheral-props.yaml
110  - if:
111      required:
112        - honeywell,pressure-triplet
113    then:
114      properties:
115        honeywell,pmin-pascal: false
116        honeywell,pmax-pascal: false
117
118unevaluatedProperties: false
119
120examples:
121  - |
122    #include <dt-bindings/gpio/gpio.h>
123    #include <dt-bindings/interrupt-controller/irq.h>
124    i2c {
125        #address-cells = <1>;
126        #size-cells = <0>;
127
128        pressure@18 {
129            compatible = "honeywell,mprls0025pa";
130            reg = <0x18>;
131            reset-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;
132            interrupt-parent = <&gpio3>;
133            interrupts = <21 IRQ_TYPE_EDGE_RISING>;
134
135            honeywell,pressure-triplet = "0025PA";
136            honeywell,transfer-function = <1>;
137            vdd-supply = <&vcc_3v3>;
138        };
139    };
140  - |
141    spi {
142        #address-cells = <1>;
143        #size-cells = <0>;
144
145        pressure@0 {
146            compatible = "honeywell,mprls0025pa";
147            reg = <0>;
148            spi-max-frequency = <800000>;
149            reset-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
150            interrupt-parent = <&gpio0>;
151            interrupts = <30 IRQ_TYPE_EDGE_RISING>;
152
153            honeywell,pressure-triplet = "0015PA";
154            honeywell,transfer-function = <1>;
155            vdd-supply = <&vcc_3v3>;
156        };
157    };
158...
~/ Read-only file preview.