net/qede/base: fix to support OVLAN mode
[dpdk.git] / drivers / net / qede / base / nvm_cfg.h
index 68abc2d..c99e805 100644 (file)
  * Description: NVM config file - Generated file from nvm cfg excel.
  *              DO NOT MODIFY !!!
  *
- * Created:     9/6/2016
+ * Created:     5/8/2017
  *
  ****************************************************************************/
 
 #ifndef NVM_CFG_H
 #define NVM_CFG_H
 
+#define NVM_CFG_version 0x83000
+
+#define NVM_CFG_new_option_seq 23
+
+#define NVM_CFG_removed_option_seq 1
+
+#define NVM_CFG_updated_value_seq 4
+
 struct nvm_cfg_mac_address {
        u32 mac_addr_hi;
                #define NVM_CFG_MAC_ADDRESS_HI_MASK 0x0000FFFF
@@ -64,10 +72,12 @@ struct nvm_cfg1_glob {
                #define NVM_CFG1_GLOB_ENABLE_ATC_OFFSET 30
                #define NVM_CFG1_GLOB_ENABLE_ATC_DISABLED 0x0
                #define NVM_CFG1_GLOB_ENABLE_ATC_ENABLED 0x1
-               #define NVM_CFG1_GLOB_CLOCK_SLOWDOWN_MASK 0x80000000
-               #define NVM_CFG1_GLOB_CLOCK_SLOWDOWN_OFFSET 31
-               #define NVM_CFG1_GLOB_CLOCK_SLOWDOWN_DISABLED 0x0
-               #define NVM_CFG1_GLOB_CLOCK_SLOWDOWN_ENABLED 0x1
+               #define NVM_CFG1_GLOB_RESERVED__M_WAS_CLOCK_SLOWDOWN_MASK \
+                                                               0x80000000
+               #define NVM_CFG1_GLOB_RESERVED__M_WAS_CLOCK_SLOWDOWN_OFFSET 31
+               #define NVM_CFG1_GLOB_RESERVED__M_WAS_CLOCK_SLOWDOWN_DISABLED \
+                                                               0x0
+               #define NVM_CFG1_GLOB_RESERVED__M_WAS_CLOCK_SLOWDOWN_ENABLED 0x1
        u32 engineering_change[3]; /* 0x4 */
        u32 manufacturing_id; /* 0x10 */
        u32 serial_number[4]; /* 0x14 */
@@ -242,6 +252,11 @@ struct nvm_cfg1_glob {
                #define NVM_CFG1_GLOB_PLDM_SENSOR_MODE_INTERNAL 0x0
                #define NVM_CFG1_GLOB_PLDM_SENSOR_MODE_EXTERNAL 0x1
                #define NVM_CFG1_GLOB_PLDM_SENSOR_MODE_BOTH 0x2
+       /*  ROL enable */
+               #define NVM_CFG1_GLOB_RESET_ON_LAN_MASK 0x80000000
+               #define NVM_CFG1_GLOB_RESET_ON_LAN_OFFSET 31
+               #define NVM_CFG1_GLOB_RESET_ON_LAN_DISABLED 0x0
+               #define NVM_CFG1_GLOB_RESET_ON_LAN_ENABLED 0x1
        u32 f_lane_cfg1; /* 0x38 */
                #define NVM_CFG1_GLOB_RX_LANE0_SWAP_MASK 0x0000000F
                #define NVM_CFG1_GLOB_RX_LANE0_SWAP_OFFSET 0
@@ -327,9 +342,8 @@ struct nvm_cfg1_glob {
                #define NVM_CFG1_GLOB_VENDOR_ID_MASK 0x0000FFFF
                #define NVM_CFG1_GLOB_VENDOR_ID_OFFSET 0
        /*  Set caution temperature */
-               #define NVM_CFG1_GLOB_CAUTION_THRESHOLD_TEMPERATURE_MASK \
-                       0x00FF0000
-               #define NVM_CFG1_GLOB_CAUTION_THRESHOLD_TEMPERATURE_OFFSET 16
+               #define NVM_CFG1_GLOB_DEAD_TEMP_TH_TEMPERATURE_MASK 0x00FF0000
+               #define NVM_CFG1_GLOB_DEAD_TEMP_TH_TEMPERATURE_OFFSET 16
        /*  Set external thermal sensor I2C address */
                #define NVM_CFG1_GLOB_EXTERNAL_THERMAL_SENSOR_ADDRESS_MASK \
                        0xFF000000
@@ -470,6 +484,15 @@ struct nvm_cfg1_glob {
                #define NVM_CFG1_GLOB_MANUF3_VER_OFFSET 18
                #define NVM_CFG1_GLOB_MANUF4_VER_MASK 0x3F000000
                #define NVM_CFG1_GLOB_MANUF4_VER_OFFSET 24
+       /*  Select package id method */
+               #define NVM_CFG1_GLOB_NCSI_PACKAGE_ID_IO_MASK 0x40000000
+               #define NVM_CFG1_GLOB_NCSI_PACKAGE_ID_IO_OFFSET 30
+               #define NVM_CFG1_GLOB_NCSI_PACKAGE_ID_IO_NVRAM 0x0
+               #define NVM_CFG1_GLOB_NCSI_PACKAGE_ID_IO_IO_PINS 0x1
+               #define NVM_CFG1_GLOB_RECOVERY_MODE_MASK 0x80000000
+               #define NVM_CFG1_GLOB_RECOVERY_MODE_OFFSET 31
+               #define NVM_CFG1_GLOB_RECOVERY_MODE_DISABLED 0x0
+               #define NVM_CFG1_GLOB_RECOVERY_MODE_ENABLED 0x1
        u32 manufacture_time; /* 0x70 */
                #define NVM_CFG1_GLOB_MANUF0_TIME_MASK 0x0000003F
                #define NVM_CFG1_GLOB_MANUF0_TIME_OFFSET 0
@@ -480,6 +503,15 @@ struct nvm_cfg1_glob {
        /*  Max MSIX for Ethernet in default mode */
                #define NVM_CFG1_GLOB_MAX_MSIX_MASK 0x03FC0000
                #define NVM_CFG1_GLOB_MAX_MSIX_OFFSET 18
+       /*  PF Mapping */
+               #define NVM_CFG1_GLOB_PF_MAPPING_MASK 0x0C000000
+               #define NVM_CFG1_GLOB_PF_MAPPING_OFFSET 26
+               #define NVM_CFG1_GLOB_PF_MAPPING_CONTINUOUS 0x0
+               #define NVM_CFG1_GLOB_PF_MAPPING_FIXED 0x1
+               #define NVM_CFG1_GLOB_VOLTAGE_REGULATOR_TYPE_MASK 0x30000000
+               #define NVM_CFG1_GLOB_VOLTAGE_REGULATOR_TYPE_OFFSET 28
+               #define NVM_CFG1_GLOB_VOLTAGE_REGULATOR_TYPE_DISABLED 0x0
+               #define NVM_CFG1_GLOB_VOLTAGE_REGULATOR_TYPE_TI 0x1
        u32 led_global_settings; /* 0x74 */
                #define NVM_CFG1_GLOB_LED_SWAP_0_MASK 0x0000000F
                #define NVM_CFG1_GLOB_LED_SWAP_0_OFFSET 0
@@ -489,6 +521,47 @@ struct nvm_cfg1_glob {
                #define NVM_CFG1_GLOB_LED_SWAP_2_OFFSET 8
                #define NVM_CFG1_GLOB_LED_SWAP_3_MASK 0x0000F000
                #define NVM_CFG1_GLOB_LED_SWAP_3_OFFSET 12
+       /*  Max. continues operating temperature */
+               #define NVM_CFG1_GLOB_MAX_CONT_OPERATING_TEMP_MASK 0x00FF0000
+               #define NVM_CFG1_GLOB_MAX_CONT_OPERATING_TEMP_OFFSET 16
+       /*  GPIO which triggers run-time port swap according to the map
+        *  specified in option 205
+        */
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_MASK 0xFF000000
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_OFFSET 24
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_NA 0x0
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO0 0x1
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO1 0x2
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO2 0x3
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO3 0x4
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO4 0x5
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO5 0x6
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO6 0x7
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO7 0x8
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO8 0x9
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO9 0xA
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO10 0xB
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO11 0xC
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO12 0xD
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO13 0xE
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO14 0xF
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO15 0x10
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO16 0x11
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO17 0x12
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO18 0x13
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO19 0x14
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO20 0x15
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO21 0x16
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO22 0x17
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO23 0x18
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO24 0x19
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO25 0x1A
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO26 0x1B
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO27 0x1C
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO28 0x1D
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO29 0x1E
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO30 0x1F
+               #define NVM_CFG1_GLOB_RUNTIME_PORT_SWAP_GPIO_GPIO31 0x20
        u32 generic_cont1; /* 0x78 */
                #define NVM_CFG1_GLOB_AVS_DAC_CODE_MASK 0x000003FF
                #define NVM_CFG1_GLOB_AVS_DAC_CODE_OFFSET 0
@@ -508,6 +581,17 @@ struct nvm_cfg1_glob {
        /*  PCIe Preset value - applies only if option 194 is enabled */
                #define NVM_CFG1_GLOB_PCIE_PRESET_VALUE_MASK 0x00780000
                #define NVM_CFG1_GLOB_PCIE_PRESET_VALUE_OFFSET 19
+       /*  Port mapping to be used when the run-time GPIO for port-swap is
+        *  defined and set.
+        */
+               #define NVM_CFG1_GLOB_RUNTIME_PORT0_SWAP_MAP_MASK 0x01800000
+               #define NVM_CFG1_GLOB_RUNTIME_PORT0_SWAP_MAP_OFFSET 23
+               #define NVM_CFG1_GLOB_RUNTIME_PORT1_SWAP_MAP_MASK 0x06000000
+               #define NVM_CFG1_GLOB_RUNTIME_PORT1_SWAP_MAP_OFFSET 25
+               #define NVM_CFG1_GLOB_RUNTIME_PORT2_SWAP_MAP_MASK 0x18000000
+               #define NVM_CFG1_GLOB_RUNTIME_PORT2_SWAP_MAP_OFFSET 27
+               #define NVM_CFG1_GLOB_RUNTIME_PORT3_SWAP_MAP_MASK 0x60000000
+               #define NVM_CFG1_GLOB_RUNTIME_PORT3_SWAP_MAP_OFFSET 29
        u32 mbi_version; /* 0x7C */
                #define NVM_CFG1_GLOB_MBI_VERSION_0_MASK 0x000000FF
                #define NVM_CFG1_GLOB_MBI_VERSION_0_OFFSET 0
@@ -515,6 +599,44 @@ struct nvm_cfg1_glob {
                #define NVM_CFG1_GLOB_MBI_VERSION_1_OFFSET 8
                #define NVM_CFG1_GLOB_MBI_VERSION_2_MASK 0x00FF0000
                #define NVM_CFG1_GLOB_MBI_VERSION_2_OFFSET 16
+       /*  If set to other than NA, 0 - Normal operation, 1 - Thermal event
+        *  occurred
+        */
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_MASK 0xFF000000
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_OFFSET 24
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_NA 0x0
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO0 0x1
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO1 0x2
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO2 0x3
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO3 0x4
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO4 0x5
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO5 0x6
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO6 0x7
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO7 0x8
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO8 0x9
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO9 0xA
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO10 0xB
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO11 0xC
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO12 0xD
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO13 0xE
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO14 0xF
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO15 0x10
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO16 0x11
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO17 0x12
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO18 0x13
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO19 0x14
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO20 0x15
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO21 0x16
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO22 0x17
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO23 0x18
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO24 0x19
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO25 0x1A
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO26 0x1B
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO27 0x1C
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO28 0x1D
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO29 0x1E
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO30 0x1F
+               #define NVM_CFG1_GLOB_THERMAL_EVENT_GPIO_GPIO31 0x20
        u32 mbi_date; /* 0x80 */
        u32 misc_sig; /* 0x84 */
        /*  Define the GPIO mapping to switch i2c mux */
@@ -555,6 +677,81 @@ struct nvm_cfg1_glob {
                #define NVM_CFG1_GLOB_I2C_MUX_SEL_GPIO__GPIO29 0x1E
                #define NVM_CFG1_GLOB_I2C_MUX_SEL_GPIO__GPIO30 0x1F
                #define NVM_CFG1_GLOB_I2C_MUX_SEL_GPIO__GPIO31 0x20
+       /*  Interrupt signal used for SMBus/I2C management interface
+        *  0 = Interrupt event occurred
+        *  1 = Normal
+        */
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_MASK 0x00FF0000
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_OFFSET 16
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_NA 0x0
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO0 0x1
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO1 0x2
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO2 0x3
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO3 0x4
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO4 0x5
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO5 0x6
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO6 0x7
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO7 0x8
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO8 0x9
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO9 0xA
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO10 0xB
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO11 0xC
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO12 0xD
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO13 0xE
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO14 0xF
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO15 0x10
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO16 0x11
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO17 0x12
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO18 0x13
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO19 0x14
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO20 0x15
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO21 0x16
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO22 0x17
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO23 0x18
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO24 0x19
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO25 0x1A
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO26 0x1B
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO27 0x1C
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO28 0x1D
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO29 0x1E
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO30 0x1F
+               #define NVM_CFG1_GLOB_I2C_INTERRUPT_GPIO_GPIO31 0x20
+       /*  Set aLOM FAN on GPIO */
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_MASK 0xFF000000
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_OFFSET 24
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_NA 0x0
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO0 0x1
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO1 0x2
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO2 0x3
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO3 0x4
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO4 0x5
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO5 0x6
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO6 0x7
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO7 0x8
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO8 0x9
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO9 0xA
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO10 0xB
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO11 0xC
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO12 0xD
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO13 0xE
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO14 0xF
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO15 0x10
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO16 0x11
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO17 0x12
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO18 0x13
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO19 0x14
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO20 0x15
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO21 0x16
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO22 0x17
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO23 0x18
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO24 0x19
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO25 0x1A
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO26 0x1B
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO27 0x1C
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO28 0x1D
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO29 0x1E
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO30 0x1F
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_GPIO_GPIO31 0x20
        u32 device_capabilities; /* 0x88 */
                #define NVM_CFG1_GLOB_DEVICE_CAPABILITIES_ETHERNET 0x1
                #define NVM_CFG1_GLOB_DEVICE_CAPABILITIES_FCOE 0x2
@@ -591,11 +788,268 @@ struct nvm_cfg1_glob {
                #define NVM_CFG1_GLOB_MULTI_NETWORK_MODES_CAPABILITY_BB_1X100G \
                        0x80
                #define NVM_CFG1_GLOB_MULTI_NETWORK_MODES_CAPABILITY_2X10G 0x100
-       u32 reserved[41]; /* 0x9C */
+       /* @DPDK */
+       u32 reserved1[12]; /* 0x9C */
+       u32 oem1_number[8]; /* 0xCC */
+       u32 oem2_number[8]; /* 0xEC */
+       u32 mps25_active_txfir_pre; /* 0x10C */
+               #define NVM_CFG1_GLOB_LANE0_ACT_TXFIR_PRE_MASK 0x000000FF
+               #define NVM_CFG1_GLOB_LANE0_ACT_TXFIR_PRE_OFFSET 0
+               #define NVM_CFG1_GLOB_LANE1_ACT_TXFIR_PRE_MASK 0x0000FF00
+               #define NVM_CFG1_GLOB_LANE1_ACT_TXFIR_PRE_OFFSET 8
+               #define NVM_CFG1_GLOB_LANE2_ACT_TXFIR_PRE_MASK 0x00FF0000
+               #define NVM_CFG1_GLOB_LANE2_ACT_TXFIR_PRE_OFFSET 16
+               #define NVM_CFG1_GLOB_LANE3_ACT_TXFIR_PRE_MASK 0xFF000000
+               #define NVM_CFG1_GLOB_LANE3_ACT_TXFIR_PRE_OFFSET 24
+       u32 mps25_active_txfir_main; /* 0x110 */
+               #define NVM_CFG1_GLOB_LANE0_ACT_TXFIR_MAIN_MASK 0x000000FF
+               #define NVM_CFG1_GLOB_LANE0_ACT_TXFIR_MAIN_OFFSET 0
+               #define NVM_CFG1_GLOB_LANE1_ACT_TXFIR_MAIN_MASK 0x0000FF00
+               #define NVM_CFG1_GLOB_LANE1_ACT_TXFIR_MAIN_OFFSET 8
+               #define NVM_CFG1_GLOB_LANE2_ACT_TXFIR_MAIN_MASK 0x00FF0000
+               #define NVM_CFG1_GLOB_LANE2_ACT_TXFIR_MAIN_OFFSET 16
+               #define NVM_CFG1_GLOB_LANE3_ACT_TXFIR_MAIN_MASK 0xFF000000
+               #define NVM_CFG1_GLOB_LANE3_ACT_TXFIR_MAIN_OFFSET 24
+       u32 mps25_active_txfir_post; /* 0x114 */
+               #define NVM_CFG1_GLOB_LANE0_ACT_TXFIR_POST_MASK 0x000000FF
+               #define NVM_CFG1_GLOB_LANE0_ACT_TXFIR_POST_OFFSET 0
+               #define NVM_CFG1_GLOB_LANE1_ACT_TXFIR_POST_MASK 0x0000FF00
+               #define NVM_CFG1_GLOB_LANE1_ACT_TXFIR_POST_OFFSET 8
+               #define NVM_CFG1_GLOB_LANE2_ACT_TXFIR_POST_MASK 0x00FF0000
+               #define NVM_CFG1_GLOB_LANE2_ACT_TXFIR_POST_OFFSET 16
+               #define NVM_CFG1_GLOB_LANE3_ACT_TXFIR_POST_MASK 0xFF000000
+               #define NVM_CFG1_GLOB_LANE3_ACT_TXFIR_POST_OFFSET 24
+       u32 features; /* 0x118 */
+       /*  Set the Aux Fan on temperature  */
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_VALUE_MASK 0x000000FF
+               #define NVM_CFG1_GLOB_ALOM_FAN_ON_AUX_VALUE_OFFSET 0
+       /*  Set NC-SI package ID */
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_MASK 0x0000FF00
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_OFFSET 8
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_NA 0x0
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO0 0x1
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO1 0x2
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO2 0x3
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO3 0x4
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO4 0x5
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO5 0x6
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO6 0x7
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO7 0x8
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO8 0x9
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO9 0xA
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO10 0xB
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO11 0xC
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO12 0xD
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO13 0xE
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO14 0xF
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO15 0x10
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO16 0x11
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO17 0x12
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO18 0x13
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO19 0x14
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO20 0x15
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO21 0x16
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO22 0x17
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO23 0x18
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO24 0x19
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO25 0x1A
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO26 0x1B
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO27 0x1C
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO28 0x1D
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO29 0x1E
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO30 0x1F
+               #define NVM_CFG1_GLOB_SLOT_ID_GPIO_GPIO31 0x20
+       /*  PMBUS Clock GPIO */
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_MASK 0x00FF0000
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_OFFSET 16
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_NA 0x0
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO0 0x1
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO1 0x2
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO2 0x3
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO3 0x4
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO4 0x5
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO5 0x6
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO6 0x7
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO7 0x8
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO8 0x9
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO9 0xA
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO10 0xB
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO11 0xC
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO12 0xD
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO13 0xE
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO14 0xF
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO15 0x10
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO16 0x11
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO17 0x12
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO18 0x13
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO19 0x14
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO20 0x15
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO21 0x16
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO22 0x17
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO23 0x18
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO24 0x19
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO25 0x1A
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO26 0x1B
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO27 0x1C
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO28 0x1D
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO29 0x1E
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO30 0x1F
+               #define NVM_CFG1_GLOB_PMBUS_SCL_GPIO_GPIO31 0x20
+       /*  PMBUS Data GPIO */
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_MASK 0xFF000000
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_OFFSET 24
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_NA 0x0
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO0 0x1
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO1 0x2
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO2 0x3
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO3 0x4
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO4 0x5
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO5 0x6
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO6 0x7
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO7 0x8
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO8 0x9
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO9 0xA
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO10 0xB
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO11 0xC
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO12 0xD
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO13 0xE
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO14 0xF
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO15 0x10
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO16 0x11
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO17 0x12
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO18 0x13
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO19 0x14
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO20 0x15
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO21 0x16
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO22 0x17
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO23 0x18
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO24 0x19
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO25 0x1A
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO26 0x1B
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO27 0x1C
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO28 0x1D
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO29 0x1E
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO30 0x1F
+               #define NVM_CFG1_GLOB_PMBUS_SDA_GPIO_GPIO31 0x20
+       u32 tx_rx_eq_25g_hlpc; /* 0x11C */
+               #define NVM_CFG1_GLOB_INDEX0_RX_TX_EQ_25G_HLPC_MASK 0x000000FF
+               #define NVM_CFG1_GLOB_INDEX0_RX_TX_EQ_25G_HLPC_OFFSET 0
+               #define NVM_CFG1_GLOB_INDEX1_RX_TX_EQ_25G_HLPC_MASK 0x0000FF00
+               #define NVM_CFG1_GLOB_INDEX1_RX_TX_EQ_25G_HLPC_OFFSET 8
+               #define NVM_CFG1_GLOB_INDEX2_RX_TX_EQ_25G_HLPC_MASK 0x00FF0000
+               #define NVM_CFG1_GLOB_INDEX2_RX_TX_EQ_25G_HLPC_OFFSET 16
+               #define NVM_CFG1_GLOB_INDEX3_RX_TX_EQ_25G_HLPC_MASK 0xFF000000
+               #define NVM_CFG1_GLOB_INDEX3_RX_TX_EQ_25G_HLPC_OFFSET 24
+       u32 tx_rx_eq_25g_llpc; /* 0x120 */
+               #define NVM_CFG1_GLOB_INDEX0_RX_TX_EQ_25G_LLPC_MASK 0x000000FF
+               #define NVM_CFG1_GLOB_INDEX0_RX_TX_EQ_25G_LLPC_OFFSET 0
+               #define NVM_CFG1_GLOB_INDEX1_RX_TX_EQ_25G_LLPC_MASK 0x0000FF00
+               #define NVM_CFG1_GLOB_INDEX1_RX_TX_EQ_25G_LLPC_OFFSET 8
+               #define NVM_CFG1_GLOB_INDEX2_RX_TX_EQ_25G_LLPC_MASK 0x00FF0000
+               #define NVM_CFG1_GLOB_INDEX2_RX_TX_EQ_25G_LLPC_OFFSET 16
+               #define NVM_CFG1_GLOB_INDEX3_RX_TX_EQ_25G_LLPC_MASK 0xFF000000
+               #define NVM_CFG1_GLOB_INDEX3_RX_TX_EQ_25G_LLPC_OFFSET 24
+       u32 tx_rx_eq_25g_ac; /* 0x124 */
+               #define NVM_CFG1_GLOB_INDEX0_RX_TX_EQ_25G_AC_MASK 0x000000FF
+               #define NVM_CFG1_GLOB_INDEX0_RX_TX_EQ_25G_AC_OFFSET 0
+               #define NVM_CFG1_GLOB_INDEX1_RX_TX_EQ_25G_AC_MASK 0x0000FF00
+               #define NVM_CFG1_GLOB_INDEX1_RX_TX_EQ_25G_AC_OFFSET 8
+               #define NVM_CFG1_GLOB_INDEX2_RX_TX_EQ_25G_AC_MASK 0x00FF0000
+               #define NVM_CFG1_GLOB_INDEX2_RX_TX_EQ_25G_AC_OFFSET 16
+               #define NVM_CFG1_GLOB_INDEX3_RX_TX_EQ_25G_AC_MASK 0xFF000000
+               #define NVM_CFG1_GLOB_INDEX3_RX_TX_EQ_25G_AC_OFFSET 24
+       u32 tx_rx_eq_10g_pc; /* 0x128 */
+               #define NVM_CFG1_GLOB_INDEX0_RX_TX_EQ_10G_PC_MASK 0x000000FF
+               #define NVM_CFG1_GLOB_INDEX0_RX_TX_EQ_10G_PC_OFFSET 0
+               #define NVM_CFG1_GLOB_INDEX1_RX_TX_EQ_10G_PC_MASK 0x0000FF00
+               #define NVM_CFG1_GLOB_INDEX1_RX_TX_EQ_10G_PC_OFFSET 8
+               #define NVM_CFG1_GLOB_INDEX2_RX_TX_EQ_10G_PC_MASK 0x00FF0000
+               #define NVM_CFG1_GLOB_INDEX2_RX_TX_EQ_10G_PC_OFFSET 16
+               #define NVM_CFG1_GLOB_INDEX3_RX_TX_EQ_10G_PC_MASK 0xFF000000
+               #define NVM_CFG1_GLOB_INDEX3_RX_TX_EQ_10G_PC_OFFSET 24
+       u32 tx_rx_eq_10g_ac; /* 0x12C */
+               #define NVM_CFG1_GLOB_INDEX0_RX_TX_EQ_10G_AC_MASK 0x000000FF
+               #define NVM_CFG1_GLOB_INDEX0_RX_TX_EQ_10G_AC_OFFSET 0
+               #define NVM_CFG1_GLOB_INDEX1_RX_TX_EQ_10G_AC_MASK 0x0000FF00
+               #define NVM_CFG1_GLOB_INDEX1_RX_TX_EQ_10G_AC_OFFSET 8
+               #define NVM_CFG1_GLOB_INDEX2_RX_TX_EQ_10G_AC_MASK 0x00FF0000
+               #define NVM_CFG1_GLOB_INDEX2_RX_TX_EQ_10G_AC_OFFSET 16
+               #define NVM_CFG1_GLOB_INDEX3_RX_TX_EQ_10G_AC_MASK 0xFF000000
+               #define NVM_CFG1_GLOB_INDEX3_RX_TX_EQ_10G_AC_OFFSET 24
+       u32 tx_rx_eq_1g; /* 0x130 */
+               #define NVM_CFG1_GLOB_INDEX0_RX_TX_EQ_1G_MASK 0x000000FF
+               #define NVM_CFG1_GLOB_INDEX0_RX_TX_EQ_1G_OFFSET 0
+               #define NVM_CFG1_GLOB_INDEX1_RX_TX_EQ_1G_MASK 0x0000FF00
+               #define NVM_CFG1_GLOB_INDEX1_RX_TX_EQ_1G_OFFSET 8
+               #define NVM_CFG1_GLOB_INDEX2_RX_TX_EQ_1G_MASK 0x00FF0000
+               #define NVM_CFG1_GLOB_INDEX2_RX_TX_EQ_1G_OFFSET 16
+               #define NVM_CFG1_GLOB_INDEX3_RX_TX_EQ_1G_MASK 0xFF000000
+               #define NVM_CFG1_GLOB_INDEX3_RX_TX_EQ_1G_OFFSET 24
+       u32 tx_rx_eq_25g_bt; /* 0x134 */
+               #define NVM_CFG1_GLOB_INDEX0_RX_TX_EQ_25G_BT_MASK 0x000000FF
+               #define NVM_CFG1_GLOB_INDEX0_RX_TX_EQ_25G_BT_OFFSET 0
+               #define NVM_CFG1_GLOB_INDEX1_RX_TX_EQ_25G_BT_MASK 0x0000FF00
+               #define NVM_CFG1_GLOB_INDEX1_RX_TX_EQ_25G_BT_OFFSET 8
+               #define NVM_CFG1_GLOB_INDEX2_RX_TX_EQ_25G_BT_MASK 0x00FF0000
+               #define NVM_CFG1_GLOB_INDEX2_RX_TX_EQ_25G_BT_OFFSET 16
+               #define NVM_CFG1_GLOB_INDEX3_RX_TX_EQ_25G_BT_MASK 0xFF000000
+               #define NVM_CFG1_GLOB_INDEX3_RX_TX_EQ_25G_BT_OFFSET 24
+       u32 tx_rx_eq_10g_bt; /* 0x138 */
+               #define NVM_CFG1_GLOB_INDEX0_RX_TX_EQ_10G_BT_MASK 0x000000FF
+               #define NVM_CFG1_GLOB_INDEX0_RX_TX_EQ_10G_BT_OFFSET 0
+               #define NVM_CFG1_GLOB_INDEX1_RX_TX_EQ_10G_BT_MASK 0x0000FF00
+               #define NVM_CFG1_GLOB_INDEX1_RX_TX_EQ_10G_BT_OFFSET 8
+               #define NVM_CFG1_GLOB_INDEX2_RX_TX_EQ_10G_BT_MASK 0x00FF0000
+               #define NVM_CFG1_GLOB_INDEX2_RX_TX_EQ_10G_BT_OFFSET 16
+               #define NVM_CFG1_GLOB_INDEX3_RX_TX_EQ_10G_BT_MASK 0xFF000000
+               #define NVM_CFG1_GLOB_INDEX3_RX_TX_EQ_10G_BT_OFFSET 24
+       u32 generic_cont4; /* 0x13C */
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_MASK 0x000000FF
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_OFFSET 0
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_NA 0x0
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO0 0x1
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO1 0x2
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO2 0x3
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO3 0x4
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO4 0x5
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO5 0x6
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO6 0x7
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO7 0x8
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO8 0x9
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO9 0xA
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO10 0xB
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO11 0xC
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO12 0xD
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO13 0xE
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO14 0xF
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO15 0x10
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO16 0x11
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO17 0x12
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO18 0x13
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO19 0x14
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO20 0x15
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO21 0x16
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO22 0x17
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO23 0x18
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO24 0x19
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO25 0x1A
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO26 0x1B
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO27 0x1C
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO28 0x1D
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO29 0x1E
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO30 0x1F
+               #define NVM_CFG1_GLOB_THERMAL_ALARM_GPIO_GPIO31 0x20
+       u32 preboot_debug_mode_std; /* 0x140 */
+       u32 preboot_debug_mode_ext; /* 0x144 */
+       u32 ext_phy_cfg1; /* 0x148 */
+       /*  Ext PHY MDI pair swap value */
+               #define NVM_CFG1_GLOB_EXT_PHY_MDI_PAIR_SWAP_MASK 0x0000FFFF
+               #define NVM_CFG1_GLOB_EXT_PHY_MDI_PAIR_SWAP_OFFSET 0
+       u32 reserved[55]; /* 0x14C */
 };
 
 struct nvm_cfg1_path {
-       u32 reserved[30]; /* 0x0 */
+       u32 reserved[1]; /* 0x0 */
 };
 
 struct nvm_cfg1_port {
@@ -689,6 +1143,7 @@ struct nvm_cfg1_port {
                #define NVM_CFG1_PORT_DRV_SPEED_CAPABILITY_MASK_OFFSET 0
                #define NVM_CFG1_PORT_DRV_SPEED_CAPABILITY_MASK_1G 0x1
                #define NVM_CFG1_PORT_DRV_SPEED_CAPABILITY_MASK_10G 0x2
+               #define NVM_CFG1_PORT_DRV_SPEED_CAPABILITY_MASK_20G 0x4
                #define NVM_CFG1_PORT_DRV_SPEED_CAPABILITY_MASK_25G 0x8
                #define NVM_CFG1_PORT_DRV_SPEED_CAPABILITY_MASK_40G 0x10
                #define NVM_CFG1_PORT_DRV_SPEED_CAPABILITY_MASK_50G 0x20
@@ -697,6 +1152,7 @@ struct nvm_cfg1_port {
                #define NVM_CFG1_PORT_MFW_SPEED_CAPABILITY_MASK_OFFSET 16
                #define NVM_CFG1_PORT_MFW_SPEED_CAPABILITY_MASK_1G 0x1
                #define NVM_CFG1_PORT_MFW_SPEED_CAPABILITY_MASK_10G 0x2
+               #define NVM_CFG1_PORT_MFW_SPEED_CAPABILITY_MASK_20G 0x4
                #define NVM_CFG1_PORT_MFW_SPEED_CAPABILITY_MASK_25G 0x8
                #define NVM_CFG1_PORT_MFW_SPEED_CAPABILITY_MASK_40G 0x10
                #define NVM_CFG1_PORT_MFW_SPEED_CAPABILITY_MASK_50G 0x20
@@ -707,11 +1163,11 @@ struct nvm_cfg1_port {
                #define NVM_CFG1_PORT_DRV_LINK_SPEED_AUTONEG 0x0
                #define NVM_CFG1_PORT_DRV_LINK_SPEED_1G 0x1
                #define NVM_CFG1_PORT_DRV_LINK_SPEED_10G 0x2
+               #define NVM_CFG1_PORT_DRV_LINK_SPEED_20G 0x3
                #define NVM_CFG1_PORT_DRV_LINK_SPEED_25G 0x4
                #define NVM_CFG1_PORT_DRV_LINK_SPEED_40G 0x5
                #define NVM_CFG1_PORT_DRV_LINK_SPEED_50G 0x6
                #define NVM_CFG1_PORT_DRV_LINK_SPEED_BB_100G 0x7
-               #define NVM_CFG1_PORT_DRV_LINK_SPEED_SMARTLINQ 0x8
                #define NVM_CFG1_PORT_DRV_FLOW_CONTROL_MASK 0x00000070
                #define NVM_CFG1_PORT_DRV_FLOW_CONTROL_OFFSET 4
                #define NVM_CFG1_PORT_DRV_FLOW_CONTROL_AUTONEG 0x1
@@ -722,11 +1178,11 @@ struct nvm_cfg1_port {
                #define NVM_CFG1_PORT_MFW_LINK_SPEED_AUTONEG 0x0
                #define NVM_CFG1_PORT_MFW_LINK_SPEED_1G 0x1
                #define NVM_CFG1_PORT_MFW_LINK_SPEED_10G 0x2
+               #define NVM_CFG1_PORT_MFW_LINK_SPEED_20G 0x3
                #define NVM_CFG1_PORT_MFW_LINK_SPEED_25G 0x4
                #define NVM_CFG1_PORT_MFW_LINK_SPEED_40G 0x5
                #define NVM_CFG1_PORT_MFW_LINK_SPEED_50G 0x6
                #define NVM_CFG1_PORT_MFW_LINK_SPEED_BB_100G 0x7
-               #define NVM_CFG1_PORT_MFW_LINK_SPEED_SMARTLINQ 0x8
                #define NVM_CFG1_PORT_MFW_FLOW_CONTROL_MASK 0x00003800
                #define NVM_CFG1_PORT_MFW_FLOW_CONTROL_OFFSET 11
                #define NVM_CFG1_PORT_MFW_FLOW_CONTROL_AUTONEG 0x1
@@ -749,6 +1205,23 @@ struct nvm_cfg1_port {
                #define NVM_CFG1_PORT_FEC_FORCE_MODE_FIRECODE 0x1
                #define NVM_CFG1_PORT_FEC_FORCE_MODE_RS 0x2
                #define NVM_CFG1_PORT_FEC_FORCE_MODE_AUTO 0x7
+               #define NVM_CFG1_PORT_FEC_AN_MODE_MASK 0x00700000
+               #define NVM_CFG1_PORT_FEC_AN_MODE_OFFSET 20
+               #define NVM_CFG1_PORT_FEC_AN_MODE_NONE 0x0
+               #define NVM_CFG1_PORT_FEC_AN_MODE_10G_FIRECODE 0x1
+               #define NVM_CFG1_PORT_FEC_AN_MODE_25G_FIRECODE 0x2
+               #define NVM_CFG1_PORT_FEC_AN_MODE_10G_AND_25G_FIRECODE 0x3
+               #define NVM_CFG1_PORT_FEC_AN_MODE_25G_RS 0x4
+               #define NVM_CFG1_PORT_FEC_AN_MODE_25G_FIRECODE_AND_RS 0x5
+               #define NVM_CFG1_PORT_FEC_AN_MODE_ALL 0x6
+               #define NVM_CFG1_PORT_SMARTLINQ_MODE_MASK 0x00800000
+               #define NVM_CFG1_PORT_SMARTLINQ_MODE_OFFSET 23
+               #define NVM_CFG1_PORT_SMARTLINQ_MODE_DISABLED 0x0
+               #define NVM_CFG1_PORT_SMARTLINQ_MODE_ENABLED 0x1
+               #define NVM_CFG1_PORT_RESERVED_WAS_MFW_SMARTLINQ_MASK 0x01000000
+               #define NVM_CFG1_PORT_RESERVED_WAS_MFW_SMARTLINQ_OFFSET 24
+               #define NVM_CFG1_PORT_RESERVED_WAS_MFW_SMARTLINQ_DISABLED 0x0
+               #define NVM_CFG1_PORT_RESERVED_WAS_MFW_SMARTLINQ_ENABLED 0x1
        u32 phy_cfg; /* 0x1C */
                #define NVM_CFG1_PORT_OPTIONAL_LINK_MODES_MASK 0x0000FFFF
                #define NVM_CFG1_PORT_OPTIONAL_LINK_MODES_OFFSET 0
@@ -789,6 +1262,7 @@ struct nvm_cfg1_port {
                #define NVM_CFG1_PORT_EXTERNAL_PHY_TYPE_OFFSET 0
                #define NVM_CFG1_PORT_EXTERNAL_PHY_TYPE_NONE 0x0
                #define NVM_CFG1_PORT_EXTERNAL_PHY_TYPE_BCM8485X 0x1
+               #define NVM_CFG1_PORT_EXTERNAL_PHY_TYPE_BCM5422X 0x2
                #define NVM_CFG1_PORT_EXTERNAL_PHY_ADDRESS_MASK 0x0000FF00
                #define NVM_CFG1_PORT_EXTERNAL_PHY_ADDRESS_OFFSET 8
        /*  EEE power saving mode */
@@ -822,19 +1296,27 @@ struct nvm_cfg1_port {
                #define NVM_CFG1_PORT_PREBOOT_LINK_SPEED_AUTONEG 0x0
                #define NVM_CFG1_PORT_PREBOOT_LINK_SPEED_1G 0x1
                #define NVM_CFG1_PORT_PREBOOT_LINK_SPEED_10G 0x2
+               #define NVM_CFG1_PORT_PREBOOT_LINK_SPEED_20G 0x3
                #define NVM_CFG1_PORT_PREBOOT_LINK_SPEED_25G 0x4
                #define NVM_CFG1_PORT_PREBOOT_LINK_SPEED_40G 0x5
                #define NVM_CFG1_PORT_PREBOOT_LINK_SPEED_50G 0x6
                #define NVM_CFG1_PORT_PREBOOT_LINK_SPEED_BB_100G 0x7
-               #define NVM_CFG1_PORT_PREBOOT_LINK_SPEED_SMARTLINQ 0x8
                #define NVM_CFG1_PORT_RESERVED__M_MBA_BOOT_RETRY_COUNT_MASK \
                        0x00E00000
                #define NVM_CFG1_PORT_RESERVED__M_MBA_BOOT_RETRY_COUNT_OFFSET 21
+               #define NVM_CFG1_PORT_RESERVED_WAS_PREBOOT_SMARTLINQ_MASK \
+                       0x01000000
+               #define NVM_CFG1_PORT_RESERVED_WAS_PREBOOT_SMARTLINQ_OFFSET 24
+               #define NVM_CFG1_PORT_RESERVED_WAS_PREBOOT_SMARTLINQ_DISABLED \
+                       0x0
+               #define NVM_CFG1_PORT_RESERVED_WAS_PREBOOT_SMARTLINQ_ENABLED 0x1
        u32 mba_cfg2; /* 0x2C */
                #define NVM_CFG1_PORT_RESERVED65_MASK 0x0000FFFF
                #define NVM_CFG1_PORT_RESERVED65_OFFSET 0
                #define NVM_CFG1_PORT_RESERVED66_MASK 0x00010000
                #define NVM_CFG1_PORT_RESERVED66_OFFSET 16
+               #define NVM_CFG1_PORT_PREBOOT_LINK_UP_DELAY_MASK 0x01FE0000
+               #define NVM_CFG1_PORT_PREBOOT_LINK_UP_DELAY_OFFSET 17
        u32 vf_cfg; /* 0x30 */
                #define NVM_CFG1_PORT_RESERVED8_MASK 0x0000FFFF
                #define NVM_CFG1_PORT_RESERVED8_OFFSET 0
@@ -850,9 +1332,12 @@ struct nvm_cfg1_port {
                #define NVM_CFG1_PORT_LANE_LED_SPD_2_SEL_OFFSET 16
                #define NVM_CFG1_PORT_LANE_LED_SPD__SEL_1G 0x1
                #define NVM_CFG1_PORT_LANE_LED_SPD__SEL_10G 0x2
-               #define NVM_CFG1_PORT_LANE_LED_SPD__SEL_25G 0x8
-               #define NVM_CFG1_PORT_LANE_LED_SPD__SEL_40G 0x10
-               #define NVM_CFG1_PORT_LANE_LED_SPD__SEL_50G 0x20
+               #define NVM_CFG1_PORT_LANE_LED_SPD__SEL_AH_25G 0x4
+               #define NVM_CFG1_PORT_LANE_LED_SPD__SEL_BB_25G 0x8
+               #define NVM_CFG1_PORT_LANE_LED_SPD__SEL_AH_40G 0x8
+               #define NVM_CFG1_PORT_LANE_LED_SPD__SEL_BB_40G 0x10
+               #define NVM_CFG1_PORT_LANE_LED_SPD__SEL_AH_50G 0x10
+               #define NVM_CFG1_PORT_LANE_LED_SPD__SEL_BB_50G 0x20
                #define NVM_CFG1_PORT_LANE_LED_SPD__SEL_BB_100G 0x40
        u32 transceiver_00; /* 0x40 */
        /*  Define for mapping of transceiver signal module absent */
@@ -958,6 +1443,7 @@ struct nvm_cfg1_port {
                #define NVM_CFG1_PORT_MNM_10G_DRV_SPEED_CAPABILITY_MASK_OFFSET 0
                #define NVM_CFG1_PORT_MNM_10G_DRV_SPEED_CAPABILITY_MASK_1G 0x1
                #define NVM_CFG1_PORT_MNM_10G_DRV_SPEED_CAPABILITY_MASK_10G 0x2
+               #define NVM_CFG1_PORT_MNM_10G_DRV_SPEED_CAPABILITY_MASK_20G 0x4
                #define NVM_CFG1_PORT_MNM_10G_DRV_SPEED_CAPABILITY_MASK_25G 0x8
                #define NVM_CFG1_PORT_MNM_10G_DRV_SPEED_CAPABILITY_MASK_40G 0x10
                #define NVM_CFG1_PORT_MNM_10G_DRV_SPEED_CAPABILITY_MASK_50G 0x20
@@ -969,6 +1455,7 @@ struct nvm_cfg1_port {
                        16
                #define NVM_CFG1_PORT_MNM_10G_MFW_SPEED_CAPABILITY_MASK_1G 0x1
                #define NVM_CFG1_PORT_MNM_10G_MFW_SPEED_CAPABILITY_MASK_10G 0x2
+               #define NVM_CFG1_PORT_MNM_10G_MFW_SPEED_CAPABILITY_MASK_20G 0x4
                #define NVM_CFG1_PORT_MNM_10G_MFW_SPEED_CAPABILITY_MASK_25G 0x8
                #define NVM_CFG1_PORT_MNM_10G_MFW_SPEED_CAPABILITY_MASK_40G 0x10
                #define NVM_CFG1_PORT_MNM_10G_MFW_SPEED_CAPABILITY_MASK_50G 0x20
@@ -980,21 +1467,21 @@ struct nvm_cfg1_port {
                #define NVM_CFG1_PORT_MNM_10G_DRV_LINK_SPEED_AUTONEG 0x0
                #define NVM_CFG1_PORT_MNM_10G_DRV_LINK_SPEED_1G 0x1
                #define NVM_CFG1_PORT_MNM_10G_DRV_LINK_SPEED_10G 0x2
+               #define NVM_CFG1_PORT_MNM_10G_DRV_LINK_SPEED_20G 0x3
                #define NVM_CFG1_PORT_MNM_10G_DRV_LINK_SPEED_25G 0x4
                #define NVM_CFG1_PORT_MNM_10G_DRV_LINK_SPEED_40G 0x5
                #define NVM_CFG1_PORT_MNM_10G_DRV_LINK_SPEED_50G 0x6
                #define NVM_CFG1_PORT_MNM_10G_DRV_LINK_SPEED_BB_100G 0x7
-               #define NVM_CFG1_PORT_MNM_10G_DRV_LINK_SPEED_SMARTLINQ 0x8
                #define NVM_CFG1_PORT_MNM_10G_MFW_LINK_SPEED_MASK 0x000000F0
                #define NVM_CFG1_PORT_MNM_10G_MFW_LINK_SPEED_OFFSET 4
                #define NVM_CFG1_PORT_MNM_10G_MFW_LINK_SPEED_AUTONEG 0x0
                #define NVM_CFG1_PORT_MNM_10G_MFW_LINK_SPEED_1G 0x1
                #define NVM_CFG1_PORT_MNM_10G_MFW_LINK_SPEED_10G 0x2
+               #define NVM_CFG1_PORT_MNM_10G_MFW_LINK_SPEED_20G 0x3
                #define NVM_CFG1_PORT_MNM_10G_MFW_LINK_SPEED_25G 0x4
                #define NVM_CFG1_PORT_MNM_10G_MFW_LINK_SPEED_40G 0x5
                #define NVM_CFG1_PORT_MNM_10G_MFW_LINK_SPEED_50G 0x6
                #define NVM_CFG1_PORT_MNM_10G_MFW_LINK_SPEED_BB_100G 0x7
-               #define NVM_CFG1_PORT_MNM_10G_MFW_LINK_SPEED_SMARTLINQ 0x8
        /*  This field defines the board technology
         * (backpane,transceiver,external PHY)
        */
@@ -1036,6 +1523,7 @@ struct nvm_cfg1_port {
                #define NVM_CFG1_PORT_MNM_25G_DRV_SPEED_CAPABILITY_MASK_OFFSET 0
                #define NVM_CFG1_PORT_MNM_25G_DRV_SPEED_CAPABILITY_MASK_1G 0x1
                #define NVM_CFG1_PORT_MNM_25G_DRV_SPEED_CAPABILITY_MASK_10G 0x2
+               #define NVM_CFG1_PORT_MNM_25G_DRV_SPEED_CAPABILITY_MASK_20G 0x4
                #define NVM_CFG1_PORT_MNM_25G_DRV_SPEED_CAPABILITY_MASK_25G 0x8
                #define NVM_CFG1_PORT_MNM_25G_DRV_SPEED_CAPABILITY_MASK_40G 0x10
                #define NVM_CFG1_PORT_MNM_25G_DRV_SPEED_CAPABILITY_MASK_50G 0x20
@@ -1047,6 +1535,7 @@ struct nvm_cfg1_port {
                        16
                #define NVM_CFG1_PORT_MNM_25G_MFW_SPEED_CAPABILITY_MASK_1G 0x1
                #define NVM_CFG1_PORT_MNM_25G_MFW_SPEED_CAPABILITY_MASK_10G 0x2
+               #define NVM_CFG1_PORT_MNM_25G_MFW_SPEED_CAPABILITY_MASK_20G 0x4
                #define NVM_CFG1_PORT_MNM_25G_MFW_SPEED_CAPABILITY_MASK_25G 0x8
                #define NVM_CFG1_PORT_MNM_25G_MFW_SPEED_CAPABILITY_MASK_40G 0x10
                #define NVM_CFG1_PORT_MNM_25G_MFW_SPEED_CAPABILITY_MASK_50G 0x20
@@ -1058,21 +1547,21 @@ struct nvm_cfg1_port {
                #define NVM_CFG1_PORT_MNM_25G_DRV_LINK_SPEED_AUTONEG 0x0
                #define NVM_CFG1_PORT_MNM_25G_DRV_LINK_SPEED_1G 0x1
                #define NVM_CFG1_PORT_MNM_25G_DRV_LINK_SPEED_10G 0x2
+               #define NVM_CFG1_PORT_MNM_25G_DRV_LINK_SPEED_20G 0x3
                #define NVM_CFG1_PORT_MNM_25G_DRV_LINK_SPEED_25G 0x4
                #define NVM_CFG1_PORT_MNM_25G_DRV_LINK_SPEED_40G 0x5
                #define NVM_CFG1_PORT_MNM_25G_DRV_LINK_SPEED_50G 0x6
                #define NVM_CFG1_PORT_MNM_25G_DRV_LINK_SPEED_BB_100G 0x7
-               #define NVM_CFG1_PORT_MNM_25G_DRV_LINK_SPEED_SMARTLINQ 0x8
                #define NVM_CFG1_PORT_MNM_25G_MFW_LINK_SPEED_MASK 0x000000F0
                #define NVM_CFG1_PORT_MNM_25G_MFW_LINK_SPEED_OFFSET 4
                #define NVM_CFG1_PORT_MNM_25G_MFW_LINK_SPEED_AUTONEG 0x0
                #define NVM_CFG1_PORT_MNM_25G_MFW_LINK_SPEED_1G 0x1
                #define NVM_CFG1_PORT_MNM_25G_MFW_LINK_SPEED_10G 0x2
+               #define NVM_CFG1_PORT_MNM_25G_MFW_LINK_SPEED_20G 0x3
                #define NVM_CFG1_PORT_MNM_25G_MFW_LINK_SPEED_25G 0x4
                #define NVM_CFG1_PORT_MNM_25G_MFW_LINK_SPEED_40G 0x5
                #define NVM_CFG1_PORT_MNM_25G_MFW_LINK_SPEED_50G 0x6
                #define NVM_CFG1_PORT_MNM_25G_MFW_LINK_SPEED_BB_100G 0x7
-               #define NVM_CFG1_PORT_MNM_25G_MFW_LINK_SPEED_SMARTLINQ 0x8
        /*  This field defines the board technology
         * (backpane,transceiver,external PHY)
        */
@@ -1114,6 +1603,7 @@ struct nvm_cfg1_port {
                #define NVM_CFG1_PORT_MNM_40G_DRV_SPEED_CAPABILITY_MASK_OFFSET 0
                #define NVM_CFG1_PORT_MNM_40G_DRV_SPEED_CAPABILITY_MASK_1G 0x1
                #define NVM_CFG1_PORT_MNM_40G_DRV_SPEED_CAPABILITY_MASK_10G 0x2
+               #define NVM_CFG1_PORT_MNM_40G_DRV_SPEED_CAPABILITY_MASK_20G 0x4
                #define NVM_CFG1_PORT_MNM_40G_DRV_SPEED_CAPABILITY_MASK_25G 0x8
                #define NVM_CFG1_PORT_MNM_40G_DRV_SPEED_CAPABILITY_MASK_40G 0x10
                #define NVM_CFG1_PORT_MNM_40G_DRV_SPEED_CAPABILITY_MASK_50G 0x20
@@ -1125,6 +1615,7 @@ struct nvm_cfg1_port {
                        16
                #define NVM_CFG1_PORT_MNM_40G_MFW_SPEED_CAPABILITY_MASK_1G 0x1
                #define NVM_CFG1_PORT_MNM_40G_MFW_SPEED_CAPABILITY_MASK_10G 0x2
+               #define NVM_CFG1_PORT_MNM_40G_MFW_SPEED_CAPABILITY_MASK_20G 0x4
                #define NVM_CFG1_PORT_MNM_40G_MFW_SPEED_CAPABILITY_MASK_25G 0x8
                #define NVM_CFG1_PORT_MNM_40G_MFW_SPEED_CAPABILITY_MASK_40G 0x10
                #define NVM_CFG1_PORT_MNM_40G_MFW_SPEED_CAPABILITY_MASK_50G 0x20
@@ -1136,21 +1627,21 @@ struct nvm_cfg1_port {
                #define NVM_CFG1_PORT_MNM_40G_DRV_LINK_SPEED_AUTONEG 0x0
                #define NVM_CFG1_PORT_MNM_40G_DRV_LINK_SPEED_1G 0x1
                #define NVM_CFG1_PORT_MNM_40G_DRV_LINK_SPEED_10G 0x2
+               #define NVM_CFG1_PORT_MNM_40G_DRV_LINK_SPEED_20G 0x3
                #define NVM_CFG1_PORT_MNM_40G_DRV_LINK_SPEED_25G 0x4
                #define NVM_CFG1_PORT_MNM_40G_DRV_LINK_SPEED_40G 0x5
                #define NVM_CFG1_PORT_MNM_40G_DRV_LINK_SPEED_50G 0x6
                #define NVM_CFG1_PORT_MNM_40G_DRV_LINK_SPEED_BB_100G 0x7
-               #define NVM_CFG1_PORT_MNM_40G_DRV_LINK_SPEED_SMARTLINQ 0x8
                #define NVM_CFG1_PORT_MNM_40G_MFW_LINK_SPEED_MASK 0x000000F0
                #define NVM_CFG1_PORT_MNM_40G_MFW_LINK_SPEED_OFFSET 4
                #define NVM_CFG1_PORT_MNM_40G_MFW_LINK_SPEED_AUTONEG 0x0
                #define NVM_CFG1_PORT_MNM_40G_MFW_LINK_SPEED_1G 0x1
                #define NVM_CFG1_PORT_MNM_40G_MFW_LINK_SPEED_10G 0x2
+               #define NVM_CFG1_PORT_MNM_40G_MFW_LINK_SPEED_20G 0x3
                #define NVM_CFG1_PORT_MNM_40G_MFW_LINK_SPEED_25G 0x4
                #define NVM_CFG1_PORT_MNM_40G_MFW_LINK_SPEED_40G 0x5
                #define NVM_CFG1_PORT_MNM_40G_MFW_LINK_SPEED_50G 0x6
                #define NVM_CFG1_PORT_MNM_40G_MFW_LINK_SPEED_BB_100G 0x7
-               #define NVM_CFG1_PORT_MNM_40G_MFW_LINK_SPEED_SMARTLINQ 0x8
        /*  This field defines the board technology
         * (backpane,transceiver,external PHY)
        */
@@ -1192,6 +1683,7 @@ struct nvm_cfg1_port {
                #define NVM_CFG1_PORT_MNM_50G_DRV_SPEED_CAPABILITY_MASK_OFFSET 0
                #define NVM_CFG1_PORT_MNM_50G_DRV_SPEED_CAPABILITY_MASK_1G 0x1
                #define NVM_CFG1_PORT_MNM_50G_DRV_SPEED_CAPABILITY_MASK_10G 0x2
+               #define NVM_CFG1_PORT_MNM_50G_DRV_SPEED_CAPABILITY_MASK_20G 0x4
                #define NVM_CFG1_PORT_MNM_50G_DRV_SPEED_CAPABILITY_MASK_25G 0x8
                #define NVM_CFG1_PORT_MNM_50G_DRV_SPEED_CAPABILITY_MASK_40G 0x10
                #define NVM_CFG1_PORT_MNM_50G_DRV_SPEED_CAPABILITY_MASK_50G 0x20
@@ -1204,6 +1696,7 @@ struct nvm_cfg1_port {
                        16
                #define NVM_CFG1_PORT_MNM_50G_MFW_SPEED_CAPABILITY_MASK_1G 0x1
                #define NVM_CFG1_PORT_MNM_50G_MFW_SPEED_CAPABILITY_MASK_10G 0x2
+               #define NVM_CFG1_PORT_MNM_50G_MFW_SPEED_CAPABILITY_MASK_20G 0x4
                #define NVM_CFG1_PORT_MNM_50G_MFW_SPEED_CAPABILITY_MASK_25G 0x8
                #define NVM_CFG1_PORT_MNM_50G_MFW_SPEED_CAPABILITY_MASK_40G 0x10
                #define NVM_CFG1_PORT_MNM_50G_MFW_SPEED_CAPABILITY_MASK_50G 0x20
@@ -1216,21 +1709,21 @@ struct nvm_cfg1_port {
                #define NVM_CFG1_PORT_MNM_50G_DRV_LINK_SPEED_AUTONEG 0x0
                #define NVM_CFG1_PORT_MNM_50G_DRV_LINK_SPEED_1G 0x1
                #define NVM_CFG1_PORT_MNM_50G_DRV_LINK_SPEED_10G 0x2
+               #define NVM_CFG1_PORT_MNM_50G_DRV_LINK_SPEED_20G 0x3
                #define NVM_CFG1_PORT_MNM_50G_DRV_LINK_SPEED_25G 0x4
                #define NVM_CFG1_PORT_MNM_50G_DRV_LINK_SPEED_40G 0x5
                #define NVM_CFG1_PORT_MNM_50G_DRV_LINK_SPEED_50G 0x6
                #define NVM_CFG1_PORT_MNM_50G_DRV_LINK_SPEED_BB_100G 0x7
-               #define NVM_CFG1_PORT_MNM_50G_DRV_LINK_SPEED_SMARTLINQ 0x8
                #define NVM_CFG1_PORT_MNM_50G_MFW_LINK_SPEED_MASK 0x000000F0
                #define NVM_CFG1_PORT_MNM_50G_MFW_LINK_SPEED_OFFSET 4
                #define NVM_CFG1_PORT_MNM_50G_MFW_LINK_SPEED_AUTONEG 0x0
                #define NVM_CFG1_PORT_MNM_50G_MFW_LINK_SPEED_1G 0x1
                #define NVM_CFG1_PORT_MNM_50G_MFW_LINK_SPEED_10G 0x2
+               #define NVM_CFG1_PORT_MNM_50G_MFW_LINK_SPEED_20G 0x3
                #define NVM_CFG1_PORT_MNM_50G_MFW_LINK_SPEED_25G 0x4
                #define NVM_CFG1_PORT_MNM_50G_MFW_LINK_SPEED_40G 0x5
                #define NVM_CFG1_PORT_MNM_50G_MFW_LINK_SPEED_50G 0x6
                #define NVM_CFG1_PORT_MNM_50G_MFW_LINK_SPEED_BB_100G 0x7
-               #define NVM_CFG1_PORT_MNM_50G_MFW_LINK_SPEED_SMARTLINQ 0x8
        /*  This field defines the board technology
         * (backpane,transceiver,external PHY)
        */
@@ -1272,6 +1765,7 @@ struct nvm_cfg1_port {
                #define NVM_CFG1_PORT_MNM_100G_DRV_SPEED_CAP_MASK_OFFSET 0
                #define NVM_CFG1_PORT_MNM_100G_DRV_SPEED_CAP_MASK_1G 0x1
                #define NVM_CFG1_PORT_MNM_100G_DRV_SPEED_CAP_MASK_10G 0x2
+               #define NVM_CFG1_PORT_MNM_100G_DRV_SPEED_CAP_MASK_20G 0x4
                #define NVM_CFG1_PORT_MNM_100G_DRV_SPEED_CAP_MASK_25G 0x8
                #define NVM_CFG1_PORT_MNM_100G_DRV_SPEED_CAP_MASK_40G 0x10
                #define NVM_CFG1_PORT_MNM_100G_DRV_SPEED_CAP_MASK_50G 0x20
@@ -1281,6 +1775,7 @@ struct nvm_cfg1_port {
                #define NVM_CFG1_PORT_MNM_100G_MFW_SPEED_CAP_MASK_OFFSET 16
                #define NVM_CFG1_PORT_MNM_100G_MFW_SPEED_CAP_MASK_1G 0x1
                #define NVM_CFG1_PORT_MNM_100G_MFW_SPEED_CAP_MASK_10G 0x2
+               #define NVM_CFG1_PORT_MNM_100G_MFW_SPEED_CAP_MASK_20G 0x4
                #define NVM_CFG1_PORT_MNM_100G_MFW_SPEED_CAP_MASK_25G 0x8
                #define NVM_CFG1_PORT_MNM_100G_MFW_SPEED_CAP_MASK_40G 0x10
                #define NVM_CFG1_PORT_MNM_100G_MFW_SPEED_CAP_MASK_50G 0x20
@@ -1291,21 +1786,21 @@ struct nvm_cfg1_port {
                #define NVM_CFG1_PORT_MNM_100G_DRV_LINK_SPEED_AUTONEG 0x0
                #define NVM_CFG1_PORT_MNM_100G_DRV_LINK_SPEED_1G 0x1
                #define NVM_CFG1_PORT_MNM_100G_DRV_LINK_SPEED_10G 0x2
+               #define NVM_CFG1_PORT_MNM_100G_DRV_LINK_SPEED_20G 0x3
                #define NVM_CFG1_PORT_MNM_100G_DRV_LINK_SPEED_25G 0x4
                #define NVM_CFG1_PORT_MNM_100G_DRV_LINK_SPEED_40G 0x5
                #define NVM_CFG1_PORT_MNM_100G_DRV_LINK_SPEED_50G 0x6
                #define NVM_CFG1_PORT_MNM_100G_DRV_LINK_SPEED_BB_100G 0x7
-               #define NVM_CFG1_PORT_MNM_100G_DRV_LINK_SPEED_SMARTLINQ 0x8
                #define NVM_CFG1_PORT_MNM_100G_MFW_LINK_SPEED_MASK 0x000000F0
                #define NVM_CFG1_PORT_MNM_100G_MFW_LINK_SPEED_OFFSET 4
                #define NVM_CFG1_PORT_MNM_100G_MFW_LINK_SPEED_AUTONEG 0x0
                #define NVM_CFG1_PORT_MNM_100G_MFW_LINK_SPEED_1G 0x1
                #define NVM_CFG1_PORT_MNM_100G_MFW_LINK_SPEED_10G 0x2
+               #define NVM_CFG1_PORT_MNM_100G_MFW_LINK_SPEED_20G 0x3
                #define NVM_CFG1_PORT_MNM_100G_MFW_LINK_SPEED_25G 0x4
                #define NVM_CFG1_PORT_MNM_100G_MFW_LINK_SPEED_40G 0x5
                #define NVM_CFG1_PORT_MNM_100G_MFW_LINK_SPEED_50G 0x6
                #define NVM_CFG1_PORT_MNM_100G_MFW_LINK_SPEED_BB_100G 0x7
-               #define NVM_CFG1_PORT_MNM_100G_MFW_LINK_SPEED_SMARTLINQ 0x8
        /*  This field defines the board technology
         * (backpane,transceiver,external PHY)
        */
@@ -1341,7 +1836,13 @@ struct nvm_cfg1_port {
                #define NVM_CFG1_PORT_MNM_100G_FEC_FORCE_MODE_FIRECODE 0x1
                #define NVM_CFG1_PORT_MNM_100G_FEC_FORCE_MODE_RS 0x2
                #define NVM_CFG1_PORT_MNM_100G_FEC_FORCE_MODE_AUTO 0x7
-       u32 reserved[116]; /* 0x88 */
+       u32 temperature; /* 0x88 */
+               #define NVM_CFG1_PORT_PHY_MODULE_DEAD_TEMP_TH_MASK 0x000000FF
+               #define NVM_CFG1_PORT_PHY_MODULE_DEAD_TEMP_TH_OFFSET 0
+               #define NVM_CFG1_PORT_PHY_MODULE_ALOM_FAN_ON_TEMP_TH_MASK \
+                       0x0000FF00
+               #define NVM_CFG1_PORT_PHY_MODULE_ALOM_FAN_ON_TEMP_TH_OFFSET 8
+       u32 reserved[115]; /* 0x8C */
 };
 
 struct nvm_cfg1_func {
@@ -1451,12 +1952,18 @@ struct nvm_cfg1_func {
                #define NVM_CFG1_FUNC_PREBOOT_VLAN_VALUE_OFFSET 0
                #define NVM_CFG1_FUNC_PREBOOT_VLAN_MASK 0x00010000
                #define NVM_CFG1_FUNC_PREBOOT_VLAN_OFFSET 16
+               #define NVM_CFG1_FUNC_NPAR_ENABLED_PROTOCOL_MASK 0x001E0000
+               #define NVM_CFG1_FUNC_NPAR_ENABLED_PROTOCOL_OFFSET 17
+               #define NVM_CFG1_FUNC_NPAR_ENABLED_PROTOCOL_ETHERNET 0x1
+               #define NVM_CFG1_FUNC_NPAR_ENABLED_PROTOCOL_FCOE 0x2
+               #define NVM_CFG1_FUNC_NPAR_ENABLED_PROTOCOL_ISCSI 0x4
+               #define NVM_CFG1_FUNC_NPAR_ENABLED_PROTOCOL_RDMA 0x8
        u32 reserved[8]; /* 0x30 */
 };
 
 struct nvm_cfg1 {
        struct nvm_cfg1_glob glob; /* 0x0 */
-       struct nvm_cfg1_path path[MCP_GLOB_PATH_MAX]; /* 0x140 */
+       struct nvm_cfg1_path path[MCP_GLOB_PATH_MAX]; /* 0x228 */
        struct nvm_cfg1_port port[MCP_GLOB_PORT_MAX]; /* 0x230 */
        struct nvm_cfg1_func func[MCP_GLOB_FUNC_MAX]; /* 0xB90 */
 };