Line data Source code
1 0 : /*
2 : * Copyright (c) 2023 STMicroelectronics
3 : *
4 : * SPDX-License-Identifier: Apache-2.0
5 : */
6 : #ifndef ZEPHYR_INCLUDE_DT_BINDINGS_LIS2DUX12_H_
7 : #define ZEPHYR_INCLUDE_DT_BINDINGS_LIS2DUX12_H_
8 :
9 : #include <zephyr/dt-bindings/dt-util.h>
10 :
11 : /* Operating Mode */
12 0 : #define LIS2DUX12_OPER_MODE_POWER_DOWN 0
13 0 : #define LIS2DUX12_OPER_MODE_LOW_POWER 1
14 0 : #define LIS2DUX12_OPER_MODE_HIGH_PERFORMANCE 2
15 0 : #define LIS2DUX12_OPER_MODE_SINGLE_SHOT 3
16 :
17 : /* Data rate */
18 0 : #define LIS2DUX12_DT_ODR_OFF 0
19 0 : #define LIS2DUX12_DT_ODR_1Hz_ULP 1 /* available in ultra-low power mode */
20 0 : #define LIS2DUX12_DT_ODR_3Hz_ULP 2 /* available in ultra-low power mode */
21 0 : #define LIS2DUX12_DT_ODR_25Hz_ULP 3 /* available in ultra-low power mode */
22 0 : #define LIS2DUX12_DT_ODR_6Hz 4 /* available in LP and HP mode */
23 0 : #define LIS2DUX12_DT_ODR_12Hz5 5 /* available in LP and HP mode */
24 0 : #define LIS2DUX12_DT_ODR_25Hz 6 /* available in LP and HP mode */
25 0 : #define LIS2DUX12_DT_ODR_50Hz 7 /* available in LP and HP mode */
26 0 : #define LIS2DUX12_DT_ODR_100Hz 8 /* available in LP and HP mode */
27 0 : #define LIS2DUX12_DT_ODR_200Hz 9 /* available in LP and HP mode */
28 0 : #define LIS2DUX12_DT_ODR_400Hz 10 /* available in LP and HP mode */
29 0 : #define LIS2DUX12_DT_ODR_800Hz 11 /* available in LP and HP mode */
30 0 : #define LIS2DUX12_DT_ODR_END 12
31 :
32 : /* Accelerometer Full-scale */
33 0 : #define LIS2DUX12_DT_FS_2G 0 /* 2g (0.061 mg/LSB) */
34 0 : #define LIS2DUX12_DT_FS_4G 1 /* 4g (0.122 mg/LSB) */
35 0 : #define LIS2DUX12_DT_FS_8G 2 /* 8g (0.244 mg/LSB) */
36 0 : #define LIS2DUX12_DT_FS_16G 3 /* 16g (0.488 mg/LSB) */
37 :
38 : /* Accelerometer FIFO batching data rate */
39 0 : #define LIS2DUX12_DT_BDR_XL_ODR 0x0
40 0 : #define LIS2DUX12_DT_BDR_XL_ODR_DIV_2 0x1
41 0 : #define LIS2DUX12_DT_BDR_XL_ODR_DIV_4 0x2
42 0 : #define LIS2DUX12_DT_BDR_XL_ODR_DIV_8 0x3
43 0 : #define LIS2DUX12_DT_BDR_XL_ODR_DIV_16 0x4
44 0 : #define LIS2DUX12_DT_BDR_XL_ODR_DIV_32 0x5
45 0 : #define LIS2DUX12_DT_BDR_XL_ODR_DIV_64 0x6
46 0 : #define LIS2DUX12_DT_BDR_XL_ODR_OFF 0x7
47 :
48 : /* Accelerometer FIFO timestamp ratio */
49 0 : #define LIS2DUX12_DT_DEC_TS_OFF 0x0
50 0 : #define LIS2DUX12_DT_DEC_TS_1 0x1
51 0 : #define LIS2DUX12_DT_DEC_TS_8 0x2
52 0 : #define LIS2DUX12_DT_DEC_TS_32 0x3
53 :
54 : /* Accelerometer FIFO tags (aligned with lis2dux12_fifo_sensor_tag_t) */
55 0 : #define LIS2DUXXX_FIFO_EMPTY 0x0
56 0 : #define LIS2DUXXX_XL_TEMP_TAG 0x2
57 0 : #define LIS2DUXXX_XL_ONLY_2X_TAG 0x3
58 0 : #define LIS2DUXXX_TIMESTAMP_TAG 0x4
59 0 : #define LIS2DUXXX_STEP_COUNTER_TAG 0x12
60 0 : #define LIS2DUXXX_MLC_RESULT_TAG 0x1A
61 0 : #define LIS2DUXXX_MLC_FILTER_TAG 0x1B
62 0 : #define LIS2DUXXX_MLC_FEATURE 0x1C
63 0 : #define LIS2DUXXX_FSM_RESULT_TAG 0x1D
64 :
65 : /* Accelerometer FIFO modes (aligned with lis2dux12_operation_t) */
66 0 : #define LIS2DUXXX_DT_BYPASS_MODE 0x0
67 0 : #define LIS2DUXXX_DT_FIFO_MODE 0x1
68 0 : #define LIS2DUXXX_DT_STREAM_TO_FIFO_MODE 0x3
69 0 : #define LIS2DUXXX_DT_BYPASS_TO_STREAM_MODE 0x4
70 0 : #define LIS2DUXXX_DT_STREAM_MODE 0x6
71 0 : #define LIS2DUXXX_DT_BYPASS_TO_FIFO_MODE 0x7
72 0 : #define LIS2DUXXX_DT_FIFO_OFF 0x8
73 :
74 : /* Accelerometer registers */
75 0 : #define LIS2DUXXX_DT_FIFO_CTRL 0x15U
76 0 : #define LIS2DUXXX_DT_STATUS 0x25U
77 0 : #define LIS2DUXXX_DT_FIFO_STATUS1 0x26U
78 0 : #define LIS2DUXXX_DT_OUTX_L 0x28U
79 0 : #define LIS2DUXXX_DT_FIFO_DATA_OUT_TAG 0x40U
80 :
81 : #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_LIS2DUX12_H_ */
|