xref: /linux/Documentation/devicetree/bindings/iio/imu/bosch,bmi323.yaml (revision 4b660dbd9ee2059850fd30e0df420ca7a38a1856)
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    description:
42      set if the specified interrupt pin should be configured as
43      open drain. If not set, defaults to push-pull.
44
45  mount-matrix:
46    description:
47      an optional 3x3 mounting rotation matrix.
48
49required:
50  - compatible
51  - reg
52  - vdd-supply
53  - vddio-supply
54
55allOf:
56  - $ref: /schemas/spi/spi-peripheral-props.yaml#
57
58unevaluatedProperties: false
59
60examples:
61  - |
62    // Example for I2C
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,bmi323";
70            reg = <0x68>;
71            vddio-supply = <&vddio>;
72            vdd-supply = <&vdd>;
73            interrupt-parent = <&gpio1>;
74            interrupts = <29 IRQ_TYPE_EDGE_RISING>;
75            interrupt-names = "INT1";
76        };
77    };
78