Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/iio/imu/invensense,mpu6050.yaml
54985 views
1
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2
%YAML 1.2
3
---
4
$id: http://devicetree.org/schemas/iio/imu/invensense,mpu6050.yaml#
5
$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7
title: InvenSense MPU-6050 Six-Axis (Gyro + Accelerometer) MEMS MotionTracking Device
8
9
maintainers:
10
- Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
11
12
description: |
13
These devices support both I2C and SPI bus interfaces.
14
15
properties:
16
compatible:
17
oneOf:
18
- enum:
19
- invensense,iam20380
20
- invensense,iam20680
21
- invensense,icm20608
22
- invensense,icm20609
23
- invensense,icm20689
24
- invensense,icm20602
25
- invensense,icm20690
26
- invensense,mpu6000
27
- invensense,mpu6050
28
- invensense,mpu6500
29
- invensense,mpu6515
30
- invensense,mpu6880
31
- invensense,mpu9150
32
- invensense,mpu9250
33
- invensense,mpu9255
34
- items:
35
- const: invensense,icm20600
36
- const: invensense,icm20602
37
- items:
38
- const: invensense,icm20608d
39
- const: invensense,icm20608
40
- items:
41
- enum:
42
- invensense,iam20680hp
43
- invensense,iam20680ht
44
- const: invensense,iam20680
45
46
reg:
47
maxItems: 1
48
49
interrupts:
50
maxItems: 1
51
52
vdd-supply: true
53
vddio-supply: true
54
55
mount-matrix: true
56
57
invensense,level-shifter:
58
type: boolean
59
description: |
60
From ancient platform data struct: false: VLogic, true: VDD
61
62
i2c-gate:
63
$ref: /schemas/i2c/i2c-controller.yaml
64
unevaluatedProperties: false
65
description: |
66
These devices also support an auxiliary i2c bus via an i2c-gate.
67
68
allOf:
69
- $ref: /schemas/spi/spi-peripheral-props.yaml#
70
- if:
71
properties:
72
compatible:
73
contains:
74
enum:
75
- invensense,iam20680
76
- invensense,icm20602
77
- invensense,icm20608
78
- invensense,icm20609
79
- invensense,icm20689
80
then:
81
properties:
82
i2c-gate: false
83
84
unevaluatedProperties: false
85
86
required:
87
- compatible
88
- reg
89
90
examples:
91
- |
92
#include <dt-bindings/interrupt-controller/irq.h>
93
i2c {
94
#address-cells = <1>;
95
#size-cells = <0>;
96
97
imu@68 {
98
compatible = "invensense,mpu9250";
99
reg = <0x68>;
100
interrupt-parent = <&gpio3>;
101
interrupts = <21 IRQ_TYPE_LEVEL_HIGH>;
102
mount-matrix = "-0.984807753012208", /* x0 */
103
"0", /* y0 */
104
"-0.173648177666930", /* z0 */
105
"0", /* x1 */
106
"-1", /* y1 */
107
"0", /* z1 */
108
"-0.173648177666930", /* x2 */
109
"0", /* y2 */
110
"0.984807753012208"; /* z2 */
111
i2c-gate {
112
#address-cells = <1>;
113
#size-cells = <0>;
114
magnetometer@c {
115
compatible = "asahi-kasei,ak8975";
116
reg = <0x0c>;
117
};
118
};
119
};
120
};
121
...
122
123