xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/iio/imu/invensense,icm42600.yaml (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*4882a593Smuzhiyun%YAML 1.2
3*4882a593Smuzhiyun---
4*4882a593Smuzhiyun$id: http://devicetree.org/schemas/iio/imu/invensense,icm42600.yaml#
5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml#
6*4882a593Smuzhiyun
7*4882a593Smuzhiyuntitle: InvenSense ICM-426xx Inertial Measurement Unit
8*4882a593Smuzhiyun
9*4882a593Smuzhiyunmaintainers:
10*4882a593Smuzhiyun  - Jean-Baptiste Maneyrol <jmaneyrol@invensense.com>
11*4882a593Smuzhiyun
12*4882a593Smuzhiyundescription: |
13*4882a593Smuzhiyun  6-axis MotionTracking device that combines a 3-axis gyroscope and a 3-axis
14*4882a593Smuzhiyun  accelerometer.
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun  It has a configurable host interface that supports I3C, I2C and SPI serial
17*4882a593Smuzhiyun  communication, features a 2kB FIFO and 2 programmable interrupts with
18*4882a593Smuzhiyun  ultra-low-power wake-on-motion support to minimize system power consumption.
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun  Other industry-leading features include InvenSense on-chip APEX Motion
21*4882a593Smuzhiyun  Processing engine for gesture recognition, activity classification, and
22*4882a593Smuzhiyun  pedometer, along with programmable digital filters, and an embedded
23*4882a593Smuzhiyun  temperature sensor.
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun  https://invensense.tdk.com/wp-content/uploads/2020/03/DS-000292-ICM-42605-v1.4.pdf
26*4882a593Smuzhiyun
27*4882a593Smuzhiyunproperties:
28*4882a593Smuzhiyun  compatible:
29*4882a593Smuzhiyun    enum:
30*4882a593Smuzhiyun      - invensense,icm42600
31*4882a593Smuzhiyun      - invensense,icm42602
32*4882a593Smuzhiyun      - invensense,icm42605
33*4882a593Smuzhiyun      - invensense,icm42622
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun  reg:
36*4882a593Smuzhiyun    maxItems: 1
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun  interrupts:
39*4882a593Smuzhiyun    maxItems: 1
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun  drive-open-drain:
42*4882a593Smuzhiyun    type: boolean
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun  vdd-supply:
45*4882a593Smuzhiyun    description: Regulator that provides power to the sensor
46*4882a593Smuzhiyun
47*4882a593Smuzhiyun  vddio-supply:
48*4882a593Smuzhiyun    description: Regulator that provides power to the bus
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun  spi-max-frequency: true
51*4882a593Smuzhiyun  spi-cpha: true
52*4882a593Smuzhiyun  spi-cpol: true
53*4882a593Smuzhiyun
54*4882a593Smuzhiyunrequired:
55*4882a593Smuzhiyun  - compatible
56*4882a593Smuzhiyun  - reg
57*4882a593Smuzhiyun  - interrupts
58*4882a593Smuzhiyun
59*4882a593SmuzhiyunadditionalProperties: false
60*4882a593Smuzhiyun
61*4882a593Smuzhiyunexamples:
62*4882a593Smuzhiyun  - |
63*4882a593Smuzhiyun    #include <dt-bindings/gpio/gpio.h>
64*4882a593Smuzhiyun    #include <dt-bindings/interrupt-controller/irq.h>
65*4882a593Smuzhiyun    i2c0 {
66*4882a593Smuzhiyun        #address-cells = <1>;
67*4882a593Smuzhiyun        #size-cells = <0>;
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun        icm42605@68 {
70*4882a593Smuzhiyun          compatible = "invensense,icm42605";
71*4882a593Smuzhiyun          reg = <0x68>;
72*4882a593Smuzhiyun          interrupt-parent = <&gpio2>;
73*4882a593Smuzhiyun          interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
74*4882a593Smuzhiyun          vdd-supply = <&vdd>;
75*4882a593Smuzhiyun          vddio-supply = <&vddio>;
76*4882a593Smuzhiyun        };
77*4882a593Smuzhiyun    };
78*4882a593Smuzhiyun  - |
79*4882a593Smuzhiyun    #include <dt-bindings/gpio/gpio.h>
80*4882a593Smuzhiyun    #include <dt-bindings/interrupt-controller/irq.h>
81*4882a593Smuzhiyun    spi0 {
82*4882a593Smuzhiyun        #address-cells = <1>;
83*4882a593Smuzhiyun        #size-cells = <0>;
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun        icm42602@0 {
86*4882a593Smuzhiyun          compatible = "invensense,icm42602";
87*4882a593Smuzhiyun          reg = <0>;
88*4882a593Smuzhiyun          spi-max-frequency = <24000000>;
89*4882a593Smuzhiyun          spi-cpha;
90*4882a593Smuzhiyun          spi-cpol;
91*4882a593Smuzhiyun          interrupt-parent = <&gpio1>;
92*4882a593Smuzhiyun          interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
93*4882a593Smuzhiyun          vdd-supply = <&vdd>;
94*4882a593Smuzhiyun          vddio-supply = <&vddio>;
95*4882a593Smuzhiyun        };
96*4882a593Smuzhiyun    };
97