GNU Linux-libre 6.8.9-gnu
[releases.git] / Documentation / devicetree / bindings / iio / gyroscope / invensense,mpu3050.yaml
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
7 title: Invensense MPU-3050 Gyroscope
8
9 maintainers:
10   - Linus Walleij <linus.walleij@linaro.org>
11
12 properties:
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
39 required:
40   - compatible
41   - reg
42
43 additionalProperties: false
44
45 examples:
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 = "asahi-kasei,ak8975";
65                     reg = <0x0c>;
66                 };
67             };
68         };
69     };
70 ...