PageRenderTime 86ms CodeModel.GetById 75ms app.highlight 8ms RepoModel.GetById 1ms app.codeStats 0ms

/drivers/net/wireless/tiwlan1251/common/src/hal/hl_ctrl/whalCtrl.h

http://github.com/CyanogenMod/cm-kernel
C++ Header | 120 lines | 59 code | 23 blank | 38 comment | 0 complexity | bb62cd795aff37dd6176d4b27a975c13 MD5 | raw file
  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*/
 47typedef 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
101WhalParams_T *whalCtrl_GetWhalParamsHandle(WHAL_CTRL *pWhalCtrl);
102void whalCtrl_MacStatus_CB(TI_HANDLE hWhalCtrl, char* MacStatus , UINT32 strLen);
103void whalCtrl_HealthReoprt_CB(TI_HANDLE hWhalCtrl, char* MacStatus , UINT32 strLen);
104void whalCtrl_registerDump(TI_HANDLE hWhalCtrl);
105int  whalCtrl_RegisterCmdCompleteGenericCB(TI_HANDLE hWhalCtrl, void *CbFunc ,void *CbObj);
106int  whalCtrl_RegisterErrorsCallbacks(TI_HANDLE hWhalCtrl);
107int  whalCtrl_ReJoinBss (TI_HANDLE hWhalCtrl);
108TI_STATUS whalCtrl_getRadioNumber(TI_HANDLE hWhalCtrl, UINT32 *outRadioType, UINT32 *outRadioNumber);
109TI_STATUS whalCtrl_FinalizeDownload(TI_HANDLE hWhalCtrl);
110/* Used for Memory or Registers reading/writing*/
111typedef enum
112{
113   TNETW_INTERNAL_RAM = 0,
114   TNETW_MAC_REGISTERS = 1,
115   TNETW_PHY_REGISTERS = 2,
116} readWrite_MemoryType_e;
117
118void    whalCtrl_Print_Mem_Regs (TI_HANDLE hWhalCtrl, UINT32 addr, UINT32 len, readWrite_MemoryType_e memType);
119int     whalCtrl_Set_Mem_Regs (TI_HANDLE hWhalCtrl, UINT32 address, UINT32 len, UINT32 aWriteVal, readWrite_MemoryType_e memType);
120#endif /* _WHAL_CTRL_H*/