TWD/Ctrl/CmdBldDb.h
changeset 0 10c42ec6c05f
equal deleted inserted replaced
-1:000000000000 0:10c42ec6c05f
       
     1 /*
       
     2  * CmdBldDb.h
       
     3  *
       
     4  * Copyright(c) 1998 - 2010 Texas Instruments. All rights reserved.      
       
     5  * All rights reserved.      
       
     6  * 
       
     7  * This program and the accompanying materials are made available under the 
       
     8  * terms of the Eclipse Public License v1.0 or BSD License which accompanies
       
     9  * this distribution. The Eclipse Public License is available at
       
    10  * http://www.eclipse.org/legal/epl-v10.html and the BSD License is as below.                                   
       
    11  *                                                                       
       
    12  * Redistribution and use in source and binary forms, with or without    
       
    13  * modification, are permitted provided that the following conditions    
       
    14  * are met:                                                              
       
    15  *                                                                       
       
    16  *  * Redistributions of source code must retain the above copyright     
       
    17  *    notice, this list of conditions and the following disclaimer.      
       
    18  *  * Redistributions in binary form must reproduce the above copyright  
       
    19  *    notice, this list of conditions and the following disclaimer in    
       
    20  *    the documentation and/or other materials provided with the         
       
    21  *    distribution.                                                      
       
    22  *  * Neither the name Texas Instruments nor the names of its            
       
    23  *    contributors may be used to endorse or promote products derived    
       
    24  *    from this software without specific prior written permission.      
       
    25  *                                                                       
       
    26  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS   
       
    27  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT     
       
    28  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 
       
    29  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT  
       
    30  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
       
    31  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT      
       
    32  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
       
    33  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
       
    34  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT   
       
    35  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
       
    36  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
       
    37  */
       
    38 
       
    39 
       
    40 /** \file  CmdBldDb.h 
       
    41  *  \brief Command builder database
       
    42  *
       
    43  *  \see   CmdBld.h 
       
    44  */
       
    45 
       
    46 #ifndef CMDBLDDB_H
       
    47 #define CMDBLDDB_H
       
    48 
       
    49 
       
    50 #include "TWDriverInternal.h"
       
    51 #include "public_infoele.h"
       
    52 
       
    53 
       
    54 /* 
       
    55  * Dot11 params
       
    56  * ------------
       
    57  */
       
    58 typedef struct
       
    59 {
       
    60     TI_UINT16                  RtsThreshold;
       
    61     TI_UINT8                   CtsToSelf;
       
    62     TRxTimeOut                 rxTimeOut;
       
    63     TI_UINT16                  FragmentThreshold;
       
    64     TI_UINT8                   ListenInterval;
       
    65     TI_UINT16                  Capabilities;
       
    66     TI_UINT32                  MaxTxMsduLifetime;
       
    67     TI_UINT32                  MaxRxMsduLifetime;
       
    68     TI_UINT8                   calibrationChannel2_4;
       
    69     TI_UINT8                   calibrationChannel5_0;
       
    70     TI_UINT16                  Aid;
       
    71     TI_UINT8                   CurrAntenna;
       
    72     TI_UINT8                   TxAntenna;
       
    73     TI_UINT8                   RxAntenna;
       
    74     TI_UINT8                   Hw_TxAntenna;
       
    75     TI_UINT8                   Hw_RxAntenna;
       
    76     TI_UINT16                  CwMin;
       
    77     TI_UINT8                   RateFallback;
       
    78     TI_UINT32                  RxConfigOption;
       
    79     TI_UINT32                  RxFilterOption;
       
    80     TI_BOOL                    WiFiWmmPS;
       
    81 
       
    82     /* Data interrupts pacing */
       
    83     TI_UINT16                  TxCompletePacingThreshold;
       
    84     TI_UINT16                  TxCompletePacingTimeout; 
       
    85     TI_UINT16                  RxIntrPacingThreshold;	 
       
    86     TI_UINT16                  RxIntrPacingTimeout;	 
       
    87 
       
    88     /* ARP IP Addr table */
       
    89     TI_UINT32                  arp_IP_ver;
       
    90     TI_UINT32                  isArpIpFilteringEnabled;
       
    91     TIpAddr                    arp_IP_addr;
       
    92 
       
    93     /* Mac addresses filter */
       
    94     TI_UINT8                   isMacAddrFilteringnabled;
       
    95     TI_UINT8                   numGroupAddrs;
       
    96     TMacAddr                   aGroupAddr[MAX_MULTICAST_GROUP_ADDRS];
       
    97 
       
    98     TI_UINT32                  FeatureOptions;
       
    99     TI_UINT32                  FeatureDataFlowOptions;
       
   100     TI_UINT8                   SlotTime;
       
   101     TI_UINT8                   preamble;
       
   102     TI_UINT8                   RadioBand;
       
   103     TI_UINT8                   MacClock;
       
   104     TI_UINT8                   ArmClock;
       
   105     TI_UINT8                   CurrPowerSaveState;
       
   106     ESoftGeminiEnableModes     SoftGeminiEnable;
       
   107     TSoftGeminiParams          SoftGeminiParams;
       
   108     TFmCoexParams              tFmCoexParams;
       
   109     TI_UINT8                   maxSitesFragCollect;
       
   110     TI_UINT8                   hwAccessMethod;
       
   111     TI_UINT32                  nullTemplateSize;
       
   112     TI_UINT32                  disconnTemplateSize;
       
   113     TI_UINT32                  beaconTemplateSize;
       
   114     TI_UINT32                  probeRequestTemplateSize;
       
   115     TI_UINT32                  probeResponseTemplateSize;
       
   116     TI_UINT32                  PsPollTemplateSize;
       
   117     TI_UINT32                  qosNullDataTemplateSize;
       
   118     TI_BOOL                    EnergyDetection;
       
   119     TI_UINT8                   PacketDetectionThreshold;
       
   120     TI_UINT8                   FcsErrThrsh;
       
   121     TI_UINT8                   UseDeviceErrorInterrupt;
       
   122     TI_BOOL                    RetryPreemption;
       
   123     /* This flag indicate if to discards all broadcast frames */
       
   124     TI_BOOL                    RxDisableBroadcast; 
       
   125     /* Indicate if the station is joined */
       
   126     TI_BOOL                    bJoin;              
       
   127     /* Indicate if the station is connected */
       
   128     TI_BOOL                    bStaConnected;              
       
   129     TI_UINT8                   AntDiversity;
       
   130     /* Parameters for roaming triggers configuration */
       
   131     TRroamingTriggerParams     roamTriggers;
       
   132     /* Power control param */
       
   133     EPowerPolicy               minPowerLevel;
       
   134     TBcnBrcOptions             BcnBrcOptions;
       
   135     TBeaconFilterIeTable       beaconFilterIETable;
       
   136     TBeaconFilterInitParams    beaconFilterParams;
       
   137 
       
   138     /*Beacon Early Termination (Bet)*/
       
   139     TI_UINT8                   BetEnable;
       
   140     TI_UINT8                   MaximumConsecutiveET;
       
   141     TI_UINT8                   ConsecutivePsPollDeliveryFailureThreshold;
       
   142 
       
   143     /* RSSI/SNR triggers */
       
   144     RssiSnrTriggerCfg_t        tRssiSnrTrigger[NUM_OF_RSSI_SNR_TRIGGERS];
       
   145     RssiSnrAverageWeights_t    tRssiSnrWeights;
       
   146 
       
   147     TI_UINT32                  uSlicedScanTimeOut;
       
   148 
       
   149     /* HT capabilities */
       
   150     TTwdHtCapabilities         tTwdHtCapabilities;
       
   151 
       
   152     /* PM Config params */
       
   153     TI_UINT32                  uHostClkSettlingTime;	 
       
   154     TI_UINT8                   uHostFastWakeupSupport;
       
   155 
       
   156     TI_UINT8                   TxPowerDbm;
       
   157 
       
   158     /* CoexActivity Table */
       
   159     THalCoexActivityTable      tWlanParamsCoexActivityTable;
       
   160     
       
   161     /* DCO Itrim params */
       
   162     TI_BOOL                    dcoItrimEnabled;
       
   163     TI_UINT32                  dcoItrimModerationTimeoutUsec;
       
   164     
       
   165 } TWlanParams;
       
   166 
       
   167 
       
   168 /* 
       
   169  * BssInfo params
       
   170  * --------------
       
   171  */
       
   172 typedef struct
       
   173 {
       
   174     TI_UINT8                   ReqBssType;
       
   175     TI_UINT8                   BssType;
       
   176     TI_UINT16                  BeaconInterval;
       
   177     TI_UINT8                   DtimInterval; 
       
   178     TI_UINT8                   RadioChannel;
       
   179     TI_UINT8                   BssId[MAC_ADDR_LEN];
       
   180     TSsid                      tSsid;
       
   181     /* Policy for recovery */  
       
   182     TTxRatePolicy              TxRateClassParams; 
       
   183     TI_UINT32                  BasicRateSet;   
       
   184     /* The ctrl field in the Join-Command (see StartJoinRequest_t) */
       
   185     TI_UINT8                   Ctrl;                                 
       
   186     /* ATIM window of IBSS*/
       
   187     /* Note that when ATIM window is zero the*/
       
   188     /* initiated IBSS does not support powersave*/
       
   189     TI_UINT16                  ATimWindow;     
       
   190     /* Specifies the PLCP preamble type used*/
       
   191     /* 0 for long preamble*/
       
   192     /* 1 for short preamble*/
       
   193     TI_UINT8                   DefaultPreamble;
       
   194 
       
   195     /* 
       
   196      * HT setting 
       
   197      */
       
   198     /* capabilities */
       
   199     TI_BOOL   bHtCap;
       
   200     TI_UINT32 uHtCapabilites;
       
   201     TMacAddr  tMacAddress;
       
   202     TI_UINT8  uAmpduMaxLeng;
       
   203     TI_UINT8  uAmpduMinSpac;
       
   204     /* Information */
       
   205     TI_BOOL   bHtInf;
       
   206     TI_UINT8  uRifsMode;     
       
   207     TI_UINT8  uHtProtection;
       
   208     TI_UINT8  uGfProtection;     
       
   209     TI_UINT8  uHtTxBurstLimit;
       
   210     TI_UINT8  uDualCtsProtection;
       
   211     /* BA session */
       
   212     TI_BOOL                               bBaInitiator[MAX_NUM_OF_802_1d_TAGS];
       
   213     TAxcBaSessionInitiatorResponderPolicy tBaSessionInitiatorPolicy[MAX_NUM_OF_802_1d_TAGS]; 
       
   214     TI_BOOL                               bBaResponder[MAX_NUM_OF_802_1d_TAGS];
       
   215     TAxcBaSessionInitiatorResponderPolicy tBaSessionResponderPolicy[MAX_NUM_OF_802_1d_TAGS]; 
       
   216 
       
   217 } TBssInfoParams;
       
   218 
       
   219 
       
   220 /* 
       
   221  * General counters
       
   222  * ----------------
       
   223  */
       
   224 typedef struct
       
   225 {
       
   226     TI_UINT32                  FcsErrCnt;
       
   227 
       
   228 } TGenCounters;
       
   229 
       
   230 
       
   231 /*
       
   232  * queuesParam_T - Queue params for Quality Of Service
       
   233  * ------------------------------------------
       
   234  */
       
   235 typedef struct
       
   236 {
       
   237     TQueueTrafficParams        queues[MAX_NUM_OF_AC];
       
   238     TI_BOOL                    isQueueConfigured[MAX_NUM_OF_AC];
       
   239 
       
   240 } TQueuesParams;
       
   241 
       
   242 
       
   243 typedef struct 
       
   244 {
       
   245     TAcQosParams               ac[MAX_NUM_OF_AC];
       
   246     TI_BOOL                    isAcConfigured[MAX_NUM_OF_AC];
       
   247 	TI_BOOL					   isBurstModeEnabled;
       
   248 } TAcConfParams;
       
   249 
       
   250 
       
   251 typedef struct 
       
   252 {
       
   253     TPsRxStreaming             tid[MAX_NUM_OF_802_1d_TAGS];
       
   254 
       
   255 } TPsRxStreamingParams;
       
   256 
       
   257 
       
   258 /* 
       
   259  * Templates params
       
   260  * ----------------
       
   261  */
       
   262 typedef struct
       
   263 {
       
   264     TTemplateParams            Beacon;
       
   265     TTemplateParams            ProbeReq24;
       
   266     TTemplateParams            ProbeReq50;
       
   267     TTemplateParams            ProbeResp;
       
   268     TTemplateParams            NullData;
       
   269     TTemplateParams            PsPoll;
       
   270     TTemplateParams            QosNullData;
       
   271     TTemplateParams            KeepAlive[ KLV_MAX_TMPL_NUM ];
       
   272     TTemplateParams            Disconn;
       
   273 
       
   274 } TTemplateListParams;
       
   275 
       
   276 typedef struct
       
   277 {
       
   278     TI_UINT8                   enaDisFlag;
       
   279     TKeepAliveParams           keepAliveParams[ KLV_MAX_TMPL_NUM ];
       
   280 } TKeepAliveList;
       
   281 
       
   282 /* Security keys structure for reconfigure phase */
       
   283 typedef struct
       
   284 {
       
   285     TI_BOOL                    bReconfHwEncEnable;     
       
   286     TI_BOOL                    bHwEncDecrEnableValid; 
       
   287     TI_UINT8                   uReconfDefaultKeyId;   
       
   288     TI_BOOL                    bDefaultKeyIdValid;  
       
   289     TSecurityKeys*             pReconfKeys; 
       
   290                                    
       
   291 } TSecurReconf;
       
   292 
       
   293 
       
   294 /* Rx Data Filters */
       
   295 typedef struct
       
   296 {
       
   297     TI_UINT8                   uIndex;
       
   298     TI_UINT8                   uCommand; 
       
   299     filter_e                   eAction;
       
   300     TI_UINT8                   uNumFieldPatterns;
       
   301     TI_UINT8                   uLenFieldPatterns;
       
   302     TI_UINT8                   aFieldPattern[MAX_DATA_FILTER_SIZE];
       
   303                                    
       
   304 } TRxDataFilter;
       
   305 
       
   306 typedef struct
       
   307 {
       
   308     TI_BOOL                    bEnabled;
       
   309     filter_e                   eDefaultAction;
       
   310     TRxDataFilter              aRxDataFilter[MAX_DATA_FILTERS];
       
   311                                    
       
   312 } TRxDataFiltersTable;
       
   313 
       
   314 typedef struct
       
   315 {
       
   316  ACXSmartReflexConfigParams_t     tSmartReflexParams;       
       
   317  ACXSmartReflexDebugParams_t      tSmartReflexDebugParams;  
       
   318  ACXSmartReflexState_t            tSmartReflexState;        
       
   319 
       
   320 }TSmartReflexParams ;
       
   321 
       
   322 typedef struct
       
   323 {  
       
   324 	RateMangeParams_t rateMngParams;
       
   325 
       
   326 } TRateMngParams;
       
   327 
       
   328 
       
   329 
       
   330 /*
       
   331  * ----------------------------------------------------------------
       
   332  *                  MAIN PARAMETERS STRUCTURE
       
   333  * ----------------------------------------------------------------
       
   334  */
       
   335 typedef struct 
       
   336 {
       
   337     TDmaParams                 dma;                 /* Rx/Tx queue parameters   */
       
   338     TQueuesParams              queues;              /* Queues params for QOS    */
       
   339     TAcConfParams              ac;                  /* AC params for QoS        */
       
   340     TPsRxStreamingParams       psStream;            /* PS-Rx-Streaming params   */
       
   341     TWlanParams                wlan;                /* Wlan parameters          */
       
   342     TBssInfoParams             bss;                 /* Bss information          */
       
   343     TFwInfo                    hw;                  /* HW eeprom & versions info*/
       
   344     TGenCounters               counters;            /* General counters         */
       
   345     TTemplateListParams        templateList;        /* Templates for recovery   */
       
   346     TKeepAliveList             klvList;             /* Keep-Alive paramters     */  
       
   347     TSecurReconf               keys;                /* Security keys            */
       
   348     TRxDataFiltersTable        rxDataFilters;       /* Rx data filters          */
       
   349     IniFileGeneralParam        tPlatformGenParams;   /* platfrom gen params from public_radio.h  */   
       
   350     IniFileRadioParam          tRadioIniParams;      /* Radio ini params from public_radio.h     */
       
   351     TSmartReflexParams         tSmartReflex;
       
   352 	TRateMngParams		       tRateMngParams;      /* rate management params */
       
   353 } TCmdBldDb;
       
   354 
       
   355 #endif
       
   356 
       
   357 
       
   358