102 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---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 Unit8 9maintainers:10 - Jean-Baptiste Maneyrol <jmaneyrol@invensense.com>11 12description: |13 6-axis MotionTracking device that combines a 3-axis gyroscope and a 3-axis14 accelerometer.15 16 It has a configurable host interface that supports I3C, I2C and SPI serial17 communication, features a 2kB FIFO and 2 programmable interrupts with18 ultra-low-power wake-on-motion support to minimize system power consumption.19 20 Other industry-leading features include InvenSense on-chip APEX Motion21 Processing engine for gesture recognition, activity classification, and22 pedometer, along with programmable digital filters, and an embedded23 temperature sensor.24 25 https://invensense.tdk.com/wp-content/uploads/2020/03/DS-000292-ICM-42605-v1.4.pdf26 27properties:28 compatible:29 enum:30 - invensense,icm4260031 - invensense,icm4260232 - invensense,icm4260533 - invensense,icm4262234 - invensense,icm4263135 - invensense,icm4268636 - invensense,icm4268837 38 reg:39 maxItems: 140 41 interrupts:42 maxItems: 143 44 drive-open-drain:45 type: boolean46 47 vdd-supply:48 description: Regulator that provides power to the sensor49 50 vddio-supply:51 description: Regulator that provides power to the bus52 53 spi-cpha: true54 spi-cpol: true55 56required:57 - compatible58 - reg59 - interrupts60 61allOf:62 - $ref: /schemas/spi/spi-peripheral-props.yaml#63 64unevaluatedProperties: false65 66examples:67 - |68 #include <dt-bindings/gpio/gpio.h>69 #include <dt-bindings/interrupt-controller/irq.h>70 i2c {71 #address-cells = <1>;72 #size-cells = <0>;73 74 icm42605@68 {75 compatible = "invensense,icm42605";76 reg = <0x68>;77 interrupt-parent = <&gpio2>;78 interrupts = <7 IRQ_TYPE_EDGE_FALLING>;79 vdd-supply = <&vdd>;80 vddio-supply = <&vddio>;81 };82 };83 - |84 #include <dt-bindings/gpio/gpio.h>85 #include <dt-bindings/interrupt-controller/irq.h>86 spi {87 #address-cells = <1>;88 #size-cells = <0>;89 90 icm42602@0 {91 compatible = "invensense,icm42602";92 reg = <0>;93 spi-max-frequency = <24000000>;94 spi-cpha;95 spi-cpol;96 interrupt-parent = <&gpio1>;97 interrupts = <2 IRQ_TYPE_EDGE_FALLING>;98 vdd-supply = <&vdd>;99 vddio-supply = <&vddio>;100 };101 };102