xref: /linux/Documentation/devicetree/bindings/iio/imu/bosch,bmi270.yaml (revision 1260ed77798502de9c98020040d2995008de10cc)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/iio/imu/bosch,bmi270.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Bosch BMI270 6-Axis IMU
8
9maintainers:
10  - Alex Lanzano <lanzano.alex@gmail.com>
11
12description: |
13  BMI270 is a 6-axis inertial measurement unit that can measure acceleration and
14  angular velocity. The sensor also supports configurable interrupt events such
15  as motion, step counter, and wrist motion gestures. The sensor can communicate
16  I2C or SPI.
17  https://www.bosch-sensortec.com/products/motion-sensors/imus/bmi270/
18
19properties:
20  compatible:
21    enum:
22      - bosch,bmi260
23      - bosch,bmi270
24
25  reg:
26    maxItems: 1
27
28  vdd-supply: true
29  vddio-supply: true
30
31  interrupts:
32    minItems: 1
33    maxItems: 2
34
35  interrupt-names:
36    minItems: 1
37    maxItems: 2
38    items:
39      enum:
40        - INT1
41        - INT2
42
43  drive-open-drain:
44    type: boolean
45    description:
46      set if the specified interrupt pins should be configured as
47      open drain. If not set, defaults to push-pull.
48
49  mount-matrix:
50    description:
51      an optional 3x3 mounting rotation matrix.
52
53required:
54  - compatible
55  - reg
56  - vdd-supply
57  - vddio-supply
58
59allOf:
60  - $ref: /schemas/spi/spi-peripheral-props.yaml#
61
62unevaluatedProperties: false
63
64examples:
65  - |
66    #include <dt-bindings/interrupt-controller/irq.h>
67    i2c {
68        #address-cells = <1>;
69        #size-cells = <0>;
70
71        imu@68 {
72            compatible = "bosch,bmi270";
73            reg = <0x68>;
74            vdd-supply = <&vdd>;
75            vddio-supply = <&vddio>;
76            interrupt-parent = <&gpio1>;
77            interrupts = <16 IRQ_TYPE_EDGE_RISING>;
78            interrupt-names = "INT1";
79        };
80    };
81