xref: /linux/Documentation/devicetree/bindings/iio/imu/invensense,icm45600.yaml (revision 83bd89291f5cc866f60d32c34e268896c7ba8a3d)
1*7d55d001SRemi Buisson# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*7d55d001SRemi Buisson%YAML 1.2
3*7d55d001SRemi Buisson---
4*7d55d001SRemi Buisson$id: http://devicetree.org/schemas/iio/imu/invensense,icm45600.yaml#
5*7d55d001SRemi Buisson$schema: http://devicetree.org/meta-schemas/core.yaml#
6*7d55d001SRemi Buisson
7*7d55d001SRemi Buissontitle: InvenSense ICM-45600 Inertial Measurement Unit
8*7d55d001SRemi Buisson
9*7d55d001SRemi Buissonmaintainers:
10*7d55d001SRemi Buisson  - Remi Buisson <remi.buisson@tdk.com>
11*7d55d001SRemi Buisson
12*7d55d001SRemi Buissondescription: |
13*7d55d001SRemi Buisson  6-axis MotionTracking device that combines a 3-axis gyroscope and a 3-axis
14*7d55d001SRemi Buisson  accelerometer.
15*7d55d001SRemi Buisson
16*7d55d001SRemi Buisson  It has a configurable host interface that supports I3C, I2C and SPI serial
17*7d55d001SRemi Buisson  communication, features up to 8kB FIFO and 2 programmable interrupts with
18*7d55d001SRemi Buisson  ultra-low-power wake-on-motion support to minimize system power consumption.
19*7d55d001SRemi Buisson
20*7d55d001SRemi Buisson  Other industry-leading features include InvenSense on-chip APEX Motion
21*7d55d001SRemi Buisson  Processing engine for gesture recognition, activity classification, and
22*7d55d001SRemi Buisson  pedometer, along with programmable digital filters, and an embedded
23*7d55d001SRemi Buisson  temperature sensor.
24*7d55d001SRemi Buisson
25*7d55d001SRemi Buisson  https://invensense.tdk.com/wp-content/uploads/documentation/DS-000576_ICM-45605.pdf
26*7d55d001SRemi Buisson
27*7d55d001SRemi Buissonproperties:
28*7d55d001SRemi Buisson  compatible:
29*7d55d001SRemi Buisson    enum:
30*7d55d001SRemi Buisson      - invensense,icm45605
31*7d55d001SRemi Buisson      - invensense,icm45606
32*7d55d001SRemi Buisson      - invensense,icm45608
33*7d55d001SRemi Buisson      - invensense,icm45634
34*7d55d001SRemi Buisson      - invensense,icm45686
35*7d55d001SRemi Buisson      - invensense,icm45687
36*7d55d001SRemi Buisson      - invensense,icm45688p
37*7d55d001SRemi Buisson      - invensense,icm45689
38*7d55d001SRemi Buisson
39*7d55d001SRemi Buisson  reg:
40*7d55d001SRemi Buisson    maxItems: 1
41*7d55d001SRemi Buisson
42*7d55d001SRemi Buisson  interrupts:
43*7d55d001SRemi Buisson    minItems: 1
44*7d55d001SRemi Buisson    maxItems: 2
45*7d55d001SRemi Buisson
46*7d55d001SRemi Buisson  interrupt-names:
47*7d55d001SRemi Buisson    minItems: 1
48*7d55d001SRemi Buisson    items:
49*7d55d001SRemi Buisson      - enum: [int1, int2]
50*7d55d001SRemi Buisson      - const: int2
51*7d55d001SRemi Buisson    description: Choose chip interrupt pin to be used as interrupt input.
52*7d55d001SRemi Buisson
53*7d55d001SRemi Buisson  drive-open-drain:
54*7d55d001SRemi Buisson    type: boolean
55*7d55d001SRemi Buisson
56*7d55d001SRemi Buisson  vdd-supply: true
57*7d55d001SRemi Buisson
58*7d55d001SRemi Buisson  vddio-supply: true
59*7d55d001SRemi Buisson
60*7d55d001SRemi Buisson  mount-matrix: true
61*7d55d001SRemi Buisson
62*7d55d001SRemi Buissonrequired:
63*7d55d001SRemi Buisson  - compatible
64*7d55d001SRemi Buisson  - reg
65*7d55d001SRemi Buisson  - vdd-supply
66*7d55d001SRemi Buisson  - vddio-supply
67*7d55d001SRemi Buisson
68*7d55d001SRemi BuissonunevaluatedProperties: false
69*7d55d001SRemi Buisson
70*7d55d001SRemi Buissonexamples:
71*7d55d001SRemi Buisson  - |
72*7d55d001SRemi Buisson    #include <dt-bindings/gpio/gpio.h>
73*7d55d001SRemi Buisson    #include <dt-bindings/interrupt-controller/irq.h>
74*7d55d001SRemi Buisson    i2c {
75*7d55d001SRemi Buisson        #address-cells = <1>;
76*7d55d001SRemi Buisson        #size-cells = <0>;
77*7d55d001SRemi Buisson
78*7d55d001SRemi Buisson        imu@68 {
79*7d55d001SRemi Buisson            compatible = "invensense,icm45605";
80*7d55d001SRemi Buisson            reg = <0x68>;
81*7d55d001SRemi Buisson            interrupt-parent = <&gpio2>;
82*7d55d001SRemi Buisson            interrupt-names = "int1";
83*7d55d001SRemi Buisson            interrupts = <7 IRQ_TYPE_EDGE_RISING>;
84*7d55d001SRemi Buisson            vdd-supply = <&vdd>;
85*7d55d001SRemi Buisson            vddio-supply = <&vddio>;
86*7d55d001SRemi Buisson            mount-matrix = "0", "-1", "0",
87*7d55d001SRemi Buisson                           "1", "0", "0",
88*7d55d001SRemi Buisson                           "0", "0", "1";
89*7d55d001SRemi Buisson        };
90*7d55d001SRemi Buisson    };
91