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
26309 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
- interrupts
90
91
examples:
92
- |
93
#include <dt-bindings/interrupt-controller/irq.h>
94
i2c {
95
#address-cells = <1>;
96
#size-cells = <0>;
97
98
imu@68 {
99
compatible = "invensense,mpu9250";
100
reg = <0x68>;
101
interrupt-parent = <&gpio3>;
102
interrupts = <21 IRQ_TYPE_LEVEL_HIGH>;
103
mount-matrix = "-0.984807753012208", /* x0 */
104
"0", /* y0 */
105
"-0.173648177666930", /* z0 */
106
"0", /* x1 */
107
"-1", /* y1 */
108
"0", /* z1 */
109
"-0.173648177666930", /* x2 */
110
"0", /* y2 */
111
"0.984807753012208"; /* z2 */
112
i2c-gate {
113
#address-cells = <1>;
114
#size-cells = <0>;
115
magnetometer@c {
116
compatible = "asahi-kasei,ak8975";
117
reg = <0x0c>;
118
};
119
};
120
};
121
};
122
...
123
124