xref: /linux/Documentation/devicetree/bindings/iio/imu/bosch,smi330.yaml (revision 83bd89291f5cc866f60d32c34e268896c7ba8a3d)
1*1c9986e7SJianping Shen# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*1c9986e7SJianping Shen%YAML 1.2
3*1c9986e7SJianping Shen---
4*1c9986e7SJianping Shen$id: http://devicetree.org/schemas/iio/imu/bosch,smi330.yaml#
5*1c9986e7SJianping Shen$schema: http://devicetree.org/meta-schemas/core.yaml#
6*1c9986e7SJianping Shen
7*1c9986e7SJianping Shentitle: Bosch SMI330 6-Axis IMU
8*1c9986e7SJianping Shen
9*1c9986e7SJianping Shenmaintainers:
10*1c9986e7SJianping Shen  - Stefan Gutmann <stefam.gutmann@de.bosch.com>
11*1c9986e7SJianping Shen
12*1c9986e7SJianping Shendescription:
13*1c9986e7SJianping Shen  SMI330 is a 6-axis inertial measurement unit that supports acceleration and
14*1c9986e7SJianping Shen  gyroscopic measurements with hardware fifo buffering. Sensor also provides
15*1c9986e7SJianping Shen  events information such as motion, no-motion and tilt detection.
16*1c9986e7SJianping Shen
17*1c9986e7SJianping Shenproperties:
18*1c9986e7SJianping Shen  compatible:
19*1c9986e7SJianping Shen    const: bosch,smi330
20*1c9986e7SJianping Shen
21*1c9986e7SJianping Shen  reg:
22*1c9986e7SJianping Shen    maxItems: 1
23*1c9986e7SJianping Shen
24*1c9986e7SJianping Shen  vdd-supply:
25*1c9986e7SJianping Shen    description: provide VDD power to the sensor.
26*1c9986e7SJianping Shen
27*1c9986e7SJianping Shen  vddio-supply:
28*1c9986e7SJianping Shen    description: provide VDD IO power to the sensor.
29*1c9986e7SJianping Shen
30*1c9986e7SJianping Shen  interrupts:
31*1c9986e7SJianping Shen    minItems: 1
32*1c9986e7SJianping Shen    maxItems: 2
33*1c9986e7SJianping Shen
34*1c9986e7SJianping Shen  interrupt-names:
35*1c9986e7SJianping Shen    minItems: 1
36*1c9986e7SJianping Shen    maxItems: 2
37*1c9986e7SJianping Shen    items:
38*1c9986e7SJianping Shen      enum:
39*1c9986e7SJianping Shen        - INT1
40*1c9986e7SJianping Shen        - INT2
41*1c9986e7SJianping Shen
42*1c9986e7SJianping Shen  drive-open-drain:
43*1c9986e7SJianping Shen    type: boolean
44*1c9986e7SJianping Shen    description:
45*1c9986e7SJianping Shen      set if the interrupt pin(s) should be configured as
46*1c9986e7SJianping Shen      open drain. If not set, defaults to push-pull.
47*1c9986e7SJianping Shen
48*1c9986e7SJianping Shenrequired:
49*1c9986e7SJianping Shen  - compatible
50*1c9986e7SJianping Shen  - reg
51*1c9986e7SJianping Shen
52*1c9986e7SJianping ShenallOf:
53*1c9986e7SJianping Shen  - $ref: /schemas/spi/spi-peripheral-props.yaml#
54*1c9986e7SJianping Shen
55*1c9986e7SJianping ShenunevaluatedProperties: false
56*1c9986e7SJianping Shen
57*1c9986e7SJianping Shenexamples:
58*1c9986e7SJianping Shen  - |
59*1c9986e7SJianping Shen    // Example for I2C
60*1c9986e7SJianping Shen    #include <dt-bindings/interrupt-controller/irq.h>
61*1c9986e7SJianping Shen    i2c {
62*1c9986e7SJianping Shen        #address-cells = <1>;
63*1c9986e7SJianping Shen        #size-cells = <0>;
64*1c9986e7SJianping Shen
65*1c9986e7SJianping Shen        imu@68 {
66*1c9986e7SJianping Shen            compatible = "bosch,smi330";
67*1c9986e7SJianping Shen            reg = <0x68>;
68*1c9986e7SJianping Shen            vddio-supply = <&vddio>;
69*1c9986e7SJianping Shen            vdd-supply = <&vdd>;
70*1c9986e7SJianping Shen            interrupt-parent = <&gpio>;
71*1c9986e7SJianping Shen            interrupts = <26 IRQ_TYPE_EDGE_RISING>;
72*1c9986e7SJianping Shen            interrupt-names = "INT1";
73*1c9986e7SJianping Shen        };
74*1c9986e7SJianping Shen    };
75*1c9986e7SJianping Shen
76*1c9986e7SJianping Shen    // Example for SPI
77*1c9986e7SJianping Shen    #include <dt-bindings/interrupt-controller/irq.h>
78*1c9986e7SJianping Shen    spi {
79*1c9986e7SJianping Shen        #address-cells = <1>;
80*1c9986e7SJianping Shen        #size-cells = <0>;
81*1c9986e7SJianping Shen
82*1c9986e7SJianping Shen        imu@0 {
83*1c9986e7SJianping Shen            compatible = "bosch,smi330";
84*1c9986e7SJianping Shen            reg = <0>;
85*1c9986e7SJianping Shen            spi-max-frequency = <10000000>;
86*1c9986e7SJianping Shen            interrupt-parent = <&gpio>;
87*1c9986e7SJianping Shen            interrupts = <26 IRQ_TYPE_EDGE_RISING>;
88*1c9986e7SJianping Shen            interrupt-names = "INT1";
89*1c9986e7SJianping Shen        };
90*1c9986e7SJianping Shen    };
91