Line data Source code
1 0 : /*
2 : * Copyright (c) 2023 deveritec GmbH
3 : *
4 : * SPDX-License-Identifier: Apache-2.0
5 : */
6 : #ifndef ZEPHYR_INCLUDE_DT_BINDINGS_TMAG5273_H_
7 : #define ZEPHYR_INCLUDE_DT_BINDINGS_TMAG5273_H_
8 :
9 : #include <zephyr/dt-bindings/dt-util.h>
10 :
11 : /* Operating Mode */
12 0 : #define TMAG5273_DT_OPER_MODE_CONTINUOUS 0
13 0 : #define TMAG5273_DT_OPER_MODE_STANDBY 1
14 :
15 : /* Axis */
16 0 : #define TMAG5273_DT_AXIS_NONE 0x0
17 0 : #define TMAG5273_DT_AXIS_X 0x1
18 0 : #define TMAG5273_DT_AXIS_Y 0x2
19 0 : #define TMAG5273_DT_AXIS_Z 0x4
20 0 : #define TMAG5273_DT_AXIS_XY (TMAG5273_DT_AXIS_X | TMAG5273_DT_AXIS_Y)
21 0 : #define TMAG5273_DT_AXIS_XZ (TMAG5273_DT_AXIS_X | TMAG5273_DT_AXIS_Z)
22 0 : #define TMAG5273_DT_AXIS_YZ (TMAG5273_DT_AXIS_Y | TMAG5273_DT_AXIS_Z)
23 0 : #define TMAG5273_DT_AXIS_XYZ (TMAG5273_DT_AXIS_X | TMAG5273_DT_AXIS_Y | TMAG5273_DT_AXIS_Z)
24 0 : #define TMAG5273_DT_AXIS_XYX 0x8
25 0 : #define TMAG5273_DT_AXIS_YXY 0x9
26 0 : #define TMAG5273_DT_AXIS_YZY 0xA
27 0 : #define TMAG5273_DT_AXIS_XZX 0xB
28 :
29 : /* Range */
30 0 : #define TMAG5273_DT_AXIS_RANGE_LOW 0
31 0 : #define TMAG5273_DT_AXIS_RANGE_HIGH 1
32 0 : #define TMAG5273_DT_AXIS_RANGE_RUNTIME 2
33 :
34 : /* Interrupt-Mode */
35 0 : #define TMAG5273_DT_INT_THROUGH_INT 0
36 0 : #define TMAG5273_DT_INT_THROUGH_INT_EXC_I2C 1
37 0 : #define TMAG5273_DT_INT_THROUGH_SCL 2
38 0 : #define TMAG5273_DT_INT_THROUGH_SCL_EXC_I2C 3
39 :
40 : /* Threshold crossings */
41 0 : #define TMAG5273_DT_THRX_COUNT_1 0
42 0 : #define TMAG5273_DT_THRX_COUNT_4 1
43 :
44 : /* Threshold direction */
45 0 : #define TMAG5273_DT_THRX_ABOVE 0
46 0 : #define TMAG5273_DT_THRX_BELOW 1
47 0 : #define TMAG5273_DT_THRX_OUTSIDE 2
48 0 : #define TMAG5273_DT_THRX_INSIDE 3
49 :
50 : /* Temperature coefficient */
51 0 : #define TMAG5273_DT_TEMP_COEFF_NONE 0
52 0 : #define TMAG5273_DT_TEMP_COEFF_NDBFE 1
53 0 : #define TMAG5273_DT_TEMP_COEFF_CERAMIC 2
54 :
55 : /* Angle/Magnitude calculation */
56 0 : #define TMAG5273_DT_ANGLE_MAG_NONE 0
57 0 : #define TMAG5273_DT_ANGLE_MAG_XY 1
58 0 : #define TMAG5273_DT_ANGLE_MAG_YZ 2
59 0 : #define TMAG5273_DT_ANGLE_MAG_XZ 3
60 0 : #define TMAG5273_DT_ANGLE_MAG_RUNTIME 4
61 :
62 : /* Channel Magnitude Gain Correction */
63 0 : #define TMAG5273_DT_CORRECTION_CH_1 0
64 0 : #define TMAG5273_DT_CORRECTION_CH_2 1
65 :
66 : /* Averaging */
67 0 : #define TMAG5273_DT_AVERAGING_NONE 0
68 0 : #define TMAG5273_DT_AVERAGING_2X 1
69 0 : #define TMAG5273_DT_AVERAGING_4X 2
70 0 : #define TMAG5273_DT_AVERAGING_8X 3
71 0 : #define TMAG5273_DT_AVERAGING_16X 4
72 0 : #define TMAG5273_DT_AVERAGING_32X 5
73 :
74 : /* Sleeptime */
75 0 : #define TMAG5273_DT_SLEEPTIME_1MS 0
76 0 : #define TMAG5273_DT_SLEEPTIME_5MS 1
77 0 : #define TMAG5273_DT_SLEEPTIME_10MS 2
78 0 : #define TMAG5273_DT_SLEEPTIME_15MS 3
79 0 : #define TMAG5273_DT_SLEEPTIME_20MS 4
80 0 : #define TMAG5273_DT_SLEEPTIME_30MS 5
81 0 : #define TMAG5273_DT_SLEEPTIME_50MS 6
82 0 : #define TMAG5273_DT_SLEEPTIME_100MS 7
83 0 : #define TMAG5273_DT_SLEEPTIME_500MS 8
84 0 : #define TMAG5273_DT_SLEEPTIME_1000MS 9
85 0 : #define TMAG5273_DT_SLEEPTIME_2000MS 10
86 0 : #define TMAG5273_DT_SLEEPTIME_5000MS 11
87 0 : #define TMAG5273_DT_SLEEPTIME_20000MS 12
88 :
89 : #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_TMAG5273_H_ */
|