162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/iio/pressure/honeywell,mprls0025pa.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Honeywell mprls0025pa pressure sensor 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Andreas Klinger <ak@it-klinger.de> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci Honeywell pressure sensor of model mprls0025pa. 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci This sensor has an I2C and SPI interface. Only the I2C interface is 1662306a36Sopenharmony_ci implemented. 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci There are many models with different pressure ranges available. The vendor 1962306a36Sopenharmony_ci calls them "mpr series". All of them have the identical programming model and 2062306a36Sopenharmony_ci differ in the pressure range, unit and transfer function. 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci To support different models one need to specify the pressure range as well as 2362306a36Sopenharmony_ci the transfer function. Pressure range needs to be converted from its unit to 2462306a36Sopenharmony_ci pascal. 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci The transfer function defines the ranges of numerical values delivered by the 2762306a36Sopenharmony_ci sensor. The minimal range value stands for the minimum pressure and the 2862306a36Sopenharmony_ci maximum value also for the maximum pressure with linear relation inside the 2962306a36Sopenharmony_ci range. 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci Specifications about the devices can be found at: 3262306a36Sopenharmony_ci https://prod-edam.honeywell.com/content/dam/honeywell-edam/sps/siot/en-us/ 3362306a36Sopenharmony_ci products/sensors/pressure-sensors/board-mount-pressure-sensors/ 3462306a36Sopenharmony_ci micropressure-mpr-series/documents/ 3562306a36Sopenharmony_ci sps-siot-mpr-series-datasheet-32332628-ciid-172626.pdf 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ciproperties: 3862306a36Sopenharmony_ci compatible: 3962306a36Sopenharmony_ci const: honeywell,mprls0025pa 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci reg: 4262306a36Sopenharmony_ci maxItems: 1 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci interrupts: 4562306a36Sopenharmony_ci maxItems: 1 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci reset-gpios: 4862306a36Sopenharmony_ci description: 4962306a36Sopenharmony_ci Optional GPIO for resetting the device. 5062306a36Sopenharmony_ci If not present the device is not reset during the probe. 5162306a36Sopenharmony_ci maxItems: 1 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci honeywell,pmin-pascal: 5462306a36Sopenharmony_ci description: 5562306a36Sopenharmony_ci Minimum pressure value the sensor can measure in pascal. 5662306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci honeywell,pmax-pascal: 5962306a36Sopenharmony_ci description: 6062306a36Sopenharmony_ci Maximum pressure value the sensor can measure in pascal. 6162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci honeywell,transfer-function: 6462306a36Sopenharmony_ci description: | 6562306a36Sopenharmony_ci Transfer function which defines the range of valid values delivered by the 6662306a36Sopenharmony_ci sensor. 6762306a36Sopenharmony_ci 1 - A, 10% to 90% of 2^24 (1677722 .. 15099494) 6862306a36Sopenharmony_ci 2 - B, 2.5% to 22.5% of 2^24 (419430 .. 3774874) 6962306a36Sopenharmony_ci 3 - C, 20% to 80% of 2^24 (3355443 .. 13421773) 7062306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci vdd-supply: 7362306a36Sopenharmony_ci description: provide VDD power to the sensor. 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_cirequired: 7662306a36Sopenharmony_ci - compatible 7762306a36Sopenharmony_ci - reg 7862306a36Sopenharmony_ci - honeywell,pmin-pascal 7962306a36Sopenharmony_ci - honeywell,pmax-pascal 8062306a36Sopenharmony_ci - honeywell,transfer-function 8162306a36Sopenharmony_ci - vdd-supply 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ciadditionalProperties: false 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ciexamples: 8662306a36Sopenharmony_ci - | 8762306a36Sopenharmony_ci #include <dt-bindings/gpio/gpio.h> 8862306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 8962306a36Sopenharmony_ci i2c { 9062306a36Sopenharmony_ci #address-cells = <1>; 9162306a36Sopenharmony_ci #size-cells = <0>; 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ci pressure@18 { 9462306a36Sopenharmony_ci compatible = "honeywell,mprls0025pa"; 9562306a36Sopenharmony_ci reg = <0x18>; 9662306a36Sopenharmony_ci reset-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>; 9762306a36Sopenharmony_ci interrupt-parent = <&gpio3>; 9862306a36Sopenharmony_ci interrupts = <21 IRQ_TYPE_EDGE_FALLING>; 9962306a36Sopenharmony_ci honeywell,pmin-pascal = <0>; 10062306a36Sopenharmony_ci honeywell,pmax-pascal = <172369>; 10162306a36Sopenharmony_ci honeywell,transfer-function = <1>; 10262306a36Sopenharmony_ci vdd-supply = <&vcc_3v3>; 10362306a36Sopenharmony_ci }; 10462306a36Sopenharmony_ci }; 105