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,icm42600.yaml
48523 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 <jmaneyrol@invensense.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
maxItems: 1
43
44
drive-open-drain:
45
type: boolean
46
47
vdd-supply:
48
description: Regulator that provides power to the sensor
49
50
vddio-supply:
51
description: Regulator that provides power to the bus
52
53
spi-cpha: true
54
spi-cpol: true
55
56
required:
57
- compatible
58
- reg
59
- interrupts
60
61
allOf:
62
- $ref: /schemas/spi/spi-peripheral-props.yaml#
63
64
unevaluatedProperties: false
65
66
examples:
67
- |
68
#include <dt-bindings/gpio/gpio.h>
69
#include <dt-bindings/interrupt-controller/irq.h>
70
i2c {
71
#address-cells = <1>;
72
#size-cells = <0>;
73
74
icm42605@68 {
75
compatible = "invensense,icm42605";
76
reg = <0x68>;
77
interrupt-parent = <&gpio2>;
78
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
79
vdd-supply = <&vdd>;
80
vddio-supply = <&vddio>;
81
};
82
};
83
- |
84
#include <dt-bindings/gpio/gpio.h>
85
#include <dt-bindings/interrupt-controller/irq.h>
86
spi {
87
#address-cells = <1>;
88
#size-cells = <0>;
89
90
icm42602@0 {
91
compatible = "invensense,icm42602";
92
reg = <0>;
93
spi-max-frequency = <24000000>;
94
spi-cpha;
95
spi-cpol;
96
interrupt-parent = <&gpio1>;
97
interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
98
vdd-supply = <&vdd>;
99
vddio-supply = <&vddio>;
100
};
101
};
102
103