xref: /linux/Documentation/devicetree/bindings/iio/imu/bosch,bmi323.yaml (revision 13845bdc869f136f92ad3d40ea09b867bb4ce467)
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,bmi323.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Bosch BMI323 6-Axis IMU
8
9maintainers:
10  - Jagath Jog J <jagathjog1996@gmail.com>
11
12description:
13  BMI323 is a 6-axis inertial measurement unit that supports acceleration and
14  gyroscopic measurements with hardware fifo buffering. Sensor also provides
15  events information such as motion, steps, orientation, single and double
16  tap detection.
17
18properties:
19  compatible:
20    const: bosch,bmi323
21
22  reg:
23    maxItems: 1
24
25  vdd-supply: true
26  vddio-supply: true
27
28  interrupts:
29    minItems: 1
30    maxItems: 2
31
32  interrupt-names:
33    minItems: 1
34    maxItems: 2
35    items:
36      enum:
37        - INT1
38        - INT2
39
40  drive-open-drain:
41    type: boolean
42    description:
43      set if the specified interrupt pin 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    // Example for I2C
64    #include <dt-bindings/interrupt-controller/irq.h>
65    i2c {
66        #address-cells = <1>;
67        #size-cells = <0>;
68
69        imu@68 {
70            compatible = "bosch,bmi323";
71            reg = <0x68>;
72            vddio-supply = <&vddio>;
73            vdd-supply = <&vdd>;
74            interrupt-parent = <&gpio1>;
75            interrupts = <29 IRQ_TYPE_EDGE_RISING>;
76            interrupt-names = "INT1";
77        };
78    };
79