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 7title: InvenSense ICM-426xx Inertial Measurement Unit 8 9maintainers: 10 - Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> 11 12description: | 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 27properties: 28 compatible: 29 enum: 30 - invensense,icm42600 31 - invensense,icm42602 32 - invensense,icm42605 33 - invensense,icm42622 34 - invensense,icm42631 35 36 reg: 37 maxItems: 1 38 39 interrupts: 40 maxItems: 1 41 42 drive-open-drain: 43 type: boolean 44 45 vdd-supply: 46 description: Regulator that provides power to the sensor 47 48 vddio-supply: 49 description: Regulator that provides power to the bus 50 51 spi-cpha: true 52 spi-cpol: true 53 54required: 55 - compatible 56 - reg 57 - interrupts 58 59allOf: 60 - $ref: /schemas/spi/spi-peripheral-props.yaml# 61 62unevaluatedProperties: false 63 64examples: 65 - | 66 #include <dt-bindings/gpio/gpio.h> 67 #include <dt-bindings/interrupt-controller/irq.h> 68 i2c0 { 69 #address-cells = <1>; 70 #size-cells = <0>; 71 72 icm42605@68 { 73 compatible = "invensense,icm42605"; 74 reg = <0x68>; 75 interrupt-parent = <&gpio2>; 76 interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 77 vdd-supply = <&vdd>; 78 vddio-supply = <&vddio>; 79 }; 80 }; 81 - | 82 #include <dt-bindings/gpio/gpio.h> 83 #include <dt-bindings/interrupt-controller/irq.h> 84 spi0 { 85 #address-cells = <1>; 86 #size-cells = <0>; 87 88 icm42602@0 { 89 compatible = "invensense,icm42602"; 90 reg = <0>; 91 spi-max-frequency = <24000000>; 92 spi-cpha; 93 spi-cpol; 94 interrupt-parent = <&gpio1>; 95 interrupts = <2 IRQ_TYPE_EDGE_FALLING>; 96 vdd-supply = <&vdd>; 97 vddio-supply = <&vddio>; 98 }; 99 }; 100