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