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_ */