xref: /linux/Documentation/devicetree/bindings/iio/pressure/bmp085.yaml (revision d30c1683aaecb93d2ab95685dc4300a33d3cea7a)
1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/iio/pressure/bmp085.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: BMP085/BMP180/BMP280/BME280/BMP380 pressure iio sensors
8
9maintainers:
10  - Andreas Klinger <ak@it-klinger.de>
11
12description: |
13  Pressure, temperature and humidity iio sensors with i2c and spi interfaces
14
15  Specifications about the sensor can be found at:
16    https://www.bosch-sensortec.com/bst/products/all_products/bmp180
17    https://www.bosch-sensortec.com/bst/products/all_products/bmp280
18    https://www.bosch-sensortec.com/bst/products/all_products/bme280
19    https://www.bosch-sensortec.com/bst/products/all_products/bmp380
20    https://www.bosch-sensortec.com/bst/products/all_products/bmp580
21
22properties:
23  compatible:
24    enum:
25      - bosch,bmp085
26      - bosch,bmp180
27      - bosch,bmp280
28      - bosch,bme280
29      - bosch,bmp380
30      - bosch,bmp580
31
32  reg:
33    maxItems: 1
34
35  vddd-supply:
36    description:
37      digital voltage regulator (see regulator/regulator.txt)
38
39  vdda-supply:
40    description:
41      analog voltage regulator (see regulator/regulator.txt)
42
43  reset-gpios:
44    description:
45      A GPIO line handling reset of the sensor. As the line is active low,
46      it should be marked GPIO_ACTIVE_LOW (see gpio/gpio.txt)
47    maxItems: 1
48
49  interrupts:
50    maxItems: 1
51
52  drive-open-drain:
53    description:
54      set if the interrupt pin should be configured as open drain.
55      If not set, defaults to push-pull configuration.
56    type: boolean
57
58  spi-max-frequency:
59    maximum: 10000000
60
61required:
62  - compatible
63  - vddd-supply
64  - vdda-supply
65
66allOf:
67  - $ref: /schemas/spi/spi-peripheral-props.yaml#
68  - if:
69      properties:
70        compatible:
71          not:
72            contains:
73              enum:
74                - bosch,bmp085
75                - bosch,bmp380
76                - bosch,bmp580
77    then:
78      properties:
79        interrupts: false
80  - if:
81      properties:
82        compatible:
83          contains:
84            enum:
85              - bosch,bmp085
86              - bosch,bmp180
87    then:
88      properties:
89        spi-max-frequency: false
90
91additionalProperties: false
92
93examples:
94  - |
95    #include <dt-bindings/gpio/gpio.h>
96    #include <dt-bindings/interrupt-controller/irq.h>
97    i2c {
98        #address-cells = <1>;
99        #size-cells = <0>;
100        pressure@77 {
101            compatible = "bosch,bmp085";
102            reg = <0x77>;
103            interrupt-parent = <&gpio0>;
104            interrupts = <25 IRQ_TYPE_EDGE_RISING>;
105            reset-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;
106            vddd-supply = <&foo>;
107            vdda-supply = <&bar>;
108        };
109    };
110  - |
111    # include <dt-bindings/gpio/gpio.h>
112    spi {
113        #address-cells = <1>;
114        #size-cells = <0>;
115        pressure@0 {
116            compatible = "bosch,bmp280";
117            reg = <0>;
118            spi-max-frequency = <10000000>;
119            reset-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;
120            vddd-supply = <&foo>;
121            vdda-supply = <&bar>;
122        };
123    };
124