wlan: Update the interface files for prima/pronto.

The wlan driver fails to load due to the recent changes in the
firmware api folder. Update the interface files for both
prima and pronto.

Change-Id: I39c13313c3594c43719d2208a94f7aeb833c09bf
CRs-Fixed: 503052
diff --git a/CORE/HDD/src/wlan_hdd_ftm.c b/CORE/HDD/src/wlan_hdd_ftm.c
index 35401d0..5ba3e52 100644
--- a/CORE/HDD/src/wlan_hdd_ftm.c
+++ b/CORE/HDD/src/wlan_hdd_ftm.c
@@ -2085,22 +2085,22 @@
          /* If Last byte is larger than 252 (0xFC), return Error,
           * Since 3MACs should be derived from first MAC */
          if(QWLAN_MAX_MAC_LAST_BYTE_VALUE <
-            nvField->fieldData.macAddr[VOS_MAC_ADDRESS_LEN - 1])
+            nvField->fieldData.macAddr.macAddr1[VOS_MAC_ADDRESS_LEN - 1])
          {
             VOS_TRACE( VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_ERROR,
                        "Last Byte of the seed MAC is too large 0x%x",
-                        nvField->fieldData.macAddr[VOS_MAC_ADDRESS_LEN - 1]);
+                        nvField->fieldData.macAddr.macAddr1[VOS_MAC_ADDRESS_LEN - 1]);
             return -EILSEQ;
          }
 
          pNVMac = (v_U8_t *)nvContents->fields.macAddr;
-         lastByteMAC = nvField->fieldData.macAddr[VOS_MAC_ADDRESS_LEN - 1];
+         lastByteMAC = nvField->fieldData.macAddr.macAddr1[VOS_MAC_ADDRESS_LEN - 1];
          for(macLoop = 0; macLoop < VOS_MAX_CONCURRENCY_PERSONA; macLoop++)
          {
-            nvField->fieldData.macAddr[VOS_MAC_ADDRESS_LEN - 1] =
+            nvField->fieldData.macAddr.macAddr1[VOS_MAC_ADDRESS_LEN - 1] =
                                                lastByteMAC + macLoop;
             vos_mem_copy(pNVMac + (macLoop * NV_FIELD_MAC_ADDR_SIZE),
-                         &nvField->fieldData.macAddr[0],
+                         &nvField->fieldData.macAddr.macAddr1[0],
                          NV_FIELD_MAC_ADDR_SIZE);
          }
          break;
@@ -3719,7 +3719,7 @@
     VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "MacAddress = %02x:%02x:%02x:%02x:%02x:%02x",MAC_ADDR_ARRAY(macAddr));
 
 
-    pMacAddress = &pMsgBody->SetNvField.fieldData.macAddr[0];
+    pMacAddress = &pMsgBody->SetNvField.fieldData.macAddr.macAddr1[0];
 
     for(ii = 0; ii < VOS_MAC_ADDRESS_LEN; ii++)
        pMacAddress[ii] = (v_U8_t)macAddr[ii];
diff --git a/riva/inc/pttModule.h b/riva/inc/pttModule.h
index bfc60a5..9056b7c 100644
--- a/riva/inc/pttModule.h
+++ b/riva/inc/pttModule.h
@@ -138,6 +138,20 @@
    tTxChainPower txChains[PHY_MAX_TX_CHAINS];   //output power for Tx chains
 } tTxPowerReport;
 
