• 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 /****************************************************************************
37  *
38  *   MODULE:  whalHwCtrl.h
39  *   PURPOSE: Implements action on the Acx card (Reset, Run, SendCmd, Sw Download)
40  *
41  ****************************************************************************/
42 
43 #ifndef _WHAL_HW_CTRL_H
44 #define _WHAL_HW_CTRL_H
45 
46 #include "whalCommon.h"
47 #include "whalHwMboxCmd.h"
48 #include "whalHwMboxCmdBit.h"
49 #include "whalHwMboxConfig.h"
50 #include "whalBus_Api.h"
51 #include "whalCtrl.h"
52 #include "whalCtrl_api.h"
53 #include "whalParams.h"
54 #include "CmdQueue_api.h"
55 #include "commonTypes.h"
56 
57 
58 typedef struct
59 {
60     /* Mbox */
61     UINT32	NumMboxFailures;
62     UINT32	NumMboxErrDueToPeriodicBuiltInTestCheck;
63 
64 } whalCtrl_hwStatus_t;
65 
66 typedef struct _HwCtrl_T
67 {
68     MemoryMap_t             MemMap;
69     ACXDataPathParamsResp_t DataPathParams;
70 
71     HwMboxConfig_T          *pHwMboxConfig;
72     HwMboxCmd_T             *pHwMboxCmd;
73     HwMboxCmdBit_T          *pHwMboxCmdBit;
74     struct WHAL_CTRL        *pWhalCtrl;
75     WhalParams_T            *pWhalParams;
76     whalCtrl_hwStatus_t     HwStatus;
77 
78     UINT16                  SecuritySeqNumLow;
79     UINT32                  SecuritySeqNumHigh;
80 
81     TI_HANDLE               *hHwRadio;
82 
83     TI_HANDLE               hWhalBus;
84     TI_HANDLE               hOs;
85     TI_HANDLE               hReport;
86     TI_HANDLE               hWhalCtrl;
87     TI_HANDLE               hEventMbox;
88 
89     UINT32                  uFwBuf;
90     UINT32                  uFwAddr;
91     UINT32                  uEEEPROMBuf;
92     UINT32                  uEEEPROMLen;
93 
94     void                    *fCb;
95     TI_HANDLE               hCb;
96 
97     dot11StationIDStruct    mbox;
98 
99 } HwCtrl_T;
100 
101 
102 TI_STATUS  whal_hwCtrl_FinalizeDownload  (TI_HANDLE hHwCtrl, BootAttr_T *pBootAttr);
103 TI_STATUS  whal_hwCtrl_FinalizeOnFailure (TI_HANDLE hHwCtrl);
104 
105 extern HwCtrl_T *whal_hwCtrl_Create(TI_HANDLE hOs, WhalParams_T *pWhalParams);
106 extern int whal_hwCtrl_Destroy				(HwCtrl_T *pHwCtrl);
107 extern TI_STATUS whal_hwCtrl_Config(HwCtrl_T *pHwCtrl, TI_HANDLE hWhalCtrl,UINT8 AccessMode, UINT32 AcxRegAddr,
108                                     UINT32 AcxMemAddr, TI_HANDLE hReport, TI_HANDLE hMemMgr,UINT32 *pFWImage,
109                                     TI_HANDLE hEventMbox);
110 extern TI_HANDLE whal_hwCtrl_GetTnentwifHandle (HwCtrl_T *pHwCtrl);
111 extern int whal_hwCtrl_ConfigHw				(HwCtrl_T *pHwCtrl, void *fCb, TI_HANDLE hCb, BOOL bRecovery);
112 extern TI_STATUS whal_hwCtrl_Initiate       (HwCtrl_T *pHwCtrl);
113 extern int whal_hwCtrl_SetMacAddress		(HwCtrl_T *pHwCtrl, macAddress_t *macAddr);
114 extern int whal_hwCtrl_StartJoin			(HwCtrl_T *pHwCtrl, bssType_e BssType, void *JoinCompleteCB, TI_HANDLE CB_handle);
115 extern int whal_hwCtrl_SetBssType			(HwCtrl_T *pHwCtrl, bssType_e BssType, UINT8 *HwBssType);
116 extern int whal_hwCtrl_setRxFilters			(HwCtrl_T *pHwCtrl, UINT32 RxConfigOption, UINT32 RxFilterOption);
117 extern int whal_hwCtrl_GetRxFilters			(HwCtrl_T *pHwCtrl, UINT32* pRxConfigOption, UINT32* pRxFilterOption);
118 extern int whal_hwCtrl_setRxDataFiltersParams(HwCtrl_T * pHwCtrl, BOOL enabled, filter_e defaultAction);
119 extern int whal_hwCtrl_setRxDataFilter      (HwCtrl_T *pHwCtrl, UINT8 index, UINT8 command, filter_e action, UINT8 numFieldPatterns, UINT8 lenFieldPatterns, UINT8 * fieldPatterns);
120 extern int whal_hwCtrl_StartScan			(HwCtrl_T *pHwCtrl, ScanParameters_t* pScanVals,void* ScanCommandResponseCB, TI_HANDLE CB_handle);
121 extern int whal_hwCtrl_StartSPSScan         (HwCtrl_T *pHwCtrl, ScheduledScanParameters_t* pScanVals, void* ScanCommandResponseCB, TI_HANDLE CB_handle);
122 extern int whal_hwCtrl_StopScan				(HwCtrl_T *pHwCtrl, void *ScanCommandResponseCB, TI_HANDLE CB_handle);
123 extern int whal_hwCtrl_StopSPSScan          (HwCtrl_T *pHwCtrl, void* ScanCommandResponseCB, TI_HANDLE CB_handle);
124 extern int whal_hwCtrl_GenCmd				(HwCtrl_T *pHwCtrl, short CmdID, char* pBuf, UINT32 Length);
125 extern int whal_hwCtrl_EnableDataPath       (HwCtrl_T *pHwCtrl);
126 extern int whal_hwCtrl_EnableTx				(HwCtrl_T *pHwCtrl, int channel);
127 extern int whal_hwCtrl_DisableTx			(HwCtrl_T *pHwCtrl);
128 extern int whal_hwCtrl_DisableDataPath      (HwCtrl_T *pHwCtrl);
129 extern void whal_hwCtrl_Reset		        (HwCtrl_T *pHwCtrl);
130 extern int whal_hwCtrl_PMConfig				(HwCtrl_T *pHwCtrl, whalCtrl_powerMgmtConfig_t *pPMConfig);
131 extern int whal_hwCtrl_BcnBrcOptions		(HwCtrl_T *pHwCtrl, whalCtrl_powerMgmtConfig_t *pPMConfig);
132 extern int whal_hwCtrl_wakeUpCondition		(HwCtrl_T *pHwCtrl, whalCtrl_powerMgmtConfig_t *pPMConfig);
133 extern int whal_hwCtrl_SetEnergyDetection	(HwCtrl_T *pHwCtrl, BOOL energyDetection);
134 extern int whal_hwCtrl_WepDefaultKeyAdd     (HwCtrl_T *pHwCtrl, securityKeys_t* aSecurityKey, void *CB_Func, TI_HANDLE CB_handle);
135 extern int whal_hwCtrl_WepDefaultKeyRemove  (HwCtrl_T *pHwCtrl, securityKeys_t* aSecurityKey, void *CB_Func, TI_HANDLE CB_handle);
136 extern int whal_hwCtrl_WepMappingKeyAdd     (HwCtrl_T *pHwCtrl, securityKeys_t* aSecurityKey, void *CB_Func, TI_HANDLE CB_handle);
137 extern int whal_hwCtrl_WepMappingKeyRemove  (HwCtrl_T *pHwCtrl, securityKeys_t* aSecurityKey, void *CB_Func, TI_HANDLE CB_handle);
138 extern int whal_hwCtrl_AesMappingKeyAdd		(HwCtrl_T *pHwCtrl, securityKeys_t* aSecurityKey, void *CB_Func, TI_HANDLE CB_handle);
139 extern int whal_hwCtrl_AesMappingKeyRemove  (HwCtrl_T *pHwCtrl, securityKeys_t* aSecurityKey, void *CB_Func, TI_HANDLE CB_handle);
140 extern int whal_hwCtrl_TkipMicMappingKeyAdd	(HwCtrl_T *pHwCtrl, securityKeys_t* aSecurityKey, void *CB_Func, TI_HANDLE CB_handle);
141 extern int whal_hwCtrl_TkipMicMappingKeyRemove (HwCtrl_T *pHwCtrl, securityKeys_t* aSecurityKey, void *CB_Func, TI_HANDLE CB_handle);
142 extern int whal_hwCtrl_TkipKeyEnable        (HwCtrl_T *pHwCtrl, char* MACaddr, BOOL aKey0RxEnable, BOOL aKey0TxEnable);
143 extern int whal_hwCtrl_DefaultKeyIdSet		(HwCtrl_T *pHwCtrl, UINT8 aKeyIdVal, void *CB_Func, TI_HANDLE CB_handle);
144 extern int whal_hwCtrl_DefaultKeyIdGet		(HwCtrl_T *pHwCtrl, UINT8 *pKeyIdVal);
145 extern int whal_hwCtrl_SetBeaconFiltering	(HwCtrl_T *pHwCtrl, UINT8 beaconFilteringStatus, UINT8 numOfBeaconsToBuffer);
146 
147 extern int whal_hwCtrl_SetBeaconFilterIETable(HwCtrl_T *pHwCtrl, UINT8* numberOfIEs, UINT8 * IETable, UINT8* IETableSize);
148 
149 extern int whal_hwCtrl_GetGroupAddressesTable (HwCtrl_T *pHwCtrl,UINT8* pisEnabled, UINT8* pnumGroupAddrs, macAddress_t *Group_addr);
150 extern int whal_hwCtrl_SetGroupAddressesTable (HwCtrl_T *pHwCtrl,UINT8 numGroupAddrs, macAddress_t *Group_addr, UINT8 isEnabled);
151 extern int whal_hwCtrl_SetRtsThreshold (HwCtrl_T *pHwCtrl,UINT16 RtsThreshold);
152 extern int whal_hwCtrl_SetarpIpAddressesTable(HwCtrl_T *pHwCtrl, IpAddress_t *IP_addr, UINT8 isEnabled , IPver_e IP_ver);
153 extern int whalCtrl_GetArpIpAddressesTable (HwCtrl_T *pHwCtrl, IpAddress_t *IP_addr, UINT8* pisEnabled , IPver_e* pIP_ver);
154 extern int whal_hwCtrl_SetarpIpFilterEnabled(HwCtrl_T *pHwCtrl, UINT8 isEnabled ) ;
155 extern void whal_hwCtrl_Stop				(HwCtrl_T *pHwCtrl);
156 extern BOOL whal_hwCtrl_isElpSupported		(HwCtrl_T *pHwCtrl);
157 extern int whal_hwCtrl_AidSet				(HwCtrl_T *pHwCtrl, UINT16 aAidVal);
158 
159 extern int whal_hwCtrl_SaveAntennaDiversityOptions (HwCtrl_T *pHwCtrl,
160                                                     whalCtrl_antennaDiversityOptions_t* pAntennaDivresityOptions);
161 extern int whal_hwCtrl_CurrentAntennaDiversitySendCmd (HwCtrl_T *pHwCtrl);
162 extern int whal_hwCtrl_SetTxAntenna (HwCtrl_T *pHwCtrl, UINT8 TxAntenna);
163 extern int whal_hwCtrl_GetTxAntenna (HwCtrl_T *pHwCtrl, UINT8* TxAntenna);
164 extern int whal_hwCtrl_SetRxAntenna (HwCtrl_T *pHwCtrl, UINT8 RxAntenna);
165 extern int whal_hwCtrl_GetRxAntenna (HwCtrl_T *pHwCtrl, UINT8* RxAntenna);
166 
167 extern int whal_hwCtrl_PowerMgmtOptionsPrint(HwCtrl_T *pHwCtrl);
168 extern int whal_hwCtrl_PowerMgmtConfigurationSet (HwCtrl_T *pHwCtrl,
169                                                         whalCtrl_powerSaveParams_t* powerSaveParams);
170 /*										whalCtrl_powerMgmtConfig_t *thePowerMgmtOptionsConfig);*/
171 extern int whal_hwCtrl_switchChannel		(HwCtrl_T *pHwCtrl, UINT8 channel);
172 extern int whal_hwCtrl_SetRegulatoryDomain	(HwCtrl_T *pHwCtrl, radioBand_e radioBand);
173 extern int whal_hwCtrl_SetACIConfiguration 	(HwCtrl_T *pHwCtrl, UINT8 ACIMode, UINT8 inputCCA, UINT8 qualifiedCCA,
174                                             UINT8 stompForRx, UINT8 stompFortTx, UINT8 txCCA);
175 extern int whal_hwCtrl_CurrentAssociationIdGet (HwCtrl_T *pHwCtrl, UINT16  *pAidVal);
176 
177 extern int whal_HwCtrl_enableMboxAsyncMode	(HwCtrl_T *pHwCtrl);
178 extern int whal_HwCtrl_resetMacRx (HwCtrl_T *pHwCtrl);
179 extern int whal_HwCtrl_LNAControl (HwCtrl_T *pHwCtrl, UINT8 LNAControlField);
180 extern int whal_hwCtrl_NoiseHistogramCmd (HwCtrl_T *pHwCtrl, whalCtrl_noiseHistogram_t* pNoiseHistParams);
181 extern int whal_hwCtrl_SwitchChannelCmd (HwCtrl_T *pHwCtrl, whalCtrl_switchChannelCmd_t* pSwitchChannelCmd);
182 extern int whal_hwCtrl_SwitchChannelCancelCmd (HwCtrl_T *pHwCtrl);
183 
184 extern int whal_hwCtrl_SetSNRParams(HwCtrl_T *pHwCtrl, whalCtrl_roamingTriggerCmd_t* pRoamingTriggerCmd) ;
185 extern int whal_hwCtrl_SetRSSIParams(HwCtrl_T *pHwCtrl, whalCtrl_roamingTriggerCmd_t* pRoamingTriggerCmd) ;
186 extern int whal_hwCtrl_SetMaxTxRetryParams(HwCtrl_T *pHwCtrl, whalCtrl_roamingTriggerCmd_t* pRoamingTriggerCmd);
187 extern int whal_hwCtrl_SetBssLossTsfThresholdParams(	HwCtrl_T *pHwCtrl,whalCtrl_roamingTriggerCmd_t* pRoamingTriggerCmd);
188 extern int whal_hwCtrl_GetAsynRSSI (HwCtrl_T *pHwCtrl,void *CB_Func, TI_HANDLE CB_handle, PUINT8 CB_Buf);
189 
190 extern int whal_hwCtrl_ClkRunEnableSet  (HwCtrl_T *pHwCtrl, BOOL aClkRunEnable);
191 
192 extern int whal_hwCtrl_ArmClockSet (HwCtrl_T *pHwCtrl, UINT32 ArmClock);
193 extern int whal_hwCtrl_MacClockSet (HwCtrl_T *pHwCtrl, UINT32 MacClock);
194 
195 extern TI_HANDLE whal_hwCtrl_GetBusHandle(HwCtrl_T *pHwCtrl);
196 extern HwMboxConfig_T *whal_hwCtrl_GetMboxConfig(HwCtrl_T *pHwCtrl);
197 extern HwMboxCmd_T    *whal_hwCtrl_GetMboxCmd(HwCtrl_T *pHwCtrl);
198 
199 extern int whal_hwCtrl_getTsf(HwCtrl_T *pHwCtrl, UINT32 *pTsf);
200 
201 extern int whal_hwCtrl_SetSlotTime    	(HwCtrl_T *pHwCtrl, slotTime_e SlotTimeVal);
202 extern int whal_hwCtrl_SetPreamble	(HwCtrl_T *pHwCtrl, Preamble_e preambleVal);
203 int whal_hwCtrl_SetFrameRate(HwCtrl_T *pHwCtrl,
204                                 UINT8	txCtrlFrmRateVal,
205                                 UINT8  	txCtrlFrmModVal,
206                                 UINT8  	txMgmtFrmRateVal,
207                                 UINT8  	txMgmtFrmModVal);
208 extern int whal_hwCtrl_EncDecrSet     (HwCtrl_T *pHwCtrl, BOOL aHwEncEnable, BOOL aHwDecEnable);
209 extern int whal_hwCtrl_RxMsduFormatSet(HwCtrl_T *pHwCtrl, BOOL aRxMsduForamtEnable);
210 extern int  whal_hwCtrl_PacketDetectionThreshold (TI_HANDLE hHwCtrl, UINT8* pPdThreshold);
211 extern int whal_hwCtrl_FwDisconnect(HwCtrl_T *pHwCtrl, uint32 ConfigOptions, uint32 FilterOptions);
212 extern int whal_hwCtrl_MinPowerLevelSet (HwCtrl_T *pHwCtrl, powerAutho_PowerPolicy_e minPowerLevel);
213 
214 extern int whal_hwCtrl_SoftGeminiEnable(HwCtrl_T *pHwCtrl,SoftGeminiEnableModes_e SgEnable);
215 extern int whal_hwCtrl_SetSoftGeminiParams(HwCtrl_T *pHwCtrl,SoftGeminiParam_t *SgParam);
216 int whal_hwCtrl_GetSoftGeminiParams (HwCtrl_T *pHwCtrl, void *CB_Func, TI_HANDLE CB_handle, void* CB_Buf);
217 extern int whal_hwCtrl_TxRatePolicy(TI_HANDLE hHwCtrl,txRatePolicy_t *pTxRatePolicy);
218 extern txRatePolicy_t* whal_hwCtrl_GetTxRatePolicy(TI_HANDLE hHwCtrl);
219 extern int whal_hwCtrl_ReJoinBss (TI_HANDLE hHwCtrl);
220 int whal_hwCtrl_setBetParams(HwCtrl_T * pHwCtrl, UINT8 Enable, UINT8 MaximumConsecutiveET);
221 
222 /*
223  *	WME TX API
224  */
225 extern int  whal_hwCtrl_TrafficConf(TI_HANDLE hHwCtrl, queueTrafficParams_t *pQtrafficParams);
226 extern int  whal_hwCtrl_AcParamsConf(TI_HANDLE hHwCtrl,configureCmdCBParams_t *pConfigureCommand);
227 extern int  whal_hwCtrl_QueueConf(TI_HANDLE hHwCtrl, acQueuesParams_t* pAcQueuesParams);
228 
229 #if 0
230 extern int  whal_hwCtrl_TrafficConf       (TI_HANDLE hHwCtrl, whaCtrl_acTrafficParams_t* pAcTrafficParams);
231 extern int  whal_hwCtrl_TxConfigOptions   (TI_HANDLE hHwCtrl);
232 #endif
233 
234 /* Measurement */
235 extern int whal_hwCtrl_measurement (HwCtrl_T *pHwCtrl, whalCtrl_MeasurementParameters_t* pMeasurementParams,
236                              void* MeasureCommandResponseCB, TI_HANDLE CB_handle);
237 extern int whal_hwCtrl_measurementStop (HwCtrl_T *pHwCtrl, void* MeasureCommandResponseCB, TI_HANDLE CB_handle);
238 extern int whal_hwCtrl_ApDiscovery (HwCtrl_T *pHwCtrl, whalCtrl_ApDiscoveryParameters_t* pMeasurementParams);
239 extern int whal_hwCtrl_ApDiscoveryStop (HwCtrl_T *pHwCtrl);
240 extern int whal_hwCtrl_healthCheck (HwCtrl_T *pHwCtrl);
241 
242 
243 /*
244 PowerMgmtOption enum
245 */
246 typedef enum
247 {
248     /* beacon/dtim/listen interval */
249     POWER_MGMT_OPTIONS_WAKEUP_ON_ALL_BEACONS_VAL = 0x0,
250 
251     POWER_MGMT_OPTIONS_WAKEUP_ON_ALL_DITMS_VAL = 0x1,
252 
253     POWER_MGMT_OPTIONS_WAKEUP_ON_EVERY_LISTEN_INTERVAL_VAL = 0x2,
254 
255     POWER_MGMT_OPTIONS_WAKEUP_ON_N_DITM_VAL = 0x5,
256 
257     POWER_MGMT_OPTIONS_WAKEUP_ON_MASK = 0x7,
258 
259     /* gpio/wake on host */
260     POWER_MGMT_OPTIONS_WAKEUP_ON_GPIO_OFFSET = 6,
261 
262     POWER_MGMT_OPTIONS_WAKEUP_ON_GPIO_VAL = 1<<POWER_MGMT_OPTIONS_WAKEUP_ON_GPIO_OFFSET,
263 
264     POWER_MGMT_OPTIONS_WAKEUP_ON_GPIO_MASK = 1<<POWER_MGMT_OPTIONS_WAKEUP_ON_GPIO_OFFSET,
265 
266     /* 802.11 ps Enable */
267     POWER_MGMT_OPTIONS_PS_802_11_ENABLE_OFFSET = 7,
268 
269     POWER_MGMT_OPTIONS_PS_802_11_ENABLE_VAL = 1<<POWER_MGMT_OPTIONS_PS_802_11_ENABLE_OFFSET,
270 
271     POWER_MGMT_OPTIONS_PS_802_11_ENABLE_MASK = 1<<POWER_MGMT_OPTIONS_PS_802_11_ENABLE_OFFSET,
272 
273     /* 802.11 ps Disable send of null data frame on exit from PS */
274     POWER_MGMT_OPTIONS_PS_802_11_DISABLE_NULL_DATA_SEND_ON_EXIT_OFFSET = 5,
275 
276     POWER_MGMT_OPTIONS_PS_802_11_DISABLE_NULL_DATA_SEND_ON_EXIT_VAL = 1<<POWER_MGMT_OPTIONS_PS_802_11_DISABLE_NULL_DATA_SEND_ON_EXIT_OFFSET,
277 
278     POWER_MGMT_OPTIONS_PS_802_11_DISABLE_NULL_DATA_SEND_ON_EXIT_MASK = 1<<POWER_MGMT_OPTIONS_PS_802_11_DISABLE_NULL_DATA_SEND_ON_EXIT_OFFSET,
279 
280 
281     /* Rx Broadcast (ignore broadcast / proxy arp) */
282     POWER_MGMT_OPTIONS_RX_BROADCAST_OFFEST = 0,
283 
284     POWER_MGMT_OPTIONS_RX_BROADCAST_VAL = 1<<POWER_MGMT_OPTIONS_RX_BROADCAST_OFFEST,
285 
286     POWER_MGMT_OPTIONS_RX_BROADCAST_MASK = 1<<POWER_MGMT_OPTIONS_RX_BROADCAST_OFFEST,
287 
288     /* HW PS POLL */
289     POWER_MGMT_OPTIONS_HW_PS_POLL_OFFSET = 1,
290 
291     POWER_MGMT_OPTIONS_HW_PS_POLL_OFF_VAL = 1<<POWER_MGMT_OPTIONS_HW_PS_POLL_OFFSET,
292 
293     POWER_MGMT_OPTIONS_HW_PS_POLL_MASK = 1<<POWER_MGMT_OPTIONS_HW_PS_POLL_OFFSET
294 
295 }whalHwCtrl_PowerMgmtOptionsDefinitions;
296 
297 /*
298 BeaconFiltering enum
299 */
300 typedef enum
301 {
302     /* beacon filtering activation */
303     BEACON_FILTER_DISABLE_VAL = 0,
304 
305     BEACON_FILTER_ENABLE_VAL = 1
306 
307 }whalHwCtrl_BeaconFilteringOptionsDefinitions;
308 
309 
310 /*
311  * EEPROM defines
312  */
313 /*******************
314  Radio constants
315  *******************/
316 #define RADIO_MAXIM2820_ID    (0x0D)
317 #define RADIO_RFMD_ID         (0x11)
318 #define RADIO_RADIA_BG_ID     (0x16)
319 #define RADIO_RADIA_ABG_ID    (0x17)
320 #define RADIO_RADIA_BG_CRT_ID (0x19)
321 #define RADIO_RADIA_CRT_ID    (0x19)
322 #define RADIO_RADIA_WBR_ID    (0x1A)
323 #define RADIO_RADIA_DCR_ID    (0x1B)
324 #define RADIO_RADIA_DCR_1251_ID (0x1C)
325 #define DEFAULT_RADIO_TYPE	   RADIO_MAXIM2820_ID
326 
327 
328 #endif
329 
330