linux/drivers/staging/rtl8192e/rtl8192e/r8190P_def.h
<<
>>
Prefs
   1/******************************************************************************
   2 * Copyright(c) 2008 - 2010 Realtek Corporation. All rights reserved.
   3 *
   4 * This program is distributed in the hope that it will be useful, but WITHOUT
   5 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   6 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
   7 * more details.
   8 *
   9 * The full GNU General Public License is included in this distribution in the
  10 * file called LICENSE.
  11 *
  12 * Contact Information:
  13 * wlanfae <wlanfae@realtek.com>
  14******************************************************************************/
  15
  16
  17#ifndef R8190P_DEF_H
  18#define R8190P_DEF_H
  19
  20#include <linux/types.h>
  21
  22#define         MAX_SILENT_RESET_RX_SLOT_NUM    10
  23
  24#define RX_MPDU_QUEUE                           0
  25
  26enum rtl819x_loopback {
  27        RTL819X_NO_LOOPBACK = 0,
  28        RTL819X_MAC_LOOPBACK = 1,
  29        RTL819X_DMA_LOOPBACK = 2,
  30        RTL819X_CCK_LOOPBACK = 3,
  31};
  32
  33#define DESC90_RATE1M                           0x00
  34#define DESC90_RATE2M                           0x01
  35#define DESC90_RATE5_5M                         0x02
  36#define DESC90_RATE11M                          0x03
  37#define DESC90_RATE6M                           0x04
  38#define DESC90_RATE9M                           0x05
  39#define DESC90_RATE12M                          0x06
  40#define DESC90_RATE18M                          0x07
  41#define DESC90_RATE24M                          0x08
  42#define DESC90_RATE36M                          0x09
  43#define DESC90_RATE48M                          0x0a
  44#define DESC90_RATE54M                          0x0b
  45#define DESC90_RATEMCS0                         0x00
  46#define DESC90_RATEMCS1                         0x01
  47#define DESC90_RATEMCS2                         0x02
  48#define DESC90_RATEMCS3                         0x03
  49#define DESC90_RATEMCS4                         0x04
  50#define DESC90_RATEMCS5                         0x05
  51#define DESC90_RATEMCS6                         0x06
  52#define DESC90_RATEMCS7                         0x07
  53#define DESC90_RATEMCS8                         0x08
  54#define DESC90_RATEMCS9                         0x09
  55#define DESC90_RATEMCS10                        0x0a
  56#define DESC90_RATEMCS11                        0x0b
  57#define DESC90_RATEMCS12                        0x0c
  58#define DESC90_RATEMCS13                        0x0d
  59#define DESC90_RATEMCS14                        0x0e
  60#define DESC90_RATEMCS15                        0x0f
  61#define DESC90_RATEMCS32                        0x20
  62
  63#define SHORT_SLOT_TIME                         9
  64#define NON_SHORT_SLOT_TIME             20
  65
  66#define RX_SMOOTH                               20
  67
  68#define QSLT_BK                                 0x1
  69#define QSLT_BE                                 0x0
  70#define QSLT_VI                                 0x4
  71#define QSLT_VO                                 0x6
  72#define QSLT_BEACON                     0x10
  73#define QSLT_HIGH                               0x11
  74#define QSLT_MGNT                               0x12
  75#define QSLT_CMD                                0x13
  76
  77#define NUM_OF_PAGE_IN_FW_QUEUE_BK              0x007
  78#define NUM_OF_PAGE_IN_FW_QUEUE_BE              0x0aa
  79#define NUM_OF_PAGE_IN_FW_QUEUE_VI              0x024
  80#define NUM_OF_PAGE_IN_FW_QUEUE_VO              0x007
  81#define NUM_OF_PAGE_IN_FW_QUEUE_MGNT            0x10
  82#define NUM_OF_PAGE_IN_FW_QUEUE_BCN             0x4
  83#define NUM_OF_PAGE_IN_FW_QUEUE_PUB             0xd
  84
  85#define APPLIED_RESERVED_QUEUE_IN_FW            0x80000000
  86#define RSVD_FW_QUEUE_PAGE_BK_SHIFT             0x00
  87#define RSVD_FW_QUEUE_PAGE_BE_SHIFT             0x08
  88#define RSVD_FW_QUEUE_PAGE_VI_SHIFT             0x10
  89#define RSVD_FW_QUEUE_PAGE_VO_SHIFT             0x18
  90#define RSVD_FW_QUEUE_PAGE_MGNT_SHIFT   0x10
  91#define RSVD_FW_QUEUE_PAGE_BCN_SHIFT            0x00
  92#define RSVD_FW_QUEUE_PAGE_PUB_SHIFT            0x08
  93
  94#define HAL_PRIME_CHNL_OFFSET_DONT_CARE 0
  95#define HAL_PRIME_CHNL_OFFSET_LOWER             1
  96#define HAL_PRIME_CHNL_OFFSET_UPPER             2
  97
  98
  99enum version_8190_loopback {
 100        VERSION_8190_BD = 0x3,
 101        VERSION_8190_BE
 102};
 103
 104#define IC_VersionCut_C 0x2
 105#define IC_VersionCut_D 0x3
 106#define IC_VersionCut_E 0x4
 107
 108enum rf_optype {
 109        RF_OP_By_SW_3wire = 0,
 110        RF_OP_By_FW,
 111        RF_OP_MAX
 112};
 113
 114struct bb_reg_definition {
 115        u32 rfintfs;
 116        u32 rfintfi;
 117        u32 rfintfo;
 118        u32 rfintfe;
 119        u32 rf3wireOffset;
 120        u32 rfLSSI_Select;
 121        u32 rfTxGainStage;
 122        u32 rfHSSIPara1;
 123        u32 rfHSSIPara2;
 124        u32 rfSwitchControl;
 125        u32 rfAGCControl1;
 126        u32 rfAGCControl2;
 127        u32 rfRxIQImbalance;
 128        u32 rfRxAFE;
 129        u32 rfTxIQImbalance;
 130        u32 rfTxAFE;
 131        u32 rfLSSIReadBack;
 132        u32 rfLSSIReadBackPi;
 133};
 134
 135struct tx_fwinfo_8190pci {
 136        u8                      TxRate:7;
 137        u8                      CtsEnable:1;
 138        u8                      RtsRate:7;
 139        u8                      RtsEnable:1;
 140        u8                      TxHT:1;
 141        u8                      Short:1;
 142        u8                      TxBandwidth:1;
 143        u8                      TxSubCarrier:2;
 144        u8                      STBC:2;
 145        u8                      AllowAggregation:1;
 146        u8                      RtsHT:1;
 147        u8                      RtsShort:1;
 148        u8                      RtsBandwidth:1;
 149        u8                      RtsSubcarrier:2;
 150        u8                      RtsSTBC:2;
 151        u8                      EnableCPUDur:1;
 152
 153        u32                     RxMF:2;
 154        u32                     RxAMD:3;
 155        u32                     TxPerPktInfoFeedback:1;
 156        u32                     Reserved1:2;
 157        u32                     TxAGCOffset:4;
 158        u32                     TxAGCSign:1;
 159        u32                     RAW_TXD:1;
 160        u32                     Retry_Limit:4;
 161        u32                     Reserved2:1;
 162        u32                     PacketID:13;
 163
 164
 165};
 166
 167struct log_int_8190 {
 168        u32     nIMR_COMDOK;
 169        u32     nIMR_MGNTDOK;
 170        u32     nIMR_HIGH;
 171        u32     nIMR_VODOK;
 172        u32     nIMR_VIDOK;
 173        u32     nIMR_BEDOK;
 174        u32     nIMR_BKDOK;
 175        u32     nIMR_ROK;
 176        u32     nIMR_RCOK;
 177        u32     nIMR_TBDOK;
 178        u32     nIMR_BDOK;
 179        u32     nIMR_RXFOVW;
 180};
 181
 182struct phy_ofdm_rx_status_rxsc_sgien_exintfflag {
 183        u8                      reserved:4;
 184        u8                      rxsc:2;
 185        u8                      sgi_en:1;
 186        u8                      ex_intf_flag:1;
 187};
 188
 189struct phy_sts_ofdm_819xpci {
 190        u8      trsw_gain_X[4];
 191        u8      pwdb_all;
 192        u8      cfosho_X[4];
 193        u8      cfotail_X[4];
 194        u8      rxevm_X[2];
 195        u8      rxsnr_X[4];
 196        u8      pdsnr_X[2];
 197        u8      csi_current_X[2];
 198        u8      csi_target_X[2];
 199        u8      sigevm;
 200        u8      max_ex_pwr;
 201        u8      sgi_en;
 202        u8      rxsc_sgien_exflg;
 203};
 204
 205struct phy_sts_cck_819xpci {
 206        u8      adc_pwdb_X[4];
 207        u8      sq_rpt;
 208        u8      cck_agc_rpt;
 209};
 210
 211
 212#define         PHY_RSSI_SLID_WIN_MAX                           100
 213#define         PHY_Beacon_RSSI_SLID_WIN_MAX            10
 214
 215struct tx_desc {
 216        u16     PktSize;
 217        u8      Offset;
 218        u8      Reserved1:3;
 219        u8      CmdInit:1;
 220        u8      LastSeg:1;
 221        u8      FirstSeg:1;
 222        u8      LINIP:1;
 223        u8      OWN:1;
 224
 225        u8      TxFWInfoSize;
 226        u8      RATid:3;
 227        u8      DISFB:1;
 228        u8      USERATE:1;
 229        u8      MOREFRAG:1;
 230        u8      NoEnc:1;
 231        u8      PIFS:1;
 232        u8      QueueSelect:5;
 233        u8      NoACM:1;
 234        u8      Resv:2;
 235        u8      SecCAMID:5;
 236        u8      SecDescAssign:1;
 237        u8      SecType:2;
 238
 239        u16     TxBufferSize;
 240        u8      PktId:7;
 241        u8      Resv1:1;
 242        u8      Reserved2;
 243
 244        u32     TxBuffAddr;
 245
 246        u32     NextDescAddress;
 247
 248        u32     Reserved5;
 249        u32     Reserved6;
 250        u32     Reserved7;
 251};
 252
 253
 254struct tx_desc_cmd {
 255        u16     PktSize;
 256        u8      Reserved1;
 257        u8      CmdType:3;
 258        u8      CmdInit:1;
 259        u8      LastSeg:1;
 260        u8      FirstSeg:1;
 261        u8      LINIP:1;
 262        u8      OWN:1;
 263
 264        u16     ElementReport;
 265        u16     Reserved2;
 266
 267        u16     TxBufferSize;
 268        u16     Reserved3;
 269
 270        u32     TxBuffAddr;
 271        u32     NextDescAddress;
 272        u32     Reserved4;
 273        u32     Reserved5;
 274        u32     Reserved6;
 275};
 276
 277struct rx_desc {
 278        u16                     Length:14;
 279        u16                     CRC32:1;
 280        u16                     ICV:1;
 281        u8                      RxDrvInfoSize;
 282        u8                      Shift:2;
 283        u8                      PHYStatus:1;
 284        u8                      SWDec:1;
 285        u8                      LastSeg:1;
 286        u8                      FirstSeg:1;
 287        u8                      EOR:1;
 288        u8                      OWN:1;
 289
 290        u32                     Reserved2;
 291
 292        u32                     Reserved3;
 293
 294        u32     BufferAddress;
 295
 296};
 297
 298
 299struct rx_fwinfo {
 300        u16                     Reserved1:12;
 301        u16                     PartAggr:1;
 302        u16                     FirstAGGR:1;
 303        u16                     Reserved2:2;
 304
 305        u8                      RxRate:7;
 306        u8                      RxHT:1;
 307
 308        u8                      BW:1;
 309        u8                      SPLCP:1;
 310        u8                      Reserved3:2;
 311        u8                      PAM:1;
 312        u8                      Mcast:1;
 313        u8                      Bcast:1;
 314        u8                      Reserved4:1;
 315
 316        u32                     TSFL;
 317
 318};
 319
 320#endif
 321