xref: /linux/Documentation/devicetree/bindings/iio/imu/bosch,bmi270.yaml (revision d723c456ef5ad60d368e62791004fd152c4380aa)
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    const: bosch,bmi270
22
23  reg:
24    maxItems: 1
25
26  vdd-supply: true
27  vddio-supply: true
28
29  interrupts:
30    minItems: 1
31    maxItems: 2
32
33  interrupt-names:
34    minItems: 1
35    maxItems: 2
36    items:
37      enum:
38        - INT1
39        - INT2
40
41  drive-open-drain:
42    description:
43      set if the specified interrupt pins should be configured as
44      open drain. If not set, defaults to push-pull.
45
46  mount-matrix:
47    description:
48      an optional 3x3 mounting rotation matrix.
49
50required:
51  - compatible
52  - reg
53  - vdd-supply
54  - vddio-supply
55
56allOf:
57  - $ref: /schemas/spi/spi-peripheral-props.yaml#
58
59unevaluatedProperties: false
60
61examples:
62  - |
63    #include <dt-bindings/interrupt-controller/irq.h>
64    i2c {
65        #address-cells = <1>;
66        #size-cells = <0>;
67
68        imu@68 {
69            compatible = "bosch,bmi270";
70            reg = <0x68>;
71            vdd-supply = <&vdd>;
72            vddio-supply = <&vddio>;
73            interrupt-parent = <&gpio1>;
74            interrupts = <16 IRQ_TYPE_EDGE_RISING>;
75            interrupt-names = "INT1";
76        };
77    };
78