0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/iio/imu/invensense,icm42600.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: InvenSense ICM-426xx Inertial Measurement Unit
0008
0009 maintainers:
0010 - Jean-Baptiste Maneyrol <jmaneyrol@invensense.com>
0011
0012 description: |
0013 6-axis MotionTracking device that combines a 3-axis gyroscope and a 3-axis
0014 accelerometer.
0015
0016 It has a configurable host interface that supports I3C, I2C and SPI serial
0017 communication, features a 2kB FIFO and 2 programmable interrupts with
0018 ultra-low-power wake-on-motion support to minimize system power consumption.
0019
0020 Other industry-leading features include InvenSense on-chip APEX Motion
0021 Processing engine for gesture recognition, activity classification, and
0022 pedometer, along with programmable digital filters, and an embedded
0023 temperature sensor.
0024
0025 https://invensense.tdk.com/wp-content/uploads/2020/03/DS-000292-ICM-42605-v1.4.pdf
0026
0027 properties:
0028 compatible:
0029 enum:
0030 - invensense,icm42600
0031 - invensense,icm42602
0032 - invensense,icm42605
0033 - invensense,icm42622
0034
0035 reg:
0036 maxItems: 1
0037
0038 interrupts:
0039 maxItems: 1
0040
0041 drive-open-drain:
0042 type: boolean
0043
0044 vdd-supply:
0045 description: Regulator that provides power to the sensor
0046
0047 vddio-supply:
0048 description: Regulator that provides power to the bus
0049
0050 spi-max-frequency: true
0051 spi-cpha: true
0052 spi-cpol: true
0053
0054 required:
0055 - compatible
0056 - reg
0057 - interrupts
0058
0059 additionalProperties: false
0060
0061 examples:
0062 - |
0063 #include <dt-bindings/gpio/gpio.h>
0064 #include <dt-bindings/interrupt-controller/irq.h>
0065 i2c0 {
0066 #address-cells = <1>;
0067 #size-cells = <0>;
0068
0069 icm42605@68 {
0070 compatible = "invensense,icm42605";
0071 reg = <0x68>;
0072 interrupt-parent = <&gpio2>;
0073 interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
0074 vdd-supply = <&vdd>;
0075 vddio-supply = <&vddio>;
0076 };
0077 };
0078 - |
0079 #include <dt-bindings/gpio/gpio.h>
0080 #include <dt-bindings/interrupt-controller/irq.h>
0081 spi0 {
0082 #address-cells = <1>;
0083 #size-cells = <0>;
0084
0085 icm42602@0 {
0086 compatible = "invensense,icm42602";
0087 reg = <0>;
0088 spi-max-frequency = <24000000>;
0089 spi-cpha;
0090 spi-cpol;
0091 interrupt-parent = <&gpio1>;
0092 interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
0093 vdd-supply = <&vdd>;
0094 vddio-supply = <&vddio>;
0095 };
0096 };