+#define RXP_MAX_FILTER_IDX                64
+
+typedef PACKED_PRE struct PACKED_POST
+{
+   uint32 rxpFilterForFTMPER[RXP_MAX_FILTER_IDX];
+   uint32 max_pktlen;
+   uint32 flt_disable0;
+   uint32 flt_disable1;
+   uint32 config2;
+   uint32 push_wq_ctrl;
+   uint32 push_wq_ctrl2;
+   uint32 extra_frame_flt;
+} sMACConfig;
+
 
 typedef PACKED_PRE struct PACKED_POST {
    /*
@@ -165,7 +179,7 @@
    // for FTM PER feature
    tANI_U8 tx_mode;
    
-   tANI_U8 reserved[1];
+   tANI_BOOLEAN ftm_per_settings_saved;
 
    //Rx Gain Service
    sRxChainsAgcEnable agcEnables;
@@ -177,4 +191,8 @@
    sRxChainsRssi rssi;
 } tPttModuleVariables;
 
+#ifdef WCN_PRONTO
+extern sMACConfig macConfig;
+#endif
+
 #endif /* PTTMODULE_H */
diff --git a/riva/inc/wlan_hal_cfg.h b/riva/inc/wlan_hal_cfg.h
index 4b45abb..f100a27 100644
--- a/riva/inc/wlan_hal_cfg.h
+++ b/riva/inc/wlan_hal_cfg.h
@@ -99,28 +99,28 @@
 #define QWLAN_HAL_CFG_RPE_AGING_THRESHOLD_FOR_AC3_REG    46
 #define QWLAN_HAL_CFG_NO_OF_ONCHIP_REORDER_SESSIONS      47
 #define QWLAN_HAL_CFG_PS_LISTEN_INTERVAL                 48
-#define QWLAN_HAL_CFG_PS_HEART_BEAT_THRESHOLD            49 
-#define QWLAN_HAL_CFG_PS_NTH_BEACON_FILTER               50 
-#define QWLAN_HAL_CFG_PS_MAX_PS_POLL                     51 
+#define QWLAN_HAL_CFG_PS_HEART_BEAT_THRESHOLD            49
+#define QWLAN_HAL_CFG_PS_NTH_BEACON_FILTER               50
+#define QWLAN_HAL_CFG_PS_MAX_PS_POLL                     51
 #define QWLAN_HAL_CFG_PS_MIN_RSSI_THRESHOLD              52
-#define QWLAN_HAL_CFG_PS_RSSI_FILTER_PERIOD              53 
+#define QWLAN_HAL_CFG_PS_RSSI_FILTER_PERIOD              53
 #define QWLAN_HAL_CFG_PS_BROADCAST_FRAME_FILTER_ENABLE   54
 #define QWLAN_HAL_CFG_PS_IGNORE_DTIM                     55
 #define QWLAN_HAL_CFG_PS_ENABLE_BCN_EARLY_TERM           56
 #define QWLAN_HAL_CFG_DYNAMIC_PS_POLL_VALUE              57
-#define QWLAN_HAL_CFG_PS_NULLDATA_AP_RESP_TIMEOUT        58 
+#define QWLAN_HAL_CFG_PS_NULLDATA_AP_RESP_TIMEOUT        58
 #define QWLAN_HAL_CFG_TELE_BCN_WAKEUP_EN                 59
 #define QWLAN_HAL_CFG_TELE_BCN_TRANS_LI                  60
 #define QWLAN_HAL_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS        61
 #define QWLAN_HAL_CFG_TELE_BCN_MAX_LI                    62
 #define QWLAN_HAL_CFG_TELE_BCN_MAX_LI_IDLE_BCNS          63
 #define QWLAN_HAL_CFG_TX_PWR_CTRL_ENABLE                 64
-#define QWLAN_HAL_CFG_VALID_RADAR_CHANNEL_LIST           65 
-#define QWLAN_HAL_CFG_TX_POWER_24_20                     66 
+#define QWLAN_HAL_CFG_VALID_RADAR_CHANNEL_LIST           65
+#define QWLAN_HAL_CFG_TX_POWER_24_20                     66
 #define QWLAN_HAL_CFG_TX_POWER_24_40                     67
 #define QWLAN_HAL_CFG_TX_POWER_50_20                     68
 #define QWLAN_HAL_CFG_TX_POWER_50_40                     69
-#define QWLAN_HAL_CFG_MCAST_BCAST_FILTER_SETTING         70 
+#define QWLAN_HAL_CFG_MCAST_BCAST_FILTER_SETTING         70
 #define QWLAN_HAL_CFG_BCN_EARLY_TERM_WAKEUP_INTERVAL     71
 #define QCOM_WLAN_CFG_MAX_TX_POWER_2_4                   72
 #define QCOM_WLAN_CFG_MAX_TX_POWER_5                     73
@@ -155,16 +155,22 @@
 #define QWLAN_HAL_CFG_AP_LINK_MONITOR_TIMEOUT           102
 #define QWLAN_HAL_CFG_BTC_DWELL_TIME_MULTIPLIER         103
 #define QWLAN_HAL_CFG_ENABLE_TDLS_OXYGEN_MODE           104
+#define QWLAN_HAL_CFG_ENABLE_NAT_KEEP_ALIVE_FILTER      105
+#define QWLAN_HAL_CFG_ENABLE_SAP_OBSS_PROT              106
+#define QWLAN_HAL_CFG_PSPOLL_DATA_RECEP_TIMEOUT         107
 #define QWLAN_HAL_CFG_TDLS_PUAPSD_BUFFER_STA_CAPABLE    108
 #define QWLAN_HAL_CFG_TDLS_PUAPSD_MASK                  109
 #define QWLAN_HAL_CFG_TDLS_PUAPSD_INACTIVITY_TIME       110
 #define QWLAN_HAL_CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_IN_SP 111
-#define QWLAN_HAL_CFG_MAX_PARAMS                        112
+#define QWLAN_HAL_CFG_ANTENNA_DIVERSITY                 112
+#define QWLAN_HAL_CFG_ATH_DISABLE                       113
+#define QWLAN_HAL_CFG_MAX_PARAMS                        114
+
 
 
 
 /* Total number of Integer CFGs. This is used while allocating the memory for TLV */
-#define QWLAN_HAL_CFG_INTEGER_PARAM                      100
+#define QWLAN_HAL_CFG_INTEGER_PARAM                      114
 
 
 /*-------------------------------------------------------------------------
@@ -443,7 +449,7 @@
 
 
 
-/* ACM, AIFSN, [CWmin, CWmax, TxOp]-11A/11B/11G 
+/* ACM, AIFSN, [CWmin, CWmax, TxOp]-11A/11B/11G
  * Cwmin and Cwmax are two bytes each, MSB first. So Cwmax of [03 FF] is
  * equivalent to 0x03ff = 1023*/
 #define QWLAN_HAL_CFG_EDCA_PROFILE_ACM_IDX       0   /* byte[0] */
@@ -453,7 +459,7 @@
 #define QWLAN_HAL_CFG_EDCA_PROFILE_TXOPA_IDX     6   /* byte[6] */
 #define QWLAN_HAL_CFG_EDCA_PROFILE_CWMINB_IDX    7   /* byte[7] & byte [8]   */
 #define QWLAN_HAL_CFG_EDCA_PROFILE_CWMAXB_IDX    9   /* byte[9] & byte [10]  */
-#define QWLAN_HAL_CFG_EDCA_PROFILE_TXOPB_IDX     11  /* byte[11]*/  
+#define QWLAN_HAL_CFG_EDCA_PROFILE_TXOPB_IDX     11  /* byte[11]*/
 #define QWLAN_HAL_CFG_EDCA_PROFILE_CWMING_IDX    12  /* byte[12] & byte [13] */
 #define QWLAN_HAL_CFG_EDCA_PROFILE_CWMAXG_IDX    14  /* byte[14] & byte [15] */
 #define QWLAN_HAL_CFG_EDCA_PROFILE_TXOPG_IDX     16  /* byte[16]*/
@@ -585,24 +591,24 @@
 #define QWLAN_HAL_CFG_RADAR_CHANNEL_LIST_LEN    20
 
 /* QWLAN_HAL_CFG_TX_POWER_24_20 */
-#define QWLAN_WLAN_TX_POWER_24_20_DEFAULT    299 
-#define QWLAN_WLAN_TX_POWER_24_20_MIN        299 
-#define QWLAN_WLAN_TX_POWER_24_20_MAX        299 
+#define QWLAN_WLAN_TX_POWER_24_20_DEFAULT    299
+#define QWLAN_WLAN_TX_POWER_24_20_MIN        299
+#define QWLAN_WLAN_TX_POWER_24_20_MAX        299
 
 /* QWLAN_HAL_CFG_TX_POWER_24_40 */
 #define QWLAN_WLAN_TX_POWER_24_40_DEFAULT    300
-#define QWLAN_WLAN_TX_POWER_24_40_MIN        299 
-#define QWLAN_WLAN_TX_POWER_24_40_MAX        299 
+#define QWLAN_WLAN_TX_POWER_24_40_MIN        299
+#define QWLAN_WLAN_TX_POWER_24_40_MAX        299
 
 /* QWLAN_HAL_CFG_TX_POWER_50_20 */
 #define QWLAN_WLAN_TX_POWER_50_20_DEFAULT    301
-#define QWLAN_WLAN_TX_POWER_50_20_MIN        299 
-#define QWLAN_WLAN_TX_POWER_50_20_MAX        299 
+#define QWLAN_WLAN_TX_POWER_50_20_MIN        299
+#define QWLAN_WLAN_TX_POWER_50_20_MAX        299
 
 /* QWLAN_HAL_CFG_TX_POWER_50_40 */
 #define QWLAN_WLAN_TX_POWER_50_40_DEFAULT    302
-#define QWLAN_WLAN_TX_POWER_50_40_MIN        299 
-#define QWLAN_WLAN_TX_POWER_50_40_MAX        299 
+#define QWLAN_WLAN_TX_POWER_50_40_MIN        299
+#define QWLAN_WLAN_TX_POWER_50_40_MAX        299
 
 /* QCOM_WLAN_CFG_MAX_TX_POWER_2_4 */
 #define QCOM_WLAN_CFG_MAX_TX_POWER_2_4_LEN      128
@@ -760,6 +766,26 @@
 #define QWLAN_HAL_CFG_BTC_DWELL_TIME_MULTIPLIER_MAX    300
 #define QWLAN_HAL_CFG_BTC_DWELL_TIME_MULTIPLIER_DEF    300
 
+/* QWLAN_HAL_CFG_ENABLE_TDLS_OXYGEN_MODE */
+#define QWLAN_HAL_CFG_ENABLE_TDLS_OXYGEN_MODE_MIN    0
+#define QWLAN_HAL_CFG_ENABLE_TDLS_OXYGEN_MODE_MAX    1
+#define QWLAN_HAL_CFG_ENABLE_TDLS_OXYGEN_MODE_DEF    0
+
+/* QWLAN_HAL_CFG_ENABLE_NAT_KEEP_ALIVE_FILTER */
+#define QWLAN_HAL_CFG_ENABLE_NAT_KEEP_ALIVE_FILTER_MIN   0
+#define QWLAN_HAL_CFG_ENABLE_NAT_KEEP_ALIVE_FILTER_MAX   1
+#define QWLAN_HAL_CFG_ENABLE_NAT_KEEP_ALIVE_FILTER_DEF   0
+
+/* QWLAN_HAL_CFG_ENABLE_SAP_OBSS_PROT */
+#define QWLAN_HAL_CFG_ENABLE_SAP_OBSS_PROT_MIN   0
+#define QWLAN_HAL_CFG_ENABLE_SAP_OBSS_PROT_MAX   1
+#define QWLAN_HAL_CFG_ENABLE_SAP_OBSS_PROT_DEF   0
+
+/* QWLAN_HAL_CFG_PSPOLL_DATA_RECEP_TIMEOUT */
+#define QWLAN_HAL_CFG_PSPOLL_DATA_RECEP_TIMEOUT_STAMIN    1
+#define QWLAN_HAL_CFG_PSPOLL_DATA_RECEP_TIMEOUT_STAMAX    255
+#define QWLAN_HAL_CFG_PSPOLL_DATA_RECEP_TIMEOUT_STADEF    20
+
 /* QWLAN_HAL_CFG_TDLS_PUAPSD_BUFFER_STA_CAPABLE */
 #define QWLAN_HAL_CFG_TDLS_PUAPSD_BUFFER_STA_CAPABLE_MIN    0
 #define QWLAN_HAL_CFG_TDLS_PUAPSD_BUFFER_STA_CAPABLE_MAX    1
@@ -780,7 +806,14 @@
 #define QWLAN_HAL_CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_IN_SP_MAX    20
 #define QWLAN_HAL_CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_IN_SP_DEF    10
 
+/* QWLAN_HAL_CFG_ANTENNA_DIVERSITY */
+#define QWLAN_HAL_CFG_ANTENNA_DIVERSITY_DEF  0
+#define QWLAN_HAL_CFG_ANTENNA_DIVERSITY_MIN  0
+#define QWLAN_HAL_CFG_ANTENNA_DIVERSITY_MAX  3
 
+#define QWLAN_HAL_CFG_ATH_DEF   0
+#define QWLAN_HAL_CFG_ATH_MIN   0
+#define QWLAN_HAL_CFG_ATH_MAX   1
 #endif //__WLAN_HAL_CFG_H__
 
 
diff --git a/riva/inc/wlan_hal_msg.h b/riva/inc/wlan_hal_msg.h
index 08503e5..4e360b3 100644
--- a/riva/inc/wlan_hal_msg.h
+++ b/riva/inc/wlan_hal_msg.h
@@ -376,6 +376,11 @@
    WLAN_ROAM_SCAN_OFFLOAD_RSP               = 192,
    WLAN_HAL_WIFI_PROXIMITY_REQ              = 193,
    WLAN_HAL_WIFI_PROXIMITY_RSP              = 194,
+
+   WLAN_HAL_START_SPECULATIVE_PS_POLLS_REQ  = 195,
+   WLAN_HAL_START_SPECULATIVE_PS_POLLS_RSP  = 196,
+   WLAN_HAL_STOP_SPECULATIVE_PS_POLLS_IND   = 197,
+
    WLAN_HAL_TDLS_LINK_ESTABLISHED_REQ       = 198,
    WLAN_HAL_TDLS_LINK_ESTABLISHED_RSP       = 199,
    WLAN_HAL_TDLS_LINK_TEARDOWN_REQ          = 200,
@@ -4761,6 +4766,8 @@
 #define WLAN_COEX_IND_TYPE_ENABLE_HB_MONITOR (1)
 #define WLAN_COEX_IND_TYPE_SCANS_ARE_COMPROMISED_BY_COEX (2)
 #define WLAN_COEX_IND_TYPE_SCANS_ARE_NOT_COMPROMISED_BY_COEX (3)
+#define WLAN_COEX_IND_TYPE_DISABLE_AGGREGATION_IN_2p4 (4)
+#define WLAN_COEX_IND_TYPE_ENABLE_AGGREGATION_IN_2p4 (5)
 
 typedef PACKED_PRE struct PACKED_POST
 {
@@ -4928,7 +4935,10 @@
 /*---------------------------------------------------------------------------
  *PNO Messages
  *-------------------------------------------------------------------------*/
-/*Max number of channels that a network can be found on*/
+/* Max number of channels that a network can be found on*/
+/* WLAN_HAL_PNO_MAX_NETW_CHANNELS and WLAN_HAL_PNO_MAX_NETW_CHANNELS_EX should
+ * be changed at same time
+ */
 #define WLAN_HAL_PNO_MAX_NETW_CHANNELS  60
 
 /*Max number of channels that a network can be found on*/
@@ -4947,7 +4957,9 @@
   Immediate - scanning will start immediately and PNO procedure will
   be repeated based on timer
   Suspend - scanning will start at suspend
-  Resume - scanning will start on system resume*/
+  Resume - scanning will start on system resume
+  Delay - start the scan timer to trigger PNO scan
+  */
 typedef enum
 {
    ePNO_MODE_IMMEDIATE,
@@ -5183,6 +5195,7 @@
   /*Indicates the RSSI */
   tANI_U8     rssi;
 
+  //The MPDU frame length of a beacon or probe rsp. data is the start of the frame
   tANI_U16    frameLength;
 
 } tPrefNetwFoundParams, * tpPrefNetwFoundParams;
@@ -5587,6 +5600,38 @@
  *******************Packet Filtering Definitions End*******************
  *--------------------------------------------------------------------------*/
 
+/*
+ * There are two versions of this message
+ * Version 1         : Base version
+ * Current version   : Base version + Max LI modulated DTIM
+ */
+typedef PACKED_PRE struct PACKED_POST
+{
+   /*  Ignore DTIM */
+  tANI_U32 uIgnoreDTIM;
+
+  /*DTIM Period*/
+  tANI_U32 uDTIMPeriod;
+
+  /* Listen Interval */
+  tANI_U32 uListenInterval;
+
+  /* Broadcast Multicast Filter  */
+  tANI_U32 uBcastMcastFilter;
+
+  /* Beacon Early Termination */
+  tANI_U32 uEnableBET;
+
+  /* Beacon Early Termination Interval */
+  tANI_U32 uBETInterval;
+}tSetPowerParamsVer1Type, *tpSetPowerParamsVer1Type;
+
+typedef PACKED_PRE struct PACKED_POST
+{
+    tHalMsgHeader               header;
+    tSetPowerParamsVer1Type     powerParams;
+} tSetPowerParamsVer1ReqMsg, *tpSetPowerParamsVer1ReqMsg;
+
 typedef PACKED_PRE struct PACKED_POST
 {
    /*  Ignore DTIM */
@@ -5655,7 +5700,9 @@
     RATECTRL           = 21,
     WOW                = 22,
     WLAN_ROAM_SCAN_OFFLOAD = 23,
-    //MAX_FEATURE_SUPPORTED = 128
+    SPECULATIVE_PS_POLL = 24,
+    SCAN_SCH            = 25,
+    MAX_FEATURE_SUPPORTED = 128,
 } placeHolderInCapBitmap;
 
 typedef PACKED_PRE struct PACKED_POST{
@@ -5684,6 +5731,7 @@
                               if ((b)<=127) { \
                                 arr_index = (b)/32; \
                                 bit_index = (b)%32; \
+                                if(arr_index < 4) \
                                 (a)->featCaps[arr_index] |= (1<<bit_index); \
                               } \
                            }
@@ -6000,6 +6048,51 @@
 }  tSetWifiProximityRspMsg, *tpSetWifiProxmityRspMsg;
 
 #endif
+
+#ifdef FEATURE_SPECULATIVE_PS_POLL
+/*---------------------------------------------------------------------------
+ * WLAN_HAL_START_SPECULATIVE_PS_POLLS_REQ
+ *--------------------------------------------------------------------------*/
+typedef PACKED_PRE struct PACKED_POST
+{
+   tANI_U8         bssIdx;
+   tANI_U16 serviceInterval;
+   tANI_U16 suspendInterval;
+   tANI_U8 acMask;
+} tHalStartSpecPsPollReqParams, *tpHalStartSpecPsPollReqParams;
+
+typedef PACKED_PRE struct PACKED_POST
+{
+   tHalMsgHeader header;
+   tHalStartSpecPsPollReqParams specPsPollReq;
+}  tHalStartSpecPsPollReqMsg, *tpHalStartSpecPsPollReqMsg;
+
+/*---------------------------------------------------------------------------
+ * WLAN_HAL_START_SPECULATIVE_PS_POLLS_RSP
+ *--------------------------------------------------------------------------*/
+typedef PACKED_PRE struct PACKED_POST
+{
+    /* success or failure */
+    tANI_U32   status;
+    tANI_U8    bssIdx;
+} tHalStartSpecPsPollRspParams, *tpHalStartSpecPsPollRspParams;
+
+typedef PACKED_PRE struct PACKED_POST
+{
+   tHalMsgHeader header;
+   tHalStartSpecPsPollRspParams startSpecPsPollRspParams;
+}  tHalStartSpecPsPollRspMsg, *tpHalStartSpecPsPollRspMsg;
+
+/*---------------------------------------------------------------------------
+ * WLAN_HAL_STOP_SPECULATIVE_PS_POLLS_IND
+ *--------------------------------------------------------------------------*/
+typedef PACKED_PRE struct PACKED_POST
+{
+   tHalMsgHeader header;
+   tANI_U8     bssIdx;
+}  tHalStopSpecPsPollsIndMsg, *tpHalStopSpecPsPollsIndMsg;
+#endif
+
 #ifdef FEATURE_WLAN_TDLS
 /*---------------------------------------------------------------------------
  * WLAN_HAL_TDLS_LINK_ESTABLISHED_REQ
diff --git a/riva/inc/wlan_nv.h b/riva/inc/wlan_nv.h
index dc765ef..3e71c63 100755
--- a/riva/inc/wlan_nv.h
+++ b/riva/inc/wlan_nv.h
@@ -1,4 +1,24 @@
 /*
+  * 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) 2012 Qualcomm Atheros, Inc.
 * All Rights Reserved.
 * Qualcomm Atheros Confidential and Proprietary.
@@ -98,6 +118,14 @@
 #define WLAN_NV_VERSION     NV_VERSION_11N_11AC_FW_CONFIG
 #endif //WCN_PRONTO
 
+typedef PACKED_PRE struct PACKED_POST
+{
+    uint8   macAddr1[NV_FIELD_MAC_ADDR_SIZE];   /* Default, not change name for compatibility */
+    uint8   macAddr2[NV_FIELD_MAC_ADDR_SIZE];
+    uint8   macAddr3[NV_FIELD_MAC_ADDR_SIZE];
+    uint8   macAddr4[NV_FIELD_MAC_ADDR_SIZE];
+} sMacAddr;
+
 typedef PACKED_PRE union PACKED_POST
 {
     //common NV fields
@@ -106,10 +134,7 @@
     uint8   wlanNvRevId;
     uint8   numOfTxChains;
     uint8   numOfRxChains;
-    uint8   macAddr[NV_FIELD_MAC_ADDR_SIZE];   /* Default, not change name for compatibility */
-    uint8   macAddr2[NV_FIELD_MAC_ADDR_SIZE];
-    uint8   macAddr3[NV_FIELD_MAC_ADDR_SIZE];
-    uint8   macAddr4[NV_FIELD_MAC_ADDR_SIZE];
+    sMacAddr macAddr;
     uint8   mfgSN[NV_FIELD_MFG_SN_SIZE];
     uint8   couplerType;
     uint8   nvVersion;
@@ -627,17 +652,40 @@
     uint8 countryCode[NV_FIELD_COUNTRY_CODE_SIZE];    // string identifier
 }sDefaultCountry;
 
