Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | # 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>; }; }; ... |