prima: WLAN Driver Release 3.1.7.9
This is the initial release of the Prima WLAN Driver
diff --git a/riva/inc/pttMsgApi.h b/riva/inc/pttMsgApi.h
new file mode 100644
index 0000000..8809c9d
--- /dev/null
+++ b/riva/inc/pttMsgApi.h
@@ -0,0 +1,942 @@
+/*
+ * Copyright (c) 2012, Code Aurora Forum. 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.
+ */
+
+/**
+ *
+ Airgo Networks, Inc proprietary.
+ All Rights Reserved, Copyright 2005
+ This program is the confidential and proprietary product of Airgo Networks Inc.
+ Any Unauthorized use, reproduction or transfer of this program is strictly prohibited.
+
+
+ pttMsgApi.h: Contains messages to PTT Module for physical layer testing
+ Author: Mark Nelson
+ Date: 6/21/05
+
+ History -
+ Date Modified by Modification Information
+ --------------------------------------------------------------------------
+
+ */
+
+#ifndef PTT_MSG_API_H
+#define PTT_MSG_API_H
+
+#include "halCompiler.h"
+#include "wlan_nv.h"
+#include "wlan_phy.h"
+#include "pttFrameGen.h"
+#include "pttModule.h"
+
+#include "halLegacyPalTypes.h"
+
+typedef tANI_U8 tQWPTT_U8;
+typedef tANI_S8 tQWPTT_S8;
+
+typedef tANI_U16 tQWPTT_U16;
+typedef tANI_S16 tQWPTT_S16;
+
+typedef tANI_U32 tQWPTT_U32;
+typedef tANI_S32 tQWPTT_S32;
+
+typedef tANI_U8 tQWPTT_BYTE;
+typedef tANI_S9 tQWPTT_S9;
+
+typedef tANI_U8 tQWPTT_BOOLEAN;
+
+#define PTT_MEM_ACCESS_MAX_SIZE 256
+
+//Messages to/from socket or pttApi.c
+typedef enum {
+ PTT_MSG_TYPES_BEGIN = 0x3000,
+
+ // Init
+ PTT_MSG_INIT = PTT_MSG_TYPES_BEGIN, //extra: internal only
+
+//NV Service
+ PTT_MSG_GET_TPC_CAL_STATE_OBSOLETE = 0x3011,
+ PTT_MSG_RESET_TPC_CAL_STATE_OBSOLETE = 0x3012,
+
+ PTT_MSG_SET_NV_CKSUM_OBSOLETE = 0x3013,
+ PTT_MSG_GET_NV_CKSUM_OBSOLETE = 0x3014,
+ PTT_MSG_GET_NV_TABLE = 0x3016,
+ PTT_MSG_SET_NV_TABLE = 0x3017,
+ PTT_MSG_SET_NV_IMAGE_OBSOLETE = 0x3018,
+ PTT_MSG_BLANK_NV = 0x3019,
+ PTT_MSG_GET_NV_IMAGE_OBSOLETE = 0x301E,
+ PTT_MSG_DEL_NV_TABLE = 0x301F,
+ PTT_MSG_GET_NV_FIELD = 0x3020,
+ PTT_MSG_SET_NV_FIELD = 0x3021,
+ PTT_MSG_STORE_NV_TABLE = 0x3022,
+ PTT_MSG_SET_REG_DOMAIN = 0x3023,
+
+//Device Register Access
+ PTT_MSG_DBG_READ_REGISTER = 0x3040,
+ PTT_MSG_DBG_WRITE_REGISTER = 0x3041,
+ PTT_MSG_API_WRITE_REGISTER_OBSOLETE = 0x3042,
+ PTT_MSG_API_READ_REGISTER_OBSOLETE = 0x3043,
+ PTT_MSG_DBG_READ_MEMORY = 0x3044,
+ PTT_MSG_DBG_WRITE_MEMORY = 0x3045,
+
+//Device MAC Test Setup
+ PTT_MSG_ENABLE_CHAINS = 0x304F,
+ PTT_MSG_SET_CHANNEL = 0x3050,
+
+//Tx Waveform Gen Service
+ PTT_MSG_SET_WAVEFORM = 0x3071,
+ PTT_MSG_SET_TX_WAVEFORM_GAIN = 0x3072,
+ PTT_MSG_GET_WAVEFORM_POWER_ADC = 0x3073,
+ PTT_MSG_START_WAVEFORM = 0x3074,
+ PTT_MSG_STOP_WAVEFORM = 0x3075,
+ PTT_MSG_SET_RX_WAVEFORM_GAIN = 0x3076,
+ PTT_MSG_SET_TX_WAVEFORM_GAIN_PRIMA_V1 = 0x3077,
+
+//Tx Frame Gen Service
+ PTT_MSG_CONFIG_TX_PACKET_GEN = 0x3081,
+ PTT_MSG_START_STOP_TX_PACKET_GEN = 0x3082,
+ PTT_MSG_POLL_TX_PACKET_PROGRESS_OBSOLETE = 0x3083,
+ PTT_MSG_FRAME_GEN_STOP_IND_OBSOLETE = 0x3088,
+ PTT_MSG_QUERY_TX_STATUS = 0x3089,
+
+
+//Tx Frame Power Service
+ PTT_MSG_CLOSE_TPC_LOOP = 0x30A0,
+
+//open loop service
+ PTT_MSG_SET_PACKET_TX_GAIN_TABLE = 0x30A1,
+ PTT_MSG_SET_PACKET_TX_GAIN_INDEX = 0x30A2,
+ PTT_MSG_FORCE_PACKET_TX_GAIN = 0x30A3,
+
+//closed loop(CLPC) service
+ PTT_MSG_SET_PWR_INDEX_SOURCE = 0x30A4,
+ PTT_MSG_SET_TX_POWER = 0x30A5,
+ PTT_MSG_GET_TX_POWER_REPORT = 0x30A7,
+ PTT_MSG_SAVE_TX_PWR_CAL_TABLE_OBSOLETE = 0x30A8,
+ PTT_MSG_SET_POWER_LUT = 0x30A9,
+ PTT_MSG_GET_POWER_LUT = 0x30AA,
+ PTT_MSG_GET_PACKET_TX_GAIN_TABLE = 0x30AB,
+ PTT_MSG_SAVE_TX_PWR_FREQ_TABLE_OBSOLETE = 0x30AC,
+ PTT_MSG_CLPC_TEMP_COMPENSATION_OBSOLETE = 0x30AD,
+
+//Rx Gain Service
+ PTT_MSG_DISABLE_AGC_TABLES = 0x30D0,
+ PTT_MSG_ENABLE_AGC_TABLES = 0x30D1,
+ PTT_MSG_SET_AGC_TABLES_OBSOLETE = 0x30D2,
+ PTT_MSG_GET_RX_RSSI = 0x30D3,
+ PTT_MSG_GET_AGC_TABLE_OBSOLETE = 0x30D5,
+
+//Rx Frame Catcher Service
+ PTT_MSG_SET_RX_DISABLE_MODE = 0x30D4,
+ PTT_MSG_GET_RX_PKT_COUNTS = 0x30E0,
+ PTT_MSG_RESET_RX_PACKET_STATISTICS = 0x30E2,
+ PTT_MSG_GET_UNI_CAST_MAC_PKT_RX_RSSI = 0x30E3,
+ PTT_MSG_GET_UNI_CAST_MAC_PKT_RX_RSSI_CONFIG = 0x30E4,
+
+//Rx Symbol Service
+ PTT_MSG_GRAB_RAM = 0x30F0,
+ PTT_MSG_GRAB_RAM_ONE_CHAIN_OBSOLETE = 0x30F1,
+
+//Phy Calibration Service
+ PTT_MSG_RX_IQ_CAL = 0x3100,
+ PTT_MSG_RX_DCO_CAL = 0x3101,
+ PTT_MSG_TX_CARRIER_SUPPRESS_CAL = 0x3102,
+ PTT_MSG_TX_IQ_CAL = 0x3103,
+ PTT_MSG_EXECUTE_INITIAL_CALS = 0x3104,
+ PTT_MSG_HDET_CAL = 0x3105,
+ PTT_MSG_VCO_LINEARITY_CAL_OBSOLETE = 0x3106,
+
+//Phy Calibration Override Service
+ PTT_MSG_SET_TX_CARRIER_SUPPRESS_CORRECT = 0x3110,
+ PTT_MSG_GET_TX_CARRIER_SUPPRESS_CORRECT = 0x3111,
+ PTT_MSG_SET_TX_IQ_CORRECT = 0x3112,
+ PTT_MSG_GET_TX_IQ_CORRECT = 0x3113,
+ PTT_MSG_SET_RX_IQ_CORRECT = 0x3114,
+ PTT_MSG_GET_RX_IQ_CORRECT = 0x3115,
+ PTT_MSG_SET_RX_DCO_CORRECT = 0x3116,
+ PTT_MSG_GET_RX_DCO_CORRECT = 0x3117,
+ PTT_MSG_SET_TX_IQ_PHASE_NV_TABLE_OBSOLETE = 0x3118,
+ PTT_MSG_GET_HDET_CORRECT_OBSOLETE = 0x3119,
+
+//RF Chip Access
+ PTT_MSG_GET_TEMP_ADC = 0x3202,
+ PTT_MSG_READ_RF_REG = 0x3203,
+ PTT_MSG_WRITE_RF_REG = 0x3204,
+ PTT_MSG_GET_RF_VERSION = 0x3205,
+
+//Deep sleep support
+ PTT_MSG_DEEP_SLEEP = 0x3220,
+ PTT_MSG_READ_SIF_BAR4_REGISTER = 0x3221,
+ PTT_MSG_WRITE_SIF_BAR4_REGISTER = 0x3222,
+ PTT_MSG_ENTER_FULL_POWER = 0x3223,
+
+//Misc
+ PTT_MSG_SYSTEM_RESET = 0x32A0, //is there any meaning for this in Gen6?
+ PTT_MSG_LOG_DUMP = 0x32A1,
+ PTT_MSG_GET_BUILD_RELEASE_NUMBER = 0x32A2,
+
+
+//Messages for Socket App
+ PTT_MSG_ADAPTER_DISABLED_RSP_OBSOLETE = 0x32A3,
+ PTT_MSG_ENABLE_ADAPTER = 0x32A4,
+ PTT_MSG_DISABLE_ADAPTER = 0x32A5,
+ PTT_MSG_PAUSE_RSP_OBSOLETE = 0x32A6,
+ PTT_MSG_CONTINUE_RSP_OBSOLETE = 0x32A7,
+
+ PTT_MSG_HALPHY_INIT = 0x32A8,
+ PTT_MSG_TEST_RXIQ_CAL = 0x32A9,
+ PTT_MSG_START_TONE_GEN = 0x32AA,
+ PTT_MSG_STOP_TONE_GEN = 0x32AB,
+ PTT_MSG_RX_IM2_CAL = 0x32AC,
+ PTT_MSG_SET_RX_IM2_CORRECT = 0x31AD,
+ PTT_MSG_GET_RX_IM2_CORRECT = 0x31AE,
+ PTT_MSG_TEST_DPD_CAL = 0x32AF, // not handle
+ PTT_MSG_SET_CALCONTROL_BITMAP = 0x32B0,
+
+//[RY] specific new messages for PRIMA
+ PTT_MSG_START_WAVEFORM_RF = 0x32B1,
+ PTT_MSG_STOP_WAVEFORM_RF = 0x32B2,
+ PTT_MSG_HKDAC_TX_IQ_CAL = 0x32B3,
+ PTT_MSG_SET_HKADC_TX_IQ_CORRECT = 0x32B4,
+ PTT_MSG_GET_HKADC_TX_IQ_CORRECT = 0x32B5,
+ PTT_MSG_SET_DPD_CORRECT = 0x32B6,
+ PTT_MSG_GET_DPD_CORRECT = 0x32B7,
+ PTT_MSG_SET_WAVEFORM_RF = 0x32B8,
+ PTT_MSG_LNA_BAND_CAL = 0x32B9,
+ PTT_MSG_GET_LNA_BAND_CORRECT = 0x32BA,
+ PTT_MSG_SET_LNA_BAND_CORRECT = 0x32BB,
+ PTT_MSG_DPD_CAL = 0x32BC,
+
+// Suffix'ed Message ID to differential from existing Message name.
+// ===============================================================
+ PTT_MSG_GET_NV_TABLE_PRIMA_V1 = 0x32BD,
+ PTT_MSG_SET_NV_TABLE_PRIMA_V1 = 0x32BE,
+ PTT_MSG_RX_IQ_CAL_PRIMA_V1 = 0x32BF,
+ PTT_MSG_TX_IQ_CAL_PRIMA_V1 = 0x32C0,
+ PTT_MSG_SET_TX_IQ_CORRECT_PRIMA_V1 = 0x32C1,
+ PTT_MSG_GET_TX_IQ_CORRECT_PRIMA_V1 = 0x32C2,
+ PTT_MSG_SET_RX_IQ_CORRECT_PRIMA_V1 = 0x32C3,
+ PTT_MSG_GET_RX_IQ_CORRECT_PRIMA_V1 = 0x32C4,
+ PTT_MSG_START_WAVEFORM_PRIMA_V1 = 0x32C5,
+ PTT_MSG_FORCE_PACKET_TX_GAIN_PRIMA_V1 = 0x32C6,
+ PTT_MSG_CLPC_CAL_SETUP_PRIMA_V1 = 0x32C7,
+ PTT_MSG_CLPC_CAL_RESTORE_PRIMA_V1 = 0x32C8,
+ PTT_MSG_CLOSE_TPC_LOOP_PRIMA_V1 = 0x32C9,
+ PTT_MSG_SW_CLPC_CAL_PRIMA_V1 = 0x32CA,
+ PTT_MSG_CLPC_CAL_EXTRA_MEASUREMENT_PRIMA_V1 = 0x32CB,
+ PTT_MSG_PRIMA_GENERIC_CMD = 0x32CC,
+ PTT_MSG_DIGITAL_PIN_CONNECTIVITY_TEST_RES = 0X32CD,
+
+ PTT_MSG_EXIT = 0x32ff,
+ PTT_MAX_MSG_ID = PTT_MSG_EXIT
+} ePttMsgId;
+
+enum
+{
+ PTT_MSG_PRIMA_GENERIC_CMD_FAST_SET_CHANNEL = 0x0,
+};
+
+#define PTT_MSG_TYPES_BEGIN_30 PTT_MSG_TYPES_BEGIN
+#define PTT_MSG_TYPES_BEGIN_31 PTT_MSG_TYPES_BEGIN + 0x100
+#define PTT_MSG_TYPES_BEGIN_32 PTT_MSG_TYPES_BEGIN + 0x200
+
+// for FTM PER feature
+enum {
+Legacy_FTM = 0,
+FTM_PER_TX = 1,
+FTM_PER_RX = 2,
+};
+
+#ifndef tANI_BOOLEAN
+#define tANI_BOOLEAN tANI_U8
+#endif
+
+
+
+/******************************************************************************************************************
+ PTT MESSAGES
+******************************************************************************************************************/
+//Init
+typedef PACKED_PRE struct PACKED_POST {
+ tPttModuleVariables ptt;
+} tMsgPttMsgInit;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 tableSize;
+ tANI_U32 chunkSize;
+ eNvTable nvTable;
+} tMsgPttGetNvTable;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 tableSize;
+ tANI_U32 chunkSize;
+ eNvTable nvTable;
+} tMsgPttSetNvTable;
+
+typedef PACKED_PRE struct PACKED_POST {
+ eNvTable nvTable;
+} tMsgPttDelNvTable;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 notUsed;
+} tMsgPttBlankNv;
+
+typedef PACKED_PRE struct PACKED_POST {
+ eNvField nvField;
+ uNvFields fieldData;
+} tMsgPttGetNvField;
+
+typedef PACKED_PRE struct PACKED_POST {
+ eNvField nvField;
+ uNvFields fieldData;
+} tMsgPttSetNvField;
+
+typedef PACKED_PRE struct PACKED_POST {
+ eNvTable nvTable;
+} tMsgPttStoreNvTable;
+
+typedef PACKED_PRE struct PACKED_POST {
+ eRegDomainId regDomainId;
+} tMsgPttSetRegDomain;
+
+//Device Register Access
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 regAddr;
+ tANI_U32 regValue;
+} tMsgPttDbgReadRegister;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 regAddr;
+ tANI_U32 regValue;
+} tMsgPttDbgWriteRegister;
+
+#define PTT_READ_MEM_MAX 512
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 memAddr;
+ tANI_U32 nBytes;
+ tANI_U32 pMemBuf[PTT_READ_MEM_MAX]; //caller should allocate space
+} tMsgPttDbgReadMemory;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 memAddr;
+ tANI_U32 nBytes;
+ tANI_U32 pMemBuf[PTT_READ_MEM_MAX];
+} tMsgPttDbgWriteMemory;
+
+//Device MAC Test Setup
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 chId;
+ ePhyChanBondState cbState;
+} tMsgPttSetChannel;
+
+typedef PACKED_PRE struct PACKED_POST {
+ ePhyChainSelect chainSelect;
+} tMsgPttEnableChains;
+
+typedef tIQSamples tWaveformSample;
+
+//Tx Waveform Gen Service
+typedef PACKED_PRE struct PACKED_POST {
+ tWaveformSample waveform[MAX_TEST_WAVEFORM_SAMPLES];
+ tANI_U16 numSamples;
+ tANI_BOOLEAN clk80;
+ tANI_U8 reserved[1];
+} tMsgPttSetWaveform;
+
+typedef PACKED_PRE struct PACKED_POST {
+ ePhyTxChains txChain;
+ tANI_U8 gain;
+} tMsgPttSetTxWaveformGain;
+
+typedef PACKED_PRE struct PACKED_POST {
+ ePhyTxChains txChain;
+ tANI_U32 gain;
+} tMsgPttSetTxWaveformGain_PRIMA_V1;
+
+typedef PACKED_PRE struct PACKED_POST {
+ ePhyRxChains rxChain;
+ tANI_U8 gain;
+} tMsgPttSetRxWaveformGain;
+
+typedef PACKED_PRE struct PACKED_POST {
+ sTxChainsPowerAdcReadings txPowerAdc;
+} tMsgPttGetWaveformPowerAdc;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 notUsed;
+} tMsgPttStopWaveform;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 notUsed;
+} tMsgPttClpcCalSetup_PRIMA_V1;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U16 setup_measure;
+ tANI_U16 setup_txDmdPwrOffset;
+ tANI_U16 measure_totalExtraPt;
+ tANI_U16 measure_currentMeasurePtIdx;
+ tANI_U8 plut[256];
+} tMsgPttClpcCalExtraMeasurement_PRIMA_V1;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 notUsed;
+} tMsgPttClpcCalRestore_PRIMA_V1;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 startIndex;
+ tANI_U32 numSamples;
+} tMsgPttStartWaveform;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 startIndex;
+ tANI_U32 numSamples;
+} tMsgPttStartWaveform_PRIMA_V1;
+
+// Added for PRIMA
+typedef PACKED_PRE struct PACKED_POST {
+ tWaveformSample waveform[MAX_TEST_WAVEFORM_SAMPLES];
+ tANI_U16 numSamples;
+ tANI_BOOLEAN clk80;
+ tANI_U8 reserved[1];
+} tMsgPttSetWaveformRF;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 startIndex;
+ tANI_U32 numSamples;
+} tMsgPttStartWaveformRF;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 notUsed;
+} tMsgPttStopWaveformRF;
+
+//Tx Frame Gen Service
+typedef PACKED_PRE struct PACKED_POST {
+ sPttFrameGenParams frameParams;
+} tMsgPttConfigTxPacketGen;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_BOOLEAN startStop;
+ tANI_U8 reserved[3];
+} tMsgPttStartStopTxPacketGen;
+
+typedef PACKED_PRE struct PACKED_POST {
+ sTxFrameCounters numFrames;
+ tANI_BOOLEAN status;
+ tANI_U8 reserved[3];
+} tMsgPttQueryTxStatus;
+
+//Tx Frame Power Service
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_BOOLEAN tpcClose;
+ tANI_U8 reserved[3];
+} tMsgPttCloseTpcLoop;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 tpcClose;
+} tMsgPttCloseTpcLoop_PRIMA_V1;
+
+
+ //open loop service
+typedef PACKED_PRE struct PACKED_POST {
+
+ ePhyTxChains txChain;
+ tANI_U8 minIndex;
+ tANI_U8 maxIndex;
+ tANI_U8 reserved[2];
+ tANI_U8 gainTable[TPC_MEM_GAIN_LUT_DEPTH];
+} tMsgPttSetPacketTxGainTable;
+
+typedef PACKED_PRE struct PACKED_POST {
+ ePhyTxChains txChain;
+ tANI_U8 gainTable[TPC_MEM_GAIN_LUT_DEPTH];
+} tMsgPttGetPacketTxGainTable;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U8 index;
+ tANI_U8 reserved[3];
+} tMsgPttSetPacketTxGainIndex;
+
+typedef PACKED_PRE struct PACKED_POST {
+ ePhyTxChains txChain;
+ tANI_U8 gain;
+ tANI_U8 reserved[3];
+} tMsgPttForcePacketTxGain;
+
+typedef PACKED_PRE struct PACKED_POST {
+ ePhyTxChains txChain;
+ tANI_U32 gain;
+} tMsgPttForcePacketTxGain_PRIMA_V1;
+
+
+typedef PACKED_PRE struct PACKED_POST {
+ ePowerTempIndexSource indexSource;
+} tMsgPttSetPwrIndexSource;
+
+typedef PACKED_PRE struct PACKED_POST {
+ t2Decimal dbmPwr;
+ tANI_U8 reserved[2];
+} tMsgPttSetTxPower;
+
+typedef tTxPowerReport tMsgPttGetTxPowerReport;
+
+typedef PACKED_PRE struct PACKED_POST {
+ ePhyTxChains txChain;
+
+ tANI_U8 minIndex;
+ tANI_U8 maxIndex;
+ tANI_U8 reserved[2];
+
+ tANI_U8 powerLut[TPC_MEM_POWER_LUT_DEPTH];
+} tMsgPttSetPowerLut;
+
+typedef PACKED_PRE struct PACKED_POST {
+ ePhyTxChains txChain;
+
+ tANI_U8 powerLut[TPC_MEM_POWER_LUT_DEPTH];
+} tMsgPttGetPowerLut;
+
+
+//Rx Gain Service
+typedef PACKED_PRE struct PACKED_POST {
+ sRxChainsAgcDisable gains;
+} tMsgPttDisableAgcTables;
+
+
+typedef PACKED_PRE struct PACKED_POST {
+ sRxChainsAgcEnable enables;
+} tMsgPttEnableAgcTables;
+
+typedef PACKED_PRE struct PACKED_POST {
+ sRxChainsRssi rssi;
+} tMsgPttGetRxRssi;
+
+typedef PACKED_PRE struct PACKED_POST {
+ sRxChainsRssi rssi;
+}tMsgPttGetUnicastMacPktRxRssi;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 conf;
+}tMsgPttGetUnicastMacPktRxRssiConf_PRIMA_V1;
+
+//Rx Frame Catcher Service
+typedef PACKED_PRE struct PACKED_POST {
+ sRxTypesDisabled disabled;
+} tMsgPttSetRxDisableMode;
+
+typedef PACKED_PRE struct PACKED_POST {
+ sRxFrameCounters counters;
+} tMsgPttGetRxPktCounts;
+
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 notUsed;
+} tMsgPttResetRxPacketStatistics;
+
+
+
+
+
+//ADC Sample Service
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 startSample; //index of first requested sample, 0 causes new capture
+ tANI_U32 numSamples; //number of samples to transfer to host
+ eGrabRamSampleType sampleType;
+ tGrabRamSample grabRam[MAX_REQUESTED_GRAB_RAM_SAMPLES];
+} tMsgPttGrabRam;
+
+
+//Phy Calibration Service
+typedef PACKED_PRE struct PACKED_POST {
+ sRxChainsIQCalValues calValues;
+ eGainSteps gain;
+} tMsgPttRxIqCal;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tRxChainsDcoCorrections calValues;
+ tANI_U8 gain;
+} tMsgPttRxDcoCal;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tRxChainsIm2Corrections calValues;
+ eGainSteps gain;
+ tANI_U8 im2CalOnly;
+} tMsgPttRxIm2Cal;
+
+typedef PACKED_PRE struct PACKED_POST {
+ sTxChainsLoCorrections calValues;
+ tANI_U8 reserve[2];
+ eGainSteps gain;
+} tMsgPttTxCarrierSuppressCal;
+
+typedef PACKED_PRE struct PACKED_POST {
+ sTxChainsIQCalValues calValues;
+ tANI_U8 reserve[2];
+ eGainSteps gain;
+} tMsgPttTxIqCal;
+
+typedef PACKED_PRE struct PACKED_POST {
+ sTxChainsHKIQCalValues calValues;
+ eGainSteps gain;
+} tMsgPttHKdacTxIqCal;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 unused;
+} tMsgPttExecuteInitialCals;
+
+typedef PACKED_PRE struct PACKED_POST {
+ sRfHdetCalValues hdetCalValues;
+} tMsgPttHdetCal;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U16 clpcMode;
+ tANI_U16 txCmdPwr;
+ tANI_U16 pwrMax_pwrMin;
+ tANI_U16 step;
+ tANI_U8 plut[256];
+} tMsgPttClpcSwCal_PRIMA_V1;
+
+
+//Phy Calibration Override Service
+typedef PACKED_PRE struct PACKED_POST {
+ sTxChainsLoCorrections calValues;
+ tANI_U8 reserve[2];
+ eGainSteps gain;
+} tMsgPttSetTxCarrierSuppressCorrect;
+
+typedef PACKED_PRE struct PACKED_POST {
+ sTxChainsLoCorrections calValues;
+ tANI_U8 reserve[2];
+ eGainSteps gain;
+} tMsgPttGetTxCarrierSuppressCorrect;
+
+typedef PACKED_PRE struct PACKED_POST {
+ sTxChainsIQCalValues calValues;
+ tANI_U8 reserve[2];
+ eGainSteps gain;
+} tMsgPttSetTxIqCorrect;
+
+typedef PACKED_PRE struct PACKED_POST {
+ sTxChainsIQCalValues calValues;
+ tANI_U8 reserve[2];
+ eGainSteps gain;
+} tMsgPttGetTxIqCorrect;
+
+typedef PACKED_PRE struct PACKED_POST {
+ sTxChainsHKIQCalValues calValues;
+ eGainSteps gain;
+} tMsgPttHKdacSetTxIqCorrect;
+
+typedef PACKED_PRE struct PACKED_POST {
+ sTxChainsHKIQCalValues calValues;
+ eGainSteps gain;
+} tMsgPttHKdacGetTxIqCorrect;
+
+typedef PACKED_PRE struct PACKED_POST {
+ sRxChainsIQCalValues calValues;
+ eGainSteps gain;
+} tMsgPttSetRxIqCorrect;
+
+typedef PACKED_PRE struct PACKED_POST {
+ sRxChainsIQCalValues calValues;
+ eGainSteps gain;
+} tMsgPttGetRxIqCorrect;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tRxChainsDcoCorrections calValues;
+ tANI_U8 gain;
+} tMsgPttSetRxDcoCorrect;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tRxChainsDcoCorrections calValues;
+ tANI_U8 gain;
+} tMsgPttGetRxDcoCorrect;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tRxChainsIm2Corrections calValues;
+ tANI_U8 dummy;
+} tMsgPttSetRxIm2Correct;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tRxChainsIm2Corrections calValues;
+ tANI_U8 dummy;
+} tMsgPttGetRxIm2Correct;
+
+typedef PACKED_PRE struct PACKED_POST {
+ eRfTempSensor tempSensor;
+ tTempADCVal tempAdc;
+ tANI_U8 reserved[4 - sizeof(tTempADCVal)];
+} tMsgPttGetTempAdc;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 addr;
+ tANI_U32 mask;
+ tANI_U32 shift;
+ tANI_U32 value;
+} tMsgPttReadRfField;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 addr;
+ tANI_U32 mask;
+ tANI_U32 shift;
+ tANI_U32 value;
+} tMsgPttWriteRfField;
+
+//SIF bar4 Register Access
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 sifRegAddr;
+ tANI_U32 sifRegValue;
+} tMsgPttReadSifBar4Register;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 sifRegAddr;
+ tANI_U32 sifRegValue;
+} tMsgPttWriteSifBar4Register;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 notUsed;
+} tMsgPttDeepSleep;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 notUsed;
+} tMsgPttEnterFullPower;
+
+//Misc.
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 notUsed;
+} tMsgPttSystemReset;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 cmd;
+ tANI_U32 arg1;
+ tANI_U32 arg2;
+ tANI_U32 arg3;
+ tANI_U32 arg4;
+} tMsgPttLogDump;
+
+typedef PACKED_PRE struct PACKED_POST {
+ sBuildReleaseParams relParams;
+} tMsgPttGetBuildReleaseNumber;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 revId;
+} tMsgPttGetRFVersion;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 option; //dummy variable
+} tMsgPttCalControlBitmap;
+
+//#ifdef VERIFY_HALPHY_SIMV_MODEL
+
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 option; //dummy variable
+} tMsgPttHalPhyInit;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 option; //dummy variable
+} tMsgPttRxIQTest;
+
+typedef PACKED_PRE struct PACKED_POST {
+ sTxChainsDPDCalValues calValues;
+ eGainSteps gain;
+} tMsgPttDpdCal;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U8 lutIdx;
+ tANI_U8 band;
+} tMsgPttStartToneGen;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U32 option; //dummy variable
+} tMsgPttStopToneGen;
+
+typedef PACKED_PRE struct PACKED_POST {
+ sTxChainsLnaBandCalValues calValues;
+ eGainSteps gain;
+} tMsgPttLnaBandCal;
+
+typedef PACKED_PRE struct PACKED_POST {
+ sTxChainsLnaBandCalValues calValues;
+ eGainSteps gain;
+} tMsgPttGetLnaBandCalCorrect;
+
+typedef PACKED_PRE struct PACKED_POST {
+ sTxChainsLnaBandCalValues calValues;
+ eGainSteps gain;
+} tMsgPttSetLnaBandCalCorrect;
+
+typedef PACKED_PRE struct PACKED_POST {
+ sTxChainsDPDCalValues calValues;
+ eGainSteps gain;
+}tMsgPttSetDPDCorrect;
+
+typedef PACKED_PRE struct PACKED_POST {
+ sTxChainsDPDCalValues calValues;
+ eGainSteps gain;
+}tMsgPttGetDPDCorrect;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tQWPTT_U32 cmdIdx;
+ tQWPTT_U32 param1;
+ tQWPTT_U32 param2;
+ tQWPTT_U32 param3;
+ tQWPTT_U32 param4;
+} tMsgPttPrimaGenericCmd;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U16 testID;
+ tANI_U16 result;
+} tMsgPttPinConnTestRes;
+//#endif
+
+/******************************************************************************************************************
+ END OF PTT MESSAGES
+******************************************************************************************************************/
+
+typedef PACKED_PRE union PACKED_POST pttMsgUnion{
+//typedef union pttMsgUnion {
+ tMsgPttMsgInit MsgInit;
+ tMsgPttGetNvTable GetNvTable;
+ tMsgPttSetNvTable SetNvTable;
+ tMsgPttDelNvTable DelNvTable;
+ tMsgPttBlankNv BlankNv;
+ tMsgPttStoreNvTable StoreNvTable;
+ tMsgPttSetRegDomain SetRegDomain;
+ tMsgPttGetNvField GetNvField;
+ tMsgPttSetNvField SetNvField;
+ tMsgPttDbgReadRegister DbgReadRegister;
+ tMsgPttDbgWriteRegister DbgWriteRegister;
+ tMsgPttDbgReadMemory DbgReadMemory;
+ tMsgPttDbgWriteMemory DbgWriteMemory;
+ tMsgPttEnableChains EnableChains;
+ tMsgPttSetChannel SetChannel;
+ tMsgPttSetWaveform SetWaveform;
+ tMsgPttSetTxWaveformGain SetTxWaveformGain;
+ tMsgPttSetTxWaveformGain_PRIMA_V1 SetTxWaveformGain_PRIMA_V1;
+ tMsgPttGetWaveformPowerAdc GetWaveformPowerAdc;
+ tMsgPttStartWaveform StartWaveform;
+ tMsgPttStartWaveform_PRIMA_V1 StartWaveform_PRIMA_V1;
+ tMsgPttStopWaveform StopWaveform;
+ tMsgPttSetRxWaveformGain SetRxWaveformGain;
+ tMsgPttConfigTxPacketGen ConfigTxPacketGen;
+ tMsgPttStartStopTxPacketGen StartStopTxPacketGen;
+ tMsgPttQueryTxStatus QueryTxStatus;
+ tMsgPttCloseTpcLoop CloseTpcLoop;
+ tMsgPttCloseTpcLoop_PRIMA_V1 CloseTpcLoop_PRIMA_V1;
+ tMsgPttSetPacketTxGainTable SetPacketTxGainTable;
+ tMsgPttGetPacketTxGainTable GetPacketTxGainTable;
+ tMsgPttSetPacketTxGainIndex SetPacketTxGainIndex;
+ tMsgPttForcePacketTxGain ForcePacketTxGain;
+ tMsgPttForcePacketTxGain_PRIMA_V1 ForcePacketTxGain_PRIMA_V1;
+ tMsgPttSetPwrIndexSource SetPwrIndexSource;
+ tMsgPttSetTxPower SetTxPower;
+ tMsgPttGetTxPowerReport GetTxPowerReport;
+ tMsgPttSetPowerLut SetPowerLut;
+ tMsgPttGetPowerLut GetPowerLut;
+ tMsgPttDisableAgcTables DisableAgcTables;
+ tMsgPttEnableAgcTables EnableAgcTables;
+ tMsgPttGetRxRssi GetRxRssi;
+ tMsgPttGetUnicastMacPktRxRssi GetUnicastMacPktRxRssi;
+ tMsgPttGetUnicastMacPktRxRssiConf_PRIMA_V1 GetUnicastMacPktRxRssiConf_PRIMA_V1;
+ tMsgPttSetRxDisableMode SetRxDisableMode;
+ tMsgPttGetRxPktCounts GetRxPktCounts;
+ tMsgPttResetRxPacketStatistics ResetRxPacketStatistics;
+ tMsgPttGrabRam GrabRam;
+ tMsgPttRxIqCal RxIqCal;
+ tMsgPttRxDcoCal RxDcoCal;
+ tMsgPttRxIm2Cal RxIm2Cal;
+
+ tMsgPttExecuteInitialCals ExecuteInitialCals;
+ tMsgPttTxCarrierSuppressCal TxCarrierSuppressCal;
+ tMsgPttTxIqCal TxIqCal;
+ tMsgPttHKdacTxIqCal HKdacTxIqCal;
+ tMsgPttClpcCalSetup_PRIMA_V1 ClpcCalSetup_PRIMA_V1;
+ tMsgPttClpcCalRestore_PRIMA_V1 ClpcCalRestore_PRIMA_V1;
+ tMsgPttHdetCal HdetCal;
+ tMsgPttClpcSwCal_PRIMA_V1 ClpcSwCal_PRIMA_V1;
+ tMsgPttClpcCalExtraMeasurement_PRIMA_V1 ClpcCalExtraMeasurement_PRIMA_V1;
+ tMsgPttSetTxCarrierSuppressCorrect SetTxCarrierSuppressCorrect;
+ tMsgPttGetTxCarrierSuppressCorrect GetTxCarrierSuppressCorrect;
+ tMsgPttSetTxIqCorrect SetTxIqCorrect;
+ tMsgPttGetTxIqCorrect GetTxIqCorrect;
+ tMsgPttSetRxIqCorrect SetRxIqCorrect;
+ tMsgPttGetRxIqCorrect GetRxIqCorrect;
+ tMsgPttSetRxDcoCorrect SetRxDcoCorrect;
+ tMsgPttGetRxDcoCorrect GetRxDcoCorrect;
+ tMsgPttSetRxIm2Correct SetRxIm2Correct;
+ tMsgPttGetRxIm2Correct GetRxIm2Correct;
+ tMsgPttHKdacSetTxIqCorrect HKdacSetTxIqCorrect;
+ tMsgPttHKdacGetTxIqCorrect HKdacGetTxIqCorrect;
+
+ tMsgPttGetTempAdc GetTempAdc;
+ tMsgPttReadRfField ReadRfField;
+ tMsgPttWriteRfField WriteRfField;
+ tMsgPttCalControlBitmap SetCalControlBitmap;
+
+//#ifdef VERIFY_HALPHY_SIMV_MODEL
+
+ tMsgPttHalPhyInit InitOption;
+ tMsgPttRxIQTest RxIQTest;
+ tMsgPttDpdCal DpdCal;
+ tMsgPttStartToneGen StartToneGen;
+ tMsgPttStopToneGen StopToneGen;
+//#endif
+ tMsgPttDeepSleep DeepSleep;
+ tMsgPttReadSifBar4Register ReadSifBar4Register;
+ tMsgPttWriteSifBar4Register WriteSifBar4Register;
+ tMsgPttEnterFullPower EnterFullPower;
+ tMsgPttSystemReset SystemReset;
+ tMsgPttLogDump LogDump;
+ tMsgPttGetBuildReleaseNumber GetBuildReleaseNumber;
+ tMsgPttGetRFVersion GetRFVersion;
+
+//[RY] added for PRIMA
+ tMsgPttSetWaveformRF SetWaveformRF;
+ tMsgPttStopWaveformRF StopWaveformRF;
+ tMsgPttStartWaveformRF StartWaveformRF;
+ tMsgPttLnaBandCal LnaBandCal;
+ tMsgPttGetLnaBandCalCorrect GetLnaBandCalCorrect;
+ tMsgPttSetLnaBandCalCorrect SetLnaBandCalCorrect;
+ tMsgPttGetDPDCorrect GetDPDCorrect;
+ tMsgPttSetDPDCorrect SetDPDCorrect;
+ tMsgPttDpdCal DPDCal;
+ tMsgPttPrimaGenericCmd PrimaGenericCmd;
+ tMsgPttPinConnTestRes PinConnTestRes;
+} uPttMsgs;
+
+typedef PACKED_PRE struct PACKED_POST {
+ tANI_U16 msgId;
+ tANI_U16 msgBodyLength; //actually, the length of all the fields in this structure
+ eQWPttStatus msgResponse;
+ uPttMsgs msgBody;
+} tPttMsgbuffer, *tpPttMsgbuffer;
+
+
+typedef PACKED_PRE struct PACKED_POST {
+ /*
+ * success or failure
+ */
+ tANI_U32 status;
+ tPttMsgbuffer pttMsgBuffer;
+} tProcessPttRspParams, *tpProcessPttRspParams;
+
+/* End of Ptt Parameters */
+
+#endif