blob: 9af26d6bdc6baf9ba35dee59419cf9ca895c5854 [file] [log] [blame]
/*
* Copyright (c) 2023 deveritec GmbH
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_TMAG5273_H_
#define ZEPHYR_INCLUDE_DT_BINDINGS_TMAG5273_H_
#include <zephyr/dt-bindings/dt-util.h>
/* Operating Mode */
#define TMAG5273_DT_OPER_MODE_CONTINUOUS 0
#define TMAG5273_DT_OPER_MODE_STANDBY 1
/* Axis */
#define TMAG5273_DT_AXIS_NONE 0x0
#define TMAG5273_DT_AXIS_X 0x1
#define TMAG5273_DT_AXIS_Y 0x2
#define TMAG5273_DT_AXIS_Z 0x4
#define TMAG5273_DT_AXIS_XY (TMAG5273_DT_AXIS_X | TMAG5273_DT_AXIS_Y)
#define TMAG5273_DT_AXIS_XZ (TMAG5273_DT_AXIS_X | TMAG5273_DT_AXIS_Z)
#define TMAG5273_DT_AXIS_YZ (TMAG5273_DT_AXIS_Y | TMAG5273_DT_AXIS_Z)
#define TMAG5273_DT_AXIS_XYZ (TMAG5273_DT_AXIS_X | TMAG5273_DT_AXIS_Y | TMAG5273_DT_AXIS_Z)
#define TMAG5273_DT_AXIS_XYX 0x8
#define TMAG5273_DT_AXIS_YXY 0x9
#define TMAG5273_DT_AXIS_YZY 0xA
#define TMAG5273_DT_AXIS_XZX 0xB
/* Range */
#define TMAG5273_DT_AXIS_RANGE_LOW 0
#define TMAG5273_DT_AXIS_RANGE_HIGH 1
#define TMAG5273_DT_AXIS_RANGE_RUNTIME 2
/* Interrupt-Mode */
#define TMAG5273_DT_INT_THROUGH_INT 0
#define TMAG5273_DT_INT_THROUGH_INT_EXC_I2C 1
#define TMAG5273_DT_INT_THROUGH_SCL 2
#define TMAG5273_DT_INT_THROUGH_SCL_EXC_I2C 3
/* Threshold crossings */
#define TMAG5273_DT_THRX_COUNT_1 0
#define TMAG5273_DT_THRX_COUNT_4 1
/* Threshold direction */
#define TMAG5273_DT_THRX_ABOVE 0
#define TMAG5273_DT_THRX_BELOW 1
#define TMAG5273_DT_THRX_OUTSIDE 2
#define TMAG5273_DT_THRX_INSIDE 3
/* Temperature coefficient */
#define TMAG5273_DT_TEMP_COEFF_NONE 0
#define TMAG5273_DT_TEMP_COEFF_NDBFE 1
#define TMAG5273_DT_TEMP_COEFF_CERAMIC 2
/* Angle/Magnitude calculation */
#define TMAG5273_DT_ANGLE_MAG_NONE 0
#define TMAG5273_DT_ANGLE_MAG_XY 1
#define TMAG5273_DT_ANGLE_MAG_YZ 2
#define TMAG5273_DT_ANGLE_MAG_XZ 3
#define TMAG5273_DT_ANGLE_MAG_RUNTIME 4
/* Channel Magnitude Gain Correction */
#define TMAG5273_DT_CORRECTION_CH_1 0
#define TMAG5273_DT_CORRECTION_CH_2 1
/* Averaging */
#define TMAG5273_DT_AVERAGING_NONE 0
#define TMAG5273_DT_AVERAGING_2X 1
#define TMAG5273_DT_AVERAGING_4X 2
#define TMAG5273_DT_AVERAGING_8X 3
#define TMAG5273_DT_AVERAGING_16X 4
#define TMAG5273_DT_AVERAGING_32X 5
/* Sleeptime */
#define TMAG5273_DT_SLEEPTIME_1MS 0
#define TMAG5273_DT_SLEEPTIME_5MS 1
#define TMAG5273_DT_SLEEPTIME_10MS 2
#define TMAG5273_DT_SLEEPTIME_15MS 3
#define TMAG5273_DT_SLEEPTIME_20MS 4
#define TMAG5273_DT_SLEEPTIME_30MS 5
#define TMAG5273_DT_SLEEPTIME_50MS 6
#define TMAG5273_DT_SLEEPTIME_100MS 7
#define TMAG5273_DT_SLEEPTIME_500MS 8
#define TMAG5273_DT_SLEEPTIME_1000MS 9
#define TMAG5273_DT_SLEEPTIME_2000MS 10
#define TMAG5273_DT_SLEEPTIME_5000MS 11
#define TMAG5273_DT_SLEEPTIME_20000MS 12
#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_TMAG5273_H_ */