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.
Revision 9:76a0b9f29a2d, committed 2021-02-26
- Comitter:
- wuliqunyy
- Date:
- Fri Feb 26 08:45:13 2021 +0000
- Parent:
- 8:2554218db1e6
- Child:
- 10:a8390614edcc
- Commit message:
- updated for ganymede14
Changed in this revision
--- a/i2c_mbed_fpga.cpp Tue Jan 26 11:13:25 2021 +0000
+++ b/i2c_mbed_fpga.cpp Fri Feb 26 08:45:13 2021 +0000
@@ -57,14 +57,14 @@
/** i2c enter key to open I2C window
*/
int i2c_mbed_fpga::i2c_window_open(){
- char i2cKey[4] = {0x13, 0xA4, 0xD0, 0xD0};
+ char i2cKey[4] = {0x13, 0xFA, 0xD0, 0xD0};
return i2c_word_write(i2cKey);
}
/** i2c enter key to Start the motor
*/
int i2c_mbed_fpga::i2c_motor_start(){
- char i2cKey[4] = {0x13, 0xA4, 0xCA, 0xFE};
+ char i2cKey[4] = {0x13, 0xFA, 0xCA, 0xFE};
return i2c_word_write(i2cKey);
}
@@ -74,8 +74,8 @@
nv_positin_val &= ~NV_POSITION_PULSE_TIME_MASK;
nv_positin_val |= ((exponent_3b << 2) | mantisaa_2b) << NV_POSITION_PULSE_TIME_OFFSET;
char i2cMessage[4];
- *(i2cMessage+0) = (char)(NV_POSITION >> 8)& 0xff;
- *(i2cMessage+1) = (char)(NV_POSITION >> 0)& 0xff;
+ *(i2cMessage+0) = (char)(NVADDR_NV_POSITION >> 8)& 0xff;
+ *(i2cMessage+1) = (char)(NVADDR_NV_POSITION >> 0)& 0xff;
*(i2cMessage+2) = (char)(nv_positin_val >> 8)& 0xff;
*(i2cMessage+3) = (char)(nv_positin_val >> 0)& 0xff;
return i2c_word_safe_write(i2cMessage);
@@ -87,8 +87,8 @@
nv_positin_val &= ~NV_POSITION_DUTY_MASK;
nv_positin_val |= duty_2b << NV_POSITION_DUTY_OFFSET;
char i2cMessage[4];
- *(i2cMessage+0) = (char)(NV_POSITION >> 8)& 0xff;
- *(i2cMessage+1) = (char)(NV_POSITION >> 0)& 0xff;
+ *(i2cMessage+0) = (char)(NVADDR_NV_POSITION >> 8)& 0xff;
+ *(i2cMessage+1) = (char)(NVADDR_NV_POSITION >> 0)& 0xff;
*(i2cMessage+2) = (char)(nv_positin_val >> 8)& 0xff;
*(i2cMessage+3) = (char)(nv_positin_val >> 0)& 0xff;
return i2c_word_safe_write(i2cMessage);
@@ -100,8 +100,8 @@
nv_positin_val &= ~NV_POSI_MAJO_VOTE_MASK;
nv_positin_val |= maj_1b << NV_POSI_MAJO_VOTE_OFFSET;
char i2cMessage[4];
- *(i2cMessage+0) = (char)(NV_POSITION >> 8)& 0xff;
- *(i2cMessage+1) = (char)(NV_POSITION >> 0)& 0xff;
+ *(i2cMessage+0) = (char)(NVADDR_NV_POSITION >> 8)& 0xff;
+ *(i2cMessage+1) = (char)(NVADDR_NV_POSITION >> 0)& 0xff;
*(i2cMessage+2) = (char)(nv_positin_val >> 8)& 0xff;
*(i2cMessage+3) = (char)(nv_positin_val >> 0)& 0xff;
return i2c_word_safe_write(i2cMessage);
@@ -113,8 +113,8 @@
nv_positin_val &= ~NV_ANTI_COG_MASK;
nv_positin_val |= cog_1b << NV_ANTI_COG_OFFSET;
char i2cMessage[4];
- *(i2cMessage+0) = (char)(NV_POSITION >> 8)& 0xff;
- *(i2cMessage+1) = (char)(NV_POSITION >> 0)& 0xff;
+ *(i2cMessage+0) = (char)(NVADDR_NV_POSITION >> 8)& 0xff;
+ *(i2cMessage+1) = (char)(NVADDR_NV_POSITION >> 0)& 0xff;
*(i2cMessage+2) = (char)(nv_positin_val >> 8)& 0xff;
*(i2cMessage+3) = (char)(nv_positin_val >> 0)& 0xff;
return i2c_word_safe_write(i2cMessage);
@@ -127,8 +127,8 @@
nv_start_up_val &= ~NV_START_UP_TIME_MASK;
nv_start_up_val |= ((exponent_3b << 3) | mantisaa_3b) << NV_START_UP_TIME_OFFSET;
char i2cMessage[4];
- *(i2cMessage+0) = (char)(NV_START_UP >> 8)& 0xff;
- *(i2cMessage+1) = (char)(NV_START_UP >> 0)& 0xff;
+ *(i2cMessage+0) = (char)(NVADDR_NV_START_UP >> 8)& 0xff;
+ *(i2cMessage+1) = (char)(NVADDR_NV_START_UP >> 0)& 0xff;
*(i2cMessage+2) = (char)(nv_start_up_val >> 8)& 0xff;
*(i2cMessage+3) = (char)(nv_start_up_val >> 0)& 0xff;
return i2c_word_safe_write(i2cMessage);
@@ -140,8 +140,8 @@
nv_start_up_val &= ~NV_START_DUTY_MASK;
nv_start_up_val |= duty_2b << NV_START_DUTY_OFFSET;
char i2cMessage[4];
- *(i2cMessage+0) = (char)(NV_START_UP >> 8)& 0xff;
- *(i2cMessage+1) = (char)(NV_START_UP >> 0)& 0xff;
+ *(i2cMessage+0) = (char)(NVADDR_NV_START_UP >> 8)& 0xff;
+ *(i2cMessage+1) = (char)(NVADDR_NV_START_UP >> 0)& 0xff;
*(i2cMessage+2) = (char)(nv_start_up_val >> 8)& 0xff;
*(i2cMessage+3) = (char)(nv_start_up_val >> 0)& 0xff;
return i2c_word_safe_write(i2cMessage);
@@ -153,8 +153,8 @@
nv_start_up_val &= ~NV_COMM_START_NUM_MASK;
nv_start_up_val |= comm << NV_COMM_START_NUM_OFFSET;
char i2cMessage[4];
- *(i2cMessage+0) = (char)(NV_START_UP >> 8)& 0xff;
- *(i2cMessage+1) = (char)(NV_START_UP >> 0)& 0xff;
+ *(i2cMessage+0) = (char)(NVADDR_NV_START_UP >> 8)& 0xff;
+ *(i2cMessage+1) = (char)(NVADDR_NV_START_UP >> 0)& 0xff;
*(i2cMessage+2) = (char)(nv_start_up_val >> 8)& 0xff;
*(i2cMessage+3) = (char)(nv_start_up_val >> 0)& 0xff;
return i2c_word_safe_write(i2cMessage);
@@ -173,20 +173,20 @@
nv_wind_brake_val &= ~NV_SOFT_NUM_STEP_MASK;
nv_wind_brake_val |= num_steps << NV_SOFT_NUM_STEP_OFFSET;
char i2cMessage[4];
- *(i2cMessage+0) = (char)(NV_POSITION >> 8)& 0xff;
- *(i2cMessage+1) = (char)(NV_POSITION >> 0)& 0xff;
+ *(i2cMessage+0) = (char)(NVADDR_NV_POSITION >> 8)& 0xff;
+ *(i2cMessage+1) = (char)(NVADDR_NV_POSITION >> 0)& 0xff;
*(i2cMessage+2) = (char)(nv_positin_val >> 8)& 0xff;
*(i2cMessage+3) = (char)(nv_positin_val >> 0)& 0xff;
ack += i2c_word_safe_write(i2cMessage);
- *(i2cMessage+0) = (char)(NV_START_UP >> 8)& 0xff;
- *(i2cMessage+1) = (char)(NV_START_UP >> 0)& 0xff;
+ *(i2cMessage+0) = (char)(NVADDR_NV_START_UP >> 8)& 0xff;
+ *(i2cMessage+1) = (char)(NVADDR_NV_START_UP >> 0)& 0xff;
*(i2cMessage+2) = (char)(nv_start_up_val >> 8)& 0xff;
*(i2cMessage+3) = (char)(nv_start_up_val >> 0)& 0xff;
ack += i2c_word_safe_write(i2cMessage);
- *(i2cMessage+0) = (char)(NV_WIND_BRAKE >> 8)& 0xff;
- *(i2cMessage+1) = (char)(NV_WIND_BRAKE >> 0)& 0xff;
+ *(i2cMessage+0) = (char)(NVADDR_NV_WIND_BRAKE >> 8)& 0xff;
+ *(i2cMessage+1) = (char)(NVADDR_NV_WIND_BRAKE >> 0)& 0xff;
*(i2cMessage+2) = (char)(nv_wind_brake_val >> 8)& 0xff;
*(i2cMessage+3) = (char)(nv_wind_brake_val >> 0)& 0xff;
ack += i2c_word_safe_write(i2cMessage);
@@ -203,14 +203,14 @@
nv_positin_val &= ~NV_FIRST_NON_FLAT_TIME_MASK;
nv_positin_val |= ((exponent_3b << 3) | mantisaa_3b) << NV_FIRST_NON_FLAT_TIME_OFFSET;
char i2cMessage[4];
- *(i2cMessage+0) = (char)(NV_POSITION >> 8)& 0xff;
- *(i2cMessage+1) = (char)(NV_POSITION >> 0)& 0xff;
+ *(i2cMessage+0) = (char)(NVADDR_NV_POSITION >> 8)& 0xff;
+ *(i2cMessage+1) = (char)(NVADDR_NV_POSITION >> 0)& 0xff;
*(i2cMessage+2) = (char)(nv_positin_val >> 8)& 0xff;
*(i2cMessage+3) = (char)(nv_positin_val >> 0)& 0xff;
ack += i2c_word_safe_write(i2cMessage);
- *(i2cMessage+0) = (char)(NV_START_UP >> 8)& 0xff;
- *(i2cMessage+1) = (char)(NV_START_UP >> 0)& 0xff;
+ *(i2cMessage+0) = (char)(NVADDR_NV_START_UP >> 8)& 0xff;
+ *(i2cMessage+1) = (char)(NVADDR_NV_START_UP >> 0)& 0xff;
*(i2cMessage+2) = (char)(nv_start_up_val >> 8)& 0xff;
*(i2cMessage+3) = (char)(nv_start_up_val >> 0)& 0xff;
ack += i2c_word_safe_write(i2cMessage);
@@ -227,17 +227,50 @@
nv_positin_val &= ~NV_FIRST_NON_FLAT_TIME_MASK;
nv_positin_val |= ((exponent_3b << 3) | mantisaa_3b) << NV_FIRST_NON_FLAT_TIME_OFFSET;
char i2cMessage[4];
- *(i2cMessage+0) = (char)(NV_POSITION >> 8)& 0xff;
- *(i2cMessage+1) = (char)(NV_POSITION >> 0)& 0xff;
+ *(i2cMessage+0) = (char)(NVADDR_NV_POSITION >> 8)& 0xff;
+ *(i2cMessage+1) = (char)(NVADDR_NV_POSITION >> 0)& 0xff;
*(i2cMessage+2) = (char)(nv_positin_val >> 8)& 0xff;
*(i2cMessage+3) = (char)(nv_positin_val >> 0)& 0xff;
ack += i2c_word_safe_write(i2cMessage);
- *(i2cMessage+0) = (char)(NV_START_UP >> 8)& 0xff;
- *(i2cMessage+1) = (char)(NV_START_UP >> 0)& 0xff;
+ *(i2cMessage+0) = (char)(NVADDR_NV_START_UP >> 8)& 0xff;
+ *(i2cMessage+1) = (char)(NVADDR_NV_START_UP >> 0)& 0xff;
*(i2cMessage+2) = (char)(nv_start_up_val >> 8)& 0xff;
*(i2cMessage+3) = (char)(nv_start_up_val >> 0)& 0xff;
ack += i2c_word_safe_write(i2cMessage);
return ack;
-}
\ No newline at end of file
+}
+
+/** i2c to set the open loop mode
+*/
+int i2c_mbed_fpga::i2c_set_loop_mode(unsigned int openloop){
+ int ack = 0;
+ nv_spd_control_1_val &= ~NV_SPD_LOOP_MODE_MASK;
+ nv_spd_control_1_val |= openloop << NV_SPD_LOOP_MODE_OFFSET;
+ char i2cMessage[4];
+ *(i2cMessage+0) = (char)(NVADDR_NV_SPD_CTRL_1 >> 8)& 0xff;
+ *(i2cMessage+1) = (char)(NVADDR_NV_SPD_CTRL_1 >> 0)& 0xff;
+ *(i2cMessage+2) = (char)(nv_spd_control_1_val >> 8)& 0xff;
+ *(i2cMessage+3) = (char)(nv_spd_control_1_val >> 0)& 0xff;
+ ack += i2c_word_safe_write(i2cMessage);
+
+ return ack;
+}
+
+/** i2c to set the Single Pulse Start Up (pulse train)
+*/
+int i2c_mbed_fpga::i2c_set_open_loop_duty(unsigned int duty){
+ int ack = 0;
+ nv_start_up_val = duty;
+ char i2cMessage[4];
+ *(i2cMessage+0) = (char)(0x10)& 0xff;
+ *(i2cMessage+1) = (char)(0x3e)& 0xff;
+ *(i2cMessage+2) = (char)(nv_start_up_val >> 8)& 0xff;
+ *(i2cMessage+3) = (char)(nv_start_up_val >> 0)& 0xff;
+ ack += i2c_word_safe_write(i2cMessage);
+
+
+
+ return ack;
+}
--- a/i2c_mbed_fpga.h Tue Jan 26 11:13:25 2021 +0000
+++ b/i2c_mbed_fpga.h Fri Feb 26 08:45:13 2021 +0000
@@ -17,7 +17,9 @@
i2c_master.frequency(35000);
nv_positin_val = NV_POSITION_DEFUALT;
nv_start_up_val = NV_START_UP_DEFAULT;
- nv_wind_brake_val = NV_WIND_BRAKE_DEFAULT;
+ nv_wind_brake_val = NV_WIND_BRAKE_DEFAULT;
+ ram_open_duty_val = RAM_OPEN_DUTY_VAL;
+ nv_spd_control_1_val = NV_SPD_CONTROL_1_VAL;
};
int i2c_word_read(char *word);
@@ -38,13 +40,17 @@
int i2c_set_soft_start_up(unsigned int enbale, unsigned int mantisaa_3b, unsigned int exponent_3b, unsigned int step_size, unsigned int num_steps);
int i2c_set_high_torque_start_up(unsigned int enbale, unsigned int mantisaa_3b, unsigned int exponent_3b);
int i2c_set_single_pulse_start_up(unsigned int enbale, unsigned int mantisaa_3b, unsigned int exponent_3b);
-
+ int i2c_set_loop_mode(unsigned int openloop);
+ int i2c_set_open_loop_duty(unsigned int duty);
private:
I2C i2c_master;
unsigned int nv_positin_val;
unsigned int nv_start_up_val;
unsigned int nv_wind_brake_val;
+ unsigned int nv_spd_control_1_val;
+ unsigned int ram_open_duty_val;
+
//Position Detection Task/Functions
};
--- a/main.cpp Tue Jan 26 11:13:25 2021 +0000
+++ b/main.cpp Fri Feb 26 08:45:13 2021 +0000
@@ -11,12 +11,20 @@
main_init(); /*reset the FPGA!*/
/*control codes*/
- wait_ms(5000); /* keep FPGA in reset for 5s, to let motor stop*/
- enbale_fpga(); /* enable FPGA */
+ wait_ms(2000); /* keep FPGA in reset for 5s, to let motor stop*/
+ enbale_fpga(); /* enable FPGA */
+ wait_ms(1000);
led4 = i2c.i2c_window_open(); /*send password 0xd0d0*/
- wait_ms(1000);
+ //wait_ms(1000);
//i2c.i2c_set_position_pulse_width(3,4); /*unsigned int mantisaa_2b, unsigned int exponent_3b*/
- led4 = i2c.i2c_set_soft_start_up(1, 1, 0, 1, 1);
+ //wait_ms(1000);
+ //led4 = i2c.i2c_set_soft_start_up(1, 1, 0, 1, 1);
+ wait_ms(1000);
+ i2c.i2c_set_position_anti_cog(1);
+ wait_ms(1000);
+ i2c.i2c_set_loop_mode(0);
+ wait_ms(1000);
+ i2c.i2c_set_open_loop_duty(0x8000);
wait_ms(1000);
led4 = i2c.i2c_motor_start(); /*send password 0xcafe*/
--- a/nv_bitfield_map.h Tue Jan 26 11:13:25 2021 +0000 +++ b/nv_bitfield_map.h Fri Feb 26 08:45:13 2021 +0000 @@ -1,505 +1,1576 @@ -#define NV_D_CORDAT_ID_ADDRESS 0x13BE +#define NV_D_CORDAT_ID_ADDRESS 0x09FE #define NV_D_CORDAT_ID_OFFSET 10 #define NV_D_CORDAT_ID_LENGTH 6 #define NV_D_CORDAT_ID_MASK 0xFC00 -#define NV_D_FAB_ID_ADDRESS 0x13BE +#define NV_D_FAB_ID_ADDRESS 0x09FE #define NV_D_FAB_ID_OFFSET 6 #define NV_D_FAB_ID_LENGTH 4 #define NV_D_FAB_ID_MASK 0x03C0 -#define NV_D_LOT_ID_16_11_ADDRESS 0x13BE +#define NV_D_LOT_ID_16_11_ADDRESS 0x09FE #define NV_D_LOT_ID_16_11_OFFSET 0 #define NV_D_LOT_ID_16_11_LENGTH 6 #define NV_D_LOT_ID_16_11_MASK 0x003F -#define NV_D_LOT_ID_10_0_ADDRESS 0x13BC +#define NV_D_LOT_ID_10_0_ADDRESS 0x09FC #define NV_D_LOT_ID_10_0_OFFSET 5 #define NV_D_LOT_ID_10_0_LENGTH 11 #define NV_D_LOT_ID_10_0_MASK 0xFFE0 -#define NV_D_WFR_ID_ADDRESS 0x13BC +#define NV_D_WFR_ID_ADDRESS 0x09FC #define NV_D_WFR_ID_OFFSET 0 #define NV_D_WFR_ID_LENGTH 5 #define NV_D_WFR_ID_MASK 0x001F -#define NV_D_YPOS_ID_ADDRESS 0x13BA +#define NV_D_YPOS_ID_ADDRESS 0x09FA #define NV_D_YPOS_ID_OFFSET 8 #define NV_D_YPOS_ID_LENGTH 8 #define NV_D_YPOS_ID_MASK 0xFF00 -#define NV_D_XPOS_ID_ADDRESS 0x13BA +#define NV_D_XPOS_ID_ADDRESS 0x09FA #define NV_D_XPOS_ID_OFFSET 0 #define NV_D_XPOS_ID_LENGTH 8 #define NV_D_XPOS_ID_MASK 0x00FF -#define NV_RESERVED_12_ADDRESS 0x13B8 -#define NV_RESERVED_12_OFFSET 0 -#define NV_RESERVED_12_LENGTH 16 -#define NV_RESERVED_12_MASK 0xFFFF +#define NV_TRACEABILITY_0_ADDRESS 0x09F8 +#define NV_TRACEABILITY_0_OFFSET 0 +#define NV_TRACEABILITY_0_LENGTH 16 +#define NV_TRACEABILITY_0_MASK 0xFFFF + +#define MLX_TRIM_15_ADDRESS 0x09F6 +#define MLX_TRIM_15_OFFSET 0 +#define MLX_TRIM_15_LENGTH 16 +#define MLX_TRIM_15_MASK 0xFFFF + +#define MLX_TRIM_14_ADDRESS 0x09F4 +#define MLX_TRIM_14_OFFSET 0 +#define MLX_TRIM_14_LENGTH 16 +#define MLX_TRIM_14_MASK 0xFFFF + +#define MLX_TRIM_13_ADDRESS 0x09F2 +#define MLX_TRIM_13_OFFSET 0 +#define MLX_TRIM_13_LENGTH 16 +#define MLX_TRIM_13_MASK 0xFFFF + +#define MLX_TRIM_12_ADDRESS 0x09F0 +#define MLX_TRIM_12_OFFSET 0 +#define MLX_TRIM_12_LENGTH 16 +#define MLX_TRIM_12_MASK 0xFFFF + +#define MLX_TRIM_11_ADDRESS 0x09EE +#define MLX_TRIM_11_OFFSET 0 +#define MLX_TRIM_11_LENGTH 16 +#define MLX_TRIM_11_MASK 0xFFFF + +#define MLX_TRIM_10_ADDRESS 0x09EC +#define MLX_TRIM_10_OFFSET 0 +#define MLX_TRIM_10_LENGTH 16 +#define MLX_TRIM_10_MASK 0xFFFF -#define NV_RESERVED_11_ADDRESS 0x13B6 -#define NV_RESERVED_11_OFFSET 0 -#define NV_RESERVED_11_LENGTH 16 -#define NV_RESERVED_11_MASK 0xFFFF +#define MLX_TRIM_9_ADDRESS 0x09EA +#define MLX_TRIM_9_OFFSET 0 +#define MLX_TRIM_9_LENGTH 16 +#define MLX_TRIM_9_MASK 0xFFFF + +#define MLX_TRIM_8_ADDRESS 0x09E8 +#define MLX_TRIM_8_OFFSET 0 +#define MLX_TRIM_8_LENGTH 16 +#define MLX_TRIM_8_MASK 0xFFFF + +#define MLX_TRIM_7_ADDRESS 0x09E6 +#define MLX_TRIM_7_OFFSET 0 +#define MLX_TRIM_7_LENGTH 16 +#define MLX_TRIM_7_MASK 0xFFFF + +#define MLX_TRIM_6_ADDRESS 0x09E4 +#define MLX_TRIM_6_OFFSET 0 +#define MLX_TRIM_6_LENGTH 16 +#define MLX_TRIM_6_MASK 0xFFFF + +#define MLX_TRIM_5_ADDRESS 0x09E2 +#define MLX_TRIM_5_OFFSET 0 +#define MLX_TRIM_5_LENGTH 16 +#define MLX_TRIM_5_MASK 0xFFFF + +#define MLX_TRIM_4_ADDRESS 0x09E0 +#define MLX_TRIM_4_OFFSET 0 +#define MLX_TRIM_4_LENGTH 16 +#define MLX_TRIM_4_MASK 0xFFFF + +#define MLX_TRIM_3_ADDRESS 0x09DE +#define MLX_TRIM_3_OFFSET 0 +#define MLX_TRIM_3_LENGTH 16 +#define MLX_TRIM_3_MASK 0xFFFF + +#define MLX_TRIM_2_ADDRESS 0x09DC +#define MLX_TRIM_2_OFFSET 0 +#define MLX_TRIM_2_LENGTH 16 +#define MLX_TRIM_2_MASK 0xFFFF -#define NV_RESERVED_10_ADDRESS 0x13B4 -#define NV_RESERVED_10_OFFSET 0 -#define NV_RESERVED_10_LENGTH 16 -#define NV_RESERVED_10_MASK 0xFFFF +#define MLX_TRIM_1_ADDRESS 0x09DA +#define MLX_TRIM_1_OFFSET 0 +#define MLX_TRIM_1_LENGTH 16 +#define MLX_TRIM_1_MASK 0xFFFF + +#define MLX_TRIM_0_ADDRESS 0x09D8 +#define MLX_TRIM_0_OFFSET 0 +#define MLX_TRIM_0_LENGTH 16 +#define MLX_TRIM_0_MASK 0xFFFF + +#define MLX_CALIB_23_ADDRESS 0x09D6 +#define MLX_CALIB_23_OFFSET 0 +#define MLX_CALIB_23_LENGTH 16 +#define MLX_CALIB_23_MASK 0xFFFF + +#define MLX_CALIB_22_ADDRESS 0x09D4 +#define MLX_CALIB_22_OFFSET 0 +#define MLX_CALIB_22_LENGTH 16 +#define MLX_CALIB_22_MASK 0xFFFF + +#define MLX_CALIB_21_ADDRESS 0x09D2 +#define MLX_CALIB_21_OFFSET 0 +#define MLX_CALIB_21_LENGTH 16 +#define MLX_CALIB_21_MASK 0xFFFF + +#define MLX_CALIB_20_ADDRESS 0x09D0 +#define MLX_CALIB_20_OFFSET 0 +#define MLX_CALIB_20_LENGTH 16 +#define MLX_CALIB_20_MASK 0xFFFF + +#define MLX_CALIB_19_ADDRESS 0x09CE +#define MLX_CALIB_19_OFFSET 0 +#define MLX_CALIB_19_LENGTH 16 +#define MLX_CALIB_19_MASK 0xFFFF + +#define MLX_CALIB_18_ADDRESS 0x09CC +#define MLX_CALIB_18_OFFSET 0 +#define MLX_CALIB_18_LENGTH 16 +#define MLX_CALIB_18_MASK 0xFFFF -#define NV_RESERVED_9_ADDRESS 0x13B2 -#define NV_RESERVED_9_OFFSET 0 -#define NV_RESERVED_9_LENGTH 16 -#define NV_RESERVED_9_MASK 0xFFFF +#define MLX_CALIB_17_ADDRESS 0x09CA +#define MLX_CALIB_17_OFFSET 0 +#define MLX_CALIB_17_LENGTH 16 +#define MLX_CALIB_17_MASK 0xFFFF + +#define MLX_CALIB_16_ADDRESS 0x09C8 +#define MLX_CALIB_16_OFFSET 0 +#define MLX_CALIB_16_LENGTH 16 +#define MLX_CALIB_16_MASK 0xFFFF + +#define MLX_CALIB_15_ADDRESS 0x09C6 +#define MLX_CALIB_15_OFFSET 0 +#define MLX_CALIB_15_LENGTH 16 +#define MLX_CALIB_15_MASK 0xFFFF + +#define MLX_CALIB_14_ADDRESS 0x09C4 +#define MLX_CALIB_14_OFFSET 0 +#define MLX_CALIB_14_LENGTH 16 +#define MLX_CALIB_14_MASK 0xFFFF + +#define MLX_CALIB_13_ADDRESS 0x09C2 +#define MLX_CALIB_13_OFFSET 0 +#define MLX_CALIB_13_LENGTH 16 +#define MLX_CALIB_13_MASK 0xFFFF + +#define MLX_CALIB_12_ADDRESS 0x09C0 +#define MLX_CALIB_12_OFFSET 0 +#define MLX_CALIB_12_LENGTH 16 +#define MLX_CALIB_12_MASK 0xFFFF + +#define MLX_CALIB_11_ADDRESS 0x09BE +#define MLX_CALIB_11_OFFSET 0 +#define MLX_CALIB_11_LENGTH 16 +#define MLX_CALIB_11_MASK 0xFFFF + +#define MLX_CALIB_10_ADDRESS 0x09BC +#define MLX_CALIB_10_OFFSET 0 +#define MLX_CALIB_10_LENGTH 16 +#define MLX_CALIB_10_MASK 0xFFFF -#define NV_RESERVED_8_ADDRESS 0x13B0 -#define NV_RESERVED_8_OFFSET 0 -#define NV_RESERVED_8_LENGTH 16 -#define NV_RESERVED_8_MASK 0xFFFF +#define MLX_CALIB_9_ADDRESS 0x09BA +#define MLX_CALIB_9_OFFSET 0 +#define MLX_CALIB_9_LENGTH 16 +#define MLX_CALIB_9_MASK 0xFFFF + +#define MLX_CALIB_8_ADDRESS 0x09B8 +#define MLX_CALIB_8_OFFSET 0 +#define MLX_CALIB_8_LENGTH 16 +#define MLX_CALIB_8_MASK 0xFFFF + +#define MLX_CALIB_7_ADDRESS 0x09B6 +#define MLX_CALIB_7_OFFSET 0 +#define MLX_CALIB_7_LENGTH 16 +#define MLX_CALIB_7_MASK 0xFFFF + +#define MLX_CALIB_6_ADDRESS 0x09B4 +#define MLX_CALIB_6_OFFSET 0 +#define MLX_CALIB_6_LENGTH 16 +#define MLX_CALIB_6_MASK 0xFFFF + +#define MLX_CALIB_5_ADDRESS 0x09B2 +#define MLX_CALIB_5_OFFSET 0 +#define MLX_CALIB_5_LENGTH 16 +#define MLX_CALIB_5_MASK 0xFFFF + +#define MLX_CALIB_4_ADDRESS 0x09B0 +#define MLX_CALIB_4_OFFSET 0 +#define MLX_CALIB_4_LENGTH 16 +#define MLX_CALIB_4_MASK 0xFFFF + +#define MLX_CALIB_3_ADDRESS 0x09AE +#define MLX_CALIB_3_OFFSET 0 +#define MLX_CALIB_3_LENGTH 16 +#define MLX_CALIB_3_MASK 0xFFFF + +#define MLX_CALIB_2_ADDRESS 0x09AC +#define MLX_CALIB_2_OFFSET 0 +#define MLX_CALIB_2_LENGTH 16 +#define MLX_CALIB_2_MASK 0xFFFF -#define NV_RESERVED_7_ADDRESS 0x13AE -#define NV_RESERVED_7_OFFSET 0 -#define NV_RESERVED_7_LENGTH 16 -#define NV_RESERVED_7_MASK 0xFFFF +#define MLX_CALIB_1_ADDRESS 0x09AA +#define MLX_CALIB_1_OFFSET 0 +#define MLX_CALIB_1_LENGTH 16 +#define MLX_CALIB_1_MASK 0xFFFF + +#define MLX_CALIB_0_ADDRESS 0x09A8 +#define MLX_CALIB_0_OFFSET 0 +#define MLX_CALIB_0_LENGTH 16 +#define MLX_CALIB_0_MASK 0xFFFF + +#define FREE_89_ADDRESS 0x09A6 +#define FREE_89_OFFSET 0 +#define FREE_89_LENGTH 16 +#define FREE_89_MASK 0xFFFF + +#define FREE_88_ADDRESS 0x09A4 +#define FREE_88_OFFSET 0 +#define FREE_88_LENGTH 16 +#define FREE_88_MASK 0xFFFF + +#define FREE_87_ADDRESS 0x09A2 +#define FREE_87_OFFSET 0 +#define FREE_87_LENGTH 16 +#define FREE_87_MASK 0xFFFF + +#define FREE_86_ADDRESS 0x09A0 +#define FREE_86_OFFSET 0 +#define FREE_86_LENGTH 16 +#define FREE_86_MASK 0xFFFF + +#define FREE_85_ADDRESS 0x099E +#define FREE_85_OFFSET 0 +#define FREE_85_LENGTH 16 +#define FREE_85_MASK 0xFFFF + +#define FREE_84_ADDRESS 0x099C +#define FREE_84_OFFSET 0 +#define FREE_84_LENGTH 16 +#define FREE_84_MASK 0xFFFF -#define NV_RESERVED_6_ADDRESS 0x13AC -#define NV_RESERVED_6_OFFSET 0 -#define NV_RESERVED_6_LENGTH 16 -#define NV_RESERVED_6_MASK 0xFFFF +#define FREE_83_ADDRESS 0x099A +#define FREE_83_OFFSET 0 +#define FREE_83_LENGTH 16 +#define FREE_83_MASK 0xFFFF + +#define FREE_82_ADDRESS 0x0998 +#define FREE_82_OFFSET 0 +#define FREE_82_LENGTH 16 +#define FREE_82_MASK 0xFFFF + +#define FREE_81_ADDRESS 0x0996 +#define FREE_81_OFFSET 0 +#define FREE_81_LENGTH 16 +#define FREE_81_MASK 0xFFFF + +#define FREE_80_ADDRESS 0x0994 +#define FREE_80_OFFSET 0 +#define FREE_80_LENGTH 16 +#define FREE_80_MASK 0xFFFF + +#define FREE_79_ADDRESS 0x0992 +#define FREE_79_OFFSET 0 +#define FREE_79_LENGTH 16 +#define FREE_79_MASK 0xFFFF + +#define FREE_78_ADDRESS 0x0990 +#define FREE_78_OFFSET 0 +#define FREE_78_LENGTH 16 +#define FREE_78_MASK 0xFFFF + +#define FREE_77_ADDRESS 0x098E +#define FREE_77_OFFSET 0 +#define FREE_77_LENGTH 16 +#define FREE_77_MASK 0xFFFF + +#define FREE_76_ADDRESS 0x098C +#define FREE_76_OFFSET 0 +#define FREE_76_LENGTH 16 +#define FREE_76_MASK 0xFFFF -#define NV_RESERVED_5_ADDRESS 0x13AA -#define NV_RESERVED_5_OFFSET 0 -#define NV_RESERVED_5_LENGTH 16 -#define NV_RESERVED_5_MASK 0xFFFF +#define FREE_75_ADDRESS 0x098A +#define FREE_75_OFFSET 0 +#define FREE_75_LENGTH 16 +#define FREE_75_MASK 0xFFFF + +#define FREE_74_ADDRESS 0x0988 +#define FREE_74_OFFSET 0 +#define FREE_74_LENGTH 16 +#define FREE_74_MASK 0xFFFF + +#define FREE_73_ADDRESS 0x0986 +#define FREE_73_OFFSET 0 +#define FREE_73_LENGTH 16 +#define FREE_73_MASK 0xFFFF + +#define FREE_72_ADDRESS 0x0984 +#define FREE_72_OFFSET 0 +#define FREE_72_LENGTH 16 +#define FREE_72_MASK 0xFFFF -#define NV_RESERVED_4_ADDRESS 0x13A8 -#define NV_RESERVED_4_OFFSET 0 -#define NV_RESERVED_4_LENGTH 16 -#define NV_RESERVED_4_MASK 0xFFFF +#define FREE_71_ADDRESS 0x0982 +#define FREE_71_OFFSET 0 +#define FREE_71_LENGTH 16 +#define FREE_71_MASK 0xFFFF + +#define FREE_70_ADDRESS 0x0980 +#define FREE_70_OFFSET 0 +#define FREE_70_LENGTH 16 +#define FREE_70_MASK 0xFFFF + +#define FREE_69_ADDRESS 0x097E +#define FREE_69_OFFSET 0 +#define FREE_69_LENGTH 16 +#define FREE_69_MASK 0xFFFF + +#define FREE_68_ADDRESS 0x097C +#define FREE_68_OFFSET 0 +#define FREE_68_LENGTH 16 +#define FREE_68_MASK 0xFFFF -#define NV_RESERVED_3_ADDRESS 0x13A6 -#define NV_RESERVED_3_OFFSET 0 -#define NV_RESERVED_3_LENGTH 16 -#define NV_RESERVED_3_MASK 0xFFFF +#define FREE_67_ADDRESS 0x097A +#define FREE_67_OFFSET 0 +#define FREE_67_LENGTH 16 +#define FREE_67_MASK 0xFFFF + +#define FREE_66_ADDRESS 0x0978 +#define FREE_66_OFFSET 0 +#define FREE_66_LENGTH 16 +#define FREE_66_MASK 0xFFFF + +#define FREE_65_ADDRESS 0x0976 +#define FREE_65_OFFSET 0 +#define FREE_65_LENGTH 16 +#define FREE_65_MASK 0xFFFF + +#define FREE_64_ADDRESS 0x0974 +#define FREE_64_OFFSET 0 +#define FREE_64_LENGTH 16 +#define FREE_64_MASK 0xFFFF + +#define FREE_63_ADDRESS 0x0972 +#define FREE_63_OFFSET 0 +#define FREE_63_LENGTH 16 +#define FREE_63_MASK 0xFFFF + +#define FREE_62_ADDRESS 0x0970 +#define FREE_62_OFFSET 0 +#define FREE_62_LENGTH 16 +#define FREE_62_MASK 0xFFFF + +#define FREE_61_ADDRESS 0x096E +#define FREE_61_OFFSET 0 +#define FREE_61_LENGTH 16 +#define FREE_61_MASK 0xFFFF -#define NV_PASSWORD_ADDRESS 0x13A4 -#define NV_PASSWORD_OFFSET 0 -#define NV_PASSWORD_LENGTH 16 -#define NV_PASSWORD_MASK 0xFFFF +#define FREE_60_ADDRESS 0x096C +#define FREE_60_OFFSET 0 +#define FREE_60_LENGTH 16 +#define FREE_60_MASK 0xFFFF + +#define FREE_59_ADDRESS 0x096A +#define FREE_59_OFFSET 0 +#define FREE_59_LENGTH 16 +#define FREE_59_MASK 0xFFFF + +#define FREE_58_ADDRESS 0x0968 +#define FREE_58_OFFSET 0 +#define FREE_58_LENGTH 16 +#define FREE_58_MASK 0xFFFF + +#define FREE_57_ADDRESS 0x0966 +#define FREE_57_OFFSET 0 +#define FREE_57_LENGTH 16 +#define FREE_57_MASK 0xFFFF + +#define FREE_56_ADDRESS 0x0964 +#define FREE_56_OFFSET 0 +#define FREE_56_LENGTH 16 +#define FREE_56_MASK 0xFFFF + +#define FREE_55_ADDRESS 0x0962 +#define FREE_55_OFFSET 0 +#define FREE_55_LENGTH 16 +#define FREE_55_MASK 0xFFFF + +#define FREE_54_ADDRESS 0x0960 +#define FREE_54_OFFSET 0 +#define FREE_54_LENGTH 16 +#define FREE_54_MASK 0xFFFF + +#define FREE_53_ADDRESS 0x095E +#define FREE_53_OFFSET 0 +#define FREE_53_LENGTH 16 +#define FREE_53_MASK 0xFFFF -#define NV_CUST_ID2_ADDRESS 0x13A2 -#define NV_CUST_ID2_OFFSET 0 -#define NV_CUST_ID2_LENGTH 16 -#define NV_CUST_ID2_MASK 0xFFFF +#define FREE_52_ADDRESS 0x095C +#define FREE_52_OFFSET 0 +#define FREE_52_LENGTH 16 +#define FREE_52_MASK 0xFFFF + +#define FREE_51_ADDRESS 0x095A +#define FREE_51_OFFSET 0 +#define FREE_51_LENGTH 16 +#define FREE_51_MASK 0xFFFF + +#define FREE_50_ADDRESS 0x0958 +#define FREE_50_OFFSET 0 +#define FREE_50_LENGTH 16 +#define FREE_50_MASK 0xFFFF + +#define FREE_49_ADDRESS 0x0956 +#define FREE_49_OFFSET 0 +#define FREE_49_LENGTH 16 +#define FREE_49_MASK 0xFFFF + +#define FREE_48_ADDRESS 0x0954 +#define FREE_48_OFFSET 0 +#define FREE_48_LENGTH 16 +#define FREE_48_MASK 0xFFFF + +#define FREE_47_ADDRESS 0x0952 +#define FREE_47_OFFSET 0 +#define FREE_47_LENGTH 16 +#define FREE_47_MASK 0xFFFF + +#define FREE_46_ADDRESS 0x0950 +#define FREE_46_OFFSET 0 +#define FREE_46_LENGTH 16 +#define FREE_46_MASK 0xFFFF + +#define FREE_45_ADDRESS 0x094E +#define FREE_45_OFFSET 0 +#define FREE_45_LENGTH 16 +#define FREE_45_MASK 0xFFFF -#define NV_CUST_ID1_ADDRESS 0x13A0 -#define NV_CUST_ID1_OFFSET 0 -#define NV_CUST_ID1_LENGTH 16 -#define NV_CUST_ID1_MASK 0xFFFF +#define FREE_44_ADDRESS 0x094C +#define FREE_44_OFFSET 0 +#define FREE_44_LENGTH 16 +#define FREE_44_MASK 0xFFFF + +#define FREE_43_ADDRESS 0x094A +#define FREE_43_OFFSET 0 +#define FREE_43_LENGTH 16 +#define FREE_43_MASK 0xFFFF + +#define FREE_42_ADDRESS 0x0948 +#define FREE_42_OFFSET 0 +#define FREE_42_LENGTH 16 +#define FREE_42_MASK 0xFFFF + +#define FREE_41_ADDRESS 0x0946 +#define FREE_41_OFFSET 0 +#define FREE_41_LENGTH 16 +#define FREE_41_MASK 0xFFFF + +#define FREE_40_ADDRESS 0x0944 +#define FREE_40_OFFSET 0 +#define FREE_40_LENGTH 16 +#define FREE_40_MASK 0xFFFF + +#define FREE_39_ADDRESS 0x0942 +#define FREE_39_OFFSET 0 +#define FREE_39_LENGTH 16 +#define FREE_39_MASK 0xFFFF + +#define FREE_38_ADDRESS 0x0940 +#define FREE_38_OFFSET 0 +#define FREE_38_LENGTH 16 +#define FREE_38_MASK 0xFFFF + +#define FREE_37_ADDRESS 0x093E +#define FREE_37_OFFSET 0 +#define FREE_37_LENGTH 16 +#define FREE_37_MASK 0xFFFF -#define NV_RESERVED_2_ADDRESS 0x139E -#define NV_RESERVED_2_OFFSET 0 -#define NV_RESERVED_2_LENGTH 16 -#define NV_RESERVED_2_MASK 0xFFFF +#define FREE_36_ADDRESS 0x093C +#define FREE_36_OFFSET 0 +#define FREE_36_LENGTH 16 +#define FREE_36_MASK 0xFFFF + +#define FREE_35_ADDRESS 0x093A +#define FREE_35_OFFSET 0 +#define FREE_35_LENGTH 16 +#define FREE_35_MASK 0xFFFF + +#define FREE_34_ADDRESS 0x0938 +#define FREE_34_OFFSET 0 +#define FREE_34_LENGTH 16 +#define FREE_34_MASK 0xFFFF + +#define FREE_33_ADDRESS 0x0936 +#define FREE_33_OFFSET 0 +#define FREE_33_LENGTH 16 +#define FREE_33_MASK 0xFFFF + +#define FREE_32_ADDRESS 0x0934 +#define FREE_32_OFFSET 0 +#define FREE_32_LENGTH 16 +#define FREE_32_MASK 0xFFFF + +#define FREE_31_ADDRESS 0x0932 +#define FREE_31_OFFSET 0 +#define FREE_31_LENGTH 16 +#define FREE_31_MASK 0xFFFF + +#define FREE_30_ADDRESS 0x0930 +#define FREE_30_OFFSET 0 +#define FREE_30_LENGTH 16 +#define FREE_30_MASK 0xFFFF + +#define FREE_29_ADDRESS 0x092E +#define FREE_29_OFFSET 0 +#define FREE_29_LENGTH 16 +#define FREE_29_MASK 0xFFFF -#define NV_RPM_D_ADDRESS 0x139C -#define NV_RPM_D_OFFSET 8 -#define NV_RPM_D_LENGTH 8 -#define NV_RPM_D_MASK 0xFF00 +#define FREE_28_ADDRESS 0x092C +#define FREE_28_OFFSET 0 +#define FREE_28_LENGTH 16 +#define FREE_28_MASK 0xFFFF + +#define FREE_27_ADDRESS 0x092A +#define FREE_27_OFFSET 0 +#define FREE_27_LENGTH 16 +#define FREE_27_MASK 0xFFFF + +#define FREE_26_ADDRESS 0x0928 +#define FREE_26_OFFSET 0 +#define FREE_26_LENGTH 16 +#define FREE_26_MASK 0xFFFF + +#define FREE_25_ADDRESS 0x0926 +#define FREE_25_OFFSET 0 +#define FREE_25_LENGTH 16 +#define FREE_25_MASK 0xFFFF + +#define FREE_24_ADDRESS 0x0924 +#define FREE_24_OFFSET 0 +#define FREE_24_LENGTH 16 +#define FREE_24_MASK 0xFFFF + +#define FREE_23_ADDRESS 0x0922 +#define FREE_23_OFFSET 0 +#define FREE_23_LENGTH 16 +#define FREE_23_MASK 0xFFFF + +#define FREE_22_ADDRESS 0x0920 +#define FREE_22_OFFSET 0 +#define FREE_22_LENGTH 16 +#define FREE_22_MASK 0xFFFF + +#define FREE_21_ADDRESS 0x091E +#define FREE_21_OFFSET 0 +#define FREE_21_LENGTH 16 +#define FREE_21_MASK 0xFFFF -#define NV_RPM_MAX_2_ADDRESS 0x139C -#define NV_RPM_MAX_2_OFFSET 8 -#define NV_RPM_MAX_2_LENGTH 8 -#define NV_RPM_MAX_2_MASK 0xFF00 +#define FREE_20_ADDRESS 0x091C +#define FREE_20_OFFSET 0 +#define FREE_20_LENGTH 16 +#define FREE_20_MASK 0xFFFF + +#define FREE_19_ADDRESS 0x091A +#define FREE_19_OFFSET 0 +#define FREE_19_LENGTH 16 +#define FREE_19_MASK 0xFFFF + +#define FREE_18_ADDRESS 0x0918 +#define FREE_18_OFFSET 0 +#define FREE_18_LENGTH 16 +#define FREE_18_MASK 0xFFFF + +#define FREE_17_ADDRESS 0x0916 +#define FREE_17_OFFSET 0 +#define FREE_17_LENGTH 16 +#define FREE_17_MASK 0xFFFF + +#define FREE_16_ADDRESS 0x0914 +#define FREE_16_OFFSET 0 +#define FREE_16_LENGTH 16 +#define FREE_16_MASK 0xFFFF + +#define FREE_15_ADDRESS 0x0912 +#define FREE_15_OFFSET 0 +#define FREE_15_LENGTH 16 +#define FREE_15_MASK 0xFFFF + +#define FREE_14_ADDRESS 0x0910 +#define FREE_14_OFFSET 0 +#define FREE_14_LENGTH 16 +#define FREE_14_MASK 0xFFFF + +#define FREE_13_ADDRESS 0x090E +#define FREE_13_OFFSET 0 +#define FREE_13_LENGTH 16 +#define FREE_13_MASK 0xFFFF -#define NV_SPD_D_ADDRESS 0x139C -#define NV_SPD_D_OFFSET 0 -#define NV_SPD_D_LENGTH 8 -#define NV_SPD_D_MASK 0x00FF +#define FREE_12_ADDRESS 0x090C +#define FREE_12_OFFSET 0 +#define FREE_12_LENGTH 16 +#define FREE_12_MASK 0xFFFF + +#define FREE_11_ADDRESS 0x090A +#define FREE_11_OFFSET 0 +#define FREE_11_LENGTH 16 +#define FREE_11_MASK 0xFFFF + +#define FREE_10_ADDRESS 0x0908 +#define FREE_10_OFFSET 0 +#define FREE_10_LENGTH 16 +#define FREE_10_MASK 0xFFFF + +#define FREE_9_ADDRESS 0x0906 +#define FREE_9_OFFSET 0 +#define FREE_9_LENGTH 16 +#define FREE_9_MASK 0xFFFF -#define NV_SPD_MAX_2_ADDRESS 0x139C -#define NV_SPD_MAX_2_OFFSET 0 -#define NV_SPD_MAX_2_LENGTH 8 -#define NV_SPD_MAX_2_MASK 0x00FF +#define FREE_8_ADDRESS 0x0904 +#define FREE_8_OFFSET 0 +#define FREE_8_LENGTH 16 +#define FREE_8_MASK 0xFFFF + +#define FREE_7_ADDRESS 0x0902 +#define FREE_7_OFFSET 0 +#define FREE_7_LENGTH 16 +#define FREE_7_MASK 0xFFFF + +#define FREE_6_ADDRESS 0x0900 +#define FREE_6_OFFSET 0 +#define FREE_6_LENGTH 16 +#define FREE_6_MASK 0xFFFF + +#define FREE_5_ADDRESS 0x08FE +#define FREE_5_OFFSET 0 +#define FREE_5_LENGTH 16 +#define FREE_5_MASK 0xFFFF -#define NV_RPM_C_ADDRESS 0x139A -#define NV_RPM_C_OFFSET 8 -#define NV_RPM_C_LENGTH 8 -#define NV_RPM_C_MASK 0xFF00 +#define FREE_4_ADDRESS 0x08FC +#define FREE_4_OFFSET 0 +#define FREE_4_LENGTH 16 +#define FREE_4_MASK 0xFFFF + +#define FREE_3_ADDRESS 0x08FA +#define FREE_3_OFFSET 0 +#define FREE_3_LENGTH 16 +#define FREE_3_MASK 0xFFFF + +#define FREE_2_ADDRESS 0x08F8 +#define FREE_2_OFFSET 0 +#define FREE_2_LENGTH 16 +#define FREE_2_MASK 0xFFFF + +#define FREE_1_ADDRESS 0x08F6 +#define FREE_1_OFFSET 0 +#define FREE_1_LENGTH 16 +#define FREE_1_MASK 0xFFFF + +#define FREE_0_ADDRESS 0x08F4 +#define FREE_0_OFFSET 0 +#define FREE_0_LENGTH 16 +#define FREE_0_MASK 0xFFFF + +#define PATCH_3_1_ADDRESS 0x08F2 +#define PATCH_3_1_OFFSET 0 +#define PATCH_3_1_LENGTH 16 +#define PATCH_3_1_MASK 0xFFFF + +#define PATCH_3_0_ADDRESS 0x08F0 +#define PATCH_3_0_OFFSET 0 +#define PATCH_3_0_LENGTH 16 +#define PATCH_3_0_MASK 0xFFFF -#define NV_RPM_MIN_2_ADDRESS 0x139A -#define NV_RPM_MIN_2_OFFSET 8 -#define NV_RPM_MIN_2_LENGTH 8 -#define NV_RPM_MIN_2_MASK 0xFF00 +#define PATCH_2_1_ADDRESS 0x08EE +#define PATCH_2_1_OFFSET 0 +#define PATCH_2_1_LENGTH 16 +#define PATCH_2_1_MASK 0xFFFF + +#define PATCH_2_0_ADDRESS 0x08EC +#define PATCH_2_0_OFFSET 0 +#define PATCH_2_0_LENGTH 16 +#define PATCH_2_0_MASK 0xFFFF + +#define PATCH_1_1_ADDRESS 0x08EA +#define PATCH_1_1_OFFSET 0 +#define PATCH_1_1_LENGTH 16 +#define PATCH_1_1_MASK 0xFFFF + +#define PATCH_1_0_ADDRESS 0x08E8 +#define PATCH_1_0_OFFSET 0 +#define PATCH_1_0_LENGTH 16 +#define PATCH_1_0_MASK 0xFFFF + +#define PATCH_0_1_ADDRESS 0x08E6 +#define PATCH_0_1_OFFSET 0 +#define PATCH_0_1_LENGTH 16 +#define PATCH_0_1_MASK 0xFFFF + +#define PATCH_0_0_ADDRESS 0x08E4 +#define PATCH_0_0_OFFSET 0 +#define PATCH_0_0_LENGTH 16 +#define PATCH_0_0_MASK 0xFFFF + +#define MTP_USE_ZONE2_ADDRESS 0x08E2 +#define MTP_USE_ZONE2_OFFSET 0 +#define MTP_USE_ZONE2_LENGTH 16 +#define MTP_USE_ZONE2_MASK 0xFFFF + +#define CRC_ZONE_2_ADDRESS 0x08E0 +#define CRC_ZONE_2_OFFSET 0 +#define CRC_ZONE_2_LENGTH 16 +#define CRC_ZONE_2_MASK 0xFFFF -#define NV_SPD_C_ADDRESS 0x139A -#define NV_SPD_C_OFFSET 0 -#define NV_SPD_C_LENGTH 8 -#define NV_SPD_C_MASK 0x00FF +#define copy_zone1_35_ADDRESS 0x08DE +#define copy_zone1_35_OFFSET 0 +#define copy_zone1_35_LENGTH 16 +#define copy_zone1_35_MASK 0xFFFF + +#define copy_zone1_34_ADDRESS 0x08DC +#define copy_zone1_34_OFFSET 0 +#define copy_zone1_34_LENGTH 16 +#define copy_zone1_34_MASK 0xFFFF + +#define copy_zone1_33_ADDRESS 0x08DA +#define copy_zone1_33_OFFSET 0 +#define copy_zone1_33_LENGTH 16 +#define copy_zone1_33_MASK 0xFFFF + +#define copy_zone1_32_ADDRESS 0x08D8 +#define copy_zone1_32_OFFSET 0 +#define copy_zone1_32_LENGTH 16 +#define copy_zone1_32_MASK 0xFFFF + +#define copy_zone1_31_ADDRESS 0x08D6 +#define copy_zone1_31_OFFSET 0 +#define copy_zone1_31_LENGTH 16 +#define copy_zone1_31_MASK 0xFFFF + +#define copy_zone1_30_ADDRESS 0x08D4 +#define copy_zone1_30_OFFSET 0 +#define copy_zone1_30_LENGTH 16 +#define copy_zone1_30_MASK 0xFFFF + +#define copy_zone1_29_ADDRESS 0x08D2 +#define copy_zone1_29_OFFSET 0 +#define copy_zone1_29_LENGTH 16 +#define copy_zone1_29_MASK 0xFFFF + +#define copy_zone1_28_ADDRESS 0x08D0 +#define copy_zone1_28_OFFSET 0 +#define copy_zone1_28_LENGTH 16 +#define copy_zone1_28_MASK 0xFFFF -#define NV_SPD_MIN_2_ADDRESS 0x139A -#define NV_SPD_MIN_2_OFFSET 0 -#define NV_SPD_MIN_2_LENGTH 8 -#define NV_SPD_MIN_2_MASK 0x00FF +#define copy_zone1_27_ADDRESS 0x08CE +#define copy_zone1_27_OFFSET 0 +#define copy_zone1_27_LENGTH 16 +#define copy_zone1_27_MASK 0xFFFF + +#define copy_zone1_26_ADDRESS 0x08CC +#define copy_zone1_26_OFFSET 0 +#define copy_zone1_26_LENGTH 16 +#define copy_zone1_26_MASK 0xFFFF + +#define copy_zone1_25_ADDRESS 0x08CA +#define copy_zone1_25_OFFSET 0 +#define copy_zone1_25_LENGTH 16 +#define copy_zone1_25_MASK 0xFFFF + +#define copy_zone1_24_ADDRESS 0x08C8 +#define copy_zone1_24_OFFSET 0 +#define copy_zone1_24_LENGTH 16 +#define copy_zone1_24_MASK 0xFFFF + +#define copy_zone1_23_ADDRESS 0x08C6 +#define copy_zone1_23_OFFSET 0 +#define copy_zone1_23_LENGTH 16 +#define copy_zone1_23_MASK 0xFFFF + +#define copy_zone1_22_ADDRESS 0x08C4 +#define copy_zone1_22_OFFSET 0 +#define copy_zone1_22_LENGTH 16 +#define copy_zone1_22_MASK 0xFFFF + +#define copy_zone1_21_ADDRESS 0x08C2 +#define copy_zone1_21_OFFSET 0 +#define copy_zone1_21_LENGTH 16 +#define copy_zone1_21_MASK 0xFFFF + +#define copy_zone1_20_ADDRESS 0x08C0 +#define copy_zone1_20_OFFSET 0 +#define copy_zone1_20_LENGTH 16 +#define copy_zone1_20_MASK 0xFFFF -#define NV_RPM_B_ADDRESS 0x1398 -#define NV_RPM_B_OFFSET 8 -#define NV_RPM_B_LENGTH 8 -#define NV_RPM_B_MASK 0xFF00 +#define copy_zone1_19_ADDRESS 0x08BE +#define copy_zone1_19_OFFSET 0 +#define copy_zone1_19_LENGTH 16 +#define copy_zone1_19_MASK 0xFFFF + +#define copy_zone1_18_ADDRESS 0x08BC +#define copy_zone1_18_OFFSET 0 +#define copy_zone1_18_LENGTH 16 +#define copy_zone1_18_MASK 0xFFFF + +#define copy_zone1_17_ADDRESS 0x08BA +#define copy_zone1_17_OFFSET 0 +#define copy_zone1_17_LENGTH 16 +#define copy_zone1_17_MASK 0xFFFF + +#define copy_zone1_16_ADDRESS 0x08B8 +#define copy_zone1_16_OFFSET 0 +#define copy_zone1_16_LENGTH 16 +#define copy_zone1_16_MASK 0xFFFF + +#define copy_zone1_15_ADDRESS 0x08B6 +#define copy_zone1_15_OFFSET 0 +#define copy_zone1_15_LENGTH 16 +#define copy_zone1_15_MASK 0xFFFF + +#define copy_zone1_14_ADDRESS 0x08B4 +#define copy_zone1_14_OFFSET 0 +#define copy_zone1_14_LENGTH 16 +#define copy_zone1_14_MASK 0xFFFF + +#define copy_zone1_13_ADDRESS 0x08B2 +#define copy_zone1_13_OFFSET 0 +#define copy_zone1_13_LENGTH 16 +#define copy_zone1_13_MASK 0xFFFF + +#define copy_zone1_12_ADDRESS 0x08B0 +#define copy_zone1_12_OFFSET 0 +#define copy_zone1_12_LENGTH 16 +#define copy_zone1_12_MASK 0xFFFF -#define NV_SPD_B_ADDRESS 0x1398 -#define NV_SPD_B_OFFSET 0 -#define NV_SPD_B_LENGTH 8 -#define NV_SPD_B_MASK 0x00FF +#define copy_zone1_11_ADDRESS 0x08AE +#define copy_zone1_11_OFFSET 0 +#define copy_zone1_11_LENGTH 16 +#define copy_zone1_11_MASK 0xFFFF + +#define copy_zone1_10_ADDRESS 0x08AC +#define copy_zone1_10_OFFSET 0 +#define copy_zone1_10_LENGTH 16 +#define copy_zone1_10_MASK 0xFFFF + +#define copy_zone1_9_ADDRESS 0x08AA +#define copy_zone1_9_OFFSET 0 +#define copy_zone1_9_LENGTH 16 +#define copy_zone1_9_MASK 0xFFFF + +#define copy_zone1_8_ADDRESS 0x08A8 +#define copy_zone1_8_OFFSET 0 +#define copy_zone1_8_LENGTH 16 +#define copy_zone1_8_MASK 0xFFFF + +#define copy_zone1_7_ADDRESS 0x08A6 +#define copy_zone1_7_OFFSET 0 +#define copy_zone1_7_LENGTH 16 +#define copy_zone1_7_MASK 0xFFFF + +#define copy_zone1_6_ADDRESS 0x08A4 +#define copy_zone1_6_OFFSET 0 +#define copy_zone1_6_LENGTH 16 +#define copy_zone1_6_MASK 0xFFFF + +#define copy_zone1_5_ADDRESS 0x08A2 +#define copy_zone1_5_OFFSET 0 +#define copy_zone1_5_LENGTH 16 +#define copy_zone1_5_MASK 0xFFFF + +#define copy_zone1_4_ADDRESS 0x08A0 +#define copy_zone1_4_OFFSET 0 +#define copy_zone1_4_LENGTH 16 +#define copy_zone1_4_MASK 0xFFFF -#define NV_SLOPE_2_ADDRESS 0x1398 -#define NV_SLOPE_2_OFFSET 0 -#define NV_SLOPE_2_LENGTH 16 -#define NV_SLOPE_2_MASK 0xFFFF +#define copy_zone1_3_ADDRESS 0x089E +#define copy_zone1_3_OFFSET 0 +#define copy_zone1_3_LENGTH 16 +#define copy_zone1_3_MASK 0xFFFF + +#define copy_zone1_2_ADDRESS 0x089C +#define copy_zone1_2_OFFSET 0 +#define copy_zone1_2_LENGTH 16 +#define copy_zone1_2_MASK 0xFFFF + +#define copy_zone1_1_ADDRESS 0x089A +#define copy_zone1_1_OFFSET 0 +#define copy_zone1_1_LENGTH 16 +#define copy_zone1_1_MASK 0xFFFF + +#define copy_zone1_0_ADDRESS 0x0898 +#define copy_zone1_0_OFFSET 0 +#define copy_zone1_0_LENGTH 16 +#define copy_zone1_0_MASK 0xFFFF + +#define MTP_USE_ZONE1_ADDRESS 0x0896 +#define MTP_USE_ZONE1_OFFSET 0 +#define MTP_USE_ZONE1_LENGTH 16 +#define MTP_USE_ZONE1_MASK 0xFFFF + +#define CRC_ZONE_1_ADDRESS 0x0894 +#define CRC_ZONE_1_OFFSET 0 +#define CRC_ZONE_1_LENGTH 16 +#define CRC_ZONE_1_MASK 0xFFFF + +#define copy_zone0_35_ADDRESS 0x0892 +#define copy_zone0_35_OFFSET 0 +#define copy_zone0_35_LENGTH 16 +#define copy_zone0_35_MASK 0xFFFF + +#define copy_zone0_34_ADDRESS 0x0890 +#define copy_zone0_34_OFFSET 0 +#define copy_zone0_34_LENGTH 16 +#define copy_zone0_34_MASK 0xFFFF -#define NV_RPM_A_ADDRESS 0x1396 -#define NV_RPM_A_OFFSET 8 -#define NV_RPM_A_LENGTH 8 -#define NV_RPM_A_MASK 0xFF00 +#define copy_zone0_33_ADDRESS 0x088E +#define copy_zone0_33_OFFSET 0 +#define copy_zone0_33_LENGTH 16 +#define copy_zone0_33_MASK 0xFFFF + +#define copy_zone0_32_ADDRESS 0x088C +#define copy_zone0_32_OFFSET 0 +#define copy_zone0_32_LENGTH 16 +#define copy_zone0_32_MASK 0xFFFF + +#define copy_zone0_31_ADDRESS 0x088A +#define copy_zone0_31_OFFSET 0 +#define copy_zone0_31_LENGTH 16 +#define copy_zone0_31_MASK 0xFFFF + +#define copy_zone0_30_ADDRESS 0x0888 +#define copy_zone0_30_OFFSET 0 +#define copy_zone0_30_LENGTH 16 +#define copy_zone0_30_MASK 0xFFFF -#define NV_SPD_A_ADDRESS 0x1396 -#define NV_SPD_A_OFFSET 0 -#define NV_SPD_A_LENGTH 8 -#define NV_SPD_A_MASK 0x00FF +#define copy_zone0_29_ADDRESS 0x0886 +#define copy_zone0_29_OFFSET 0 +#define copy_zone0_29_LENGTH 16 +#define copy_zone0_29_MASK 0xFFFF + +#define copy_zone0_28_ADDRESS 0x0884 +#define copy_zone0_28_OFFSET 0 +#define copy_zone0_28_LENGTH 16 +#define copy_zone0_28_MASK 0xFFFF + +#define copy_zone0_27_ADDRESS 0x0882 +#define copy_zone0_27_OFFSET 0 +#define copy_zone0_27_LENGTH 16 +#define copy_zone0_27_MASK 0xFFFF + +#define copy_zone0_26_ADDRESS 0x0880 +#define copy_zone0_26_OFFSET 0 +#define copy_zone0_26_LENGTH 16 +#define copy_zone0_26_MASK 0xFFFF -#define NV_SLOPE_ADDRESS 0x1396 -#define NV_SLOPE_OFFSET 0 -#define NV_SLOPE_LENGTH 16 -#define NV_SLOPE_MASK 0xFFFF +#define copy_zone0_25_ADDRESS 0x087E +#define copy_zone0_25_OFFSET 0 +#define copy_zone0_25_LENGTH 16 +#define copy_zone0_25_MASK 0xFFFF + +#define copy_zone0_24_ADDRESS 0x087C +#define copy_zone0_24_OFFSET 0 +#define copy_zone0_24_LENGTH 16 +#define copy_zone0_24_MASK 0xFFFF + +#define copy_zone0_23_ADDRESS 0x087A +#define copy_zone0_23_OFFSET 0 +#define copy_zone0_23_LENGTH 16 +#define copy_zone0_23_MASK 0xFFFF + +#define copy_zone0_22_ADDRESS 0x0878 +#define copy_zone0_22_OFFSET 0 +#define copy_zone0_22_LENGTH 16 +#define copy_zone0_22_MASK 0xFFFF + +#define copy_zone0_21_ADDRESS 0x0876 +#define copy_zone0_21_OFFSET 0 +#define copy_zone0_21_LENGTH 16 +#define copy_zone0_21_MASK 0xFFFF + +#define copy_zone0_20_ADDRESS 0x0874 +#define copy_zone0_20_OFFSET 0 +#define copy_zone0_20_LENGTH 16 +#define copy_zone0_20_MASK 0xFFFF + +#define copy_zone0_19_ADDRESS 0x0872 +#define copy_zone0_19_OFFSET 0 +#define copy_zone0_19_LENGTH 16 +#define copy_zone0_19_MASK 0xFFFF -#define NV_SLOPE_1_ADDRESS 0x1396 -#define NV_SLOPE_1_OFFSET 0 -#define NV_SLOPE_1_LENGTH 16 -#define NV_SLOPE_1_MASK 0xFFFF +#define copy_zone0_18_ADDRESS 0x0870 +#define copy_zone0_18_OFFSET 0 +#define copy_zone0_18_LENGTH 16 +#define copy_zone0_18_MASK 0xFFFF + +#define copy_zone0_17_ADDRESS 0x086E +#define copy_zone0_17_OFFSET 0 +#define copy_zone0_17_LENGTH 16 +#define copy_zone0_17_MASK 0xFFFF + +#define copy_zone0_16_ADDRESS 0x086C +#define copy_zone0_16_OFFSET 0 +#define copy_zone0_16_LENGTH 16 +#define copy_zone0_16_MASK 0xFFFF + +#define copy_zone0_15_ADDRESS 0x086A +#define copy_zone0_15_OFFSET 0 +#define copy_zone0_15_LENGTH 16 +#define copy_zone0_15_MASK 0xFFFF + +#define copy_zone0_14_ADDRESS 0x0868 +#define copy_zone0_14_OFFSET 0 +#define copy_zone0_14_LENGTH 16 +#define copy_zone0_14_MASK 0xFFFF + +#define copy_zone0_13_ADDRESS 0x0866 +#define copy_zone0_13_OFFSET 0 +#define copy_zone0_13_LENGTH 16 +#define copy_zone0_13_MASK 0xFFFF + +#define copy_zone0_12_ADDRESS 0x0864 +#define copy_zone0_12_OFFSET 0 +#define copy_zone0_12_LENGTH 16 +#define copy_zone0_12_MASK 0xFFFF + +#define copy_zone0_11_ADDRESS 0x0862 +#define copy_zone0_11_OFFSET 0 +#define copy_zone0_11_LENGTH 16 +#define copy_zone0_11_MASK 0xFFFF -#define NV_RPM_MAX_ADDRESS 0x1394 -#define NV_RPM_MAX_OFFSET 8 -#define NV_RPM_MAX_LENGTH 8 -#define NV_RPM_MAX_MASK 0xFF00 +#define copy_zone0_10_ADDRESS 0x0860 +#define copy_zone0_10_OFFSET 0 +#define copy_zone0_10_LENGTH 16 +#define copy_zone0_10_MASK 0xFFFF + +#define copy_zone0_9_ADDRESS 0x085E +#define copy_zone0_9_OFFSET 0 +#define copy_zone0_9_LENGTH 16 +#define copy_zone0_9_MASK 0xFFFF + +#define copy_zone0_8_ADDRESS 0x085C +#define copy_zone0_8_OFFSET 0 +#define copy_zone0_8_LENGTH 16 +#define copy_zone0_8_MASK 0xFFFF + +#define copy_zone0_7_ADDRESS 0x085A +#define copy_zone0_7_OFFSET 0 +#define copy_zone0_7_LENGTH 16 +#define copy_zone0_7_MASK 0xFFFF + +#define copy_zone0_6_ADDRESS 0x0858 +#define copy_zone0_6_OFFSET 0 +#define copy_zone0_6_LENGTH 16 +#define copy_zone0_6_MASK 0xFFFF + +#define copy_zone0_5_ADDRESS 0x0856 +#define copy_zone0_5_OFFSET 0 +#define copy_zone0_5_LENGTH 16 +#define copy_zone0_5_MASK 0xFFFF + +#define copy_zone0_4_ADDRESS 0x0854 +#define copy_zone0_4_OFFSET 0 +#define copy_zone0_4_LENGTH 16 +#define copy_zone0_4_MASK 0xFFFF + +#define copy_zone0_3_ADDRESS 0x0852 +#define copy_zone0_3_OFFSET 0 +#define copy_zone0_3_LENGTH 16 +#define copy_zone0_3_MASK 0xFFFF -#define NV_RPM_MAX_1_ADDRESS 0x1394 -#define NV_RPM_MAX_1_OFFSET 8 -#define NV_RPM_MAX_1_LENGTH 8 -#define NV_RPM_MAX_1_MASK 0xFF00 +#define copy_zone0_2_ADDRESS 0x0850 +#define copy_zone0_2_OFFSET 0 +#define copy_zone0_2_LENGTH 16 +#define copy_zone0_2_MASK 0xFFFF + +#define copy_zone0_1_ADDRESS 0x084E +#define copy_zone0_1_OFFSET 0 +#define copy_zone0_1_LENGTH 16 +#define copy_zone0_1_MASK 0xFFFF + +#define copy_zone0_0_ADDRESS 0x084C +#define copy_zone0_0_OFFSET 0 +#define copy_zone0_0_LENGTH 16 +#define copy_zone0_0_MASK 0xFFFF + +#define MTP_USE_ZONE0_ADDRESS 0x084A +#define MTP_USE_ZONE0_OFFSET 0 +#define MTP_USE_ZONE0_LENGTH 16 +#define MTP_USE_ZONE0_MASK 0xFFFF -#define NV_SPD_MAX_ADDRESS 0x1394 -#define NV_SPD_MAX_OFFSET 0 -#define NV_SPD_MAX_LENGTH 8 -#define NV_SPD_MAX_MASK 0x00FF +#define CRC_ZONE_0_ADDRESS 0x0848 +#define CRC_ZONE_0_OFFSET 0 +#define CRC_ZONE_0_LENGTH 16 +#define CRC_ZONE_0_MASK 0xFFFF + +#define CUST_ID0_ADDRESS 0x0846 +#define CUST_ID0_OFFSET 0 +#define CUST_ID0_LENGTH 16 +#define CUST_ID0_MASK 0xFFFF + +#define CUST_ID1_ADDRESS 0x0844 +#define CUST_ID1_OFFSET 0 +#define CUST_ID1_LENGTH 16 +#define CUST_ID1_MASK 0xFFFF + +#define CUST_ID2_ADDRESS 0x0842 +#define CUST_ID2_OFFSET 0 +#define CUST_ID2_LENGTH 16 +#define CUST_ID2_MASK 0xFFFF -#define NV_SPD_MAX_1_ADDRESS 0x1394 -#define NV_SPD_MAX_1_OFFSET 0 -#define NV_SPD_MAX_1_LENGTH 8 -#define NV_SPD_MAX_1_MASK 0x00FF +#define CUST_ID3_ADDRESS 0x0840 +#define CUST_ID3_OFFSET 0 +#define CUST_ID3_LENGTH 16 +#define CUST_ID3_MASK 0xFFFF + +#define MTP_ZONE0_RES1_ADDRESS 0x083E +#define MTP_ZONE0_RES1_OFFSET 0 +#define MTP_ZONE0_RES1_LENGTH 16 +#define MTP_ZONE0_RES1_MASK 0xFFFF + +#define MTP_ZONE0_RES2_ADDRESS 0x083C +#define MTP_ZONE0_RES2_OFFSET 0 +#define MTP_ZONE0_RES2_LENGTH 16 +#define MTP_ZONE0_RES2_MASK 0xFFFF + +#define MTP_ZONE0_RES3_ADDRESS 0x083A +#define MTP_ZONE0_RES3_OFFSET 0 +#define MTP_ZONE0_RES3_LENGTH 16 +#define MTP_ZONE0_RES3_MASK 0xFFFF + +#define MTP_ZONE0_RES4_ADDRESS 0x0838 +#define MTP_ZONE0_RES4_OFFSET 0 +#define MTP_ZONE0_RES4_LENGTH 16 +#define MTP_ZONE0_RES4_MASK 0xFFFF + +#define MTP_ZONE0_RES5_ADDRESS 0x0836 +#define MTP_ZONE0_RES5_OFFSET 0 +#define MTP_ZONE0_RES5_LENGTH 16 +#define MTP_ZONE0_RES5_MASK 0xFFFF + +#define MTP_ZONE0_RES6_ADDRESS 0x0834 +#define MTP_ZONE0_RES6_OFFSET 0 +#define MTP_ZONE0_RES6_LENGTH 16 +#define MTP_ZONE0_RES6_MASK 0xFFFF + +#define MTP_ZONE0_RES7_ADDRESS 0x0832 +#define MTP_ZONE0_RES7_OFFSET 0 +#define MTP_ZONE0_RES7_LENGTH 16 +#define MTP_ZONE0_RES7_MASK 0xFFFF -#define NV_RPM_MIN_ADDRESS 0x1392 -#define NV_RPM_MIN_OFFSET 8 -#define NV_RPM_MIN_LENGTH 8 -#define NV_RPM_MIN_MASK 0xFF00 +#define MTP_ZONE0_RES8_ADDRESS 0x0830 +#define MTP_ZONE0_RES8_OFFSET 0 +#define MTP_ZONE0_RES8_LENGTH 16 +#define MTP_ZONE0_RES8_MASK 0xFFFF + +#define MTP_ZONE0_RES9_ADDRESS 0x082E +#define MTP_ZONE0_RES9_OFFSET 0 +#define MTP_ZONE0_RES9_LENGTH 16 +#define MTP_ZONE0_RES9_MASK 0xFFFF + +#define MTP_ZONE0_RES10_ADDRESS 0x082C +#define MTP_ZONE0_RES10_OFFSET 0 +#define MTP_ZONE0_RES10_LENGTH 16 +#define MTP_ZONE0_RES10_MASK 0xFFFF + +#define MTP_ZONE0_RES11_ADDRESS 0x082A +#define MTP_ZONE0_RES11_OFFSET 0 +#define MTP_ZONE0_RES11_LENGTH 16 +#define MTP_ZONE0_RES11_MASK 0xFFFF + +#define MTP_ZONE0_RES12_ADDRESS 0x0828 +#define MTP_ZONE0_RES12_OFFSET 0 +#define MTP_ZONE0_RES12_LENGTH 16 +#define MTP_ZONE0_RES12_MASK 0xFFFF + +#define MTP_ZONE0_RES13_ADDRESS 0x0826 +#define MTP_ZONE0_RES13_OFFSET 0 +#define MTP_ZONE0_RES13_LENGTH 16 +#define MTP_ZONE0_RES13_MASK 0xFFFF + +#define MTP_ZONE0_RES14_ADDRESS 0x0824 +#define MTP_ZONE0_RES14_OFFSET 0 +#define MTP_ZONE0_RES14_LENGTH 16 +#define MTP_ZONE0_RES14_MASK 0xFFFF + +#define MTP_ZONE0_RES15_ADDRESS 0X0822 +#define MTP_ZONE0_RES15_OFFSET 0 +#define MTP_ZONE0_RES15_LENGTH 16 +#define MTP_ZONE0_RES15_MASK 0xFFFF -#define NV_RPM_MIN_1_ADDRESS 0x1392 -#define NV_RPM_MIN_1_OFFSET 8 -#define NV_RPM_MIN_1_LENGTH 8 -#define NV_RPM_MIN_1_MASK 0xFF00 +#define NV_RPM_F_ADDRESS 0X0820 +#define NV_RPM_F_OFFSET 7 +#define NV_RPM_F_LENGTH 9 +#define NV_RPM_F_MASK 0xFF80 + +#define NV_SPD_F_ADDRESS 0X0820 +#define NV_SPD_F_OFFSET 0 +#define NV_SPD_F_LENGTH 7 +#define NV_SPD_F_MASK 0x007F + +#define NV_RPM_E_ADDRESS 0x081E +#define NV_RPM_E_OFFSET 7 +#define NV_RPM_E_LENGTH 9 +#define NV_RPM_E_MASK 0xFF80 + +#define NV_SPD_E_ADDRESS 0x081E +#define NV_SPD_E_OFFSET 0 +#define NV_SPD_E_LENGTH 7 +#define NV_SPD_E_MASK 0x007F + +#define NV_RPM_D_ADDRESS 0x081C +#define NV_RPM_D_OFFSET 7 +#define NV_RPM_D_LENGTH 9 +#define NV_RPM_D_MASK 0xFF80 + +#define NV_SPD_D_ADDRESS 0x081C +#define NV_SPD_D_OFFSET 0 +#define NV_SPD_D_LENGTH 7 +#define NV_SPD_D_MASK 0x007F + +#define NV_RPM_C_ADDRESS 0x081A +#define NV_RPM_C_OFFSET 7 +#define NV_RPM_C_LENGTH 9 +#define NV_RPM_C_MASK 0xFF80 -#define NV_SPD_MIN_ADDRESS 0x1392 +#define NV_SPD_C_ADDRESS 0x081A +#define NV_SPD_C_OFFSET 0 +#define NV_SPD_C_LENGTH 7 +#define NV_SPD_C_MASK 0x007F + +#define NV_RPM_B_ADDRESS 0x0818 +#define NV_RPM_B_OFFSET 7 +#define NV_RPM_B_LENGTH 9 +#define NV_RPM_B_MASK 0xFF80 + +#define NV_SPD_B_ADDRESS 0x0818 +#define NV_SPD_B_OFFSET 0 +#define NV_SPD_B_LENGTH 7 +#define NV_SPD_B_MASK 0x007F + +#define NV_RPM_A_ADDRESS 0x0816 +#define NV_RPM_A_OFFSET 7 +#define NV_RPM_A_LENGTH 9 +#define NV_RPM_A_MASK 0xFF80 + +#define NV_SPD_A_ADDRESS 0x0816 +#define NV_SPD_A_OFFSET 0 +#define NV_SPD_A_LENGTH 7 +#define NV_SPD_A_MASK 0x007F + +#define NV_RPM_MAX_ADDRESS 0x0814 +#define NV_RPM_MAX_OFFSET 7 +#define NV_RPM_MAX_LENGTH 9 +#define NV_RPM_MAX_MASK 0xFF80 + +#define NV_SPD_MAX_ADDRESS 0x0814 +#define NV_SPD_MAX_OFFSET 0 +#define NV_SPD_MAX_LENGTH 7 +#define NV_SPD_MAX_MASK 0x007F + +#define NV_RPM_MIN_ADDRESS 0x0812 +#define NV_RPM_MIN_OFFSET 7 +#define NV_RPM_MIN_LENGTH 9 +#define NV_RPM_MIN_MASK 0xFF80 + +#define NV_SPD_MIN_ADDRESS 0x0812 #define NV_SPD_MIN_OFFSET 0 -#define NV_SPD_MIN_LENGTH 8 -#define NV_SPD_MIN_MASK 0x00FF +#define NV_SPD_MIN_LENGTH 7 +#define NV_SPD_MIN_MASK 0x007F -#define NV_SPD_MIN_1_ADDRESS 0x1392 -#define NV_SPD_MIN_1_OFFSET 0 -#define NV_SPD_MIN_1_LENGTH 8 -#define NV_SPD_MIN_1_MASK 0x00FF - -#define NV_DUTY_RAMPING_ADDRESS 0x1390 +#define NV_DUTY_RAMPING_ADDRESS 0x0810 #define NV_DUTY_RAMPING_OFFSET 15 #define NV_DUTY_RAMPING_LENGTH 1 #define NV_DUTY_RAMPING_MASK 0x8000 -#define NV_ILIM_RAMPING_ADDRESS 0x1390 +#define NV_ILIM_RAMPING_ADDRESS 0x0810 #define NV_ILIM_RAMPING_OFFSET 14 #define NV_ILIM_RAMPING_LENGTH 1 #define NV_ILIM_RAMPING_MASK 0x4000 -#define NV_SPD_CTRL_1_RESERVED3_ADDRESS 0x1390 -#define NV_SPD_CTRL_1_RESERVED3_OFFSET 13 -#define NV_SPD_CTRL_1_RESERVED3_LENGTH 1 -#define NV_SPD_CTRL_1_RESERVED3_MASK 0x2000 +#define NV_DC_OPENLOOP_SR_ADDRESS 0x0810 +#define NV_DC_OPENLOOP_SR_OFFSET 12 +#define NV_DC_OPENLOOP_SR_LENGTH 2 +#define NV_DC_OPENLOOP_SR_MASK 0x3000 -#define NV_DC_OPENLOOP_INI_ADDRESS 0x1390 -#define NV_DC_OPENLOOP_INI_OFFSET 11 +#define NV_DC_OPENLOOP_INI_ADDRESS 0x0810 +#define NV_DC_OPENLOOP_INI_OFFSET 10 #define NV_DC_OPENLOOP_INI_LENGTH 2 -#define NV_DC_OPENLOOP_INI_MASK 0x1800 +#define NV_DC_OPENLOOP_INI_MASK 0x0C00 -#define NV_DC_OPENLOOP_SR_ADDRESS 0x1390 -#define NV_DC_OPENLOOP_SR_OFFSET 10 -#define NV_DC_OPENLOOP_SR_LENGTH 1 -#define NV_DC_OPENLOOP_SR_MASK 0x0400 - -#define NV_SPD_KI_ADDRESS 0x1390 +#define NV_SPD_KI_ADDRESS 0x0810 #define NV_SPD_KI_OFFSET 7 #define NV_SPD_KI_LENGTH 3 #define NV_SPD_KI_MASK 0x0380 -#define NV_SPD_KP_ADDRESS 0x1390 +#define NV_SPD_KP_ADDRESS 0x0810 #define NV_SPD_KP_OFFSET 4 #define NV_SPD_KP_LENGTH 3 #define NV_SPD_KP_MASK 0x0070 -#define NV_SPD_HC_HYST_ADDRESS 0x1390 +#define NV_SPD_HC_HYST_ADDRESS 0x0810 #define NV_SPD_HC_HYST_OFFSET 2 #define NV_SPD_HC_HYST_LENGTH 2 #define NV_SPD_HC_HYST_MASK 0x000C -#define NV_SPD_LC_HYST_ADDRESS 0x1390 +#define NV_SPD_LC_HYST_ADDRESS 0x0810 #define NV_SPD_LC_HYST_OFFSET 0 #define NV_SPD_LC_HYST_LENGTH 2 #define NV_SPD_LC_HYST_MASK 0x0003 -#define NV_SPDIN_MODE_ADDRESS 0x138E +#define NV_SPDIN_MODE_ADDRESS 0x080E #define NV_SPDIN_MODE_OFFSET 14 #define NV_SPDIN_MODE_LENGTH 2 #define NV_SPDIN_MODE_MASK 0xC000 -#define NV_SPD_CTRL_1_RESERVED2_ADDRESS 0x138E -#define NV_SPD_CTRL_1_RESERVED2_OFFSET 13 -#define NV_SPD_CTRL_1_RESERVED2_LENGTH 1 -#define NV_SPD_CTRL_1_RESERVED2_MASK 0x2000 +#define NV_SPD_BOOST_ADDRESS 0x080E +#define NV_SPD_BOOST_OFFSET 13 +#define NV_SPD_BOOST_LENGTH 1 +#define NV_SPD_BOOST_MASK 0x2000 -#define NV_PWM_IN_INV_ADDRESS 0x138E -#define NV_PWM_IN_INV_OFFSET 12 -#define NV_PWM_IN_INV_LENGTH 1 -#define NV_PWM_IN_INV_MASK 0x1000 +#define NV_SPD_BOOST_SS_ADDRESS 0x080E +#define NV_SPD_BOOST_SS_OFFSET 12 +#define NV_SPD_BOOST_SS_LENGTH 1 +#define NV_SPD_BOOST_SS_MASK 0x1000 -#define NV_PWM_IN_INT_EN_ADDRESS 0x138E -#define NV_PWM_IN_INT_EN_OFFSET 11 -#define NV_PWM_IN_INT_EN_LENGTH 1 -#define NV_PWM_IN_INT_EN_MASK 0x0800 +#define NV_SPD_CTRL_1_RESERVED_ADDRESS 0x080E +#define NV_SPD_CTRL_1_RESERVED_OFFSET 11 +#define NV_SPD_CTRL_1_RESERVED_LENGTH 1 +#define NV_SPD_CTRL_1_RESERVED_MASK 0x0800 -#define NV_SPD_LOOP_MODE_ADDRESS 0x138E +#define NV_SPD_LOOP_MODE_ADDRESS 0x080E #define NV_SPD_LOOP_MODE_OFFSET 10 #define NV_SPD_LOOP_MODE_LENGTH 1 #define NV_SPD_LOOP_MODE_MASK 0x0400 -#define NV_RPM_LC_ADDRESS 0x138E +#define NV_RPM_LC_ADDRESS 0x080E #define NV_RPM_LC_OFFSET 9 #define NV_RPM_LC_LENGTH 1 #define NV_RPM_LC_MASK 0x0200 -#define NV_RPM_HC_ADDRESS 0x138E +#define NV_RPM_HC_ADDRESS 0x080E #define NV_RPM_HC_OFFSET 8 #define NV_RPM_HC_LENGTH 1 #define NV_RPM_HC_MASK 0x0100 -#define NV_SPD_LC_VAL_ADDRESS 0x138E +#define NV_SPD_LC_VAL_ADDRESS 0x080E #define NV_SPD_LC_VAL_OFFSET 6 #define NV_SPD_LC_VAL_LENGTH 2 #define NV_SPD_LC_VAL_MASK 0x00C0 -#define NV_SPD_HC_VAL_ADDRESS 0x138E +#define NV_SPD_HC_VAL_ADDRESS 0x080E #define NV_SPD_HC_VAL_OFFSET 4 #define NV_SPD_HC_VAL_LENGTH 2 #define NV_SPD_HC_VAL_MASK 0x0030 -#define NV_CURVE_MODE_ADDRESS 0x138E +#define NV_CURVE_MODE_ADDRESS 0x080E #define NV_CURVE_MODE_OFFSET 2 #define NV_CURVE_MODE_LENGTH 2 #define NV_CURVE_MODE_MASK 0x000C -#define NV_SPD_CTRL_1_RESERVED1_ADDRESS 0x138E -#define NV_SPD_CTRL_1_RESERVED1_OFFSET 0 -#define NV_SPD_CTRL_1_RESERVED1_LENGTH 2 -#define NV_SPD_CTRL_1_RESERVED1_MASK 0x0003 +#define NV_SPD_TICK_ADDRESS 0x080E +#define NV_SPD_TICK_OFFSET 0 +#define NV_SPD_TICK_LENGTH 2 +#define NV_SPD_TICK_MASK 0x0003 -#define NV_MIN_EHP_RESERVED_ADDRESS 0x138C +#define NV_MIN_EHP_RESERVED_ADDRESS 0x080C #define NV_MIN_EHP_RESERVED_OFFSET 15 #define NV_MIN_EHP_RESERVED_LENGTH 1 #define NV_MIN_EHP_RESERVED_MASK 0x8000 -#define NV_EHP_TIMER_PRESCALER_ADDRESS 0x138C +#define NV_EHP_TIMER_PRESCALER_ADDRESS 0x080C #define NV_EHP_TIMER_PRESCALER_OFFSET 13 #define NV_EHP_TIMER_PRESCALER_LENGTH 2 #define NV_EHP_TIMER_PRESCALER_MASK 0x6000 -#define NV_EHP_FULL_RANGE_ADDRESS 0x138C +#define NV_EHP_FULL_RANGE_ADDRESS 0x080C #define NV_EHP_FULL_RANGE_OFFSET 0 #define NV_EHP_FULL_RANGE_LENGTH 13 #define NV_EHP_FULL_RANGE_MASK 0x1FFF -#define NV_RESERVED2_ADDRESS 0x138A +#define NV_RESERVED2_ADDRESS 0x080A #define NV_RESERVED2_OFFSET 0 #define NV_RESERVED2_LENGTH 16 #define NV_RESERVED2_MASK 0xFFFF -#define NV_I_ZC_TH_HIGH_ADDRESS 0x1388 +#define NV_I_ZC_TH_HIGH_ADDRESS 0x0808 #define NV_I_ZC_TH_HIGH_OFFSET 12 #define NV_I_ZC_TH_HIGH_LENGTH 4 #define NV_I_ZC_TH_HIGH_MASK 0xF000 -#define NV_I_ZC_TH_LOW_ADDRESS 0x1388 +#define NV_I_ZC_TH_LOW_ADDRESS 0x0808 #define NV_I_ZC_TH_LOW_OFFSET 8 #define NV_I_ZC_TH_LOW_LENGTH 4 #define NV_I_ZC_TH_LOW_MASK 0x0F00 -#define NV_DI_TH_1ST_ADDRESS 0x1388 +#define NV_DI_TH_1ST_ADDRESS 0x0808 #define NV_DI_TH_1ST_OFFSET 4 #define NV_DI_TH_1ST_LENGTH 4 #define NV_DI_TH_1ST_MASK 0x00F0 -#define NV_DI_TH_2ND_ADDRESS 0x1388 +#define NV_DI_TH_2ND_ADDRESS 0x0808 #define NV_DI_TH_2ND_OFFSET 0 #define NV_DI_TH_2ND_LENGTH 4 #define NV_DI_TH_2ND_MASK 0x000F -#define NV_QUICK_START_ADDRESS 0x1386 +#define NV_QUICK_START_ADDRESS 0x0806 #define NV_QUICK_START_OFFSET 15 #define NV_QUICK_START_LENGTH 1 #define NV_QUICK_START_MASK 0x8000 -#define NV_WIND_START_ADDRESS 0x1386 +#define NV_WIND_START_ADDRESS 0x0806 #define NV_WIND_START_OFFSET 14 #define NV_WIND_START_LENGTH 1 #define NV_WIND_START_MASK 0x4000 -#define NV_WIND_BRAKE_RESERVED_ADDRESS 0x1386 +#define NV_WIND_BRAKE_RESERVED_ADDRESS 0x0806 #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 0x1386 +#define NV_SOFT_NUM_STEP_ADDRESS 0x0806 #define NV_SOFT_NUM_STEP_OFFSET 6 #define NV_SOFT_NUM_STEP_LENGTH 3 #define NV_SOFT_NUM_STEP_MASK 0x01C0 -#define NV_WIND_WINDOW_ADDRESS 0x1386 +#define NV_WIND_WINDOW_ADDRESS 0x0806 #define NV_WIND_WINDOW_OFFSET 3 #define NV_WIND_WINDOW_LENGTH 3 #define NV_WIND_WINDOW_MASK 0x0038 -#define NV_BRAKE_WINDOW_ADDRESS 0x1386 +#define NV_BRAKE_WINDOW_ADDRESS 0x0806 #define NV_BRAKE_WINDOW_OFFSET 0 #define NV_BRAKE_WINDOW_LENGTH 3 #define NV_BRAKE_WINDOW_MASK 0x0007 -#define NV_SINGLE_PULSE_START_ADDRESS 0x1384 +#define NV_SINGLE_PULSE_START_ADDRESS 0x0804 #define NV_SINGLE_PULSE_START_OFFSET 15 #define NV_SINGLE_PULSE_START_LENGTH 1 #define NV_SINGLE_PULSE_START_MASK 0x8000 -#define NV_LONG_START_ADDRESS 0x1384 +#define NV_LONG_START_ADDRESS 0x0804 #define NV_LONG_START_OFFSET 14 #define NV_LONG_START_LENGTH 1 #define NV_LONG_START_MASK 0x4000 -#define NV_SOFT_START_ADDRESS 0x1384 +#define NV_SOFT_START_ADDRESS 0x0804 #define NV_SOFT_START_OFFSET 13 #define NV_SOFT_START_LENGTH 1 #define NV_SOFT_START_MASK 0x2000 -#define NV_COMM_START_NUM_ADDRESS 0x1384 +#define NV_COMM_START_NUM_ADDRESS 0x0804 #define NV_COMM_START_NUM_OFFSET 11 #define NV_COMM_START_NUM_LENGTH 2 #define NV_COMM_START_NUM_MASK 0x1800 -#define NV_START_DUTY_ADDRESS 0x1384 +#define NV_START_DUTY_ADDRESS 0x0804 #define NV_START_DUTY_OFFSET 9 #define NV_START_DUTY_LENGTH 2 #define NV_START_DUTY_MASK 0x0600 -#define NV_SOFT_STEP_SIZE_ADDRESS 0x1384 +#define NV_SOFT_STEP_SIZE_ADDRESS 0x0804 #define NV_SOFT_STEP_SIZE_OFFSET 6 #define NV_SOFT_STEP_SIZE_LENGTH 3 #define NV_SOFT_STEP_SIZE_MASK 0x01C0 -#define NV_START_UP_TIME_ADDRESS 0x1384 +#define NV_START_UP_TIME_ADDRESS 0x0804 #define NV_START_UP_TIME_OFFSET 0 #define NV_START_UP_TIME_LENGTH 6 #define NV_START_UP_TIME_MASK 0x003F -#define NV_POSITION_DUTY_ADDRESS 0x1382 +#define NV_POSITION_DUTY_ADDRESS 0x0802 #define NV_POSITION_DUTY_OFFSET 14 #define NV_POSITION_DUTY_LENGTH 2 #define NV_POSITION_DUTY_MASK 0xC000 -#define NV_POSITION_PULSE_TIME_ADDRESS 0x1382 +#define NV_POSITION_PULSE_TIME_ADDRESS 0x0802 #define NV_POSITION_PULSE_TIME_OFFSET 9 #define NV_POSITION_PULSE_TIME_LENGTH 5 #define NV_POSITION_PULSE_TIME_MASK 0x3E00 -#define NV_POSI_MAJO_VOTE_ADDRESS 0x1382 +#define NV_POSI_MAJO_VOTE_ADDRESS 0x0802 #define NV_POSI_MAJO_VOTE_OFFSET 8 #define NV_POSI_MAJO_VOTE_LENGTH 1 #define NV_POSI_MAJO_VOTE_MASK 0x0100 -#define NV_ANTI_COG_ADDRESS 0x1382 +#define NV_ANTI_COG_ADDRESS 0x0802 #define NV_ANTI_COG_OFFSET 7 #define NV_ANTI_COG_LENGTH 1 #define NV_ANTI_COG_MASK 0x0080 -#define NV_POSITION_RESERVED_ADDRESS 0x1382 +#define NV_POSITION_RESERVED_ADDRESS 0x0802 #define NV_POSITION_RESERVED_OFFSET 6 #define NV_POSITION_RESERVED_LENGTH 1 #define NV_POSITION_RESERVED_MASK 0x0040 -#define NV_FIRST_NON_FLAT_TIME_ADDRESS 0x1382 +#define NV_FIRST_NON_FLAT_TIME_ADDRESS 0x0802 #define NV_FIRST_NON_FLAT_TIME_OFFSET 0 #define NV_FIRST_NON_FLAT_TIME_LENGTH 6 #define NV_FIRST_NON_FLAT_TIME_MASK 0x003F -#define NV_FG_FILTER_ADDRESS 0x1380 +#define NV_FG_FILTER_ADDRESS 0x0800 #define NV_FG_FILTER_OFFSET 15 #define NV_FG_FILTER_LENGTH 1 #define NV_FG_FILTER_MASK 0x8000 -#define NV_RD_ADDRESS 0x1380 +#define NV_RD_ADDRESS 0x0800 #define NV_RD_OFFSET 14 #define NV_RD_LENGTH 1 #define NV_RD_MASK 0x4000 -#define NV_ADC_FLAT_FILT_DEP_ADDRESS 0x1380 +#define NV_ADC_FLAT_FILT_DEP_ADDRESS 0x0800 #define NV_ADC_FLAT_FILT_DEP_OFFSET 12 #define NV_ADC_FLAT_FILT_DEP_LENGTH 2 #define NV_ADC_FLAT_FILT_DEP_MASK 0x3000 -#define NV_EHP_REG_GAIN_ADDRESS 0x1380 +#define NV_EHP_REG_GAIN_ADDRESS 0x0800 #define NV_EHP_REG_GAIN_OFFSET 10 #define NV_EHP_REG_GAIN_LENGTH 2 #define NV_EHP_REG_GAIN_MASK 0x0C00 -#define NV_ROUGH_GAIN_ADDRESS 0x1380 +#define NV_ROUGH_GAIN_ADDRESS 0x0800 #define NV_ROUGH_GAIN_OFFSET 9 #define NV_ROUGH_GAIN_LENGTH 1 #define NV_ROUGH_GAIN_MASK 0x0200 -#define NV_PWM_MOD_ADDRESS 0x1380 +#define NV_PWM_MOD_ADDRESS 0x0800 #define NV_PWM_MOD_OFFSET 8 #define NV_PWM_MOD_LENGTH 1 #define NV_PWM_MOD_MASK 0x0100 -#define NV_PWM_36K_ADDRESS 0x1380 +#define NV_PWM_36K_ADDRESS 0x0800 #define NV_PWM_36K_OFFSET 7 #define NV_PWM_36K_LENGTH 1 #define NV_PWM_36K_MASK 0x0080 -#define NV_FG_DIV_MODE_ADDRESS 0x1380 +#define NV_FG_DIV_MODE_ADDRESS 0x0800 #define NV_FG_DIV_MODE_OFFSET 5 #define NV_FG_DIV_MODE_LENGTH 2 #define NV_FG_DIV_MODE_MASK 0x0060 -#define NV_BEMF_ZC_HYST_ADDRESS 0x1380 +#define NV_BEMF_ZC_HYST_ADDRESS 0x0800 #define NV_BEMF_ZC_HYST_OFFSET 3 #define NV_BEMF_ZC_HYST_LENGTH 2 #define NV_BEMF_ZC_HYST_MASK 0x0018 -#define NV_FLAT_BANK_ADDRESS 0x1380 +#define NV_FLAT_BANK_ADDRESS 0x0800 #define NV_FLAT_BANK_OFFSET 0 #define NV_FLAT_BANK_LENGTH 3 #define NV_FLAT_BANK_MASK 0x0007 +
--- a/nv_defaults.h Tue Jan 26 11:13:25 2021 +0000
+++ b/nv_defaults.h Fri Feb 26 08:45:13 2021 +0000
@@ -1,7 +1,8 @@
#define NV_POSITION_DEFUALT (17<<NV_POSITION_PULSE_TIME_OFFSET)|(3<<NV_POSITION_DUTY_OFFSET)|(0<<NV_POSI_MAJO_VOTE_OFFSET)|(0<<NV_ANTI_COG_OFFSET)|(1<<NV_FIRST_NON_FLAT_TIME_OFFSET)
#define NV_START_UP_DEFAULT (0<<NV_SOFT_START_OFFSET)|(0<<NV_SINGLE_PULSE_START_OFFSET)|(0<<NV_LONG_START_OFFSET)|(3<<NV_COMM_START_NUM_OFFSET)|(3<<NV_START_DUTY_OFFSET)|(3<<NV_SOFT_STEP_SIZE_OFFSET)|(36<<NV_START_UP_TIME_OFFSET)
#define NV_WIND_BRAKE_DEFAULT (1<<NV_QUICK_START_OFFSET)|(0<<NV_WIND_START_OFFSET)|(1<<NV_SOFT_NUM_STEP_OFFSET)|(1<<NV_WIND_WINDOW_OFFSET)|(0<<NV_BRAKE_WINDOW_OFFSET)
-
-
+#define NV_SPD_CONTROL_1_VAL 0
+
+#define RAM_OPEN_DUTY_VAL 65535
--- a/nv_defines.h Tue Jan 26 11:13:25 2021 +0000 +++ b/nv_defines.h Fri Feb 26 08:45:13 2021 +0000 @@ -1,33 +1,257 @@ -// Generated by 90418_OTPmap.xlsm on 2021-01-21 09:27 -#define NV_TRACEABILITY_3 5054 -#define NV_TRACEABILITY_2 5052 -#define NV_TRACEABILITY_1 5050 -#define NV_RESERVED_12 5048 -#define NV_RESERVED_11 5046 -#define NV_RESERVED_10 5044 -#define NV_RESERVED_9 5042 -#define NV_RESERVED_8 5040 -#define NV_RESERVED_7 5038 -#define NV_RESERVED_6 5036 -#define NV_RESERVED_5 5034 -#define NV_RESERVED_4 5032 -#define NV_RESERVED_3 5030 -#define NV_PASSWORD 5028 -#define NV_CUST_ID2 5026 -#define NV_CUST_ID1 5024 -#define NV_RESERVED_2 5022 -#define NV_CURVE_PAR_D 5020 -#define NV_CURVE_PAR_C 5018 -#define NV_CURVE_PAR_B 5016 -#define NV_CURVE_PAR_A 5014 -#define NV_CURVE_PNT_MAX 5012 -#define NV_CURVE_PNT_MIN 5010 -#define NV_SPD_CTRL_2 5008 -#define NV_SPD_CTRL_1 5006 -#define NV_MIN_EHP 5004 -#define NV_RESERVED2 5002 -#define NV_COMM 5000 -#define NV_WIND_BRAKE 4998 -#define NV_START_UP 4996 -#define NV_POSITION 4994 -#define NV_GEN_CTRL 4992 +#define NVADDR_NV_TRACEABILITY_3 5208 +#define NVADDR_NV_TRACEABILITY_2 5206 +#define NVADDR_NV_TRACEABILITY_1 5204 +#define NVADDR_NV_TRACEABILITY_0 5202 +#define NVADDR_MLX_TRIM_15 5200 +#define NVADDR_MLX_TRIM_14 5198 +#define NVADDR_MLX_TRIM_13 5196 +#define NVADDR_MLX_TRIM_12 5194 +#define NVADDR_MLX_TRIM_11 5192 +#define NVADDR_MLX_TRIM_10 5190 +#define NVADDR_MLX_TRIM_9 5188 +#define NVADDR_MLX_TRIM_8 5186 +#define NVADDR_MLX_TRIM_7 5184 +#define NVADDR_MLX_TRIM_6 5182 +#define NVADDR_MLX_TRIM_5 5180 +#define NVADDR_MLX_TRIM_4 5178 +#define NVADDR_MLX_TRIM_3 5176 +#define NVADDR_MLX_TRIM_2 5174 +#define NVADDR_MLX_TRIM_1 5172 +#define NVADDR_MLX_TRIM_0 5170 +#define NVADDR_MLX_CALIB_23 5168 +#define NVADDR_MLX_CALIB_22 5166 +#define NVADDR_MLX_CALIB_21 5164 +#define NVADDR_MLX_CALIB_20 5162 +#define NVADDR_MLX_CALIB_19 5160 +#define NVADDR_MLX_CALIB_18 5158 +#define NVADDR_MLX_CALIB_17 5156 +#define NVADDR_MLX_CALIB_16 5154 +#define NVADDR_MLX_CALIB_15 5152 +#define NVADDR_MLX_CALIB_14 5150 +#define NVADDR_MLX_CALIB_13 5148 +#define NVADDR_MLX_CALIB_12 5146 +#define NVADDR_MLX_CALIB_11 5144 +#define NVADDR_MLX_CALIB_10 5142 +#define NVADDR_MLX_CALIB_9 5140 +#define NVADDR_MLX_CALIB_8 5138 +#define NVADDR_MLX_CALIB_7 5136 +#define NVADDR_MLX_CALIB_6 5134 +#define NVADDR_MLX_CALIB_5 5132 +#define NVADDR_MLX_CALIB_4 5130 +#define NVADDR_MLX_CALIB_3 5128 +#define NVADDR_MLX_CALIB_2 5126 +#define NVADDR_MLX_CALIB_1 5124 +#define NVADDR_MLX_CALIB_0 5122 +#define NVADDR_FREE_89 5120 +#define NVADDR_FREE_88 5118 +#define NVADDR_FREE_87 5116 +#define NVADDR_FREE_86 5114 +#define NVADDR_FREE_85 5112 +#define NVADDR_FREE_84 5110 +#define NVADDR_FREE_83 5108 +#define NVADDR_FREE_82 5106 +#define NVADDR_FREE_81 5104 +#define NVADDR_FREE_80 5102 +#define NVADDR_FREE_79 5100 +#define NVADDR_FREE_78 5098 +#define NVADDR_FREE_77 5096 +#define NVADDR_FREE_76 5094 +#define NVADDR_FREE_75 5092 +#define NVADDR_FREE_74 5090 +#define NVADDR_FREE_73 5088 +#define NVADDR_FREE_72 5086 +#define NVADDR_FREE_71 5084 +#define NVADDR_FREE_70 5082 +#define NVADDR_FREE_69 5080 +#define NVADDR_FREE_68 5078 +#define NVADDR_FREE_67 5076 +#define NVADDR_FREE_66 5074 +#define NVADDR_FREE_65 5072 +#define NVADDR_FREE_64 5070 +#define NVADDR_FREE_63 5068 +#define NVADDR_FREE_62 5066 +#define NVADDR_FREE_61 5064 +#define NVADDR_FREE_60 5062 +#define NVADDR_FREE_59 5060 +#define NVADDR_FREE_58 5058 +#define NVADDR_FREE_57 5056 +#define NVADDR_FREE_56 5054 +#define NVADDR_FREE_55 5052 +#define NVADDR_FREE_54 5050 +#define NVADDR_FREE_53 5048 +#define NVADDR_FREE_52 5046 +#define NVADDR_FREE_51 5044 +#define NVADDR_FREE_50 5042 +#define NVADDR_FREE_49 5040 +#define NVADDR_FREE_48 5038 +#define NVADDR_FREE_47 5036 +#define NVADDR_FREE_46 5034 +#define NVADDR_FREE_45 5032 +#define NVADDR_FREE_44 5030 +#define NVADDR_FREE_43 5028 +#define NVADDR_FREE_42 5026 +#define NVADDR_FREE_41 5024 +#define NVADDR_FREE_40 5022 +#define NVADDR_FREE_39 5020 +#define NVADDR_FREE_38 5018 +#define NVADDR_FREE_37 5016 +#define NVADDR_FREE_36 5014 +#define NVADDR_FREE_35 5012 +#define NVADDR_FREE_34 5010 +#define NVADDR_FREE_33 5008 +#define NVADDR_FREE_32 5006 +#define NVADDR_FREE_31 5004 +#define NVADDR_FREE_30 5002 +#define NVADDR_FREE_29 5000 +#define NVADDR_FREE_28 4998 +#define NVADDR_FREE_27 4996 +#define NVADDR_FREE_26 4994 +#define NVADDR_FREE_25 4992 +#define NVADDR_FREE_24 4990 +#define NVADDR_FREE_23 4988 +#define NVADDR_FREE_22 4986 +#define NVADDR_FREE_21 4984 +#define NVADDR_FREE_20 4982 +#define NVADDR_FREE_19 4980 +#define NVADDR_FREE_18 4978 +#define NVADDR_FREE_17 4976 +#define NVADDR_FREE_16 4974 +#define NVADDR_FREE_15 4972 +#define NVADDR_FREE_14 4970 +#define NVADDR_FREE_13 4968 +#define NVADDR_FREE_12 4966 +#define NVADDR_FREE_11 4964 +#define NVADDR_FREE_10 4962 +#define NVADDR_FREE_9 4960 +#define NVADDR_FREE_8 4958 +#define NVADDR_FREE_7 4956 +#define NVADDR_FREE_6 4954 +#define NVADDR_FREE_5 4952 +#define NVADDR_FREE_4 4950 +#define NVADDR_FREE_3 4948 +#define NVADDR_FREE_2 4946 +#define NVADDR_FREE_1 4944 +#define NVADDR_FREE_0 4942 +#define NVADDR_NV_PATCH_3_INSTRUCTION 4940 +#define NVADDR_NV_PATCH_3_ADDRESS 4938 +#define NVADDR_NV_PATCH_2_INSTRUCTION 4936 +#define NVADDR_NV_PATCH_2_ADDRESS 4934 +#define NVADDR_NV_PATCH_1_INSTRUCTION 4932 +#define NVADDR_MV_PATCH_1_ADDRESS 4930 +#define NVADDR_NV_PATCH_0_INSTRUCTION 4928 +#define NVADDR_NV_PATCH_0_ADDRESS 4926 +#define NVADDR_MTP_USE_ZONE2 4924 +#define NVADDR_CRC_ZONE_2 4922 +#define NVADDR_copy_zone1_35 4920 +#define NVADDR_copy_zone1_34 4918 +#define NVADDR_copy_zone1_33 4916 +#define NVADDR_copy_zone1_32 4914 +#define NVADDR_copy_zone1_31 4912 +#define NVADDR_copy_zone1_30 4910 +#define NVADDR_copy_zone1_29 4908 +#define NVADDR_copy_zone1_28 4906 +#define NVADDR_copy_zone1_27 4904 +#define NVADDR_copy_zone1_26 4902 +#define NVADDR_copy_zone1_25 4900 +#define NVADDR_copy_zone1_24 4898 +#define NVADDR_copy_zone1_23 4896 +#define NVADDR_copy_zone1_22 4894 +#define NVADDR_copy_zone1_21 4892 +#define NVADDR_copy_zone1_20 4890 +#define NVADDR_copy_zone1_19 4888 +#define NVADDR_copy_zone1_18 4886 +#define NVADDR_copy_zone1_17 4884 +#define NVADDR_copy_zone1_16 4882 +#define NVADDR_copy_zone1_15 4880 +#define NVADDR_copy_zone1_14 4878 +#define NVADDR_copy_zone1_13 4876 +#define NVADDR_copy_zone1_12 4874 +#define NVADDR_copy_zone1_11 4872 +#define NVADDR_copy_zone1_10 4870 +#define NVADDR_copy_zone1_9 4868 +#define NVADDR_copy_zone1_8 4866 +#define NVADDR_copy_zone1_7 4864 +#define NVADDR_copy_zone1_6 4862 +#define NVADDR_copy_zone1_5 4860 +#define NVADDR_copy_zone1_4 4858 +#define NVADDR_copy_zone1_3 4856 +#define NVADDR_copy_zone1_2 4854 +#define NVADDR_copy_zone1_1 4852 +#define NVADDR_copy_zone1_0 4850 +#define NVADDR_MTP_USE_ZONE1 4848 +#define NVADDR_CRC_ZONE_1 4846 +#define NVADDR_copy_zone0_35 4844 +#define NVADDR_copy_zone0_34 4842 +#define NVADDR_copy_zone0_33 4840 +#define NVADDR_copy_zone0_32 4838 +#define NVADDR_copy_zone0_31 4836 +#define NVADDR_copy_zone0_30 4834 +#define NVADDR_copy_zone0_29 4832 +#define NVADDR_copy_zone0_28 4830 +#define NVADDR_copy_zone0_27 4828 +#define NVADDR_copy_zone0_26 4826 +#define NVADDR_copy_zone0_25 4824 +#define NVADDR_copy_zone0_24 4822 +#define NVADDR_copy_zone0_23 4820 +#define NVADDR_copy_zone0_22 4818 +#define NVADDR_copy_zone0_21 4816 +#define NVADDR_copy_zone0_20 4814 +#define NVADDR_copy_zone0_19 4812 +#define NVADDR_copy_zone0_18 4810 +#define NVADDR_copy_zone0_17 4808 +#define NVADDR_copy_zone0_16 4806 +#define NVADDR_copy_zone0_15 4804 +#define NVADDR_copy_zone0_14 4802 +#define NVADDR_copy_zone0_13 4800 +#define NVADDR_copy_zone0_12 4798 +#define NVADDR_copy_zone0_11 4796 +#define NVADDR_copy_zone0_10 4794 +#define NVADDR_copy_zone0_9 4792 +#define NVADDR_copy_zone0_8 4790 +#define NVADDR_copy_zone0_7 4788 +#define NVADDR_copy_zone0_6 4786 +#define NVADDR_copy_zone0_5 4784 +#define NVADDR_copy_zone0_4 4782 +#define NVADDR_copy_zone0_3 4780 +#define NVADDR_copy_zone0_2 4778 +#define NVADDR_copy_zone0_1 4776 +#define NVADDR_copy_zone0_0 4774 +#define NVADDR_MTP_USE_ZONE0 4772 +#define NVADDR_CRC_ZONE_0 4770 +#define NVADDR_CUST_ID0 4768 +#define NVADDR_CUST_ID1 4766 +#define NVADDR_CUST_ID2 4764 +#define NVADDR_CUST_ID3 4762 +#define NVADDR_NV_DIGITAL_CFG 4760 +#define NVADDR_MTP_ZONE0_RES2 4758 +#define NVADDR_MTP_ZONE0_RES3 4756 +#define NVADDR_MTP_ZONE0_RES4 4754 +#define NVADDR_MTP_ZONE0_RES5 4752 +#define NVADDR_NV_APPLICATION_CFG3 4750 +#define NVADDR_NV_APPLCATION_CFG2 4748 +#define NVADDR_NV_APPLICATION_CFG 4746 +#define NVADDR_MTP_ZONE0_RES9 4744 +#define NVADDR_MTP_ZONE0_RES10 4742 +#define NVADDR_MTP_ZONE0_RES11 4740 +#define NVADDR_MTP_ZONE0_RES12 4738 +#define NVADDR_MTP_ZONE0_RES13 4736 +#define NVADDR_MTP_ZONE0_RES14 4734 +#define NVADDR_MTP_ZONE0_RES15 4732 +#define NVADDR_NV_CURVE_PAR_F 4730 +#define NVADDR_NV_CURVE_PAR_E 4728 +#define NVADDR_NV_CURVE_PAR_D 4726 +#define NVADDR_NV_CURVE_PAR_C 4724 +#define NVADDR_NV_CURVE_PAR_B 4722 +#define NVADDR_NV_CURVE_PAR_A 4720 +#define NVADDR_NV_CURVE_PNT_MAX 4718 +#define NVADDR_NV_CURVE_PNT_MIN 4716 +#define NVADDR_NV_SPD_CTRL_2 4714 +#define NVADDR_NV_SPD_CTRL_1 4712 +#define NVADDR_NV_MIN_EHP 4710 +#define NVADDR_NV_RESERVED2 4708 +#define NVADDR_NV_COMM 4706 +#define NVADDR_NV_WIND_BRAKE 4704 +#define NVADDR_NV_START_UP 4702 +#define NVADDR_NV_POSITION 4700 +#define NVADDR_NV_GEN_CTRL 4698 +