xref: /freebsd/sys/contrib/device-tree/Bindings/iio/gyroscope/invensense,mpu3050.yaml (revision 643ac419fafba89f5adda0e0ea75b538727453fb)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/iio/gyroscope/invensense,mpu3050.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Invensense MPU-3050 Gyroscope
8
9maintainers:
10  - Linus Walleij <linus.walleij@linaro.org>
11
12properties:
13  compatible:
14    const: invensense,mpu3050
15
16  reg:
17    maxItems: 1
18
19  vdd-supply: true
20
21  vlogic-supply: true
22
23  interrupts:
24    minItems: 1
25    description:
26      Interrupt mapping for the trigger interrupt from the internal oscillator.
27
28  mount-matrix: true
29
30  i2c-gate:
31    $ref: /schemas/i2c/i2c-controller.yaml
32    unevaluatedProperties: false
33    description: |
34      The MPU-3050 will pass through and forward the I2C signals from the
35      incoming I2C bus, alternatively drive traffic to a slave device (usually
36      an accelerometer) on its own initiative. Therefore is supports an
37      i2c-gate subnode.
38
39required:
40  - compatible
41  - reg
42
43additionalProperties: false
44
45examples:
46  - |
47    #include <dt-bindings/interrupt-controller/irq.h>
48    i2c {
49        #address-cells = <1>;
50        #size-cells = <0>;
51        gyroscope@68 {
52            compatible = "invensense,mpu3050";
53            reg = <0x68>;
54            interrupt-parent = <&foo>;
55            interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
56            vdd-supply = <&bar>;
57            vlogic-supply = <&baz>;
58
59            i2c-gate {
60                #address-cells = <1>;
61                #size-cells = <0>;
62
63                magnetometer@c {
64                    compatible = "ak,ak8975";
65                    reg = <0x0c>;
66                };
67            };
68        };
69    };
70...
71