xref: /linux/Documentation/devicetree/bindings/iio/imu/bosch,bmi270.yaml (revision 2eff01ee2881becc9daaa0d53477ec202136b1f4)
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    description:
45      set if the specified interrupt pins should be configured as
46      open drain. If not set, defaults to push-pull.
47
48  mount-matrix:
49    description:
50      an optional 3x3 mounting rotation matrix.
51
52required:
53  - compatible
54  - reg
55  - vdd-supply
56  - vddio-supply
57
58allOf:
59  - $ref: /schemas/spi/spi-peripheral-props.yaml#
60
61unevaluatedProperties: false
62
63examples:
64  - |
65    #include <dt-bindings/interrupt-controller/irq.h>
66    i2c {
67        #address-cells = <1>;
68        #size-cells = <0>;
69
70        imu@68 {
71            compatible = "bosch,bmi270";
72            reg = <0x68>;
73            vdd-supply = <&vdd>;
74            vddio-supply = <&vddio>;
75            interrupt-parent = <&gpio1>;
76            interrupts = <16 IRQ_TYPE_EDGE_RISING>;
77            interrupt-names = "INT1";
78        };
79    };
80