wlan: extra channel 144 support, FW common

FW common header.
New requirement from customer. CH 144 support.
NV.bin should support CH 144 with NV3 structure.
NV2 CH144 will not be supported and NV2 should support too.

Change-Id: I3fda237114d9beb6903f52f20778526239b7758c
CRs-fixed: 576601
diff --git a/riva/inc/wlan_nv.h b/riva/inc/wlan_nv.h
index e4e9ea7..7f20d33 100755
--- a/riva/inc/wlan_nv.h
+++ b/riva/inc/wlan_nv.h
@@ -111,9 +111,16 @@
 #define NV_VERSION_11N_11AC_COUPER_TYPE    0
 #define NV_VERSION_11N_11AC_FW_CONFIG      1
 #define NV_VERSION_LPDC_FW_CONFIG          2
+#ifdef FEATURE_WLAN_CH144
+#define NV_VERSION_CH144_CONFIG            3
+#endif /* FEATURE_WLAN_CH144 */
 
 #ifdef WCN_PRONTO
+#ifdef FEATURE_WLAN_CH144
+#define WLAN_NV_VERSION     NV_VERSION_CH144_CONFIG
+#else
 #define WLAN_NV_VERSION     NV_VERSION_LPDC_FW_CONFIG
+#endif /* FEATURE_WLAN_CH144 */
 #else //WCN_PRONTO
 #define WLAN_NV_VERSION     NV_VERSION_11N_11AC_FW_CONFIG
 #endif //WCN_PRONTO
