root/drivers/staging/rtl8192e/rtl8192e/r8190P_def.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


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

/* [<][>][^][v][top][bottom][index][help] */