Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/contrib/device-tree/Bindings/iio/imu/invensense,mpu6050.yaml
48523 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 <jmaneyrol@invensense.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,iam20680
20
- invensense,icm20608
21
- invensense,icm20609
22
- invensense,icm20689
23
- invensense,icm20602
24
- invensense,icm20690
25
- invensense,mpu6000
26
- invensense,mpu6050
27
- invensense,mpu6500
28
- invensense,mpu6515
29
- invensense,mpu6880
30
- invensense,mpu9150
31
- invensense,mpu9250
32
- invensense,mpu9255
33
- items:
34
- const: invensense,icm20600
35
- const: invensense,icm20602
36
- items:
37
- const: invensense,icm20608d
38
- const: invensense,icm20608
39
40
reg:
41
maxItems: 1
42
43
interrupts:
44
maxItems: 1
45
46
vdd-supply: true
47
vddio-supply: true
48
49
mount-matrix: true
50
51
invensense,level-shifter:
52
type: boolean
53
description: |
54
From ancient platform data struct: false: VLogic, true: VDD
55
56
i2c-gate:
57
$ref: /schemas/i2c/i2c-controller.yaml
58
unevaluatedProperties: false
59
description: |
60
These devices also support an auxiliary i2c bus via an i2c-gate.
61
62
allOf:
63
- $ref: /schemas/spi/spi-peripheral-props.yaml#
64
- if:
65
properties:
66
compatible:
67
contains:
68
enum:
69
- invensense,iam20680
70
- invensense,icm20602
71
- invensense,icm20608
72
- invensense,icm20609
73
- invensense,icm20689
74
then:
75
properties:
76
i2c-gate: false
77
78
unevaluatedProperties: false
79
80
required:
81
- compatible
82
- reg
83
- interrupts
84
85
examples:
86
- |
87
#include <dt-bindings/interrupt-controller/irq.h>
88
i2c {
89
#address-cells = <1>;
90
#size-cells = <0>;
91
92
imu@68 {
93
compatible = "invensense,mpu9250";
94
reg = <0x68>;
95
interrupt-parent = <&gpio3>;
96
interrupts = <21 IRQ_TYPE_LEVEL_HIGH>;
97
mount-matrix = "-0.984807753012208", /* x0 */
98
"0", /* y0 */
99
"-0.173648177666930", /* z0 */
100
"0", /* x1 */
101
"-1", /* y1 */
102
"0", /* z1 */
103
"-0.173648177666930", /* x2 */
104
"0", /* y2 */
105
"0.984807753012208"; /* z2 */
106
i2c-gate {
107
#address-cells = <1>;
108
#size-cells = <0>;
109
magnetometer@c {
110
compatible = "asahi-kasei,ak8975";
111
reg = <0x0c>;
112
};
113
};
114
};
115
};
116
...
117
118