Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: nv_bitfield_map.h
- Revision:
- 20:26e934452728
- Parent:
- 15:83bbc18cccbc
--- a/nv_bitfield_map.h Fri May 28 13:49:23 2021 +0000 +++ b/nv_bitfield_map.h Fri Jun 04 08:21:10 2021 +0000 @@ -43,136 +43,156 @@ #define NV_CRC_MLX_TRIMMING_LENGTH 8 #define NV_CRC_MLX_TRIMMING_MASK 0xFF00 -#define NV_DRVMOD_OSC_DIV4_EN_DRV_ADDRESS 0x09F4 +#define NV_CLAMP_RES_HIGH_DELAY_DRV_ADDRESS 0x09F4 +#define NV_CLAMP_RES_HIGH_DELAY_DRV_OFFSET 15 +#define NV_CLAMP_RES_HIGH_DELAY_DRV_LENGTH 1 +#define NV_CLAMP_RES_HIGH_DELAY_DRV_MASK 0x8000 + +#define NV_VS_UVDET_HYST_SUP_ADDRESS 0x09F4 +#define NV_VS_UVDET_HYST_SUP_OFFSET 14 +#define NV_VS_UVDET_HYST_SUP_LENGTH 1 +#define NV_VS_UVDET_HYST_SUP_MASK 0x4000 + +#define NV_VS_UVDET_SEL_SUP_ADDRESS 0x09F4 +#define NV_VS_UVDET_SEL_SUP_OFFSET 11 +#define NV_VS_UVDET_SEL_SUP_LENGTH 3 +#define NV_VS_UVDET_SEL_SUP_MASK 0x3800 + +#define NV_OC_ADJ_DRV_ADDRESS 0x09F4 +#define NV_OC_ADJ_DRV_OFFSET 10 +#define NV_OC_ADJ_DRV_LENGTH 1 +#define NV_OC_ADJ_DRV_MASK 0x0400 + +#define NV_OC_ONDET_ENABLE_DRV_ADDRESS 0x09F4 +#define NV_OC_ONDET_ENABLE_DRV_OFFSET 9 +#define NV_OC_ONDET_ENABLE_DRV_LENGTH 1 +#define NV_OC_ONDET_ENABLE_DRV_MASK 0x0200 + +#define NV_CL_ONDET_ENABLE_DRV_ADDRESS 0x09F4 +#define NV_CL_ONDET_ENABLE_DRV_OFFSET 8 +#define NV_CL_ONDET_ENABLE_DRV_LENGTH 1 +#define NV_CL_ONDET_ENABLE_DRV_MASK 0x0100 + +#define NV_OV_BLANK_OPTION_ADDRESS 0x09F4 +#define NV_OV_BLANK_OPTION_OFFSET 6 +#define NV_OV_BLANK_OPTION_LENGTH 2 +#define NV_OV_BLANK_OPTION_MASK 0x00C0 + +#define NV_OV_BLANK_TIMER_DIS_ADDRESS 0x09F4 +#define NV_OV_BLANK_TIMER_DIS_OFFSET 5 +#define NV_OV_BLANK_TIMER_DIS_LENGTH 1 +#define NV_OV_BLANK_TIMER_DIS_MASK 0x0020 + +#define NV_OV_BLANK_DIS_ADDRESS 0x09F4 +#define NV_OV_BLANK_DIS_OFFSET 4 +#define NV_OV_BLANK_DIS_LENGTH 1 +#define NV_OV_BLANK_DIS_MASK 0x0010 + +#define NV_OV_TIMEBASE_SELECT_ADDRESS 0x09F4 +#define NV_OV_TIMEBASE_SELECT_OFFSET 2 +#define NV_OV_TIMEBASE_SELECT_LENGTH 2 +#define NV_OV_TIMEBASE_SELECT_MASK 0x000C + +#define NV_VS_OVDET_SEL_SUP_ADDRESS 0x09F4 +#define NV_VS_OVDET_SEL_SUP_OFFSET 0 +#define NV_VS_OVDET_SEL_SUP_LENGTH 2 +#define NV_VS_OVDET_SEL_SUP_MASK 0x0003 + +#define NV_DRV_MODE_SEL_DRV_ADDRESS 0x09F2 +#define NV_DRV_MODE_SEL_DRV_OFFSET 14 +#define NV_DRV_MODE_SEL_DRV_LENGTH 1 +#define NV_DRV_MODE_SEL_DRV_MASK 0x4000 + +#define NV_DRVMOD_OSC_DIV4_EN_DRV_ADDRESS 0x09F2 #define NV_DRVMOD_OSC_DIV4_EN_DRV_OFFSET 13 #define NV_DRVMOD_OSC_DIV4_EN_DRV_LENGTH 1 #define NV_DRVMOD_OSC_DIV4_EN_DRV_MASK 0x2000 -#define NV_DRVMOD_OSC_DIV4_SETTING_DRV_ADDRESS 0x09F4 +#define NV_DRVMOD_OSC_DIV4_SETTING_DRV_ADDRESS 0x09F2 #define NV_DRVMOD_OSC_DIV4_SETTING_DRV_OFFSET 12 #define NV_DRVMOD_OSC_DIV4_SETTING_DRV_LENGTH 1 #define NV_DRVMOD_OSC_DIV4_SETTING_DRV_MASK 0x1000 -#define NV_HS_BOOST_PD_MODE_DRV_ADDRESS 0x09F4 +#define NV_HS_BOOST_PD_MODE_DRV_ADDRESS 0x09F2 #define NV_HS_BOOST_PD_MODE_DRV_OFFSET 10 #define NV_HS_BOOST_PD_MODE_DRV_LENGTH 2 #define NV_HS_BOOST_PD_MODE_DRV_MASK 0x0C00 -#define NV_HS_BOOST_PU_MODE_DRV_ADDRESS 0x09F4 +#define NV_HS_BOOST_PU_MODE_DRV_ADDRESS 0x09F2 #define NV_HS_BOOST_PU_MODE_DRV_OFFSET 8 #define NV_HS_BOOST_PU_MODE_DRV_LENGTH 2 #define NV_HS_BOOST_PU_MODE_DRV_MASK 0x0300 -#define NV_HS_HIGH_I_MODE_DRV_ADDRESS 0x09F4 +#define NV_HS_HIGH_I_MODE_DRV_ADDRESS 0x09F2 #define NV_HS_HIGH_I_MODE_DRV_OFFSET 6 #define NV_HS_HIGH_I_MODE_DRV_LENGTH 2 #define NV_HS_HIGH_I_MODE_DRV_MASK 0x00C0 -#define NV_HS_ONSW_DELAY_ENABLE_DRV_ADDRESS 0x09F4 +#define NV_HS_ONSW_DELAY_ENABLE_DRV_ADDRESS 0x09F2 #define NV_HS_ONSW_DELAY_ENABLE_DRV_OFFSET 5 #define NV_HS_ONSW_DELAY_ENABLE_DRV_LENGTH 1 #define NV_HS_ONSW_DELAY_ENABLE_DRV_MASK 0x0020 -#define NV_LS_BOOST_MODE_DRV_ADDRESS 0x09F4 +#define NV_LS_BOOST_MODE_DRV_ADDRESS 0x09F2 #define NV_LS_BOOST_MODE_DRV_OFFSET 3 #define NV_LS_BOOST_MODE_DRV_LENGTH 2 #define NV_LS_BOOST_MODE_DRV_MASK 0x0018 -#define NV_LS_HIGH_I_MODE_DRV_ADDRESS 0x09F4 +#define NV_LS_HIGH_I_MODE_DRV_ADDRESS 0x09F2 #define NV_LS_HIGH_I_MODE_DRV_OFFSET 1 #define NV_LS_HIGH_I_MODE_DRV_LENGTH 2 #define NV_LS_HIGH_I_MODE_DRV_MASK 0x0006 -#define NV_DISABLE_DRVSUP_STARTLOAD_DRV_ADDRESS 0x09F4 +#define NV_DISABLE_DRVSUP_STARTLOAD_DRV_ADDRESS 0x09F2 #define NV_DISABLE_DRVSUP_STARTLOAD_DRV_OFFSET 0 #define NV_DISABLE_DRVSUP_STARTLOAD_DRV_LENGTH 1 #define NV_DISABLE_DRVSUP_STARTLOAD_DRV_MASK 0x0001 -#define NV_DRV_MODE_SEL_DRV_ADDRESS 0x09F2 -#define NV_DRV_MODE_SEL_DRV_OFFSET 15 -#define NV_DRV_MODE_SEL_DRV_LENGTH 1 -#define NV_DRV_MODE_SEL_DRV_MASK 0x8000 - -#define NV_OC_ADJ_DRV_ADDRESS 0x09F2 -#define NV_OC_ADJ_DRV_OFFSET 13 -#define NV_OC_ADJ_DRV_LENGTH 2 -#define NV_OC_ADJ_DRV_MASK 0x6000 - -#define NV_OV_BLANK_OPTION_ADDRESS 0x09F2 -#define NV_OV_BLANK_OPTION_OFFSET 7 -#define NV_OV_BLANK_OPTION_LENGTH 2 -#define NV_OV_BLANK_OPTION_MASK 0x0180 - -#define NV_OV_BLANK_TIMER_DIS_ADDRESS 0x09F2 -#define NV_OV_BLANK_TIMER_DIS_OFFSET 6 -#define NV_OV_BLANK_TIMER_DIS_LENGTH 1 -#define NV_OV_BLANK_TIMER_DIS_MASK 0x0040 - -#define NV_OV_BLANK_DIS_ADDRESS 0x09F2 -#define NV_OV_BLANK_DIS_OFFSET 5 -#define NV_OV_BLANK_DIS_LENGTH 1 -#define NV_OV_BLANK_DIS_MASK 0x0020 - -#define NV_OV_TIMEBASE_SELECT_ADDRESS 0x09F2 -#define NV_OV_TIMEBASE_SELECT_OFFSET 3 -#define NV_OV_TIMEBASE_SELECT_LENGTH 2 -#define NV_OV_TIMEBASE_SELECT_MASK 0x0018 - -#define NV_VS_OVDET_SEL_SUP_ADDRESS 0x09F2 -#define NV_VS_OVDET_SEL_SUP_OFFSET 0 -#define NV_VS_OVDET_SEL_SUP_LENGTH 3 -#define NV_VS_OVDET_SEL_SUP_MASK 0x0007 - -#define NV_OTP_VPP_SETUP_TIME_ADDRESS 0x09F0 +#define NV_THR_SEL_OTD_MISC_ADDRESS 0x09F0 +#define NV_THR_SEL_OTD_MISC_OFFSET 0 +#define NV_THR_SEL_OTD_MISC_LENGTH 3 +#define NV_THR_SEL_OTD_MISC_MASK 0x0007 + +#define NV_OTP_VPP_SETUP_TIME_ADDRESS 0x09EC #define NV_OTP_VPP_SETUP_TIME_OFFSET 5 #define NV_OTP_VPP_SETUP_TIME_LENGTH 5 #define NV_OTP_VPP_SETUP_TIME_MASK 0x03E0 -#define NV_OTP_PROGRAM_WIDTH_ADDRESS 0x09F0 +#define NV_OTP_PROGRAM_WIDTH_ADDRESS 0x09EC #define NV_OTP_PROGRAM_WIDTH_OFFSET 0 #define NV_OTP_PROGRAM_WIDTH_LENGTH 5 #define NV_OTP_PROGRAM_WIDTH_MASK 0x001F -#define NV_OTP_USETIMINGS_ADDRESS 0x09EE +#define NV_OTP_USETIMINGS_ADDRESS 0x09EA #define NV_OTP_USETIMINGS_OFFSET 15 #define NV_OTP_USETIMINGS_LENGTH 1 #define NV_OTP_USETIMINGS_MASK 0x8000 -#define NV_OTP_CEB_SETUP_WIDTH_ADDRESS 0x09EE +#define NV_OTP_CEB_SETUP_WIDTH_ADDRESS 0x09EA #define NV_OTP_CEB_SETUP_WIDTH_OFFSET 10 #define NV_OTP_CEB_SETUP_WIDTH_LENGTH 5 #define NV_OTP_CEB_SETUP_WIDTH_MASK 0x7C00 -#define NV_OTP_WAIT_STATES_ADDRESS 0x09EE +#define NV_OTP_WAIT_STATES_ADDRESS 0x09EA #define NV_OTP_WAIT_STATES_OFFSET 5 #define NV_OTP_WAIT_STATES_LENGTH 5 #define NV_OTP_WAIT_STATES_MASK 0x03E0 -#define NV_OTP_RESET_PULSE_WIDTH_ADDRESS 0x09EE +#define NV_OTP_RESET_PULSE_WIDTH_ADDRESS 0x09EA #define NV_OTP_RESET_PULSE_WIDTH_OFFSET 0 #define NV_OTP_RESET_PULSE_WIDTH_LENGTH 5 #define NV_OTP_RESET_PULSE_WIDTH_MASK 0x001F -#define NV_OC_FB_DIS_DRV_ADDRESS 0x09EC +#define NV_OC_FB_DIS_DRV_ADDRESS 0x09E8 #define NV_OC_FB_DIS_DRV_OFFSET 1 #define NV_OC_FB_DIS_DRV_LENGTH 1 #define NV_OC_FB_DIS_DRV_MASK 0x0002 -#define NV_CL_FB_DIS_DRV_ADDRESS 0x09EC +#define NV_CL_FB_DIS_DRV_ADDRESS 0x09E8 #define NV_CL_FB_DIS_DRV_OFFSET 0 #define NV_CL_FB_DIS_DRV_LENGTH 1 #define NV_CL_FB_DIS_DRV_MASK 0x0001 -#define NV_MLX_TRIM_9_ADDRESS 0x09EA -#define NV_MLX_TRIM_9_OFFSET 0 -#define NV_MLX_TRIM_9_LENGTH 16 -#define NV_MLX_TRIM_9_MASK 0xFFFF - -#define NV_MLX_TRIM_8_ADDRESS 0x09E8 -#define NV_MLX_TRIM_8_OFFSET 0 -#define NV_MLX_TRIM_8_LENGTH 16 -#define NV_MLX_TRIM_8_MASK 0xFFFF - #define NV_MLX_TRIM_7_ADDRESS 0x09E6 #define NV_MLX_TRIM_7_OFFSET 0 #define NV_MLX_TRIM_7_LENGTH 16 @@ -183,10 +203,10 @@ #define NV_MLX_TRIM_6_LENGTH 16 #define NV_MLX_TRIM_6_MASK 0xFFFF -#define NV_MLX_TRIM_5_ADDRESS 0x09E2 -#define NV_MLX_TRIM_5_OFFSET 0 -#define NV_MLX_TRIM_5_LENGTH 16 -#define NV_MLX_TRIM_5_MASK 0xFFFF +#define TR_RINT_TEMP_COM_MISC_ADDRESS 0x09E2 +#define TR_RINT_TEMP_COM_MISC_OFFSET 0 +#define TR_RINT_TEMP_COM_MISC_LENGTH 8 +#define TR_RINT_TEMP_COM_MISC_MASK 0x00FF #define TR_DRVSUP_DRV_ADDRESS 0x09E0 #define TR_DRVSUP_DRV_OFFSET 12 @@ -233,6 +253,11 @@ #define TR_FDA_GAIN_ISENSE_LENGTH 6 #define TR_FDA_GAIN_ISENSE_MASK 0x003F +#define TR_MSB_OSC_ADDRESS 0x09DA +#define TR_MSB_OSC_OFFSET 15 +#define TR_MSB_OSC_LENGTH 1 +#define TR_MSB_OSC_MASK 0x8000 + #define TR_OSC_ADDRESS 0x09DA #define TR_OSC_OFFSET 6 #define TR_OSC_LENGTH 9 @@ -260,13 +285,13 @@ #define TR_VDDA_SUP_ADDRESS 0x09D8 #define TR_VDDA_SUP_OFFSET 4 -#define TR_VDDA_SUP_LENGTH 4 -#define TR_VDDA_SUP_MASK 0x00F0 +#define TR_VDDA_SUP_LENGTH 3 +#define TR_VDDA_SUP_MASK 0x0070 #define TR_VDDD_SUP_ADDRESS 0x09D8 #define TR_VDDD_SUP_OFFSET 0 -#define TR_VDDD_SUP_LENGTH 4 -#define TR_VDDD_SUP_MASK 0x000F +#define TR_VDDD_SUP_LENGTH 3 +#define TR_VDDD_SUP_MASK 0x0007 #define NV_CRC_MLX_CALIBRATION_ADDRESS 0x09D6 #define NV_CRC_MLX_CALIBRATION_OFFSET 8 @@ -1388,15 +1413,15 @@ #define NV_OC_BLANK_SELECT_LENGTH 6 #define NV_OC_BLANK_SELECT_MASK 0x003F -#define NV_BEMF_HIGH_ADDRESS 0x0830 -#define NV_BEMF_HIGH_OFFSET 0 -#define NV_BEMF_HIGH_LENGTH 12 -#define NV_BEMF_HIGH_MASK 0x0FFF - -#define NV_BEMF_LOW_ADDRESS 0x082E -#define NV_BEMF_LOW_OFFSET 0 -#define NV_BEMF_LOW_LENGTH 12 -#define NV_BEMF_LOW_MASK 0x0FFF +#define NV_DI_TH_1ST_ADDRESS 0x0830 +#define NV_DI_TH_1ST_OFFSET 0 +#define NV_DI_TH_1ST_LENGTH 12 +#define NV_DI_TH_1ST_MASK 0x0FFF + +#define NV_DI_TH_2ND_ADDRESS 0x082E +#define NV_DI_TH_2ND_OFFSET 0 +#define NV_DI_TH_2ND_LENGTH 12 +#define NV_DI_TH_2ND_MASK 0x0FFF #define NV_I_ZC_TH_HIGH_ADDRESS 0x082C #define NV_I_ZC_TH_HIGH_OFFSET 0 @@ -1593,15 +1618,20 @@ #define NV_EHP_FULL_RANGE_LENGTH 13 #define NV_EHP_FULL_RANGE_MASK 0x1FFF -#define NV_DI_TH_1ST_ADDRESS 0x0812 -#define NV_DI_TH_1ST_OFFSET 0 -#define NV_DI_TH_1ST_LENGTH 12 -#define NV_DI_TH_1ST_MASK 0x0FFF - -#define NV_DI_TH_2ND_ADDRESS 0x0810 -#define NV_DI_TH_2ND_OFFSET 0 -#define NV_DI_TH_2ND_LENGTH 12 -#define NV_DI_TH_2ND_MASK 0x0FFF +#define NV_POSITION_FLAT_TIME_ADDRESS 0x0812 +#define NV_POSITION_FLAT_TIME_OFFSET 6 +#define NV_POSITION_FLAT_TIME_LENGTH 5 +#define NV_POSITION_FLAT_TIME_MASK 0x07C0 + +#define NV_START_UP_FLAT_TIME_ADDRESS 0x0812 +#define NV_START_UP_FLAT_TIME_OFFSET 0 +#define NV_START_UP_FLAT_TIME_LENGTH 6 +#define NV_START_UP_FLAT_TIME_MASK 0x003F + +#define NV_BEMF_SMALL_THRES_ADDRESS 0x0810 +#define NV_BEMF_SMALL_THRES_OFFSET 0 +#define NV_BEMF_SMALL_THRES_LENGTH 4 +#define NV_BEMF_SMALL_THRES_MASK 0x000F #define NV_QUICK_START_ADDRESS 0x080E #define NV_QUICK_START_OFFSET 15 @@ -1613,25 +1643,20 @@ #define NV_WIND_START_LENGTH 1 #define NV_WIND_START_MASK 0x4000 -#define NV_WIND_BRAKE_RESERVED_ADDRESS 0x080E -#define NV_WIND_BRAKE_RESERVED_OFFSET 9 -#define NV_WIND_BRAKE_RESERVED_LENGTH 5 -#define NV_WIND_BRAKE_RESERVED_MASK 0x3E00 - #define NV_SOFT_NUM_STEP_ADDRESS 0x080E -#define NV_SOFT_NUM_STEP_OFFSET 6 +#define NV_SOFT_NUM_STEP_OFFSET 8 #define NV_SOFT_NUM_STEP_LENGTH 3 -#define NV_SOFT_NUM_STEP_MASK 0x01C0 +#define NV_SOFT_NUM_STEP_MASK 0x0700 #define NV_WIND_WINDOW_ADDRESS 0x080E -#define NV_WIND_WINDOW_OFFSET 3 -#define NV_WIND_WINDOW_LENGTH 3 -#define NV_WIND_WINDOW_MASK 0x0038 +#define NV_WIND_WINDOW_OFFSET 4 +#define NV_WIND_WINDOW_LENGTH 4 +#define NV_WIND_WINDOW_MASK 0x00F0 #define NV_BRAKE_WINDOW_ADDRESS 0x080E #define NV_BRAKE_WINDOW_OFFSET 0 -#define NV_BRAKE_WINDOW_LENGTH 3 -#define NV_BRAKE_WINDOW_MASK 0x0007 +#define NV_BRAKE_WINDOW_LENGTH 4 +#define NV_BRAKE_WINDOW_MASK 0x000F #define NV_SINGLE_PULSE_START_ADDRESS 0x080C #define NV_SINGLE_PULSE_START_OFFSET 15 @@ -1843,4 +1868,819 @@ #define NV_INPUT_MODE_CFG_LENGTH 3 #define NV_INPUT_MODE_CFG_MASK 0x0007 - +#define RAM_PATCH_TRIM_0_ADDRESS 0x11E0 +#define RAM_PATCH_TRIM_0_OFFSET 0 +#define RAM_PATCH_TRIM_0_LENGTH 16 +#define RAM_PATCH_TRIM_0_MASK 0xFFFF + +#define CRC_PATCH_3_ADDRESS 0x1096 +#define CRC_PATCH_3_OFFSET 8 +#define CRC_PATCH_3_LENGTH 8 +#define CRC_PATCH_3_MASK 0xFF00 + +#define CRC_PATCH_2_ADDRESS 0x1096 +#define CRC_PATCH_2_OFFSET 0 +#define CRC_PATCH_2_LENGTH 8 +#define CRC_PATCH_2_MASK 0x00FF + +#define CRC_PATCH_1_ADDRESS 0x1094 +#define CRC_PATCH_1_OFFSET 8 +#define CRC_PATCH_1_LENGTH 8 +#define CRC_PATCH_1_MASK 0xFF00 + +#define CRC_PATCH_0_ADDRESS 0x1094 +#define CRC_PATCH_0_OFFSET 0 +#define CRC_PATCH_0_LENGTH 8 +#define CRC_PATCH_0_MASK 0x00FF + +#define CRC_MLX_CALIBRATION_ADDRESS 0x1092 +#define CRC_MLX_CALIBRATION_OFFSET 8 +#define CRC_MLX_CALIBRATION_LENGTH 8 +#define CRC_MLX_CALIBRATION_MASK 0xFF00 + +#define MLX_CALIB_22_ADDRESS 0x1090 +#define MLX_CALIB_22_OFFSET 0 +#define MLX_CALIB_22_LENGTH 16 +#define MLX_CALIB_22_MASK 0xFFFF + +#define MLX_CALIB_21_ADDRESS 0x108E +#define MLX_CALIB_21_OFFSET 0 +#define MLX_CALIB_21_LENGTH 16 +#define MLX_CALIB_21_MASK 0xFFFF + +#define MLX_CALIB_20_ADDRESS 0x108C +#define MLX_CALIB_20_OFFSET 0 +#define MLX_CALIB_20_LENGTH 16 +#define MLX_CALIB_20_MASK 0xFFFF + +#define MLX_CALIB_19_ADDRESS 0x108A +#define MLX_CALIB_19_OFFSET 0 +#define MLX_CALIB_19_LENGTH 16 +#define MLX_CALIB_19_MASK 0xFFFF + +#define MLX_CALIB_18_ADDRESS 0x1088 +#define MLX_CALIB_18_OFFSET 0 +#define MLX_CALIB_18_LENGTH 16 +#define MLX_CALIB_18_MASK 0xFFFF + +#define MLX_CALIB_17_ADDRESS 0x1086 +#define MLX_CALIB_17_OFFSET 0 +#define MLX_CALIB_17_LENGTH 16 +#define MLX_CALIB_17_MASK 0xFFFF + +#define MLX_CALIB_16_ADDRESS 0x1084 +#define MLX_CALIB_16_OFFSET 0 +#define MLX_CALIB_16_LENGTH 16 +#define MLX_CALIB_16_MASK 0xFFFF + +#define MLX_CALIB_15_ADDRESS 0x1082 +#define MLX_CALIB_15_OFFSET 0 +#define MLX_CALIB_15_LENGTH 16 +#define MLX_CALIB_15_MASK 0xFFFF + +#define MLX_CALIB_14_ADDRESS 0x1080 +#define MLX_CALIB_14_OFFSET 0 +#define MLX_CALIB_14_LENGTH 16 +#define MLX_CALIB_14_MASK 0xFFFF + +#define MLX_CALIB_13_ADDRESS 0x107E +#define MLX_CALIB_13_OFFSET 0 +#define MLX_CALIB_13_LENGTH 16 +#define MLX_CALIB_13_MASK 0xFFFF + +#define MLX_CALIB_12_ADDRESS 0x107C +#define MLX_CALIB_12_OFFSET 0 +#define MLX_CALIB_12_LENGTH 16 +#define MLX_CALIB_12_MASK 0xFFFF + +#define MLX_CALIB_11_ADDRESS 0x107A +#define MLX_CALIB_11_OFFSET 0 +#define MLX_CALIB_11_LENGTH 16 +#define MLX_CALIB_11_MASK 0xFFFF + +#define MLX_CALIB_10_ADDRESS 0x1078 +#define MLX_CALIB_10_OFFSET 0 +#define MLX_CALIB_10_LENGTH 16 +#define MLX_CALIB_10_MASK 0xFFFF + +#define MLX_CALIB_9_ADDRESS 0x1076 +#define MLX_CALIB_9_OFFSET 0 +#define MLX_CALIB_9_LENGTH 16 +#define MLX_CALIB_9_MASK 0xFFFF + +#define MLX_CALIB_8_ADDRESS 0x1074 +#define MLX_CALIB_8_OFFSET 0 +#define MLX_CALIB_8_LENGTH 16 +#define MLX_CALIB_8_MASK 0xFFFF + +#define MLX_CALIB_7_ADDRESS 0x1072 +#define MLX_CALIB_7_OFFSET 0 +#define MLX_CALIB_7_LENGTH 16 +#define MLX_CALIB_7_MASK 0xFFFF + +#define MLX_CALIB_6_ADDRESS 0x1070 +#define MLX_CALIB_6_OFFSET 0 +#define MLX_CALIB_6_LENGTH 16 +#define MLX_CALIB_6_MASK 0xFFFF + +#define MLX_CALIB_5_ADDRESS 0x106E +#define MLX_CALIB_5_OFFSET 0 +#define MLX_CALIB_5_LENGTH 16 +#define MLX_CALIB_5_MASK 0xFFFF + +#define MLX_CALIB_4_ADDRESS 0x106C +#define MLX_CALIB_4_OFFSET 0 +#define MLX_CALIB_4_LENGTH 16 +#define MLX_CALIB_4_MASK 0xFFFF + +#define MLX_CALIB_3_ADDRESS 0x106A +#define MLX_CALIB_3_OFFSET 0 +#define MLX_CALIB_3_LENGTH 16 +#define MLX_CALIB_3_MASK 0xFFFF + +#define MLX_CALIB_2_ADDRESS 0x1068 +#define MLX_CALIB_2_OFFSET 0 +#define MLX_CALIB_2_LENGTH 16 +#define MLX_CALIB_2_MASK 0xFFFF + +#define MAX_CLIM_USER_ADDRESS 0x1066 +#define MAX_CLIM_USER_OFFSET 0 +#define MAX_CLIM_USER_LENGTH 8 +#define MAX_CLIM_USER_MASK 0x00FF + +#define CLIM_GAIN_ADDRESS 0x1064 +#define CLIM_GAIN_OFFSET 8 +#define CLIM_GAIN_LENGTH 8 +#define CLIM_GAIN_MASK 0xFF00 + +#define CLIM_OFFSET_ADDRESS 0x1064 +#define CLIM_OFFSET_OFFSET 0 +#define CLIM_OFFSET_LENGTH 8 +#define CLIM_OFFSET_MASK 0x00FF + +#define CMD_INTERPRETER_DATA_ADDRESS 0x1062 +#define CMD_INTERPRETER_DATA_OFFSET 0 +#define CMD_INTERPRETER_DATA_LENGTH 16 +#define CMD_INTERPRETER_DATA_MASK 0xFFFF + +#define CMD_INTERPRETER_ADDRESS_ADDRESS 0x1060 +#define CMD_INTERPRETER_ADDRESS_OFFSET 0 +#define CMD_INTERPRETER_ADDRESS_LENGTH 16 +#define CMD_INTERPRETER_ADDRESS_MASK 0xFFFF + +#define MLX_CALIB_RECALL_ADDRESS 0x105E +#define MLX_CALIB_RECALL_OFFSET 0 +#define MLX_CALIB_RECALL_LENGTH 4 +#define MLX_CALIB_RECALL_MASK 0x000F + +#define PATCH_EXT_RECALL_ADDRESS 0x105C +#define PATCH_EXT_RECALL_OFFSET 12 +#define PATCH_EXT_RECALL_LENGTH 4 +#define PATCH_EXT_RECALL_MASK 0xF000 + +#define APP_TRIM_RECALL_ADDRESS 0x105C +#define APP_TRIM_RECALL_OFFSET 8 +#define APP_TRIM_RECALL_LENGTH 4 +#define APP_TRIM_RECALL_MASK 0x0F00 + +#define TRIM_SOURCE_ADDRESS 0x105C +#define TRIM_SOURCE_OFFSET 4 +#define TRIM_SOURCE_LENGTH 4 +#define TRIM_SOURCE_MASK 0x00F0 + +#define PATCH_SOURCE_ADDRESS 0x105C +#define PATCH_SOURCE_OFFSET 0 +#define PATCH_SOURCE_LENGTH 4 +#define PATCH_SOURCE_MASK 0x000F + +#define MTP_USE_ZONE_0_ADDRESS 0x105A +#define MTP_USE_ZONE_0_OFFSET 8 +#define MTP_USE_ZONE_0_LENGTH 8 +#define MTP_USE_ZONE_0_MASK 0xFF00 + +#define CRC_MTP_ZONE_0_ADDRESS 0x105A +#define CRC_MTP_ZONE_0_OFFSET 0 +#define CRC_MTP_ZONE_0_LENGTH 8 +#define CRC_MTP_ZONE_0_MASK 0x00FF + +#define CUST_ID0_ADDRESS 0x1058 +#define CUST_ID0_OFFSET 0 +#define CUST_ID0_LENGTH 16 +#define CUST_ID0_MASK 0xFFFF + +#define CUST_ID1_ADDRESS 0x1056 +#define CUST_ID1_OFFSET 0 +#define CUST_ID1_LENGTH 16 +#define CUST_ID1_MASK 0xFFFF + +#define CUST_ID2_ADDRESS 0x1054 +#define CUST_ID2_OFFSET 0 +#define CUST_ID2_LENGTH 16 +#define CUST_ID2_MASK 0xFFFF + +#define CUST_ID3_ADDRESS 0x1052 +#define CUST_ID3_OFFSET 0 +#define CUST_ID3_LENGTH 16 +#define CUST_ID3_MASK 0xFFFF + +#define FLAT_BLANK_ADDRESS 0x1050 +#define FLAT_BLANK_OFFSET 8 +#define FLAT_BLANK_LENGTH 8 +#define FLAT_BLANK_MASK 0xFF00 + +#define INTEGRATOR_PRE_DIV_ADDRESS 0x1050 +#define INTEGRATOR_PRE_DIV_OFFSET 5 +#define INTEGRATOR_PRE_DIV_LENGTH 2 +#define INTEGRATOR_PRE_DIV_MASK 0x0060 + +#define INTEGRATOR_TIME_ADDRESS 0x1050 +#define INTEGRATOR_TIME_OFFSET 3 +#define INTEGRATOR_TIME_LENGTH 2 +#define INTEGRATOR_TIME_MASK 0x0018 + +#define INTEGRATOR_START_OPTION_ADDRESS 0x1050 +#define INTEGRATOR_START_OPTION_OFFSET 2 +#define INTEGRATOR_START_OPTION_LENGTH 1 +#define INTEGRATOR_START_OPTION_MASK 0x0004 + +#define INTEGRATOR_RESYNC_OPTION_ADDRESS 0x1050 +#define INTEGRATOR_RESYNC_OPTION_OFFSET 1 +#define INTEGRATOR_RESYNC_OPTION_LENGTH 1 +#define INTEGRATOR_RESYNC_OPTION_MASK 0x0002 + +#define INTEGRATOR_EDGE_INV_ADDRESS 0x1050 +#define INTEGRATOR_EDGE_INV_OFFSET 0 +#define INTEGRATOR_EDGE_INV_LENGTH 1 +#define INTEGRATOR_EDGE_INV_MASK 0x0001 + +#define ZONE0_RES1_ADDRESS 0x104E +#define ZONE0_RES1_OFFSET 0 +#define ZONE0_RES1_LENGTH 16 +#define ZONE0_RES1_MASK 0xFFFF + +#define ZONE0_RES2_ADDRESS 0x104C +#define ZONE0_RES2_OFFSET 0 +#define ZONE0_RES2_LENGTH 16 +#define ZONE0_RES2_MASK 0xFFFF + +#define ZONE0_RES3_ADDRESS 0x104A +#define ZONE0_RES3_OFFSET 0 +#define ZONE0_RES3_LENGTH 16 +#define ZONE0_RES3_MASK 0xFFFF + +#define ZONE0_RES4_ADDRESS 0x1048 +#define ZONE0_RES4_OFFSET 0 +#define ZONE0_RES4_LENGTH 16 +#define ZONE0_RES4_MASK 0xFFFF + +#define TARGET_CLIM_USER_PULSES_ADDRESS 0x1046 +#define TARGET_CLIM_USER_PULSES_OFFSET 0 +#define TARGET_CLIM_USER_PULSES_LENGTH 8 +#define TARGET_CLIM_USER_PULSES_MASK 0x00FF + +#define TARGET_CLIM_USER_BRAKE_ADDRESS 0x1044 +#define TARGET_CLIM_USER_BRAKE_OFFSET 8 +#define TARGET_CLIM_USER_BRAKE_LENGTH 8 +#define TARGET_CLIM_USER_BRAKE_MASK 0xFF00 + +#define TARGET_CLIM_USER_MOTOR_ADDRESS 0x1044 +#define TARGET_CLIM_USER_MOTOR_OFFSET 0 +#define TARGET_CLIM_USER_MOTOR_LENGTH 8 +#define TARGET_CLIM_USER_MOTOR_MASK 0x00FF + +#define CL_BLANK_SELECT_ADDRESS 0x1042 +#define CL_BLANK_SELECT_OFFSET 8 +#define CL_BLANK_SELECT_LENGTH 6 +#define CL_BLANK_SELECT_MASK 0x3F00 + +#define OC_BLANK_SELECT_ADDRESS 0x1042 +#define OC_BLANK_SELECT_OFFSET 0 +#define OC_BLANK_SELECT_LENGTH 6 +#define OC_BLANK_SELECT_MASK 0x003F + +#define DI_TH_1ST_ADDRESS 0x1040 +#define DI_TH_1ST_OFFSET 0 +#define DI_TH_1ST_LENGTH 12 +#define DI_TH_1ST_MASK 0x0FFF + +#define DI_TH_2ND_ADDRESS 0x103E +#define DI_TH_2ND_OFFSET 0 +#define DI_TH_2ND_LENGTH 12 +#define DI_TH_2ND_MASK 0x0FFF + +#define I_ZC_TH_HIGH_ADDRESS 0x103C +#define I_ZC_TH_HIGH_OFFSET 0 +#define I_ZC_TH_HIGH_LENGTH 12 +#define I_ZC_TH_HIGH_MASK 0x0FFF + +#define I_ZC_TH_LOW_ADDRESS 0x103A +#define I_ZC_TH_LOW_OFFSET 0 +#define I_ZC_TH_LOW_LENGTH 12 +#define I_ZC_TH_LOW_MASK 0x0FFF + +#define RPM_F_ADDRESS 0x1038 +#define RPM_F_OFFSET 7 +#define RPM_F_LENGTH 9 +#define RPM_F_MASK 0xFF80 + +#define SPD_F_ADDRESS 0x1038 +#define SPD_F_OFFSET 0 +#define SPD_F_LENGTH 7 +#define SPD_F_MASK 0x007F + +#define RPM_E_ADDRESS 0x1036 +#define RPM_E_OFFSET 7 +#define RPM_E_LENGTH 9 +#define RPM_E_MASK 0xFF80 + +#define SPD_E_ADDRESS 0x1036 +#define SPD_E_OFFSET 0 +#define SPD_E_LENGTH 7 +#define SPD_E_MASK 0x007F + +#define RPM_D_ADDRESS 0x1034 +#define RPM_D_OFFSET 7 +#define RPM_D_LENGTH 9 +#define RPM_D_MASK 0xFF80 + +#define SPD_D_ADDRESS 0x1034 +#define SPD_D_OFFSET 0 +#define SPD_D_LENGTH 7 +#define SPD_D_MASK 0x007F + +#define RPM_C_ADDRESS 0x1032 +#define RPM_C_OFFSET 7 +#define RPM_C_LENGTH 9 +#define RPM_C_MASK 0xFF80 + +#define SPD_C_ADDRESS 0x1032 +#define SPD_C_OFFSET 0 +#define SPD_C_LENGTH 7 +#define SPD_C_MASK 0x007F + +#define RPM_B_ADDRESS 0x1030 +#define RPM_B_OFFSET 7 +#define RPM_B_LENGTH 9 +#define RPM_B_MASK 0xFF80 + +#define SPD_B_ADDRESS 0x1030 +#define SPD_B_OFFSET 0 +#define SPD_B_LENGTH 7 +#define SPD_B_MASK 0x007F + +#define RPM_A_ADDRESS 0x102E +#define RPM_A_OFFSET 7 +#define RPM_A_LENGTH 9 +#define RPM_A_MASK 0xFF80 + +#define SPD_A_ADDRESS 0x102E +#define SPD_A_OFFSET 0 +#define SPD_A_LENGTH 7 +#define SPD_A_MASK 0x007F + +#define RPM_MAX_ADDRESS 0x102C +#define RPM_MAX_OFFSET 7 +#define RPM_MAX_LENGTH 9 +#define RPM_MAX_MASK 0xFF80 + +#define SPD_MAX_ADDRESS 0x102C +#define SPD_MAX_OFFSET 0 +#define SPD_MAX_LENGTH 7 +#define SPD_MAX_MASK 0x007F + +#define RPM_MIN_ADDRESS 0x102A +#define RPM_MIN_OFFSET 7 +#define RPM_MIN_LENGTH 9 +#define RPM_MIN_MASK 0xFF80 + +#define SPD_MIN_ADDRESS 0x102A +#define SPD_MIN_OFFSET 0 +#define SPD_MIN_LENGTH 7 +#define SPD_MIN_MASK 0x007F + +#define DUTY_RAMPING_ADDRESS 0x1028 +#define DUTY_RAMPING_OFFSET 15 +#define DUTY_RAMPING_LENGTH 1 +#define DUTY_RAMPING_MASK 0x8000 + +#define ILIM_RAMPING_ADDRESS 0x1028 +#define ILIM_RAMPING_OFFSET 14 +#define ILIM_RAMPING_LENGTH 1 +#define ILIM_RAMPING_MASK 0x4000 + +#define DC_OPENLOOP_SR_ADDRESS 0x1028 +#define DC_OPENLOOP_SR_OFFSET 12 +#define DC_OPENLOOP_SR_LENGTH 2 +#define DC_OPENLOOP_SR_MASK 0x3000 + +#define DC_OPENLOOP_INI_ADDRESS 0x1028 +#define DC_OPENLOOP_INI_OFFSET 10 +#define DC_OPENLOOP_INI_LENGTH 2 +#define DC_OPENLOOP_INI_MASK 0x0C00 + +#define SPD_KI_ADDRESS 0x1028 +#define SPD_KI_OFFSET 7 +#define SPD_KI_LENGTH 3 +#define SPD_KI_MASK 0x0380 + +#define SPD_KP_ADDRESS 0x1028 +#define SPD_KP_OFFSET 4 +#define SPD_KP_LENGTH 3 +#define SPD_KP_MASK 0x0070 + +#define SPD_HC_HYST_ADDRESS 0x1028 +#define SPD_HC_HYST_OFFSET 2 +#define SPD_HC_HYST_LENGTH 2 +#define SPD_HC_HYST_MASK 0x000C + +#define SPD_LC_HYST_ADDRESS 0x1028 +#define SPD_LC_HYST_OFFSET 0 +#define SPD_LC_HYST_LENGTH 2 +#define SPD_LC_HYST_MASK 0x0003 + +#define SPD_BOOST_ADDRESS 0x1026 +#define SPD_BOOST_OFFSET 13 +#define SPD_BOOST_LENGTH 1 +#define SPD_BOOST_MASK 0x2000 + +#define SPD_BOOST_SS_ADDRESS 0x1026 +#define SPD_BOOST_SS_OFFSET 12 +#define SPD_BOOST_SS_LENGTH 1 +#define SPD_BOOST_SS_MASK 0x1000 + +#define SPD_CTRL_1_RESERVED_ADDRESS 0x1026 +#define SPD_CTRL_1_RESERVED_OFFSET 11 +#define SPD_CTRL_1_RESERVED_LENGTH 1 +#define SPD_CTRL_1_RESERVED_MASK 0x0800 + +#define SPD_LOOP_MODE_ADDRESS 0x1026 +#define SPD_LOOP_MODE_OFFSET 10 +#define SPD_LOOP_MODE_LENGTH 1 +#define SPD_LOOP_MODE_MASK 0x0400 + +#define RPM_LC_ADDRESS 0x1026 +#define RPM_LC_OFFSET 9 +#define RPM_LC_LENGTH 1 +#define RPM_LC_MASK 0x0200 + +#define RPM_HC_ADDRESS 0x1026 +#define RPM_HC_OFFSET 8 +#define RPM_HC_LENGTH 1 +#define RPM_HC_MASK 0x0100 + +#define SPD_LC_VAL_ADDRESS 0x1026 +#define SPD_LC_VAL_OFFSET 6 +#define SPD_LC_VAL_LENGTH 2 +#define SPD_LC_VAL_MASK 0x00C0 + +#define SPD_HC_VAL_ADDRESS 0x1026 +#define SPD_HC_VAL_OFFSET 4 +#define SPD_HC_VAL_LENGTH 2 +#define SPD_HC_VAL_MASK 0x0030 + +#define CURVE_MODE_ADDRESS 0x1026 +#define CURVE_MODE_OFFSET 2 +#define CURVE_MODE_LENGTH 2 +#define CURVE_MODE_MASK 0x000C + +#define SPD_TICK_ADDRESS 0x1026 +#define SPD_TICK_OFFSET 0 +#define SPD_TICK_LENGTH 2 +#define SPD_TICK_MASK 0x0003 + +#define MIN_EHP_RESERVED_ADDRESS 0x1024 +#define MIN_EHP_RESERVED_OFFSET 15 +#define MIN_EHP_RESERVED_LENGTH 1 +#define MIN_EHP_RESERVED_MASK 0x8000 + +#define EHP_TIMER_PRESCALER_ADDRESS 0x1024 +#define EHP_TIMER_PRESCALER_OFFSET 13 +#define EHP_TIMER_PRESCALER_LENGTH 2 +#define EHP_TIMER_PRESCALER_MASK 0x6000 + +#define EHP_FULL_RANGE_ADDRESS 0x1024 +#define EHP_FULL_RANGE_OFFSET 0 +#define EHP_FULL_RANGE_LENGTH 13 +#define EHP_FULL_RANGE_MASK 0x1FFF + +#define POSITION_FLAT_TIME_ADDRESS 0x1022 +#define POSITION_FLAT_TIME_OFFSET 6 +#define POSITION_FLAT_TIME_LENGTH 5 +#define POSITION_FLAT_TIME_MASK 0x07C0 + +#define START_UP_FLAT_TIME_ADDRESS 0x1022 +#define START_UP_FLAT_TIME_OFFSET 0 +#define START_UP_FLAT_TIME_LENGTH 6 +#define START_UP_FLAT_TIME_MASK 0x003F + +#define BEMF_SMALL_THRES_ADDRESS 0x1020 +#define BEMF_SMALL_THRES_OFFSET 0 +#define BEMF_SMALL_THRES_LENGTH 4 +#define BEMF_SMALL_THRES_MASK 0x000F + +#define QUICK_START_ADDRESS 0x101E +#define QUICK_START_OFFSET 15 +#define QUICK_START_LENGTH 1 +#define QUICK_START_MASK 0x8000 + +#define WIND_START_ADDRESS 0x101E +#define WIND_START_OFFSET 14 +#define WIND_START_LENGTH 1 +#define WIND_START_MASK 0x4000 + +#define SOFT_NUM_STEP_ADDRESS 0x101E +#define SOFT_NUM_STEP_OFFSET 8 +#define SOFT_NUM_STEP_LENGTH 3 +#define SOFT_NUM_STEP_MASK 0x0700 + +#define WIND_WINDOW_ADDRESS 0x101E +#define WIND_WINDOW_OFFSET 4 +#define WIND_WINDOW_LENGTH 4 +#define WIND_WINDOW_MASK 0x00F0 + +#define BRAKE_WINDOW_ADDRESS 0x101E +#define BRAKE_WINDOW_OFFSET 0 +#define BRAKE_WINDOW_LENGTH 4 +#define BRAKE_WINDOW_MASK 0x000F + +#define SINGLE_PULSE_START_ADDRESS 0x101C +#define SINGLE_PULSE_START_OFFSET 15 +#define SINGLE_PULSE_START_LENGTH 1 +#define SINGLE_PULSE_START_MASK 0x8000 + +#define LONG_START_ADDRESS 0x101C +#define LONG_START_OFFSET 14 +#define LONG_START_LENGTH 1 +#define LONG_START_MASK 0x4000 + +#define SOFT_START_ADDRESS 0x101C +#define SOFT_START_OFFSET 13 +#define SOFT_START_LENGTH 1 +#define SOFT_START_MASK 0x2000 + +#define COMM_START_NUM_ADDRESS 0x101C +#define COMM_START_NUM_OFFSET 11 +#define COMM_START_NUM_LENGTH 2 +#define COMM_START_NUM_MASK 0x1800 + +#define START_DUTY_ADDRESS 0x101C +#define START_DUTY_OFFSET 9 +#define START_DUTY_LENGTH 2 +#define START_DUTY_MASK 0x0600 + +#define SOFT_STEP_SIZE_ADDRESS 0x101C +#define SOFT_STEP_SIZE_OFFSET 6 +#define SOFT_STEP_SIZE_LENGTH 3 +#define SOFT_STEP_SIZE_MASK 0x01C0 + +#define START_UP_TIME_ADDRESS 0x101C +#define START_UP_TIME_OFFSET 0 +#define START_UP_TIME_LENGTH 6 +#define START_UP_TIME_MASK 0x003F + +#define POSITION_DUTY_ADDRESS 0x101A +#define POSITION_DUTY_OFFSET 14 +#define POSITION_DUTY_LENGTH 2 +#define POSITION_DUTY_MASK 0xC000 + +#define POSITION_PULSE_TIME_ADDRESS 0x101A +#define POSITION_PULSE_TIME_OFFSET 9 +#define POSITION_PULSE_TIME_LENGTH 5 +#define POSITION_PULSE_TIME_MASK 0x3E00 + +#define POSI_MAJO_VOTE_ADDRESS 0x101A +#define POSI_MAJO_VOTE_OFFSET 8 +#define POSI_MAJO_VOTE_LENGTH 1 +#define POSI_MAJO_VOTE_MASK 0x0100 + +#define ANTI_COG_ADDRESS 0x101A +#define ANTI_COG_OFFSET 7 +#define ANTI_COG_LENGTH 1 +#define ANTI_COG_MASK 0x0080 + +#define POSITION_RESERVED_ADDRESS 0x101A +#define POSITION_RESERVED_OFFSET 6 +#define POSITION_RESERVED_LENGTH 1 +#define POSITION_RESERVED_MASK 0x0040 + +#define FIRST_NON_FLAT_TIME_ADDRESS 0x101A +#define FIRST_NON_FLAT_TIME_OFFSET 0 +#define FIRST_NON_FLAT_TIME_LENGTH 6 +#define FIRST_NON_FLAT_TIME_MASK 0x003F + +#define ROUGH_REG_ADDRESS 0x1018 +#define ROUGH_REG_OFFSET 14 +#define ROUGH_REG_LENGTH 1 +#define ROUGH_REG_MASK 0x4000 + +#define ADC_FLAT_FILT_DEP_ADDRESS 0x1018 +#define ADC_FLAT_FILT_DEP_OFFSET 12 +#define ADC_FLAT_FILT_DEP_LENGTH 2 +#define ADC_FLAT_FILT_DEP_MASK 0x3000 + +#define EHP_REG_GAIN_ADDRESS 0x1018 +#define EHP_REG_GAIN_OFFSET 10 +#define EHP_REG_GAIN_LENGTH 2 +#define EHP_REG_GAIN_MASK 0x0C00 + +#define ROUGH_GAIN_ADDRESS 0x1018 +#define ROUGH_GAIN_OFFSET 9 +#define ROUGH_GAIN_LENGTH 1 +#define ROUGH_GAIN_MASK 0x0200 + +#define PWM_MOD_ADDRESS 0x1018 +#define PWM_MOD_OFFSET 8 +#define PWM_MOD_LENGTH 1 +#define PWM_MOD_MASK 0x0100 + +#define PWM_50K_ADDRESS 0x1018 +#define PWM_50K_OFFSET 7 +#define PWM_50K_LENGTH 1 +#define PWM_50K_MASK 0x0080 + +#define SS_RISE_MODE_ADDRESS 0x1018 +#define SS_RISE_MODE_OFFSET 3 +#define SS_RISE_MODE_LENGTH 3 +#define SS_RISE_MODE_MASK 0x0038 + +#define SS_FALL_MODE_ADDRESS 0x1018 +#define SS_FALL_MODE_OFFSET 0 +#define SS_FALL_MODE_LENGTH 3 +#define SS_FALL_MODE_MASK 0x0007 + +#define FG_SLOPECTRL_ADDRESS 0x1014 +#define FG_SLOPECTRL_OFFSET 14 +#define FG_SLOPECTRL_LENGTH 2 +#define FG_SLOPECTRL_MASK 0xC000 + +#define LVIO_SLOPECTRL_ADDRESS 0x1014 +#define LVIO_SLOPECTRL_OFFSET 12 +#define LVIO_SLOPECTRL_LENGTH 2 +#define LVIO_SLOPECTRL_MASK 0x3000 + +#define HVIO_SLOPECTRL_ADDRESS 0x1014 +#define HVIO_SLOPECTRL_OFFSET 10 +#define HVIO_SLOPECTRL_LENGTH 2 +#define HVIO_SLOPECTRL_MASK 0x0C00 + +#define I2C_SLAVE_ADDRESS_ADDRESS 0x1014 +#define I2C_SLAVE_ADDRESS_OFFSET 0 +#define I2C_SLAVE_ADDRESS_LENGTH 7 +#define I2C_SLAVE_ADDRESS_MASK 0x007F + +#define I2C_DEBUGGING_DISABLED_ADDRESS 0x1012 +#define I2C_DEBUGGING_DISABLED_OFFSET 15 +#define I2C_DEBUGGING_DISABLED_LENGTH 1 +#define I2C_DEBUGGING_DISABLED_MASK 0x8000 + +#define I2C_TOGGLE_ENTRY_ADDRESS 0x1012 +#define I2C_TOGGLE_ENTRY_OFFSET 14 +#define I2C_TOGGLE_ENTRY_LENGTH 1 +#define I2C_TOGGLE_ENTRY_MASK 0x4000 + +#define HVIO_PU_PD_CFG_ADDRESS 0x1012 +#define HVIO_PU_PD_CFG_OFFSET 12 +#define HVIO_PU_PD_CFG_LENGTH 2 +#define HVIO_PU_PD_CFG_MASK 0x3000 + +#define LVIO_PU_PD_CFG_ADDRESS 0x1012 +#define LVIO_PU_PD_CFG_OFFSET 10 +#define LVIO_PU_PD_CFG_LENGTH 2 +#define LVIO_PU_PD_CFG_MASK 0x0C00 + +#define PWM_PU_PD_CFG_ADDRESS 0x1012 +#define PWM_PU_PD_CFG_OFFSET 8 +#define PWM_PU_PD_CFG_LENGTH 2 +#define PWM_PU_PD_CFG_MASK 0x0300 + +#define SLEEP_MODE_ENABLED_ADDRESS 0x1012 +#define SLEEP_MODE_ENABLED_OFFSET 7 +#define SLEEP_MODE_ENABLED_LENGTH 1 +#define SLEEP_MODE_ENABLED_MASK 0x0080 + +#define SLEEP_MODE_POLARITY_ADDRESS 0x1012 +#define SLEEP_MODE_POLARITY_OFFSET 6 +#define SLEEP_MODE_POLARITY_LENGTH 1 +#define SLEEP_MODE_POLARITY_MASK 0x0040 + +#define DIAG_MODE_CFG_ADDRESS 0x1012 +#define DIAG_MODE_CFG_OFFSET 4 +#define DIAG_MODE_CFG_LENGTH 2 +#define DIAG_MODE_CFG_MASK 0x0030 + +#define FG_FILTERED_ADDRESS 0x1012 +#define FG_FILTERED_OFFSET 3 +#define FG_FILTERED_LENGTH 1 +#define FG_FILTERED_MASK 0x0008 + +#define FG_SPEED_ADDRESS 0x1012 +#define FG_SPEED_OFFSET 0 +#define FG_SPEED_LENGTH 3 +#define FG_SPEED_MASK 0x0007 + +#define FG_RD_ACTIVE_STATE_ADDRESS 0x1010 +#define FG_RD_ACTIVE_STATE_OFFSET 13 +#define FG_RD_ACTIVE_STATE_LENGTH 1 +#define FG_RD_ACTIVE_STATE_MASK 0x2000 + +#define FG_RD_INIT_LOW_ADDRESS 0x1010 +#define FG_RD_INIT_LOW_OFFSET 12 +#define FG_RD_INIT_LOW_LENGTH 1 +#define FG_RD_INIT_LOW_MASK 0x1000 + +#define SELECT_RD_FGB_ADDRESS 0x1010 +#define SELECT_RD_FGB_OFFSET 11 +#define SELECT_RD_FGB_LENGTH 1 +#define SELECT_RD_FGB_MASK 0x0800 + +#define HVIO_MODE_CFG_ADDRESS 0x1010 +#define HVIO_MODE_CFG_OFFSET 8 +#define HVIO_MODE_CFG_LENGTH 3 +#define HVIO_MODE_CFG_MASK 0x0700 + +#define LVIO_MODE_CFG_ADDRESS 0x1010 +#define LVIO_MODE_CFG_OFFSET 5 +#define LVIO_MODE_CFG_LENGTH 3 +#define LVIO_MODE_CFG_MASK 0x00E0 + +#define FG_MODE_CFG_ADDRESS 0x1010 +#define FG_MODE_CFG_OFFSET 3 +#define FG_MODE_CFG_LENGTH 2 +#define FG_MODE_CFG_MASK 0x0018 + +#define INPUT_MODE_CFG_ADDRESS 0x1010 +#define INPUT_MODE_CFG_OFFSET 0 +#define INPUT_MODE_CFG_LENGTH 3 +#define INPUT_MODE_CFG_MASK 0x0007 + +#define MOTOR_STATE_ADDRESS 0x100E +#define MOTOR_STATE_OFFSET 8 +#define MOTOR_STATE_LENGTH 8 +#define MOTOR_STATE_MASK 0xFF00 + +#define COMM_STATE_ADDRESS 0x100E +#define COMM_STATE_OFFSET 0 +#define COMM_STATE_LENGTH 8 +#define COMM_STATE_MASK 0x00FF + +#define I2C_RESERVED_2_ADDRESS 0x100C +#define I2C_RESERVED_2_OFFSET 0 +#define I2C_RESERVED_2_LENGTH 16 +#define I2C_RESERVED_2_MASK 0xFFFF + +#define TEMPERATURE_COUNTER_ADDRESS 0x100A +#define TEMPERATURE_COUNTER_OFFSET 12 +#define TEMPERATURE_COUNTER_LENGTH 4 +#define TEMPERATURE_COUNTER_MASK 0xF000 + +#define TEMPERATURE_VALUE_ADDRESS 0x100A +#define TEMPERATURE_VALUE_OFFSET 0 +#define TEMPERATURE_VALUE_LENGTH 12 +#define TEMPERATURE_VALUE_MASK 0x0FFF + +#define MOTOR_RUNNING_ADDRESS 0x1008 +#define MOTOR_RUNNING_OFFSET 15 +#define MOTOR_RUNNING_LENGTH 1 +#define MOTOR_RUNNING_MASK 0x8000 + +#define COMMAND_BUSY_ADDRESS 0x1008 +#define COMMAND_BUSY_OFFSET 4 +#define COMMAND_BUSY_LENGTH 1 +#define COMMAND_BUSY_MASK 0x0010 + +#define OTP_FREEZONES_ADDRESS 0x1008 +#define OTP_FREEZONES_OFFSET 2 +#define OTP_FREEZONES_LENGTH 2 +#define OTP_FREEZONES_MASK 0x000C + +#define MOTOR_STUCK_ADDRESS 0x1008 +#define MOTOR_STUCK_OFFSET 1 +#define MOTOR_STUCK_LENGTH 1 +#define MOTOR_STUCK_MASK 0x0002 + +#define OVERVOLTAGE_ADDRESS 0x1008 +#define OVERVOLTAGE_OFFSET 0 +#define OVERVOLTAGE_LENGTH 1 +#define OVERVOLTAGE_MASK 0x0001 + +#define FEEDBACK_ADDRESS 0x1006 +#define FEEDBACK_OFFSET 0 +#define FEEDBACK_LENGTH 16 +#define FEEDBACK_MASK 0xFFFF + +#define COMMAND_KEY_ADDRESS 0x1004 +#define COMMAND_KEY_OFFSET 0 +#define COMMAND_KEY_LENGTH 16 +#define COMMAND_KEY_MASK 0xFFFF + +#define COMMAND_CONTROL_ADDRESS 0x1002 +#define COMMAND_CONTROL_OFFSET 0 +#define COMMAND_CONTROL_LENGTH 16 +#define COMMAND_CONTROL_MASK 0xFFFF + +#define SPEED_DUTY_ADDRESS 0x1000 +#define SPEED_DUTY_OFFSET 0 +#define SPEED_DUTY_LENGTH 16 +#define SPEED_DUTY_MASK 0xFFFF + +