Back to home page

OSCL-LXR

 
 

    


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     };