@@ -227,95 +234,100 @@
 {
     //2.4GHz Band
     RF_CHAN_1                 = 0,
-    RF_CHAN_2                 = 1,
-    RF_CHAN_3                 = 2,
-    RF_CHAN_4                 = 3,
-    RF_CHAN_5                 = 4,
-    RF_CHAN_6                 = 5,
-    RF_CHAN_7                 = 6,
-    RF_CHAN_8                 = 7,
-    RF_CHAN_9                 = 8,
-    RF_CHAN_10                = 9,
-    RF_CHAN_11                = 10,
-    RF_CHAN_12                = 11,
-    RF_CHAN_13                = 12,
-    RF_CHAN_14                = 13,
+    RF_CHAN_2,
+    RF_CHAN_3,
+    RF_CHAN_4,
+    RF_CHAN_5,
+    RF_CHAN_6,
+    RF_CHAN_7,
+    RF_CHAN_8,
+    RF_CHAN_9,
+    RF_CHAN_10,
+    RF_CHAN_11,
+    RF_CHAN_12,
+    RF_CHAN_13,
+    RF_CHAN_14,
 
     //4.9GHz Band
-    RF_CHAN_240               = 14,
-    RF_CHAN_244               = 15,
-    RF_CHAN_248               = 16,
-    RF_CHAN_252               = 17,
-    RF_CHAN_208               = 18,
-    RF_CHAN_212               = 19,
-    RF_CHAN_216               = 20,
+    RF_CHAN_240,
+    RF_CHAN_244,
+    RF_CHAN_248,
+    RF_CHAN_252,
+    RF_CHAN_208,
+    RF_CHAN_212,
+    RF_CHAN_216,
 
     //5GHz Low & Mid U-NII Band
-    RF_CHAN_36                = 21,
-    RF_CHAN_40                = 22,
-    RF_CHAN_44                = 23,
-    RF_CHAN_48                = 24,
-    RF_CHAN_52                = 25,
-    RF_CHAN_56                = 26,
-    RF_CHAN_60                = 27,
-    RF_CHAN_64                = 28,
+    RF_CHAN_36,
+    RF_CHAN_40,
+    RF_CHAN_44,
+    RF_CHAN_48,
+    RF_CHAN_52,
+    RF_CHAN_56,
+    RF_CHAN_60,
+    RF_CHAN_64,
 
     //5GHz Mid Band - ETSI & FCC
-    RF_CHAN_100               = 29,
-    RF_CHAN_104               = 30,
-    RF_CHAN_108               = 31,
-    RF_CHAN_112               = 32,
-    RF_CHAN_116               = 33,
-    RF_CHAN_120               = 34,
-    RF_CHAN_124               = 35,
-    RF_CHAN_128               = 36,
-    RF_CHAN_132               = 37,
-    RF_CHAN_136               = 38,
-    RF_CHAN_140               = 39,
-
+    RF_CHAN_100,
+    RF_CHAN_104,
+    RF_CHAN_108,
+    RF_CHAN_112,
+    RF_CHAN_116,
+    RF_CHAN_120,
+    RF_CHAN_124,
+    RF_CHAN_128,
+    RF_CHAN_132,
+    RF_CHAN_136,
+    RF_CHAN_140,
+#ifdef FEATURE_WLAN_CH144
+    RF_CHAN_144,
+#endif /* FEATURE_WLAN_CH144 */
     //5GHz High U-NII Band
-    RF_CHAN_149               = 40,
-    RF_CHAN_153               = 41,
-    RF_CHAN_157               = 42,
-    RF_CHAN_161               = 43,
-    RF_CHAN_165               = 44,
+    RF_CHAN_149,
+    RF_CHAN_153,
+    RF_CHAN_157,
+    RF_CHAN_161,
+    RF_CHAN_165,
 
     //CHANNEL BONDED CHANNELS
-    RF_CHAN_BOND_3            = 45,
-    RF_CHAN_BOND_4            = 46,
-    RF_CHAN_BOND_5            = 47,
-    RF_CHAN_BOND_6            = 48,
-    RF_CHAN_BOND_7            = 49,
-    RF_CHAN_BOND_8            = 50,
-    RF_CHAN_BOND_9            = 51,
-    RF_CHAN_BOND_10           = 52,
-    RF_CHAN_BOND_11           = 53,
-    RF_CHAN_BOND_242          = 54,    //4.9GHz Band
-    RF_CHAN_BOND_246          = 55,
-    RF_CHAN_BOND_250          = 56,
-    RF_CHAN_BOND_210          = 57,
-    RF_CHAN_BOND_214          = 58,
-    RF_CHAN_BOND_38           = 59,    //5GHz Low & Mid U-NII Band
-    RF_CHAN_BOND_42           = 60,
-    RF_CHAN_BOND_46           = 61,
-    RF_CHAN_BOND_50           = 62,
-    RF_CHAN_BOND_54           = 63,
-    RF_CHAN_BOND_58           = 64,
-    RF_CHAN_BOND_62           = 65,
-    RF_CHAN_BOND_102          = 66,    //5GHz Mid Band - ETSI & FCC
-    RF_CHAN_BOND_106          = 67,
-    RF_CHAN_BOND_110          = 68,
-    RF_CHAN_BOND_114          = 69,
-    RF_CHAN_BOND_118          = 70,
-    RF_CHAN_BOND_122          = 71,
-    RF_CHAN_BOND_126          = 72,
-    RF_CHAN_BOND_130          = 73,
-    RF_CHAN_BOND_134          = 74,
-    RF_CHAN_BOND_138          = 75,
-    RF_CHAN_BOND_151          = 76,    //5GHz High U-NII Band
-    RF_CHAN_BOND_155          = 77,
-    RF_CHAN_BOND_159          = 78,
-    RF_CHAN_BOND_163          = 79,
+    RF_CHAN_BOND_3,
+    RF_CHAN_BOND_4,
+    RF_CHAN_BOND_5,
+    RF_CHAN_BOND_6,
+    RF_CHAN_BOND_7,
+    RF_CHAN_BOND_8,
+    RF_CHAN_BOND_9,
+    RF_CHAN_BOND_10,
+    RF_CHAN_BOND_11,
+    RF_CHAN_BOND_242,    //4.9GHz Band
+    RF_CHAN_BOND_246,
+    RF_CHAN_BOND_250,
+    RF_CHAN_BOND_210,
+    RF_CHAN_BOND_214,
+    RF_CHAN_BOND_38,    //5GHz Low & Mid U-NII Band
+    RF_CHAN_BOND_42,
+    RF_CHAN_BOND_46,
+    RF_CHAN_BOND_50,
+    RF_CHAN_BOND_54,
+    RF_CHAN_BOND_58,
+    RF_CHAN_BOND_62,
+    RF_CHAN_BOND_102,    //5GHz Mid Band - ETSI & FCC
+    RF_CHAN_BOND_106,
+    RF_CHAN_BOND_110,
+    RF_CHAN_BOND_114,
+    RF_CHAN_BOND_118,
+    RF_CHAN_BOND_122,
+    RF_CHAN_BOND_126,
+    RF_CHAN_BOND_130,
+    RF_CHAN_BOND_134,
+    RF_CHAN_BOND_138,
+#ifdef FEATURE_WLAN_CH144
+    RF_CHAN_BOND_142,
+#endif /* FEATURE_WLAN_CH144 */
+    RF_CHAN_BOND_151,    //5GHz High U-NII Band
+    RF_CHAN_BOND_155,
+    RF_CHAN_BOND_159,
+    RF_CHAN_BOND_163,
 
     NUM_RF_CHANNELS,
 
@@ -414,13 +426,14 @@
 
 #define HW_CAL_VALUES_VALID_BMAP_UNUSED                             0   //Value
 //Bit mask
-#define HW_VAL_VALUES_VALID_BMAP_SLEEP_TIME_OVERHEAD_2G_MASK        0x1
-#define HW_VAL_VALUES_VALID_BMAP_SLEEP_TIME_OVERHEAD_5G_MASK        0x2
-#define HW_VAL_VALUES_VALID_BMAP_SLEEP_TIME_OVERHEAD_xLNA_5G_MASK   0x4
-#define HW_VAL_VALUES_VALID_TXBBF_SEL_9MHZ_MASK                     0x8
-#define HW_VAL_VALUES_VALID_CUSTOM_TCXO_REG8_MASK                   0x10
-#define HW_VAL_VALUES_VALID_CUSTOM_TCXO_REG9_MASK                   0x20
-
+#define HW_CAL_VALUES_VALID_BMAP_SLEEP_TIME_OVERHEAD_2G_MASK        0x1
+#define HW_CAL_VALUES_VALID_BMAP_SLEEP_TIME_OVERHEAD_5G_MASK        0x2
+#define HW_CAL_VALUES_VALID_BMAP_SLEEP_TIME_OVERHEAD_xLNA_5G_MASK   0x4
+#define HW_CAL_VALUES_VALID_TXBBF_SEL_9MHZ_MASK                     0x8
+#define HW_CAL_VALUES_VALID_CUSTOM_TCXO_REG8_MASK                   0x10
+#define HW_CAL_VALUES_VALID_CUSTOM_TCXO_REG9_MASK                   0x20
+#define HW_CAL_VALUES_VALID_ANTENNA_DIVERSITY_ENABLED_MASK          0x40
+#define HW_CAL_VALUES_VALID_CUSTOM_RC_DELAY_MASK                    0x80
 
 //From wlanfw/inc/halPhyCalMemory.h
 typedef PACKED_PRE struct PACKED_POST
@@ -695,6 +708,16 @@
 #define EXT_PA_CTRL_POLARITY_ZERO      0X1
 #define EXT_PA_CTRL_POLARITY_ONE       0X2
 
+#define GF_TX_PWR_ADJUST_2G_MASK          0XF0000
+#define GF_TX_PWR_ADJUST_2G_OFFSET        16
+#define GF_TX_PWR_ADJUST_5G_LOW_MASK      0XF00000
+#define GF_TX_PWR_ADJUST_5G_LOW_OFFSET    20
+#define GF_TX_PWR_ADJUST_5G_MID_MASK      0XF000000
+#define GF_TX_PWR_ADJUST_5G_MID_OFFSET    24
+#define GF_TX_PWR_ADJUST_5G_HIGH_MASK     0XF0000000
+#define GF_TX_PWR_ADJUST_5G_HIGH_OFFSET   28
+
+
 typedef PACKED_PRE struct PACKED_POST
 {
     uint8 skuID; 
diff --git a/riva/inc/wlan_nv2.h b/riva/inc/wlan_nv2.h
new file mode 100644
index 0000000..93c67ee
--- /dev/null
+++ b/riva/inc/wlan_nv2.h
@@ -0,0 +1,256 @@
+/*
+* Copyright (c) 2013, The Linux Foundation. All rights reserved.
+*
+* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
+*
+*
+* Permission to use, copy, modify, and/or distribute this software for
+* any purpose with or without fee is hereby granted, provided that the
+* above copyright notice and this permission notice appear in all
+* copies.
+*
+* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
+* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+* PERFORMANCE OF THIS SOFTWARE.
+*/
+/*
+  * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
+  *
+  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
+  *
+  *
+  * Permission to use, copy, modify, and/or distribute this software for
+  * any purpose with or without fee is hereby granted, provided that the
+  * above copyright notice and this permission notice appear in all
+  * copies.
+  *
+  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
+  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+  * PERFORMANCE OF THIS SOFTWARE.
+*/
+/**=========================================================================
+Copyright (c) 2013 Qualcomm Technologies, Inc. All Rights Reserved.
+Qualcomm Technologies Proprietary and Confidential.
+  ========================================================================*/
+/** ------------------------------------------------------------------------- *
+* Copyright (c) 2012 Qualcomm Atheros, Inc.
+* All Rights Reserved.
+* Qualcomm Atheros Confidential and Proprietary.
+    ------------------------------------------------------------------------- *
+
+
+    \file wlan_nv2.h
+
+    \brief Types for NV implementation
+           Anything that needs to be publicly available should
+           be in this file
+
+    $Id$
+
+    Copyright (C) 2006 Airgo Networks, Incorporated
+
+
+   ========================================================================== */
+
+#if !defined( __WLAN_NV2_H )
+#define __WLAN_NV2_H
+
+#include "halLegacyPalTypes.h"
+#include "halCompiler.h"
+#include "wlan_nv.h"
+
+/* From here, NV2 No CH144 support reduced structure
+ * This structure will be used for NV2 backward compatibility */
+
+typedef enum
+{
+    //2.4GHz Band
+    RF_CHAN_1_V2                 = 0,
+    RF_CHAN_2_V2                 = 1,
+    RF_CHAN_3_V2                 = 2,
+    RF_CHAN_4_V2                 = 3,
+    RF_CHAN_5_V2                 = 4,
+    RF_CHAN_6_V2                 = 5,
+    RF_CHAN_7_V2                 = 6,
+    RF_CHAN_8_V2                 = 7,
+    RF_CHAN_9_V2                 = 8,
+    RF_CHAN_10_V2                = 9,
+    RF_CHAN_11_V2                = 10,
+    RF_CHAN_12_V2                = 11,
+    RF_CHAN_13_V2                = 12,
+    RF_CHAN_14_V2                = 13,
+
+    //4.9GHz Band
+    RF_CHAN_240_V2               = 14,
+    RF_CHAN_244_V2               = 15,
+    RF_CHAN_248_V2               = 16,
+    RF_CHAN_252_V2               = 17,
+    RF_CHAN_208_V2               = 18,
+    RF_CHAN_212_V2               = 19,
+    RF_CHAN_216_V2               = 20,
+
+    //5GHz Low & Mid U-NII Band
+    RF_CHAN_36_V2                = 21,
+    RF_CHAN_40_V2                = 22,
+    RF_CHAN_44_V2                = 23,
+    RF_CHAN_48_V2                = 24,
+    RF_CHAN_52_V2                = 25,
+    RF_CHAN_56_V2                = 26,
+    RF_CHAN_60_V2                = 27,
+    RF_CHAN_64_V2                = 28,
+
+    //5GHz Mid Band - ETSI & FCC
+    RF_CHAN_100_V2               = 29,
+    RF_CHAN_104_V2               = 30,
+    RF_CHAN_108_V2               = 31,
+    RF_CHAN_112_V2               = 32,
+    RF_CHAN_116_V2               = 33,
+    RF_CHAN_120_V2               = 34,
+    RF_CHAN_124_V2               = 35,
+    RF_CHAN_128_V2               = 36,
+    RF_CHAN_132_V2               = 37,
+    RF_CHAN_136_V2               = 38,
+    RF_CHAN_140_V2               = 39,
+
+    //5GHz High U-NII Band
+    RF_CHAN_149_V2               = 40,
+    RF_CHAN_153_V2               = 41,
+    RF_CHAN_157_V2               = 42,
+    RF_CHAN_161_V2               = 43,
+    RF_CHAN_165_V2               = 44,
+
+    //CHANNEL BONDED CHANNELS
+    RF_CHAN_BOND_3_V2            = 45,
+    RF_CHAN_BOND_4_V2            = 46,
+    RF_CHAN_BOND_5_V2            = 47,
+    RF_CHAN_BOND_6_V2            = 48,
+    RF_CHAN_BOND_7_V2            = 49,
+    RF_CHAN_BOND_8_V2            = 50,
+    RF_CHAN_BOND_9_V2            = 51,
+    RF_CHAN_BOND_10_V2           = 52,
+    RF_CHAN_BOND_11_V2           = 53,
+    RF_CHAN_BOND_242_V2          = 54,    //4.9GHz Band
+    RF_CHAN_BOND_246_V2          = 55,
+    RF_CHAN_BOND_250_V2          = 56,
+    RF_CHAN_BOND_210_V2          = 57,
+    RF_CHAN_BOND_214_V2          = 58,
+    RF_CHAN_BOND_38_V2           = 59,    //5GHz Low & Mid U-NII Band
+    RF_CHAN_BOND_42_V2           = 60,
+    RF_CHAN_BOND_46_V2           = 61,
+    RF_CHAN_BOND_50_V2           = 62,
+    RF_CHAN_BOND_54_V2           = 63,
+    RF_CHAN_BOND_58_V2           = 64,
+    RF_CHAN_BOND_62_V2           = 65,
+    RF_CHAN_BOND_102_V2          = 66,    //5GHz Mid Band - ETSI & FCC
+    RF_CHAN_BOND_106_V2          = 67,
+    RF_CHAN_BOND_110_V2          = 68,
+    RF_CHAN_BOND_114_V2          = 69,
+    RF_CHAN_BOND_118_V2          = 70,
+    RF_CHAN_BOND_122_V2          = 71,
+    RF_CHAN_BOND_126_V2          = 72,
+    RF_CHAN_BOND_130_V2          = 73,
+    RF_CHAN_BOND_134_V2          = 74,
+    RF_CHAN_BOND_138_V2          = 75,
+    RF_CHAN_BOND_151_V2          = 76,    //5GHz High U-NII Band
+    RF_CHAN_BOND_155_V2          = 77,
+    RF_CHAN_BOND_159_V2          = 78,
+    RF_CHAN_BOND_163_V2          = 79,
+
+    NUM_RF_CHANNELS_V2,
+
+    MIN_2_4GHZ_CHANNEL_V2 = RF_CHAN_1_V2,
+    MAX_2_4GHZ_CHANNEL_V2 = RF_CHAN_14_V2,
+
+    MIN_5GHZ_CHANNEL_V2 = RF_CHAN_240_V2,
+    MAX_5GHZ_CHANNEL_V2 = RF_CHAN_165_V2,
+    NUM_5GHZ_CHANNELS_V2 = (MAX_5GHZ_CHANNEL_V2 - MIN_5GHZ_CHANNEL_V2 + 1),
+
+    MIN_20MHZ_RF_CHANNEL_V2 = RF_CHAN_1_V2,
+    MAX_20MHZ_RF_CHANNEL_V2 = RF_CHAN_165_V2,
+    NUM_20MHZ_RF_CHANNELS_V2 = (MAX_20MHZ_RF_CHANNEL_V2 - MIN_20MHZ_RF_CHANNEL_V2 + 1),
+
+    MIN_40MHZ_RF_CHANNEL_V2 = RF_CHAN_BOND_3_V2,
+    MAX_40MHZ_RF_CHANNEL_V2 = RF_CHAN_BOND_163_V2,
+    NUM_40MHZ_RF_CHANNELS_V2 = (MAX_40MHZ_RF_CHANNEL_V2 - MIN_40MHZ_RF_CHANNEL_V2 + 1),
+
+    MIN_CB_2_4GHZ_CHANNEL_V2 = RF_CHAN_BOND_3_V2,
+    MAX_CB_2_4GHZ_CHANNEL_V2 = RF_CHAN_BOND_11_V2,
+
+    MIN_CB_5GHZ_CHANNEL_V2 = RF_CHAN_BOND_242_V2,
+    MAX_CB_5GHZ_CHANNEL_V2 = RF_CHAN_BOND_163_V2,
+
+    NUM_TPC_2_4GHZ_CHANNELS_V2 = 14,
+    NUM_TPC_5GHZ_CHANNELS_V2 = NUM_5GHZ_CHANNELS_V2,
+
+    INVALID_RF_CHANNEL_V2 = 0xBAD,
+    RF_CHANNEL_INVALID_MAX_FIELD_V2 = 0x7FFFFFFF  /* define as 4 bytes data */
+}eRfChannelsV2;
+
+typedef PACKED_PRE struct PACKED_POST
+{
+    sRegulatoryChannel channels[NUM_RF_CHANNELS_V2];
+    uAbsPwrPrecision antennaGain[NUM_RF_SUBBANDS];
+    uAbsPwrPrecision bRatePowerOffset[NUM_2_4GHZ_CHANNELS];
+    uAbsPwrPrecision gnRatePowerOffset[NUM_RF_CHANNELS_V2];
+}ALIGN_4 sRegulatoryDomainsV2;
+
+typedef PACKED_PRE struct PACKED_POST
+{
+    int16 bRssiOffset[NUM_RF_CHANNELS_V2];
+    int16 gnRssiOffset[NUM_RF_CHANNELS_V2];
+}ALIGN_4 sRssiChannelOffsetsV2;
+
+typedef PACKED_PRE union PACKED_POST
+{
+    tRateGroupPwr        pwrOptimum[NUM_RF_SUBBANDS];                         // NV_TABLE_RATE_POWER_SETTINGS
+    sRegulatoryDomainsV2   regDomains[NUM_REG_DOMAINS];                         // NV_TABLE_REGULATORY_DOMAINS
+    sDefaultCountry      defaultCountryTable;                                 // NV_TABLE_DEFAULT_COUNTRY
+    tTpcPowerTable       plutCharacterized[NUM_RF_CHANNELS_V2];                  // NV_TABLE_TPC_POWER_TABLE
+    int16             plutPdadcOffset[NUM_RF_CHANNELS_V2];                       // NV_TABLE_TPC_PDADC_OFFSETS
+    tRateGroupPwrVR      pwrOptimum_virtualRate[NUM_RF_SUBBANDS];             // NV_TABLE_VIRTUAL_RATE
+    sFwConfig            fwConfig;                                             // NV_TABLE_FW_CONFIG
+    sRssiChannelOffsetsV2  rssiChanOffsets[2];                                  // NV_TABLE_RSSI_CHANNEL_OFFSETS
+    sHwCalValues         hwCalValues;                                         // NV_TABLE_HW_CAL_VALUES
+    int16             antennaPathLoss[NUM_RF_CHANNELS_V2];                    // NV_TABLE_ANTENNA_PATH_LOSS
+    int16             pktTypePwrLimits[NUM_802_11_MODES][NUM_RF_CHANNELS_V2]; // NV_TABLE_PACKET_TYPE_POWER_LIMITS
+    sOfdmCmdPwrOffset    ofdmCmdPwrOffset;                                    // NV_TABLE_OFDM_CMD_PWR_OFFSET
+    sTxBbFilterMode      txbbFilterMode;                                      // NV_TABLE_TX_BB_FILTER_MODE
+}ALIGN_4 uNvTablesV2;
+
+typedef PACKED_PRE struct PACKED_POST
+{
+    tRateGroupPwr        pwrOptimum[NUM_RF_SUBBANDS];                         // NV_TABLE_RATE_POWER_SETTINGS
+    sRegulatoryDomainsV2   regDomains[NUM_REG_DOMAINS];                         // NV_TABLE_REGULATORY_DOMAINS
+    sDefaultCountry      defaultCountryTable;                                 // NV_TABLE_DEFAULT_COUNTRY
+    tTpcPowerTable       plutCharacterized[NUM_RF_CHANNELS_V2];                  // NV_TABLE_TPC_POWER_TABLE
+    int16             plutPdadcOffset[NUM_RF_CHANNELS_V2];                    // NV_TABLE_TPC_PDADC_OFFSETS
+    tRateGroupPwrVR      pwrOptimum_virtualRate[NUM_RF_SUBBANDS];             // NV_TABLE_VIRTUAL_RATE
+    sFwConfig           fwConfig;                                              // NV_TABLE_FW_CONFIG
+    sRssiChannelOffsetsV2  rssiChanOffsets[2];                                  // NV_TABLE_RSSI_CHANNEL_OFFSETS
+    sHwCalValues         hwCalValues;                                         // NV_TABLE_HW_CAL_VALUES
+    int16             antennaPathLoss[NUM_RF_CHANNELS_V2];                    // NV_TABLE_ANTENNA_PATH_LOSS
+    int16             pktTypePwrLimits[NUM_802_11_MODES][NUM_RF_CHANNELS_V2]; // NV_TABLE_PACKET_TYPE_POWER_LIMITS
+    sOfdmCmdPwrOffset    ofdmCmdPwrOffset;                                    // NV_TABLE_OFDM_CMD_PWR_OFFSET
+    sTxBbFilterMode      txbbFilterMode;                                      // NV_TABLE_TX_BB_FILTER_MODE
+}ALIGN_4 sNvTablesV2;
+
+typedef PACKED_PRE struct PACKED_POST
+{
+    sNvFields fields;
+    sNvTablesV2 tables;
+}ALIGN_4 sHalNvV2;
+
+extern const sHalNvV2 nvDefaultsV2;
+
+#endif
+