Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/iio/imu/invensense,icm42600.yaml
26309 views
1
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2
%YAML 1.2
3
---
4
$id: http://devicetree.org/schemas/iio/imu/invensense,icm42600.yaml#
5
$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7
title: InvenSense ICM-426xx Inertial Measurement Unit
8
9
maintainers:
10
- Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
11
12
description: |
13
6-axis MotionTracking device that combines a 3-axis gyroscope and a 3-axis
14
accelerometer.
15
16
It has a configurable host interface that supports I3C, I2C and SPI serial
17
communication, features a 2kB FIFO and 2 programmable interrupts with
18
ultra-low-power wake-on-motion support to minimize system power consumption.
19
20
Other industry-leading features include InvenSense on-chip APEX Motion
21
Processing engine for gesture recognition, activity classification, and
22
pedometer, along with programmable digital filters, and an embedded
23
temperature sensor.
24
25
https://invensense.tdk.com/wp-content/uploads/2020/03/DS-000292-ICM-42605-v1.4.pdf
26
27
properties:
28
compatible:
29
enum:
30
- invensense,icm42600
31
- invensense,icm42602
32
- invensense,icm42605
33
- invensense,icm42622
34
- invensense,icm42631
35
- invensense,icm42686
36
- invensense,icm42688
37
38
reg:
39
maxItems: 1
40
41
interrupts:
42
minItems: 1
43
maxItems: 2
44
45
interrupt-names:
46
minItems: 1
47
maxItems: 2
48
items:
49
enum:
50
- INT1
51
- INT2
52
53
drive-open-drain:
54
type: boolean
55
56
vdd-supply:
57
description: Regulator that provides power to the sensor
58
59
vddio-supply:
60
description: Regulator that provides power to the bus
61
62
spi-cpha: true
63
spi-cpol: true
64
65
required:
66
- compatible
67
- reg
68
- interrupts
69
70
allOf:
71
- $ref: /schemas/spi/spi-peripheral-props.yaml#
72
73
unevaluatedProperties: false
74
75
examples:
76
- |
77
#include <dt-bindings/gpio/gpio.h>
78
#include <dt-bindings/interrupt-controller/irq.h>
79
i2c {
80
#address-cells = <1>;
81
#size-cells = <0>;
82
83
icm42605@68 {
84
compatible = "invensense,icm42605";
85
reg = <0x68>;
86
interrupt-parent = <&gpio2>;
87
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
88
interrupt-names = "INT1";
89
vdd-supply = <&vdd>;
90
vddio-supply = <&vddio>;
91
};
92
};
93
- |
94
#include <dt-bindings/gpio/gpio.h>
95
#include <dt-bindings/interrupt-controller/irq.h>
96
spi {
97
#address-cells = <1>;
98
#size-cells = <0>;
99
100
icm42602@0 {
101
compatible = "invensense,icm42602";
102
reg = <0>;
103
spi-max-frequency = <24000000>;
104
spi-cpha;
105
spi-cpol;
106
interrupt-parent = <&gpio1>;
107
interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
108
interrupt-names = "INT1";
109
vdd-supply = <&vdd>;
110
vddio-supply = <&vddio>;
111
};
112
};
113
114