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