1 /*
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 #define ICM45686_DT_ACCEL_OFF		0
22 #define ICM45686_DT_ACCEL_LP		2
23 #define ICM45686_DT_ACCEL_LN		3
24 /** @} */
25 
26 /**
27  * @defgroup ICM45686_GYRO_POWER_MODES Gyroscope power modes
28  * @{
29  */
30 #define ICM45686_DT_GYRO_OFF		0
31 #define ICM45686_DT_GYRO_STANDBY	1
32 #define ICM45686_DT_GYRO_LP		2
33 #define ICM45686_DT_GYRO_LN		3
34 /** @} */
35 
36 /**
37  * @defgroup ICM45686_ACCEL_SCALE Accelerometer scale options
38  * @{
39  */
40 #define ICM45686_DT_ACCEL_FS_32		0
41 #define ICM45686_DT_ACCEL_FS_16		1
42 #define ICM45686_DT_ACCEL_FS_8		2
43 #define ICM45686_DT_ACCEL_FS_4		3
44 #define ICM45686_DT_ACCEL_FS_2		4
45 /** @} */
46 
47 /**
48  * @defgroup ICM45686_GYRO_SCALE Gyroscope scale options
49  * @{
50  */
51 #define ICM45686_DT_GYRO_FS_4000	0
52 #define ICM45686_DT_GYRO_FS_2000	1
53 #define ICM45686_DT_GYRO_FS_1000	2
54 #define ICM45686_DT_GYRO_FS_500		3
55 #define ICM45686_DT_GYRO_FS_250		4
56 #define ICM45686_DT_GYRO_FS_125		5
57 #define ICM45686_DT_GYRO_FS_62_5	6
58 #define ICM45686_DT_GYRO_FS_31_25	7
59 #define ICM45686_DT_GYRO_FS_15_625	8
60 /** @} */
61 
62 /**
63  * @defgroup ICM45686_ACCEL_DATA_RATE Accelerometer data rate options
64  * @{
65  */
66 #define ICM45686_DT_ACCEL_ODR_6400	3 /* LN-mode only */
67 #define ICM45686_DT_ACCEL_ODR_3200	4 /* LN-mode only */
68 #define ICM45686_DT_ACCEL_ODR_1600	5 /* LN-mode only */
69 #define ICM45686_DT_ACCEL_ODR_800	6 /* LN-mode only */
70 #define ICM45686_DT_ACCEL_ODR_400	7 /* Both LN-mode and LP-mode */
71 #define ICM45686_DT_ACCEL_ODR_200	8 /* Both LN-mode and LP-mode */
72 #define ICM45686_DT_ACCEL_ODR_100	9 /* Both LN-mode and LP-mode */
73 #define ICM45686_DT_ACCEL_ODR_50	10 /* Both LN-mode and LP-mode */
74 #define ICM45686_DT_ACCEL_ODR_25	11 /* Both LN-mode and LP-mode */
75 #define ICM45686_DT_ACCEL_ODR_12_5	12 /* Both LN-mode and LP-mode */
76 #define ICM45686_DT_ACCEL_ODR_6_25	13 /* LP-mode only */
77 #define ICM45686_DT_ACCEL_ODR_3_125	14 /* LP-mode only */
78 #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 #define ICM45686_DT_GYRO_ODR_6400	3 /* LN-mode only */
86 #define ICM45686_DT_GYRO_ODR_3200	4 /* LN-mode only */
87 #define ICM45686_DT_GYRO_ODR_1600	5 /* LN-mode only */
88 #define ICM45686_DT_GYRO_ODR_800	6 /* LN-mode only */
89 #define ICM45686_DT_GYRO_ODR_400	7 /* Both LN-mode and LP-mode */
90 #define ICM45686_DT_GYRO_ODR_200	8 /* Both LN-mode and LP-mode */
91 #define ICM45686_DT_GYRO_ODR_100	9 /* Both LN-mode and LP-mode */
92 #define ICM45686_DT_GYRO_ODR_50		10 /* Both LN-mode and LP-mode */
93 #define ICM45686_DT_GYRO_ODR_25		11 /* Both LN-mode and LP-mode */
94 #define ICM45686_DT_GYRO_ODR_12_5	12 /* Both LN-mode and LP-mode */
95 #define ICM45686_DT_GYRO_ODR_6_25	13 /* LP-mode only */
96 #define ICM45686_DT_GYRO_ODR_3_125	14 /* LP-mode only */
97 #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 #define ICM45686_DT_GYRO_LPF_BW_OFF	0
105 #define ICM45686_DT_GYRO_LPF_BW_1_4	1
106 #define ICM45686_DT_GYRO_LPF_BW_1_8	2
107 #define ICM45686_DT_GYRO_LPF_BW_1_16	3
108 #define ICM45686_DT_GYRO_LPF_BW_1_32	4
109 #define ICM45686_DT_GYRO_LPF_BW_1_64	5
110 #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 #define ICM45686_DT_ACCEL_LPF_BW_OFF	0
118 #define ICM45686_DT_ACCEL_LPF_BW_1_4	1
119 #define ICM45686_DT_ACCEL_LPF_BW_1_8	2
120 #define ICM45686_DT_ACCEL_LPF_BW_1_16	3
121 #define ICM45686_DT_ACCEL_LPF_BW_1_32	4
122 #define ICM45686_DT_ACCEL_LPF_BW_1_64	5
123 #define ICM45686_DT_ACCEL_LPF_BW_1_128	6
124 /** @} */
125 
126 
127 /** @} */
128 
129 #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_TDK_ICM45686_H_ */
130