+
+#define GF_PA_BIAS_SELECT_MASK         0X7 //(3 bits)
+#define TSMC_PA_BIAS_SELECT_MASK       0x7 //(3 bits)
+
+#define GF_PA_BIAS_SELECT_1            0X0
+#define GF_PA_BIAS_SELECT_2            0X1
+
+#define TSMC_PA_BIAS_SELECT_1          0X0
+#define TSMC_PA_BIAS_SELECT_2          0X1
+#define TSMC_PA_BIAS_SELECT_3          0x2
+
+
+#define EXT_PA_CTRL_POLARITY_DEFAULT   0X0
+#define EXT_PA_CTRL_POLARITY_VALID     0X80
+
+#define EXT_PA_CTRL0_POLARITY_MASK     0X3
+#define EXT_PA_CTRL0_POLARITY_OFFSET   0X0
+#define EXT_PA_CTRL1_POLARITY_MASK     0XC
+#define EXT_PA_CTRL1_POLARITY_OFFSET   0X2
+
+#define EXT_PA_CTRL_POLARITY_ZERO      0X1
+#define EXT_PA_CTRL_POLARITY_ONE       0X2
+
 typedef PACKED_PRE struct PACKED_POST
 {
     uint8 skuID; 
     uint8 tpcMode2G;
     uint8 tpcMode5G;
-    uint8 reserved1;
+    uint8 configItem1;
 
     uint8 xPA2G;
     uint8 xPA5G;
-    uint8 paPolarityTx;
-    uint8 paPolarityRx;
+    uint8 extPaCtrl0Polarity;
+    uint8 extPaCtrl1Polarity;
 
     uint8 xLNA2G;
     uint8 xLNA5G;
@@ -654,9 +702,9 @@
     uint8 pdadcSelect5GMid;
     uint8 pdadcSelect5GHigh;
 
-    uint32 reserved2;
-    uint32 resreved3;
-    uint32 resreved4;
+    uint32 configItem2;
+    uint32 configItem3;
+    uint32 configItem4;
 }sFwConfig;
 
 
