1 /**************************************************************************** 2 **+-----------------------------------------------------------------------+** 3 **| |** 4 **| Copyright(c) 1998 - 2008 Texas Instruments. All rights reserved. |** 5 **| All rights reserved. |** 6 **| |** 7 **| Redistribution and use in source and binary forms, with or without |** 8 **| modification, are permitted provided that the following conditions |** 9 **| are met: |** 10 **| |** 11 **| * Redistributions of source code must retain the above copyright |** 12 **| notice, this list of conditions and the following disclaimer. |** 13 **| * Redistributions in binary form must reproduce the above copyright |** 14 **| notice, this list of conditions and the following disclaimer in |** 15 **| the documentation and/or other materials provided with the |** 16 **| distribution. |** 17 **| * Neither the name Texas Instruments nor the names of its |** 18 **| contributors may be used to endorse or promote products derived |** 19 **| from this software without specific prior written permission. |** 20 **| |** 21 **| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |** 22 **| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |** 23 **| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |** 24 **| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |** 25 **| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |** 26 **| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |** 27 **| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |** 28 **| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |** 29 **| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |** 30 **| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |** 31 **| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |** 32 **| |** 33 **+-----------------------------------------------------------------------+** 34 ****************************************************************************/ 35 36 /**************************************************************************** 37 * 38 * MODULE: whalHwMboxCmdBit.h 39 * PURPOSE: wlan hardware BIT(Built-In Test) commands header file 40 * 41 ****************************************************************************/ 42 43 #ifndef _WHAL_HW_MBOX_CMD_BIT_H 44 #define _WHAL_HW_MBOX_CMD_BIT_H 45 46 #include "whalCommon.h" 47 #include "CmdQueue_api.h" 48 49 /* Function prototypes */ 50 51 #ifdef __cplusplus 52 extern "C" { 53 #endif 54 55 typedef struct 56 { 57 void* CB_Func; /* Pointer to callback function to be called with the results, if working in Async mode (GWSI).*/ 58 TI_HANDLE CB_Handle; 59 PLT_RxPerCmd_e CB_RxPerCmd; /* Enumerator of the invoked PLT command*/ 60 PltRxPer_t PltRxPer; /* The accumulated FCS error and total packets counts */ 61 ACXErrorCounters_t ACXErrCountTable; /* Last F.W. counters results */ 62 } HwMboxCmdBit_RxPer_t; 63 64 typedef struct 65 { 66 void* CB_Func; /* Pointer to callback function to be called with the results, if working in Async mode (GWSI).*/ 67 TI_HANDLE CB_Handle; 68 TI_STATUS lastStatus; 69 70 } HwMboxCmdBit_RxTxCal_t; 71 72 typedef union 73 { 74 HwMboxCmdBit_RxPer_t RxPer; 75 HwMboxCmdBit_RxTxCal_t RxTxCal; 76 }HwMboxCmdBit_u; 77 78 typedef struct _HwMboxCmdBit_T 79 { 80 HwMboxCmdBit_u PltData; 81 TI_HANDLE hCmdQueue; 82 TI_HANDLE hOs; 83 TI_HANDLE hReport; 84 TI_HANDLE hWhalCtr; 85 } HwMboxCmdBit_T; 86 87 88 extern HwMboxCmdBit_T *whal_hwMboxCmdBit_Create(TI_HANDLE hOs); 89 extern int whal_hwMboxCmdBit_Destroy(HwMboxCmdBit_T *this); 90 extern int whal_hwMboxCmdBit_Config(TI_HANDLE hWhalCtr, HwMboxCmdBit_T *pHwMboxCmdBit, TI_HANDLE hCmdQueue, TI_HANDLE hReport); 91 92 int whal_hwCmdBit_ReadRegister(HwMboxCmdBit_T *pHwMboxCmdBit, TI_HANDLE CB_Handle, void *CB_Func, void *CB_Buf); 93 int whal_hwCmdBit_WriteRegister(HwMboxCmdBit_T *pHwMboxCmdBit, TI_HANDLE CB_Handle, void *CB_Func, void *Command_Buf); 94 95 int whal_hwCmdBit_RxPER(HwMboxCmdBit_T *pHwMboxCmdBit, PLT_RxPerCmd_e eRxPerCmd, TI_HANDLE CB_Handle, void *CB_Func); 96 97 int whal_hwCmdBit_TestCmd(HwMboxCmdBit_T *pHwMboxCmdBit, void *CB_Func, TI_HANDLE CB_handle, TestCmd_t* pTestCmd_Buf); 98 99 void whal_hwCmdBit_GetPltRxCalibrationStatus( TI_HANDLE objectHandle, TI_STATUS* pLastStatus ); 100 101 int whal_hwCmdBit_Fcc(HwMboxCmdBit_T *pHwMboxCmdBit, 102 int chID, int rate, int preamble,int bandID, 103 int InterPacketDelay, int TestMode, uint32 numFrames, 104 uint32 seqNumMode, uint32 frameBodySize, uint8 *PeerMacAddr, 105 void *CB_Func, TI_HANDLE CB_handle, void *CB_Buf); 106 107 int whal_hwCmdBit_Telec(HwMboxCmdBit_T *pHwMboxCmdBit, int chID, int bandID, void *CB_Func, TI_HANDLE CB_handle, void *CB_Buf); 108 109 int whal_hwCmdBit_perTxStop(HwMboxCmdBit_T *pHwMboxCmdBit, void *CB_Func, TI_HANDLE CB_handle, void *CB_Buf); 110 111 #ifdef __cplusplus 112 } 113 #endif 114 115 #endif /* _WHAL_HW_MBOX_CMD_BIT_H */ 116 117