Line data Source code
1 0 : /*
2 : * Copyright (c) 2024 Intel Corporation
3 : * Copyright (c) 2025 Croxel Inc.
4 : * Copyright (c) 2025 CogniPilot Foundation
5 : *
6 : * SPDX-License-Identifier: Apache-2.0
7 : */
8 : #ifndef ZEPHYR_INCLUDE_DT_BINDINGS_TDK_ICM45686_H_
9 : #define ZEPHYR_INCLUDE_DT_BINDINGS_TDK_ICM45686_H_
10 :
11 : /**
12 : * @defgroup ICM45686 Invensense (TDK) ICM45686 DT Options
13 : * @ingroup sensor_interface
14 : * @{
15 : */
16 :
17 : /**
18 : * @defgroup ICM45686_ACCEL_POWER_MODES Accelerometer power modes
19 : * @{
20 : */
21 0 : #define ICM45686_DT_ACCEL_OFF 0
22 0 : #define ICM45686_DT_ACCEL_LP 2
23 0 : #define ICM45686_DT_ACCEL_LN 3
24 : /** @} */
25 :
26 : /**
27 : * @defgroup ICM45686_GYRO_POWER_MODES Gyroscope power modes
28 : * @{
29 : */
30 0 : #define ICM45686_DT_GYRO_OFF 0
31 0 : #define ICM45686_DT_GYRO_STANDBY 1
32 0 : #define ICM45686_DT_GYRO_LP 2
33 0 : #define ICM45686_DT_GYRO_LN 3
34 : /** @} */
35 :
36 : /**
37 : * @defgroup ICM45686_ACCEL_SCALE Accelerometer scale options
38 : * @{
39 : */
40 0 : #define ICM45686_DT_ACCEL_FS_32 0
41 0 : #define ICM45686_DT_ACCEL_FS_16 1
42 0 : #define ICM45686_DT_ACCEL_FS_8 2
43 0 : #define ICM45686_DT_ACCEL_FS_4 3
44 0 : #define ICM45686_DT_ACCEL_FS_2 4
45 : /** @} */
46 :
47 : /**
48 : * @defgroup ICM45686_GYRO_SCALE Gyroscope scale options
49 : * @{
50 : */
51 0 : #define ICM45686_DT_GYRO_FS_4000 0
52 0 : #define ICM45686_DT_GYRO_FS_2000 1
53 0 : #define ICM45686_DT_GYRO_FS_1000 2
54 0 : #define ICM45686_DT_GYRO_FS_500 3
55 0 : #define ICM45686_DT_GYRO_FS_250 4
56 0 : #define ICM45686_DT_GYRO_FS_125 5
57 0 : #define ICM45686_DT_GYRO_FS_62_5 6
58 0 : #define ICM45686_DT_GYRO_FS_31_25 7
59 0 : #define ICM45686_DT_GYRO_FS_15_625 8
60 : /** @} */
61 :
62 : /**
63 : * @defgroup ICM45686_ACCEL_DATA_RATE Accelerometer data rate options
64 : * @{
65 : */
66 0 : #define ICM45686_DT_ACCEL_ODR_6400 3 /* LN-mode only */
67 0 : #define ICM45686_DT_ACCEL_ODR_3200 4 /* LN-mode only */
68 0 : #define ICM45686_DT_ACCEL_ODR_1600 5 /* LN-mode only */
69 0 : #define ICM45686_DT_ACCEL_ODR_800 6 /* LN-mode only */
70 0 : #define ICM45686_DT_ACCEL_ODR_400 7 /* Both LN-mode and LP-mode */
71 0 : #define ICM45686_DT_ACCEL_ODR_200 8 /* Both LN-mode and LP-mode */
72 0 : #define ICM45686_DT_ACCEL_ODR_100 9 /* Both LN-mode and LP-mode */
73 0 : #define ICM45686_DT_ACCEL_ODR_50 10 /* Both LN-mode and LP-mode */
74 0 : #define ICM45686_DT_ACCEL_ODR_25 11 /* Both LN-mode and LP-mode */
75 0 : #define ICM45686_DT_ACCEL_ODR_12_5 12 /* Both LN-mode and LP-mode */
76 0 : #define ICM45686_DT_ACCEL_ODR_6_25 13 /* LP-mode only */
77 0 : #define ICM45686_DT_ACCEL_ODR_3_125 14 /* LP-mode only */
78 0 : #define ICM45686_DT_ACCEL_ODR_1_5625 15 /* LP-mode only */
79 : /** @} */
80 :
81 : /**
82 : * @defgroup ICM45686_GYRO_DATA_RATE Gyroscope data rate options
83 : * @{
84 : */
85 0 : #define ICM45686_DT_GYRO_ODR_6400 3 /* LN-mode only */
86 0 : #define ICM45686_DT_GYRO_ODR_3200 4 /* LN-mode only */
87 0 : #define ICM45686_DT_GYRO_ODR_1600 5 /* LN-mode only */
88 0 : #define ICM45686_DT_GYRO_ODR_800 6 /* LN-mode only */
89 0 : #define ICM45686_DT_GYRO_ODR_400 7 /* Both LN-mode and LP-mode */
90 0 : #define ICM45686_DT_GYRO_ODR_200 8 /* Both LN-mode and LP-mode */
91 0 : #define ICM45686_DT_GYRO_ODR_100 9 /* Both LN-mode and LP-mode */
92 0 : #define ICM45686_DT_GYRO_ODR_50 10 /* Both LN-mode and LP-mode */
93 0 : #define ICM45686_DT_GYRO_ODR_25 11 /* Both LN-mode and LP-mode */
94 0 : #define ICM45686_DT_GYRO_ODR_12_5 12 /* Both LN-mode and LP-mode */
95 0 : #define ICM45686_DT_GYRO_ODR_6_25 13 /* LP-mode only */
96 0 : #define ICM45686_DT_GYRO_ODR_3_125 14 /* LP-mode only */
97 0 : #define ICM45686_DT_GYRO_ODR_1_5625 15 /* LP-mode only */
98 : /** @} */
99 :
100 : /**
101 : * @defgroup ICM45686_GYRO_LPF Gyroscope Low-pass Filtering options
102 : * @{
103 : */
104 0 : #define ICM45686_DT_GYRO_LPF_BW_OFF 0
105 0 : #define ICM45686_DT_GYRO_LPF_BW_1_4 1
106 0 : #define ICM45686_DT_GYRO_LPF_BW_1_8 2
107 0 : #define ICM45686_DT_GYRO_LPF_BW_1_16 3
108 0 : #define ICM45686_DT_GYRO_LPF_BW_1_32 4
109 0 : #define ICM45686_DT_GYRO_LPF_BW_1_64 5
110 0 : #define ICM45686_DT_GYRO_LPF_BW_1_128 6
111 : /** @} */
112 :
113 : /**
114 : * @defgroup ICM45686_ACCEL_LPF Accelerometer Low-pass Filtering options
115 : * @{
116 : */
117 0 : #define ICM45686_DT_ACCEL_LPF_BW_OFF 0
118 0 : #define ICM45686_DT_ACCEL_LPF_BW_1_4 1
119 0 : #define ICM45686_DT_ACCEL_LPF_BW_1_8 2
120 0 : #define ICM45686_DT_ACCEL_LPF_BW_1_16 3
121 0 : #define ICM45686_DT_ACCEL_LPF_BW_1_32 4
122 0 : #define ICM45686_DT_ACCEL_LPF_BW_1_64 5
123 0 : #define ICM45686_DT_ACCEL_LPF_BW_1_128 6
124 : /** @} */
125 :
126 :
127 : /** @} */
128 :
129 : #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_TDK_ICM45686_H_ */
|