xref: /freebsd/sys/contrib/device-tree/Bindings/iio/imu/bosch,bmi323.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1*8d13bc63SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*8d13bc63SEmmanuel Vadot%YAML 1.2
3*8d13bc63SEmmanuel Vadot---
4*8d13bc63SEmmanuel Vadot$id: http://devicetree.org/schemas/iio/imu/bosch,bmi323.yaml#
5*8d13bc63SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*8d13bc63SEmmanuel Vadot
7*8d13bc63SEmmanuel Vadottitle: Bosch BMI323 6-Axis IMU
8*8d13bc63SEmmanuel Vadot
9*8d13bc63SEmmanuel Vadotmaintainers:
10*8d13bc63SEmmanuel Vadot  - Jagath Jog J <jagathjog1996@gmail.com>
11*8d13bc63SEmmanuel Vadot
12*8d13bc63SEmmanuel Vadotdescription:
13*8d13bc63SEmmanuel Vadot  BMI323 is a 6-axis inertial measurement unit that supports acceleration and
14*8d13bc63SEmmanuel Vadot  gyroscopic measurements with hardware fifo buffering. Sensor also provides
15*8d13bc63SEmmanuel Vadot  events information such as motion, steps, orientation, single and double
16*8d13bc63SEmmanuel Vadot  tap detection.
17*8d13bc63SEmmanuel Vadot
18*8d13bc63SEmmanuel Vadotproperties:
19*8d13bc63SEmmanuel Vadot  compatible:
20*8d13bc63SEmmanuel Vadot    const: bosch,bmi323
21*8d13bc63SEmmanuel Vadot
22*8d13bc63SEmmanuel Vadot  reg:
23*8d13bc63SEmmanuel Vadot    maxItems: 1
24*8d13bc63SEmmanuel Vadot
25*8d13bc63SEmmanuel Vadot  vdd-supply: true
26*8d13bc63SEmmanuel Vadot  vddio-supply: true
27*8d13bc63SEmmanuel Vadot
28*8d13bc63SEmmanuel Vadot  interrupts:
29*8d13bc63SEmmanuel Vadot    minItems: 1
30*8d13bc63SEmmanuel Vadot    maxItems: 2
31*8d13bc63SEmmanuel Vadot
32*8d13bc63SEmmanuel Vadot  interrupt-names:
33*8d13bc63SEmmanuel Vadot    minItems: 1
34*8d13bc63SEmmanuel Vadot    maxItems: 2
35*8d13bc63SEmmanuel Vadot    items:
36*8d13bc63SEmmanuel Vadot      enum:
37*8d13bc63SEmmanuel Vadot        - INT1
38*8d13bc63SEmmanuel Vadot        - INT2
39*8d13bc63SEmmanuel Vadot
40*8d13bc63SEmmanuel Vadot  drive-open-drain:
41*8d13bc63SEmmanuel Vadot    description:
42*8d13bc63SEmmanuel Vadot      set if the specified interrupt pin should be configured as
43*8d13bc63SEmmanuel Vadot      open drain. If not set, defaults to push-pull.
44*8d13bc63SEmmanuel Vadot
45*8d13bc63SEmmanuel Vadot  mount-matrix:
46*8d13bc63SEmmanuel Vadot    description:
47*8d13bc63SEmmanuel Vadot      an optional 3x3 mounting rotation matrix.
48*8d13bc63SEmmanuel Vadot
49*8d13bc63SEmmanuel Vadotrequired:
50*8d13bc63SEmmanuel Vadot  - compatible
51*8d13bc63SEmmanuel Vadot  - reg
52*8d13bc63SEmmanuel Vadot  - vdd-supply
53*8d13bc63SEmmanuel Vadot  - vddio-supply
54*8d13bc63SEmmanuel Vadot
55*8d13bc63SEmmanuel VadotallOf:
56*8d13bc63SEmmanuel Vadot  - $ref: /schemas/spi/spi-peripheral-props.yaml#
57*8d13bc63SEmmanuel Vadot
58*8d13bc63SEmmanuel VadotunevaluatedProperties: false
59*8d13bc63SEmmanuel Vadot
60*8d13bc63SEmmanuel Vadotexamples:
61*8d13bc63SEmmanuel Vadot  - |
62*8d13bc63SEmmanuel Vadot    // Example for I2C
63*8d13bc63SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
64*8d13bc63SEmmanuel Vadot    i2c {
65*8d13bc63SEmmanuel Vadot        #address-cells = <1>;
66*8d13bc63SEmmanuel Vadot        #size-cells = <0>;
67*8d13bc63SEmmanuel Vadot
68*8d13bc63SEmmanuel Vadot        imu@68 {
69*8d13bc63SEmmanuel Vadot            compatible = "bosch,bmi323";
70*8d13bc63SEmmanuel Vadot            reg = <0x68>;
71*8d13bc63SEmmanuel Vadot            vddio-supply = <&vddio>;
72*8d13bc63SEmmanuel Vadot            vdd-supply = <&vdd>;
73*8d13bc63SEmmanuel Vadot            interrupt-parent = <&gpio1>;
74*8d13bc63SEmmanuel Vadot            interrupts = <29 IRQ_TYPE_EDGE_RISING>;
75*8d13bc63SEmmanuel Vadot            interrupt-names = "INT1";
76*8d13bc63SEmmanuel Vadot        };
77*8d13bc63SEmmanuel Vadot    };
78