diff --git a/riva/inc/wlan_phy.h b/riva/inc/wlan_phy.h
index c01708e..9fbfea6 100644
--- a/riva/inc/wlan_phy.h
+++ b/riva/inc/wlan_phy.h
@@ -237,11 +237,16 @@
 typedef PACKED_PRE struct PACKED_POST {
     tANI_U8  dpdCalFailCnt;                     //Count for number of times DPD cal failed.
     tANI_U8  dpdCalSuccessCnt;                  //Count for number of times DPD cal passed.
+    tANI_U8  dpdColdBootRepeatCalStatus;
+    tANI_U8  dpdLastIteration;
     tANI_S16 dpd_threshold[DPD_RESPONSE_SIZE];
     tANI_S16 dpd_aoffset[DPD_RESPONSE_SIZE];
     tANI_S16 dpd_again[DPD_RESPONSE_SIZE];
     tANI_S16 dpd_poffset[DPD_RESPONSE_SIZE];
     tANI_S16 dpd_pgain[DPD_RESPONSE_SIZE];
+    tANI_S32 dpd_sample[20];
+    tANI_U8  dpd_try;
+    tANI_U8  band;
 }sDPDcorrectionCalValues;
 
 typedef PACKED_PRE struct PACKED_POST {
diff --git a/riva/inc/wlan_qct_dev_defs.h b/riva/inc/wlan_qct_dev_defs.h
index 918972f..da304a5 100644
--- a/riva/inc/wlan_qct_dev_defs.h
+++ b/riva/inc/wlan_qct_dev_defs.h
@@ -1,43 +1,28 @@
 /*
- * 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) 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) 2012, 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 Qualcomm Atheros, Inc.
+* All Rights Reserved.
+* Qualcomm Atheros Confidential and Proprietary.
+*/
 
 /**
  *
@@ -45,7 +30,7 @@
  *
  *  @brief:        This file contains the hardware related definitions.
  *
- *  Copyright (C)  2008, Qualcomm, Inc. All rights reserved.
+ *  Copyright (C)  2008, Qualcomm Technologies, Inc. All rights reserved.
  */
 
 #ifndef __WLAN_QCT_DEV_DEFS_H
@@ -80,7 +65,7 @@
 
 // For Pronto
 #define HAL_NUM_STA_WITHOUT_VSTA_PRONTO_V1 9
-#define HAL_NUM_STA_WITHOUT_VSTA_PRONTO_V2 (HAL_NUM_STA_WITHOUT_VSTA
+#define HAL_NUM_STA_WITHOUT_VSTA_PRONTO_V2 (HAL_NUM_STA_WITHOUT_VSTA)
 
 #define IS_VSTA_VALID_IDX(__x) \
                           ((__x) != QWLANFW_VSTA_INVALID_IDX)
@@ -154,7 +139,6 @@
  *    1 for reserving an infra peer STA index (hard) for the other interface.
  *    1 for P2P device role.
  */
-
 #ifdef WLAN_SOFTAP_VSTA_FEATURE
 #define HAL_NUM_ASSOC_STA           32
 #define HAL_NUM_STA                 41
@@ -199,6 +183,10 @@
 
 #endif /* WCN_PRONTO */
 
+#ifdef FEATURE_WLAN_TDLS
+#define CXM_TDLS_MAX_NUM_STA            32
+#endif
+
 #define HAL_INVALID_BSSIDX          HAL_NUM_BSSID
 
 #define MAX_NUM_OF_BACKOFFS         8
diff --git a/riva/inc/wlan_status_code.h b/riva/inc/wlan_status_code.h
index accf960..b32e3d0 100644
--- a/riva/inc/wlan_status_code.h
+++ b/riva/inc/wlan_status_code.h
@@ -1,43 +1,28 @@
 /*
- * 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) 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) 2012, 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 Qualcomm Atheros, Inc.
+* All Rights Reserved.
+* Qualcomm Atheros Confidential and Proprietary.
+*/
 
 /*===========================================================================
  *
@@ -47,7 +32,7 @@
  *             All status codes have been consolidated into one enum
  *
  *  @author:   Kumar Anand
- *             Copyright (C) 2010, Qualcomm, Inc.
+ *             Copyright (C) 2010, Qualcomm Technologies, Inc.
  *             All rights reserved.
  *
  *=========================================================================*/
@@ -174,6 +159,15 @@
    /* BSS disconnect status : disassoc */
    eHAL_STATUS_BSS_DISCONN_DISASSOC,
    
+   /* Data abort happened in PHY sw */
+   eHAL_STATUS_PHY_DATA_ABORT,
+
+   /* Invalid NV field  */
+   eHAL_STATUS_PHY_INVALID_NV_FIELD,
+
+   /* WLAN boot test failed */
+   eHAL_STATUS_WLAN_BOOT_TEST_FAILURE,
+
    /* Max status value */
    eHAL_STATUS_MAX_VALUE = WLAN_STATUS_MAX_ENUM_SIZE