# Copyright (c) 2024 Intel Corporation # Copyright (c) 2022 Esco Medical ApS # Copyright (c) 2020 TDK Invensense # SPDX-License-Identifier: Apache-2.0 description: | ICM-42688 motion tracking device When setting the accel-pm, accel-range, accel-odr, gyro-pm, gyro-range, gyro-odr properties in a .dts or .dtsi file you may include icm42688.h and use the macros defined there. Example: #include icm42688: icm42688@0 { ... accel-pwr-mode = ; accel-fs = ; accel-odr = ; gyro-pwr-mode= ; gyro-fs = ; gyro-odr = ; }; compatible: "invensense,icm42688" include: [sensor-device.yaml, spi-device.yaml] properties: int-gpios: type: phandle-array description: | The INT signal default configuration is active-high. The property value should ensure the flags properly describe the signal that is presented to the driver. accel-pwr-mode: type: int default: 0 description: | Specify the default accelerometer power mode. Default is power-up configuration. enum: - 0 # ICM42688_DT_ACCEL_OFF - 2 # ICM42688_DT_ACCEL_LP - 3 # ICM42688_DT_ACCEL_LN accel-odr: type: int default: 6 description: | Specify the default accelerometer output data rate expressed in samples per second (Hz). Default is power-up configuration. enum: - 1 # ICM42688_DT_ACCEL_ODR_32000 - 2 # ICM42688_DT_ACCEL_ODR_16000 - 3 # ICM42688_DT_ACCEL_ODR_8000 - 4 # ICM42688_DT_ACCEL_ODR_4000 - 5 # ICM42688_DT_ACCEL_ODR_2000 - 6 # ICM42688_DT_ACCEL_ODR_1000 - 7 # ICM42688_DT_ACCEL_ODR_200 - 8 # ICM42688_DT_ACCEL_ODR_100 - 9 # ICM42688_DT_ACCEL_ODR_50 - 10 # ICM42688_DT_ACCEL_ODR_25 - 11 # ICM42688_DT_ACCEL_ODR_12_5 - 12 # ICM42688_DT_ACCEL_ODR_6_25 - 13 # ICM42688_DT_ACCEL_ODR_3_125 - 14 # ICM42688_DT_ACCEL_ODR_1_5625 - 15 # ICM42688_DT_ACCEL_ODR_500 accel-fs: type: int default: 0 description: | Specify the accelerometer range in g. Default is power-up configuration. enum: - 0 # ICM42688_DT_ACCEL_FS_16 - 1 # ICM42688_DT_ACCEL_FS_8 - 2 # ICM42688_DT_ACCEL_FS_4 - 3 # ICM42688_DT_ACCEL_FS_2 gyro-pwr-mode: type: int default: 0 description: | Specify the default gyro power mode. Default is power-up configuration. enum: - 0 # ICM42688_DT_GYRO_OFF - 1 # ICM42688_DT_GYRO_STANDBY - 3 # ICM42688_DT_GYRO_LN gyro-odr: type: int default: 6 description: | Specify the default gyro output data rate expressed in samples per second (Hz). Default is power-up configuration. enum: - 1 # ICM42688_DT_GYRO_ODR_32000 - 2 # ICM42688_DT_GYRO_ODR_16000 - 3 # ICM42688_DT_GYRO_ODR_8000 - 4 # ICM42688_DT_GYRO_ODR_4000 - 5 # ICM42688_DT_GYRO_ODR_2000 - 6 # ICM42688_DT_GYRO_ODR_1000 - 7 # ICM42688_DT_GYRO_ODR_200 - 8 # ICM42688_DT_GYRO_ODR_100 - 9 # ICM42688_DT_GYRO_ODR_50 - 10 # ICM42688_DT_GYRO_ODR_25 - 11 # ICM42688_DT_GYRO_ODR_12_5 - 15 # ICM42688_DT_GYRO_ODR_500 gyro-fs: type: int default: 0 description: | Specify the gyro range in degrees per second. Default is power-up configuration. enum: - 0 # ICM42688_DT_GYRO_FS_2000 - 1 # ICM42688_DT_GYRO_FS_1000 - 2 # ICM42688_DT_GYRO_FS_500 - 3 # ICM42688_DT_GYRO_FS_250 - 4 # ICM42688_DT_GYRO_FS_125 - 5 # ICM42688_DT_GYRO_FS_62_5 - 6 # ICM42688_DT_GYRO_FS_31_25 - 7 # ICM42688_DT_GYRO_FS_15_625