162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/iio/accel/bosch,bma255.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Bosch BMA255 and Similar Accelerometers
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Linus Walleij <linus.walleij@linaro.org>
1162306a36Sopenharmony_ci  - Stephan Gerhold <stephan@gerhold.net>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_cidescription:
1462306a36Sopenharmony_ci  3 axis accelerometers with varying range and I2C or SPI
1562306a36Sopenharmony_ci  4-wire interface.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciproperties:
1862306a36Sopenharmony_ci  compatible:
1962306a36Sopenharmony_ci    enum:
2062306a36Sopenharmony_ci      # bmc150-accel driver in Linux
2162306a36Sopenharmony_ci      - bosch,bma222
2262306a36Sopenharmony_ci      - bosch,bma222e
2362306a36Sopenharmony_ci      - bosch,bma250e
2462306a36Sopenharmony_ci      - bosch,bma253
2562306a36Sopenharmony_ci      - bosch,bma254
2662306a36Sopenharmony_ci      - bosch,bma255
2762306a36Sopenharmony_ci      - bosch,bma280
2862306a36Sopenharmony_ci      - bosch,bmc150_accel
2962306a36Sopenharmony_ci      - bosch,bmc156_accel
3062306a36Sopenharmony_ci      - bosch,bmi055_accel
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci      # bma180 driver in Linux
3362306a36Sopenharmony_ci      - bosch,bma023
3462306a36Sopenharmony_ci      - bosch,bma150
3562306a36Sopenharmony_ci      - bosch,bma180
3662306a36Sopenharmony_ci      - bosch,bma250
3762306a36Sopenharmony_ci      - bosch,smb380
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci  reg:
4062306a36Sopenharmony_ci    maxItems: 1
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci  vdd-supply: true
4362306a36Sopenharmony_ci  vddio-supply: true
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci  interrupts:
4662306a36Sopenharmony_ci    minItems: 1
4762306a36Sopenharmony_ci    maxItems: 2
4862306a36Sopenharmony_ci    description: |
4962306a36Sopenharmony_ci      Without interrupt-names, the first interrupt listed must be the one
5062306a36Sopenharmony_ci      connected to the INT1 pin, the second (optional) interrupt listed must be
5162306a36Sopenharmony_ci      the one connected to the INT2 pin (if available). The type should be
5262306a36Sopenharmony_ci      IRQ_TYPE_EDGE_RISING.
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci      BMC156 does not have an INT1 pin, therefore the first interrupt pin is
5562306a36Sopenharmony_ci      always treated as INT2.
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci  interrupt-names:
5862306a36Sopenharmony_ci    minItems: 1
5962306a36Sopenharmony_ci    maxItems: 2
6062306a36Sopenharmony_ci    items:
6162306a36Sopenharmony_ci      enum:
6262306a36Sopenharmony_ci        - INT1
6362306a36Sopenharmony_ci        - INT2
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci  mount-matrix:
6662306a36Sopenharmony_ci    description: an optional 3x3 mounting rotation matrix.
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci  spi-max-frequency:
6962306a36Sopenharmony_ci    maximum: 10000000
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_cirequired:
7262306a36Sopenharmony_ci  - compatible
7362306a36Sopenharmony_ci  - reg
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ciallOf:
7662306a36Sopenharmony_ci  - $ref: /schemas/spi/spi-peripheral-props.yaml#
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ciunevaluatedProperties: false
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ciexamples:
8162306a36Sopenharmony_ci  - |
8262306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
8362306a36Sopenharmony_ci    i2c {
8462306a36Sopenharmony_ci        #address-cells = <1>;
8562306a36Sopenharmony_ci        #size-cells = <0>;
8662306a36Sopenharmony_ci        accelerometer@8 {
8762306a36Sopenharmony_ci            compatible = "bosch,bma222";
8862306a36Sopenharmony_ci            reg = <0x08>;
8962306a36Sopenharmony_ci            vddio-supply = <&vddio>;
9062306a36Sopenharmony_ci            vdd-supply = <&vdd>;
9162306a36Sopenharmony_ci            interrupts = <57 IRQ_TYPE_EDGE_RISING>;
9262306a36Sopenharmony_ci            interrupt-names = "INT1";
9362306a36Sopenharmony_ci        };
9462306a36Sopenharmony_ci    };
9562306a36Sopenharmony_ci  - |
9662306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
9762306a36Sopenharmony_ci    i2c {
9862306a36Sopenharmony_ci        #address-cells = <1>;
9962306a36Sopenharmony_ci        #size-cells = <0>;
10062306a36Sopenharmony_ci        accelerometer@10 {
10162306a36Sopenharmony_ci            compatible = "bosch,bmc156_accel";
10262306a36Sopenharmony_ci            reg = <0x10>;
10362306a36Sopenharmony_ci            vddio-supply = <&vddio>;
10462306a36Sopenharmony_ci            vdd-supply = <&vdd>;
10562306a36Sopenharmony_ci            interrupts = <116 IRQ_TYPE_EDGE_RISING>;
10662306a36Sopenharmony_ci            interrupt-names = "INT2";
10762306a36Sopenharmony_ci        };
10862306a36Sopenharmony_ci    };
10962306a36Sopenharmony_ci  - |
11062306a36Sopenharmony_ci    # include <dt-bindings/interrupt-controller/irq.h>
11162306a36Sopenharmony_ci    spi {
11262306a36Sopenharmony_ci        #address-cells = <1>;
11362306a36Sopenharmony_ci        #size-cells = <0>;
11462306a36Sopenharmony_ci        accel@0 {
11562306a36Sopenharmony_ci            compatible = "bosch,bma222";
11662306a36Sopenharmony_ci            reg = <0>;
11762306a36Sopenharmony_ci            spi-max-frequency = <10000000>;
11862306a36Sopenharmony_ci        };
11962306a36Sopenharmony_ci    };
12062306a36Sopenharmony_ci...
121