# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/imu/bosch,bmi160.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Bosch BMI160

maintainers:
  - Jonathan Cameron <jic23@kernel.org>

description: |
  Inertial Measurement Unit with Accelerometer, Gyroscope and externally
  connectable Magnetometer
  https://www.bosch-sensortec.com/bst/products/all_products/bmi160

properties:
  compatible:
    const: bosch,bmi160

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  interrupt-names:
    enum:
      - INT1
      - INT2
    description: |
      set to "INT1" if INT1 pin should be used as interrupt input, set
      to "INT2" if INT2 pin should be used instead

  drive-open-drain:
    description: |
      set if the specified interrupt pin should be configured as
      open drain. If not set, defaults to push-pull.

required:
  - compatible
  - reg

examples:
  - |
    // Example for I2C
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        bmi160@68 {
                compatible = "bosch,bmi160";
                reg = <0x68>;
                interrupt-parent = <&gpio4>;
                interrupts = <12 IRQ_TYPE_EDGE_RISING>;
                interrupt-names = "INT1";
        };
    };
  - |
    // Example for SPI
    #include <dt-bindings/interrupt-controller/irq.h>
    spi {
        #address-cells = <1>;
        #size-cells = <0>;

        bmi160@0 {
                compatible = "bosch,bmi160";
                reg = <0>;
                spi-max-frequency = <10000000>;
                interrupt-parent = <&gpio2>;
                interrupts = <12 IRQ_TYPE_EDGE_RISING>;
                interrupt-names = "INT2";
        };
    };
