1 /*
2  * Copyright (c) 2023 STMicroelectronics
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 #ifndef ZEPHYR_INCLUDE_DT_BINDINGS_ST_LSM6DSV16X_H_
7 #define ZEPHYR_INCLUDE_DT_BINDINGS_ST_LSM6DSV16X_H_
8 
9 /* Accel range */
10 #define	LSM6DSV16X_DT_FS_2G			0
11 #define	LSM6DSV16X_DT_FS_4G			1
12 #define	LSM6DSV16X_DT_FS_8G			2
13 #define	LSM6DSV16X_DT_FS_16G			3
14 
15 /* Gyro range */
16 #define	LSM6DSV16X_DT_FS_125DPS			0x0
17 #define	LSM6DSV16X_DT_FS_250DPS			0x1
18 #define	LSM6DSV16X_DT_FS_500DPS			0x2
19 #define	LSM6DSV16X_DT_FS_1000DPS		0x3
20 #define	LSM6DSV16X_DT_FS_2000DPS		0x4
21 #define	LSM6DSV16X_DT_FS_4000DPS		0xc
22 
23 /* Accel and Gyro Data rates */
24 #define LSM6DSV16X_DT_ODR_OFF			0x0
25 #define LSM6DSV16X_DT_ODR_AT_1Hz875		0x1
26 #define LSM6DSV16X_DT_ODR_AT_7Hz5		0x2
27 #define LSM6DSV16X_DT_ODR_AT_15Hz		0x3
28 #define LSM6DSV16X_DT_ODR_AT_30Hz		0x4
29 #define LSM6DSV16X_DT_ODR_AT_60Hz		0x5
30 #define LSM6DSV16X_DT_ODR_AT_120Hz		0x6
31 #define LSM6DSV16X_DT_ODR_AT_240Hz		0x7
32 #define LSM6DSV16X_DT_ODR_AT_480Hz		0x8
33 #define LSM6DSV16X_DT_ODR_AT_960Hz		0x9
34 #define LSM6DSV16X_DT_ODR_AT_1920Hz		0xA
35 #define LSM6DSV16X_DT_ODR_AT_3840Hz		0xB
36 #define LSM6DSV16X_DT_ODR_AT_7680Hz		0xC
37 #define LSM6DSV16X_DT_ODR_HA01_AT_15Hz625	0x13
38 #define LSM6DSV16X_DT_ODR_HA01_AT_31Hz25	0x14
39 #define LSM6DSV16X_DT_ODR_HA01_AT_62Hz5		0x15
40 #define LSM6DSV16X_DT_ODR_HA01_AT_125Hz		0x16
41 #define LSM6DSV16X_DT_ODR_HA01_AT_250Hz		0x17
42 #define LSM6DSV16X_DT_ODR_HA01_AT_500Hz		0x18
43 #define LSM6DSV16X_DT_ODR_HA01_AT_1000Hz	0x19
44 #define LSM6DSV16X_DT_ODR_HA01_AT_2000Hz	0x1A
45 #define LSM6DSV16X_DT_ODR_HA01_AT_4000Hz	0x1B
46 #define LSM6DSV16X_DT_ODR_HA01_AT_8000Hz	0x1C
47 #define LSM6DSV16X_DT_ODR_HA02_AT_12Hz5		0x23
48 #define LSM6DSV16X_DT_ODR_HA02_AT_25Hz		0x24
49 #define LSM6DSV16X_DT_ODR_HA02_AT_50Hz		0x25
50 #define LSM6DSV16X_DT_ODR_HA02_AT_100Hz		0x26
51 #define LSM6DSV16X_DT_ODR_HA02_AT_200Hz		0x27
52 #define LSM6DSV16X_DT_ODR_HA02_AT_400Hz		0x28
53 #define LSM6DSV16X_DT_ODR_HA02_AT_800Hz		0x29
54 #define LSM6DSV16X_DT_ODR_HA02_AT_1600Hz	0x2A
55 #define LSM6DSV16X_DT_ODR_HA02_AT_3200Hz	0x2B
56 #define LSM6DSV16X_DT_ODR_HA02_AT_6400Hz	0x2C
57 
58 /* Accelerometer batching rates */
59 #define LSM6DSV16X_DT_XL_NOT_BATCHED		0x0
60 #define LSM6DSV16X_DT_XL_BATCHED_AT_1Hz875	0x1
61 #define LSM6DSV16X_DT_XL_BATCHED_AT_7Hz5	0x2
62 #define LSM6DSV16X_DT_XL_BATCHED_AT_15Hz	0x3
63 #define LSM6DSV16X_DT_XL_BATCHED_AT_30Hz	0x4
64 #define LSM6DSV16X_DT_XL_BATCHED_AT_60Hz	0x5
65 #define LSM6DSV16X_DT_XL_BATCHED_AT_120Hz	0x6
66 #define LSM6DSV16X_DT_XL_BATCHED_AT_240Hz	0x7
67 #define LSM6DSV16X_DT_XL_BATCHED_AT_480Hz	0x8
68 #define LSM6DSV16X_DT_XL_BATCHED_AT_960Hz	0x9
69 #define LSM6DSV16X_DT_XL_BATCHED_AT_1920Hz	0xa
70 #define LSM6DSV16X_DT_XL_BATCHED_AT_3840Hz	0xb
71 #define LSM6DSV16X_DT_XL_BATCHED_AT_7680Hz	0xc
72 
73 /* Gyroscope batching rates */
74 #define LSM6DSV16X_DT_GY_NOT_BATCHED		0x0
75 #define LSM6DSV16X_DT_GY_BATCHED_AT_1Hz875	0x1
76 #define LSM6DSV16X_DT_GY_BATCHED_AT_7Hz5	0x2
77 #define LSM6DSV16X_DT_GY_BATCHED_AT_15Hz	0x3
78 #define LSM6DSV16X_DT_GY_BATCHED_AT_30Hz	0x4
79 #define LSM6DSV16X_DT_GY_BATCHED_AT_60Hz	0x5
80 #define LSM6DSV16X_DT_GY_BATCHED_AT_120Hz	0x6
81 #define LSM6DSV16X_DT_GY_BATCHED_AT_240Hz	0x7
82 #define LSM6DSV16X_DT_GY_BATCHED_AT_480Hz	0x8
83 #define LSM6DSV16X_DT_GY_BATCHED_AT_960Hz	0x9
84 #define LSM6DSV16X_DT_GY_BATCHED_AT_1920Hz	0xa
85 #define LSM6DSV16X_DT_GY_BATCHED_AT_3840Hz	0xb
86 #define LSM6DSV16X_DT_GY_BATCHED_AT_7680Hz	0xc
87 
88 /* Temperature sensor batching rates */
89 #define LSM6DSV16X_DT_TEMP_NOT_BATCHED		0x0
90 #define LSM6DSV16X_DT_TEMP_BATCHED_AT_1Hz875	0x1
91 #define LSM6DSV16X_DT_TEMP_BATCHED_AT_15Hz	0x2
92 #define LSM6DSV16X_DT_TEMP_BATCHED_AT_60Hz	0x3
93 
94 /* Sensor Fusion Low Power Data rates */
95 #define LSM6DSV16X_DT_SFLP_ODR_AT_15Hz		0x0
96 #define LSM6DSV16X_DT_SFLP_ODR_AT_30Hz		0x1
97 #define LSM6DSV16X_DT_SFLP_ODR_AT_60Hz		0x2
98 #define LSM6DSV16X_DT_SFLP_ODR_AT_120Hz		0x3
99 #define LSM6DSV16X_DT_SFLP_ODR_AT_240Hz		0x4
100 #define LSM6DSV16X_DT_SFLP_ODR_AT_480Hz		0x5
101 
102 /* Sensor Fusion Low Power FIFO enable defs */
103 #define LSM6DSV16X_DT_SFLP_FIFO_OFF				0x0
104 #define LSM6DSV16X_DT_SFLP_FIFO_GAME_ROTATION			0x1
105 #define LSM6DSV16X_DT_SFLP_FIFO_GRAVITY				0x2
106 #define LSM6DSV16X_DT_SFLP_FIFO_GAME_ROTATION_GRAVITY		0x3
107 #define LSM6DSV16X_DT_SFLP_FIFO_GBIAS				0x4
108 #define LSM6DSV16X_DT_SFLP_FIFO_GAME_ROTATION_GBIAS		0x5
109 #define LSM6DSV16X_DT_SFLP_FIFO_GRAVITY_GBIAS			0x6
110 #define LSM6DSV16X_DT_SFLP_FIFO_GAME_ROTATION_GRAVITY_GBIAS	0x7
111 
112 
113 #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_ST_LSM6DSV16X_H_ */
114