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