Documentation / devicetree / bindings / iio / accel / bosch,bma255.yaml


Based on kernel version 6.11. Page generated on 2024-09-24 08:21 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/accel/bosch,bma255.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Bosch BMA255 and Similar Accelerometers

maintainers:
  - Linus Walleij <linus.walleij@linaro.org>
  - Stephan Gerhold <stephan@gerhold.net>

description:
  3 axis accelerometers with varying range and I2C or SPI
  4-wire interface.

properties:
  compatible:
    enum:
      # bmc150-accel driver in Linux
      - bosch,bma222
      - bosch,bma222e
      - bosch,bma250e
      - bosch,bma253
      - bosch,bma254
      - bosch,bma255
      - bosch,bma280
      - bosch,bmc150_accel
      - bosch,bmc156_accel
      - bosch,bmi055_accel
 
      # bma180 driver in Linux
      - bosch,bma023
      - bosch,bma150
      - bosch,bma180
      - bosch,bma250
      - bosch,smb380

  reg:
    maxItems: 1

  vdd-supply: true
  vddio-supply: true

  interrupts:
    minItems: 1
    maxItems: 2
    description: |
      Without interrupt-names, the first interrupt listed must be the one
      connected to the INT1 pin, the second (optional) interrupt listed must be
      the one connected to the INT2 pin (if available). The type should be
      IRQ_TYPE_EDGE_RISING.
 
      BMC156 does not have an INT1 pin, therefore the first interrupt pin is
      always treated as INT2.

  interrupt-names:
    minItems: 1
    maxItems: 2
    items:
      enum:
        - INT1
        - INT2

  mount-matrix:
    description: an optional 3x3 mounting rotation matrix.

  spi-max-frequency:
    maximum: 10000000

required:
  - compatible
  - reg

allOf:
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
        accelerometer@8 {
            compatible = "bosch,bma222";
            reg = <0x08>;
            vddio-supply = <&vddio>;
            vdd-supply = <&vdd>;
            interrupts = <57 IRQ_TYPE_EDGE_RISING>;
            interrupt-names = "INT1";
        };
    };
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
        accelerometer@10 {
            compatible = "bosch,bmc156_accel";
            reg = <0x10>;
            vddio-supply = <&vddio>;
            vdd-supply = <&vdd>;
            interrupts = <116 IRQ_TYPE_EDGE_RISING>;
            interrupt-names = "INT2";
        };
    };
  - |
    # include <dt-bindings/interrupt-controller/irq.h>
    spi {
        #address-cells = <1>;
        #size-cells = <0>;
        accel@0 {
            compatible = "bosch,bma222";
            reg = <0>;
            spi-max-frequency = <10000000>;
        };
    };
...