wlan: LDPC support for FTM and NV version support
LDPC, NV version, NV table updates
Change-Id: I2ad66897c34806072a797fa8c11b85b9762b2b23
CR-Fixed: 427414, 432766
Conflicts:
prima/riva/inc/wlan_nv.h
diff --git a/riva/inc/wlan_nv.h b/riva/inc/wlan_nv.h
old mode 100644
new mode 100755
index 4ffa207..cb29530
--- a/riva/inc/wlan_nv.h
+++ b/riva/inc/wlan_nv.h
@@ -1,43 +1,8 @@
/*
- * 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.
+*/
/** ------------------------------------------------------------------------- *
------------------------------------------------------------------------- *
@@ -74,6 +39,8 @@
NV_COMMON_MFG_SERIAL_NUMBER, // 5
NV_COMMON_WLAN_NV_REV_ID, // 6
NV_COMMON_COUPLER_TYPE, // 7
+ NV_COMMON_NV_VERSION, // 8
+ NV_COMMON_RESERVED, // 9
NUM_NV_FIELDS,
NV_MAX_FIELD = 0x7FFFFFFF /* define as 4 bytes data */
@@ -93,54 +60,90 @@
NUM_PRODUCT_BANDS_INVALID = 0x7FFFFFFF /* define as 4 bytes data */
}eNvProductBands; //NV_COMMON_PRODUCT_BANDS
+#define EXTERNAL_PA 1
+#define INTERNAL_PA 0
+
+#define EXTERNAL_LNA 1
+#define INTERNAL_LNA 0
+
+#define EXTERNAL_COUPLER 1
+#define INTERNAL_COUPLER 0
+
+#define EXTERNAL_PDET 1
+#define INTERNAL_PDET 0
+
+#define DPD_ENABLED 1
+#define DPD_DISABLED 0
+
+#define TPC_MODE_OPEN_LOOP 0
+#define TPC_MODE_SCPC 1
+#define TPC_MODE_CLPC_MODE2 2
+#define TPC_MODE_CLPC_MODE3 3
+
+#define PA_POLARITY_TX_UNUSED 0
+#define PA_POLARITY_TX_POSITIVE 1
+#define PA_POLARITY_TX_NEGATIVE 2
+#define PA_POLARITY_RX_UNUSED 0
+#define PA_POLARITY_RX_POSITIVE 1
+#define PA_POLARITY_RX_NEGATIVE 2
+
+#define NV_VERSION_INVALID 0xFF
+#define NV_VERSION_11N_11AC_COUPER_TYPE 0
+#define NV_VERSION_11N_11AC_FW_CONFIG 1
+#define NV_VERSION_LPDC_FW_CONFIG 2
+
+#ifdef WCN_PRONTO
+#define WLAN_NV_VERSION NV_VERSION_LPDC_FW_CONFIG
+#else //WCN_PRONTO
+#define WLAN_NV_VERSION NV_VERSION_11N_11AC_FW_CONFIG
+#endif //WCN_PRONTO
typedef PACKED_PRE union PACKED_POST
{
//common NV fields
- tANI_U16 productId;
- tANI_U8 productBands;
- tANI_U8 wlanNvRevId;
- tANI_U8 numOfTxChains;
- tANI_U8 numOfRxChains;
- tANI_U8 macAddr[NV_FIELD_MAC_ADDR_SIZE]; /* Default, not change name for compatibility */
- tANI_U8 macAddr2[NV_FIELD_MAC_ADDR_SIZE];
- tANI_U8 macAddr3[NV_FIELD_MAC_ADDR_SIZE];
- tANI_U8 macAddr4[NV_FIELD_MAC_ADDR_SIZE];
- tANI_U8 mfgSN[NV_FIELD_MFG_SN_SIZE];
- tANI_U8 couplerType; /* 0 : Internal coupler, 1 : External coupler */
- tANI_U8 reserved; /* Make Byte alignment */
+ uint16 productId;
+ uint8 productBands;
+ 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];
+ uint8 mfgSN[NV_FIELD_MFG_SN_SIZE];
+ uint8 couplerType;
+ uint8 nvVersion;
} uNvFields;
-
//format of common part of nv
typedef PACKED_PRE struct PACKED_POST
{
//always ensure fields are aligned to 32-bit boundaries
- tANI_U16 productId;
- tANI_U8 productBands;
- tANI_U8 wlanNvRevId; //0: WCN1312, 1: WCN1314, 2: WCN3660
+ uint16 productId;
+ uint8 productBands;
+ uint8 wlanNvRevId; //0: WCN1312, 1: WCN1314, 2: WCN3660
- tANI_U8 numOfTxChains;
- tANI_U8 numOfRxChains;
- tANI_U8 macAddr[NV_FIELD_MAC_ADDR_SIZE]; /* Default, not change name for compatibility */
- tANI_U8 macAddr2[NV_FIELD_MAC_ADDR_SIZE];
- tANI_U8 macAddr3[NV_FIELD_MAC_ADDR_SIZE];
- tANI_U8 macAddr4[NV_FIELD_MAC_ADDR_SIZE];
- tANI_U8 mfgSN[NV_FIELD_MFG_SN_SIZE];
- tANI_U8 couplerType; /* 0 : Internal coupler, 1 : External coupler */
- tANI_U8 reserved; /* Make Byte alignment */
+ 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];
+ uint8 mfgSN[NV_FIELD_MFG_SN_SIZE];
+ uint8 couplerType;
+ uint8 nvVersion;
} sNvFields;
//From wlanfw/inc/halPhyTypes.h
-typedef tANI_S8 tPowerdBm; //power in signed 8-bit integer, no decimal places
+typedef int8 tPowerdBm; //power in signed 8-bit integer, no decimal places
typedef PACKED_PRE union PACKED_POST
{
- tANI_U32 measurement; //measured values can be passed to pttApi, but are maintained to 2 decimal places internally
- tANI_S16 reported; //used internally only - reported values only maintain 2 decimals places
+ uint32 measurement; //measured values can be passed to pttApi, but are maintained to 2 decimal places internally
+ int16 reported; //used internally only - reported values only maintain 2 decimals places
}uAbsPwrPrecision;
typedef enum
@@ -326,7 +329,7 @@
NV_CHANNEL_DFS,
NV_CHANNEL_INVALID
};
-typedef tANI_U8 eNVChannelEnabledType;
+typedef uint8 eNVChannelEnabledType;
typedef PACKED_PRE struct PACKED_POST
{
@@ -344,14 +347,14 @@
typedef PACKED_PRE struct PACKED_POST
{
- tANI_S16 bRssiOffset[NUM_RF_CHANNELS];
- tANI_S16 gnRssiOffset[NUM_RF_CHANNELS];
+ int16 bRssiOffset[NUM_RF_CHANNELS];
+ int16 gnRssiOffset[NUM_RF_CHANNELS];
}ALIGN_4 sRssiChannelOffsets;
typedef PACKED_PRE struct PACKED_POST
{
- tANI_U16 targetFreq; //number in MHz
- tANI_U16 channelNum; //channel number as in the eRfChannels enumeration
+ uint16 targetFreq; //number in MHz
+ uint16 channelNum; //channel number as in the eRfChannels enumeration
eRfSubBand band; //band that this channel belongs to
}tRfChannelProps;
@@ -364,89 +367,69 @@
MODE_802_11_INVALID = 0x7FFFFFFF /* define as 4 bytes data */
} e80211Modes;
+#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 HAL_PWR_SAVE_FW_BMPS_SLEEP_TIME_OVERHEADS_US 1400 //(2.4Ghz operation)
+#define HAL_PWR_SAVE_FW_BMPS_SLEEP_TIME_OVERHEADS_5GHZ_US 1400 //(5Ghz operation)
+#define HAL_PWR_SAVE_FW_BMPS_SLEEP_TIME_OVERHEADS_XPA_US 1600 //(xLNA operation)
+
//From wlanfw/inc/halPhyCalMemory.h
typedef PACKED_PRE struct PACKED_POST
{
- tANI_U16 process_monitor;
- tANI_U8 hdet_cal_code;
- tANI_U8 rxfe_gm_2;
+ uint16 psSlpTimeOvrHd2G;
+ uint16 psSlpTimeOvrHd5G;
- tANI_U8 tx_bbf_rtune;
- tANI_U8 pa_rtune_reg;
- tANI_U8 rt_code;
- tANI_U8 bias_rtune;
-
- tANI_U8 bb_bw1;
- tANI_U8 bb_bw2;
- tANI_U8 pa_ctune_reg;
- tANI_U8 reserved1;
-
- tANI_U8 bb_bw3;
- tANI_U8 bb_bw4;
- tANI_U8 bb_bw5;
- tANI_U8 bb_bw6;
-
- tANI_U16 rcMeasured;
- tANI_U8 tx_bbf_ct;
- tANI_U8 tx_bbf_ctr;
-
- tANI_U8 csh_maxgain_reg;
- tANI_U8 csh_0db_reg;
- tANI_U8 csh_m3db_reg;
- tANI_U8 csh_m6db_reg;
-
- tANI_U8 cff_0db_reg;
- tANI_U8 cff_m3db_reg;
- tANI_U8 cff_m6db_reg;
- tANI_U8 rxfe_gpio_ctl_1;
-
- tANI_U8 mix_bal_cnt_2;
- tANI_S8 rxfe_lna_highgain_bias_ctl_delta;
- tANI_U8 rxfe_lna_load_ctune;
- tANI_U8 rxfe_lna_ngm_rtune;
-
- tANI_U8 rx_im2_spare0;
- tANI_U8 rx_im2_spare1;
- tANI_U16 hdet_dco;
-
- tANI_U8 pll_vfc_reg3_b0;
- tANI_U8 pll_vfc_reg3_b1;
- tANI_U8 pll_vfc_reg3_b2;
- tANI_U8 pll_vfc_reg3_b3;
-
- tANI_U16 tempStart;
- tANI_U16 roomTemp;
-
- tANI_S16 ambientCalTemp;
- tANI_U8 ambientCalTempValid;
- tANI_U8 reserved2;
-
+ uint16 psSlpTimeOvrHdxLNA5G;
+ uint8 nv_TxBBFSel9MHz : 1;
+ uint8 hwParam1 : 7;
+ uint8 hwParam2;
+
+ uint16 custom_tcxo_reg8;
+ uint16 custom_tcxo_reg9;
+
+ uint32 hwParam3;
+ uint32 hwParam4;
+ uint32 hwParam5;
+ uint32 hwParam6;
+ uint32 hwParam7;
+ uint32 hwParam8;
+ uint32 hwParam9;
+ uint32 hwParam10;
+ uint32 hwParam11;
}sCalData;
typedef PACKED_PRE struct PACKED_POST
{
- tANI_U32 calStatus; //use eNvCalID
+ uint32 validBmap; //use eNvCalID
sCalData calData;
-}sRFCalValues;
+}sHwCalValues;
typedef PACKED_PRE struct PACKED_POST
{
- tANI_U32 txFirFilterMode;
+ uint32 txFirFilterMode;
}sTxBbFilterMode;
typedef PACKED_PRE struct PACKED_POST
{
- tANI_S16 ofdmPwrOffset;
- tANI_S16 rsvd;
+ int16 ofdmPwrOffset;
+ int16 rsvd;
}sOfdmCmdPwrOffset;
//From wlanfw/inc/halPhyCfg.h
-typedef tANI_U8 tTpcLutValue;
+typedef uint8 tTpcLutValue;
#define MAX_TPC_CAL_POINTS (8)
-typedef tANI_U8 tPowerDetect; //7-bit power detect reading
+typedef uint8 tPowerDetect; //7-bit power detect reading
typedef PACKED_PRE struct PACKED_POST
{
@@ -564,6 +547,9 @@
HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_58_5_MBPS,
HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_65_MBPS,
HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_78_MBPS,
+#ifdef WCN_PRONTO
+ HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_86_5_MBPS,
+#endif
/*11AC rate 20MHZ Shortl GI*/
HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_7_2_MBPS,
@@ -575,6 +561,9 @@
HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_65_MBPS,
HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_72_2_MBPS,
HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_86_6_MBPS,
+#ifdef WCN_PRONTO
+ HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_96_1_MBPS,
+#endif
/*11AC rates 40MHZ normal GI*/
HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_13_5_MBPS ,
@@ -632,7 +621,6 @@
HAL_PHY_RATE_INVALID_MAX_FIELD = 0x7FFFFFFF /* define as 4 bytes data */
}eHalPhyRates;
-
#define NUM_RATE_POWER_GROUPS NUM_HAL_PHY_RATES //total number of rate power groups including the CB_RATE_POWER_OFFSET
typedef uAbsPwrPrecision tRateGroupPwr[NUM_RATE_POWER_GROUPS];
@@ -640,46 +628,42 @@
#define NV_FIELD_COUNTRY_CODE_SIZE 3
typedef PACKED_PRE struct PACKED_POST
{
- tANI_U8 regDomain; //from eRegDomainId
- tANI_U8 countryCode[NV_FIELD_COUNTRY_CODE_SIZE]; // string identifier
+ uint8 regDomain; //from eRegDomainId
+ uint8 countryCode[NV_FIELD_COUNTRY_CODE_SIZE]; // string identifier
}sDefaultCountry;
typedef PACKED_PRE struct PACKED_POST
{
- tANI_U8 overall;
- tANI_U8 fwInit;
- tANI_U8 hdet_dco;
- tANI_U8 rtuner;
+ uint8 skuID;
+ uint8 tpcMode2G;
+ uint8 tpcMode5G;
+ uint8 reserved1;
- tANI_U8 ctuner;
- tANI_U8 insitu;
- tANI_U8 process_monitor;
- tANI_U8 pllVcoLinearity;
+ uint8 xPA2G;
+ uint8 xPA5G;
+ uint8 paPolarityTx;
+ uint8 paPolarityRx;
- tANI_U8 txIQ;
- tANI_U8 rxIQ;
- tANI_U8 rxDco;
- tANI_U8 txLo;
+ uint8 xLNA2G;
+ uint8 xLNA5G;
+ uint8 xCoupler2G;
+ uint8 xCoupler5G;
- tANI_U8 lnaBias;
- tANI_U8 lnaBandTuning;
- tANI_U8 lnaGainAdjust;
- tANI_U8 im2UsingNoisePwr;
+ uint8 xPdet2G;
+ uint8 xPdet5G;
+ uint8 enableDPD2G;
+ uint8 enableDPD5G;
- tANI_U8 temperature;
- tANI_U8 clpc;
- tANI_U8 clpc_temp_adjust;
- tANI_U8 txDpd;
+ uint8 pdadcSelect2G;
+ uint8 pdadcSelect5GLow;
+ uint8 pdadcSelect5GMid;
+ uint8 pdadcSelect5GHigh;
- tANI_U8 channelTune;
- tANI_U8 rxGmStageLinearity;
- tANI_U8 im2UsingToneGen;
- tANI_U8 rxBbfTuning; // rx baseband filert tuning
+ uint32 reserved2;
+ uint32 resreved3;
+ uint32 resreved4;
+}sFwConfig;
- tANI_U8 txBbfTuning; // tx baseband filter tuning
- tANI_U8 paCTuning; // PA adjustments baed on C-tuner
- tANI_U8 unused[6];
-}sCalStatus;
#define NUM_RF_VR_RATE 13
typedef uAbsPwrPrecision tRateGroupPwrVR[NUM_RF_VR_RATE];
@@ -690,14 +674,13 @@
sRegulatoryDomains regDomains[NUM_REG_DOMAINS]; // NV_TABLE_REGULATORY_DOMAINS
sDefaultCountry defaultCountryTable; // NV_TABLE_DEFAULT_COUNTRY
tTpcPowerTable plutCharacterized[NUM_RF_CHANNELS]; // NV_TABLE_TPC_POWER_TABLE
- tANI_S16 plutPdadcOffset[NUM_RF_CHANNELS]; // NV_TABLE_TPC_PDADC_OFFSETS
+ int16 plutPdadcOffset[NUM_RF_CHANNELS]; // NV_TABLE_TPC_PDADC_OFFSETS
tRateGroupPwrVR pwrOptimum_virtualRate[NUM_RF_SUBBANDS]; // NV_TABLE_VIRTUAL_RATE
- //sCalFlashMemory calFlashMemory; // NV_TABLE_CAL_MEMORY
- sCalStatus calStatus; // NV_TABLE_CAL_STATUS
+ sFwConfig fwConfig; // NV_TABLE_FW_CONFIG
sRssiChannelOffsets rssiChanOffsets[2]; // NV_TABLE_RSSI_CHANNEL_OFFSETS
- sRFCalValues rFCalValues; // NV_TABLE_RF_CAL_VALUES
- tANI_S16 antennaPathLoss[NUM_RF_CHANNELS]; // NV_TABLE_ANTENNA_PATH_LOSS
- tANI_S16 pktTypePwrLimits[NUM_802_11_MODES][NUM_RF_CHANNELS]; // NV_TABLE_PACKET_TYPE_POWER_LIMITS
+ sHwCalValues hwCalValues; // NV_TABLE_HW_CAL_VALUES
+ int16 antennaPathLoss[NUM_RF_CHANNELS]; // NV_TABLE_ANTENNA_PATH_LOSS
+ int16 pktTypePwrLimits[NUM_802_11_MODES][NUM_RF_CHANNELS]; // NV_TABLE_PACKET_TYPE_POWER_LIMITS
sOfdmCmdPwrOffset ofdmCmdPwrOffset; // NV_TABLE_OFDM_CMD_PWR_OFFSET
sTxBbFilterMode txbbFilterMode; // NV_TABLE_TX_BB_FILTER_MODE
}ALIGN_4 uNvTables;
@@ -707,7 +690,7 @@
typedef PACKED_PRE struct PACKED_POST
{
- tANI_U8 chanId;
+ uint8 chanId;
tChannelPwrLimit pwr;
} ALIGN_4 tChannelListWithPower;
@@ -721,10 +704,10 @@
NV_TABLE_DEFAULT_COUNTRY = 4,
NV_TABLE_TPC_POWER_TABLE = 5,
NV_TABLE_TPC_PDADC_OFFSETS = 6,
- NV_TABLE_RF_CAL_VALUES = 7,
+ NV_TABLE_HW_CAL_VALUES = 7,
NV_TABLE_RSSI_CHANNEL_OFFSETS = 9,
NV_TABLE_CAL_MEMORY = 10, //cal memory structure from halPhyCalMemory.h preceded by status
- NV_TABLE_CAL_STATUS = 11,
+ NV_TABLE_FW_CONFIG = 11,
NV_TABLE_ANTENNA_PATH_LOSS = 12,
NV_TABLE_PACKET_TYPE_POWER_LIMITS = 13,
NV_TABLE_OFDM_CMD_PWR_OFFSET = 14,
@@ -743,14 +726,13 @@
sRegulatoryDomains regDomains[NUM_REG_DOMAINS]; // NV_TABLE_REGULATORY_DOMAINS
sDefaultCountry defaultCountryTable; // NV_TABLE_DEFAULT_COUNTRY
tTpcPowerTable plutCharacterized[NUM_RF_CHANNELS]; // NV_TABLE_TPC_POWER_TABLE
- tANI_S16 plutPdadcOffset[NUM_RF_CHANNELS]; // NV_TABLE_TPC_PDADC_OFFSETS
+ int16 plutPdadcOffset[NUM_RF_CHANNELS]; // NV_TABLE_TPC_PDADC_OFFSETS
tRateGroupPwrVR pwrOptimum_virtualRate[NUM_RF_SUBBANDS]; // NV_TABLE_VIRTUAL_RATE
- //sCalFlashMemory calFlashMemory; // NV_TABLE_CAL_MEMORY
- sCalStatus calStatus; // NV_TABLE_CAL_STATUS
+ sFwConfig fwConfig; // NV_TABLE_FW_CONFIG
sRssiChannelOffsets rssiChanOffsets[2]; // NV_TABLE_RSSI_CHANNEL_OFFSETS
- sRFCalValues rFCalValues; // NV_TABLE_RF_CAL_VALUES
- tANI_S16 antennaPathLoss[NUM_RF_CHANNELS]; // NV_TABLE_ANTENNA_PATH_LOSS
- tANI_S16 pktTypePwrLimits[NUM_802_11_MODES][NUM_RF_CHANNELS]; // NV_TABLE_PACKET_TYPE_POWER_LIMITS
+ sHwCalValues hwCalValues; // NV_TABLE_HW_CAL_VALUES
+ int16 antennaPathLoss[NUM_RF_CHANNELS]; // NV_TABLE_ANTENNA_PATH_LOSS
+ int16 pktTypePwrLimits[NUM_802_11_MODES][NUM_RF_CHANNELS]; // NV_TABLE_PACKET_TYPE_POWER_LIMITS
sOfdmCmdPwrOffset ofdmCmdPwrOffset; // NV_TABLE_OFDM_CMD_PWR_OFFSET
sTxBbFilterMode txbbFilterMode; // NV_TABLE_TX_BB_FILTER_MODE
}ALIGN_4 sNvTables;