# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/iio/imu/invensense,icm45600.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: InvenSense ICM-45600 Inertial Measurement Unit maintainers: - Remi Buisson description: | 6-axis MotionTracking device that combines a 3-axis gyroscope and a 3-axis accelerometer. It has a configurable host interface that supports I3C, I2C and SPI serial communication, features up to 8kB FIFO and 2 programmable interrupts with ultra-low-power wake-on-motion support to minimize system power consumption. Other industry-leading features include InvenSense on-chip APEX Motion Processing engine for gesture recognition, activity classification, and pedometer, along with programmable digital filters, and an embedded temperature sensor. https://invensense.tdk.com/wp-content/uploads/documentation/DS-000576_ICM-45605.pdf properties: compatible: enum: - invensense,icm45605 - invensense,icm45606 - invensense,icm45608 - invensense,icm45634 - invensense,icm45686 - invensense,icm45687 - invensense,icm45688p - invensense,icm45689 reg: maxItems: 1 interrupts: minItems: 1 maxItems: 2 interrupt-names: minItems: 1 items: - enum: [int1, int2] - const: int2 description: Choose chip interrupt pin to be used as interrupt input. drive-open-drain: type: boolean vdd-supply: true vddio-supply: true mount-matrix: true required: - compatible - reg - vdd-supply - vddio-supply unevaluatedProperties: false examples: - | #include #include i2c { #address-cells = <1>; #size-cells = <0>; imu@68 { compatible = "invensense,icm45605"; reg = <0x68>; interrupt-parent = <&gpio2>; interrupt-names = "int1"; interrupts = <7 IRQ_TYPE_EDGE_RISING>; vdd-supply = <&vdd>; vddio-supply = <&vddio>; mount-matrix = "0", "-1", "0", "1", "0", "0", "0", "0", "1"; }; };