dt-bindings: iio: imu: Add inv_icm45600

Document the ICM-45600 devices devicetree bindings.
Specific variants of the device are defined because of their
differences in terms of FSR or advanced features like eDMP.

Signed-off-by: Remi Buisson <remi.buisson@tdk.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
Remi Buisson
2025-10-07 07:20:02 +00:00
committed by Jonathan Cameron
parent 95f934b2dd
commit 7d55d00185

View File

@@ -0,0 +1,90 @@
# 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 <remi.buisson@tdk.com>
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 <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
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";
};
};