brintos

brintos / linux-shallow public Read only

0
0
Text · 4.8 KiB · 6994b30 Raw
159 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---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 sensor8 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 vendor19  calls them "mpr series". All of them have the identical programming model and20  differ in the pressure range, unit and transfer function.21 22  To support different models one need to specify its pressure triplet as well23  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 and27  honeywell,pmax-pascal.28  The minimal range value stands for the minimum pressure and the maximum value29  also for the maximum pressure with linear relation inside the range.30 31  The transfer function defines the ranges of numerical values delivered by the32  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.pdf39 40properties:41  compatible:42    const: honeywell,mprls0025pa43 44  reg:45    maxItems: 146 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 status51      byte indicates correct measurement.52    maxItems: 153 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: 159 60  honeywell,transfer-function:61    description: |62      Transfer function which defines the range of valid values delivered by the63      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/uint3269 70  honeywell,pressure-triplet:71    description: |72      Case-sensitive five character string that defines pressure range, unit73      and type as part of the device nomenclature. In the unlikely case of a74      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/string80 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: 80000091 92  vdd-supply:93    description: provide VDD power to the sensor.94 95required:96  - compatible97  - reg98  - honeywell,transfer-function99  - vdd-supply100 101oneOf:102  - required:103      - honeywell,pressure-triplet104  - required:105      - honeywell,pmin-pascal106      - honeywell,pmax-pascal107 108allOf:109  - $ref: /schemas/spi/spi-peripheral-props.yaml110  - if:111      required:112        - honeywell,pressure-triplet113    then:114      properties:115        honeywell,pmin-pascal: false116        honeywell,pmax-pascal: false117 118additionalProperties: false119 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...159