• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #ifndef _WHAL_CTRL_H
37 #define _WHAL_CTRL_H
38 
39 #include "whalCommon.h"
40 #include "whalParams.h"
41 #include "whalHwCtrl.h"
42 
43 #include "rxXfer_api.h"
44 
45 
46 /* CLASS WHAL_CTRL*/
47 typedef struct _WHAL_CTRL
48 {
49     WhalParams_T*  pWhalParams;
50 
51     ReadWriteCommand_t printRegsBuf;
52 
53     scanCompleteCB_t ScanCmplt_CB;
54     void*            ScanCmplt_CB_handle;
55 
56     MacStatusCB_t    MacStatusCB_CB;
57     void*            MacStatusCB_CB_handle;
58 
59     HealthReportCB_t HealthReportCB_CB;
60     void*            HealthReportCB_handle;
61 
62     AciIndicationCB_t AciIndicationCB_CB;
63     void*             AciIndicationCB_handle;
64 
65     failureEventCB_t FailureEvent_CB;
66     void*            FailureEvent_CB_handle;
67 
68 
69     BOOL EncDecEnableFlag; /* flag to designates whether the Hw encrypt and decrypt
70                               facility on WEP options IE already enabled*/
71 
72     TI_HANDLE hOs;
73     TI_HANDLE hReport;
74     TI_HANDLE hTNETW_Driver;
75 
76     TI_HANDLE hFwEvent;
77     TI_HANDLE hTxXfer;
78     TI_HANDLE hTxResult;
79     TI_HANDLE hTxHwQueue;
80     TI_HANDLE hRxXfer;
81     TI_HANDLE hEventMbox;
82     struct _WHAL_SECURITY* pWhalSecurity;
83 
84     struct _HwCtrl_T *pHwCtrl; /* Pointer to the LL_HAL acxCtrl module*/
85     TI_HANDLE   hWhalBus; /* Pointer to the LL_HAL acxCtrl module*/
86     TI_HANDLE   hCmdQueue;
87 
88     /* Init stage callback function pointer and handle */
89     void     *fCb;
90     TI_HANDLE hCb;
91 
92     ACXMisc_t misc;
93 
94 #ifdef TI_DBG
95     TI_HANDLE hDebugTrace;
96 #endif /* TI_DBG */
97 
98 } WHAL_CTRL;
99 
100 
101 WhalParams_T *whalCtrl_GetWhalParamsHandle(WHAL_CTRL *pWhalCtrl);
102 void whalCtrl_MacStatus_CB(TI_HANDLE hWhalCtrl, char* MacStatus , UINT32 strLen);
103 void whalCtrl_HealthReoprt_CB(TI_HANDLE hWhalCtrl, char* MacStatus , UINT32 strLen);
104 void whalCtrl_registerDump(TI_HANDLE hWhalCtrl);
105 int  whalCtrl_RegisterCmdCompleteGenericCB(TI_HANDLE hWhalCtrl, void *CbFunc ,void *CbObj);
106 int  whalCtrl_RegisterErrorsCallbacks(TI_HANDLE hWhalCtrl);
107 int  whalCtrl_ReJoinBss (TI_HANDLE hWhalCtrl);
108 TI_STATUS whalCtrl_getRadioNumber(TI_HANDLE hWhalCtrl, UINT32 *outRadioType, UINT32 *outRadioNumber);
109 TI_STATUS whalCtrl_FinalizeDownload(TI_HANDLE hWhalCtrl);
110 /* Used for Memory or Registers reading/writing*/
111 typedef enum
112 {
113    TNETW_INTERNAL_RAM = 0,
114    TNETW_MAC_REGISTERS = 1,
115    TNETW_PHY_REGISTERS = 2,
116 } readWrite_MemoryType_e;
117 
118 void    whalCtrl_Print_Mem_Regs (TI_HANDLE hWhalCtrl, UINT32 addr, UINT32 len, readWrite_MemoryType_e memType);
119 int     whalCtrl_Set_Mem_Regs (TI_HANDLE hWhalCtrl, UINT32 address, UINT32 len, UINT32 aWriteVal, readWrite_MemoryType_e memType);
120 #endif /* _WHAL_CTRL_H*/
121