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,bmi160.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Bosch BMI160 8 9maintainers: 10 - Jonathan Cameron <jic23@kernel.org> 11 12description: | 13 Inertial Measurement Unit with Accelerometer, Gyroscope and externally 14 connectable Magnetometer 15 https://www.bosch-sensortec.com/bst/products/all_products/bmi160 16 17properties: 18 compatible: 19 oneOf: 20 - const: bosch,bmi160 21 - items: 22 - const: bosch,bmi120 23 - const: bosch,bmi160 24 25 reg: 26 maxItems: 1 27 28 interrupts: 29 maxItems: 1 30 31 interrupt-names: 32 enum: 33 - INT1 34 - INT2 35 description: | 36 set to "INT1" if INT1 pin should be used as interrupt input, set 37 to "INT2" if INT2 pin should be used instead 38 39 drive-open-drain: 40 description: | 41 set if the specified interrupt pin should be configured as 42 open drain. If not set, defaults to push-pull. 43 44 vdd-supply: 45 description: provide VDD power to the sensor. 46 47 vddio-supply: 48 description: provide VDD IO power to the sensor. 49 50 mount-matrix: 51 description: an optional 3x3 mounting rotation matrix 52 53required: 54 - compatible 55 - reg 56 57allOf: 58 - $ref: /schemas/spi/spi-peripheral-props.yaml# 59 60unevaluatedProperties: false 61 62examples: 63 - | 64 // Example for I2C 65 #include <dt-bindings/interrupt-controller/irq.h> 66 i2c { 67 #address-cells = <1>; 68 #size-cells = <0>; 69 70 bmi160@68 { 71 compatible = "bosch,bmi160"; 72 reg = <0x68>; 73 vdd-supply = <&pm8916_l17>; 74 vddio-supply = <&pm8916_l6>; 75 interrupt-parent = <&gpio4>; 76 interrupts = <12 IRQ_TYPE_EDGE_RISING>; 77 interrupt-names = "INT1"; 78 mount-matrix = "0", "1", "0", 79 "-1", "0", "0", 80 "0", "0", "1"; 81 }; 82 }; 83 - | 84 // Example for SPI 85 #include <dt-bindings/interrupt-controller/irq.h> 86 spi { 87 #address-cells = <1>; 88 #size-cells = <0>; 89 90 bmi160@0 { 91 compatible = "bosch,bmi160"; 92 reg = <0>; 93 spi-max-frequency = <10000000>; 94 interrupt-parent = <&gpio2>; 95 interrupts = <12 IRQ_TYPE_EDGE_RISING>; 96 interrupt-names = "INT2"; 97 }; 98 }; 99