xref: /linux/Documentation/devicetree/bindings/iio/imu/bosch,bmi270.yaml (revision 1260ed77798502de9c98020040d2995008de10cc)
1242b6890SAlex Lanzano# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2242b6890SAlex Lanzano%YAML 1.2
3242b6890SAlex Lanzano---
4242b6890SAlex Lanzano$id: http://devicetree.org/schemas/iio/imu/bosch,bmi270.yaml#
5242b6890SAlex Lanzano$schema: http://devicetree.org/meta-schemas/core.yaml#
6242b6890SAlex Lanzano
7242b6890SAlex Lanzanotitle: Bosch BMI270 6-Axis IMU
8242b6890SAlex Lanzano
9242b6890SAlex Lanzanomaintainers:
10242b6890SAlex Lanzano  - Alex Lanzano <lanzano.alex@gmail.com>
11242b6890SAlex Lanzano
12242b6890SAlex Lanzanodescription: |
13242b6890SAlex Lanzano  BMI270 is a 6-axis inertial measurement unit that can measure acceleration and
14242b6890SAlex Lanzano  angular velocity. The sensor also supports configurable interrupt events such
15242b6890SAlex Lanzano  as motion, step counter, and wrist motion gestures. The sensor can communicate
16242b6890SAlex Lanzano  I2C or SPI.
17242b6890SAlex Lanzano  https://www.bosch-sensortec.com/products/motion-sensors/imus/bmi270/
18242b6890SAlex Lanzano
19242b6890SAlex Lanzanoproperties:
20242b6890SAlex Lanzano  compatible:
21b6ee20afSJustin Weiss    enum:
22b6ee20afSJustin Weiss      - bosch,bmi260
23b6ee20afSJustin Weiss      - bosch,bmi270
24242b6890SAlex Lanzano
25242b6890SAlex Lanzano  reg:
26242b6890SAlex Lanzano    maxItems: 1
27242b6890SAlex Lanzano
28242b6890SAlex Lanzano  vdd-supply: true
29242b6890SAlex Lanzano  vddio-supply: true
30242b6890SAlex Lanzano
31242b6890SAlex Lanzano  interrupts:
32242b6890SAlex Lanzano    minItems: 1
33242b6890SAlex Lanzano    maxItems: 2
34242b6890SAlex Lanzano
35242b6890SAlex Lanzano  interrupt-names:
36242b6890SAlex Lanzano    minItems: 1
37242b6890SAlex Lanzano    maxItems: 2
38242b6890SAlex Lanzano    items:
39242b6890SAlex Lanzano      enum:
40242b6890SAlex Lanzano        - INT1
41242b6890SAlex Lanzano        - INT2
42242b6890SAlex Lanzano
43242b6890SAlex Lanzano  drive-open-drain:
44*890faa29SVasileios Amoiridis    type: boolean
45242b6890SAlex Lanzano    description:
46242b6890SAlex Lanzano      set if the specified interrupt pins should be configured as
47242b6890SAlex Lanzano      open drain. If not set, defaults to push-pull.
48242b6890SAlex Lanzano
49242b6890SAlex Lanzano  mount-matrix:
50242b6890SAlex Lanzano    description:
51242b6890SAlex Lanzano      an optional 3x3 mounting rotation matrix.
52242b6890SAlex Lanzano
53242b6890SAlex Lanzanorequired:
54242b6890SAlex Lanzano  - compatible
55242b6890SAlex Lanzano  - reg
56242b6890SAlex Lanzano  - vdd-supply
57242b6890SAlex Lanzano  - vddio-supply
58242b6890SAlex Lanzano
59242b6890SAlex LanzanoallOf:
60242b6890SAlex Lanzano  - $ref: /schemas/spi/spi-peripheral-props.yaml#
61242b6890SAlex Lanzano
62242b6890SAlex LanzanounevaluatedProperties: false
63242b6890SAlex Lanzano
64242b6890SAlex Lanzanoexamples:
65242b6890SAlex Lanzano  - |
66242b6890SAlex Lanzano    #include <dt-bindings/interrupt-controller/irq.h>
67242b6890SAlex Lanzano    i2c {
68242b6890SAlex Lanzano        #address-cells = <1>;
69242b6890SAlex Lanzano        #size-cells = <0>;
70242b6890SAlex Lanzano
71242b6890SAlex Lanzano        imu@68 {
72242b6890SAlex Lanzano            compatible = "bosch,bmi270";
73242b6890SAlex Lanzano            reg = <0x68>;
74242b6890SAlex Lanzano            vdd-supply = <&vdd>;
75242b6890SAlex Lanzano            vddio-supply = <&vddio>;
76242b6890SAlex Lanzano            interrupt-parent = <&gpio1>;
77242b6890SAlex Lanzano            interrupts = <16 IRQ_TYPE_EDGE_RISING>;
78242b6890SAlex Lanzano            interrupt-names = "INT1";
79242b6890SAlex Lanzano        };
80242b6890SAlex Lanzano    };
81