Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml
26309 views
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
7
title: Honeywell mprls0025pa pressure sensor
8
9
maintainers:
10
- Andreas Klinger <ak@it-klinger.de>
11
- Petre Rodan <petre.rodan@subdimension.ro>
12
13
description: |
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
40
properties:
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
95
required:
96
- compatible
97
- reg
98
- honeywell,transfer-function
99
- vdd-supply
100
101
oneOf:
102
- required:
103
- honeywell,pressure-triplet
104
- required:
105
- honeywell,pmin-pascal
106
- honeywell,pmax-pascal
107
108
allOf:
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
118
unevaluatedProperties: false
119
120
examples:
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
160