linux/drivers/staging/rtl8188eu/include/hal_com.h
<<
>>
Prefs
   1/******************************************************************************
   2 *
   3 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
   4 *
   5 * This program is free software; you can redistribute it and/or modify it
   6 * under the terms of version 2 of the GNU General Public License as
   7 * published by the Free Software Foundation.
   8 *
   9 * This program is distributed in the hope that it will be useful, but WITHOUT
  10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
  12 * more details.
  13 *
  14 ******************************************************************************/
  15#ifndef __HAL_COMMON_H__
  16#define __HAL_COMMON_H__
  17
  18/*  */
  19/*        Rate Definition */
  20/*  */
  21/* CCK */
  22#define RATR_1M                                 0x00000001
  23#define RATR_2M                                 0x00000002
  24#define RATR_55M                                0x00000004
  25#define RATR_11M                                0x00000008
  26/* OFDM */
  27#define RATR_6M                                 0x00000010
  28#define RATR_9M                                 0x00000020
  29#define RATR_12M                                0x00000040
  30#define RATR_18M                                0x00000080
  31#define RATR_24M                                0x00000100
  32#define RATR_36M                                0x00000200
  33#define RATR_48M                                0x00000400
  34#define RATR_54M                                0x00000800
  35/* MCS 1 Spatial Stream */
  36#define RATR_MCS0                               0x00001000
  37#define RATR_MCS1                               0x00002000
  38#define RATR_MCS2                               0x00004000
  39#define RATR_MCS3                               0x00008000
  40#define RATR_MCS4                               0x00010000
  41#define RATR_MCS5                               0x00020000
  42#define RATR_MCS6                               0x00040000
  43#define RATR_MCS7                               0x00080000
  44/* MCS 2 Spatial Stream */
  45#define RATR_MCS8                               0x00100000
  46#define RATR_MCS9                               0x00200000
  47#define RATR_MCS10                              0x00400000
  48#define RATR_MCS11                              0x00800000
  49#define RATR_MCS12                              0x01000000
  50#define RATR_MCS13                              0x02000000
  51#define RATR_MCS14                              0x04000000
  52#define RATR_MCS15                              0x08000000
  53
  54/* CCK */
  55#define RATE_1M                                 BIT(0)
  56#define RATE_2M                                 BIT(1)
  57#define RATE_5_5M                               BIT(2)
  58#define RATE_11M                                BIT(3)
  59/* OFDM */
  60#define RATE_6M                                 BIT(4)
  61#define RATE_9M                                 BIT(5)
  62#define RATE_12M                                BIT(6)
  63#define RATE_18M                                BIT(7)
  64#define RATE_24M                                BIT(8)
  65#define RATE_36M                                BIT(9)
  66#define RATE_48M                                BIT(10)
  67#define RATE_54M                                BIT(11)
  68/* MCS 1 Spatial Stream */
  69#define RATE_MCS0                               BIT(12)
  70#define RATE_MCS1                               BIT(13)
  71#define RATE_MCS2                               BIT(14)
  72#define RATE_MCS3                               BIT(15)
  73#define RATE_MCS4                               BIT(16)
  74#define RATE_MCS5                               BIT(17)
  75#define RATE_MCS6                               BIT(18)
  76#define RATE_MCS7                               BIT(19)
  77/* MCS 2 Spatial Stream */
  78#define RATE_MCS8                               BIT(20)
  79#define RATE_MCS9                               BIT(21)
  80#define RATE_MCS10                              BIT(22)
  81#define RATE_MCS11                              BIT(23)
  82#define RATE_MCS12                              BIT(24)
  83#define RATE_MCS13                              BIT(25)
  84#define RATE_MCS14                              BIT(26)
  85#define RATE_MCS15                              BIT(27)
  86
  87/*  ALL CCK Rate */
  88#define RATE_ALL_CCK            (RATR_1M | RATR_2M | RATR_55M | RATR_11M)
  89#define RATE_ALL_OFDM_AG        (RATR_6M | RATR_9M | RATR_12M | RATR_18M | \
  90                                 RATR_24M | RATR_36M | RATR_48M | RATR_54M)
  91#define RATE_ALL_OFDM_1SS       (RATR_MCS0 | RATR_MCS1 | RATR_MCS2 |    \
  92                                 RATR_MCS3 | RATR_MCS4 | RATR_MCS5|RATR_MCS6 | \
  93                                 RATR_MCS7)
  94#define RATE_ALL_OFDM_2SS       (RATR_MCS8 | RATR_MCS9 | RATR_MCS10 | \
  95                                 RATR_MCS11 | RATR_MCS12 | RATR_MCS13 | \
  96                                 RATR_MCS14 | RATR_MCS15)
  97
  98/*------------------------------ Tx Desc definition Macro --------------------*/
  99/* pragma mark -- Tx Desc related definition. -- */
 100/*      Rate */
 101/*  CCK Rates, TxHT = 0 */
 102#define DESC_RATE1M                             0x00
 103#define DESC_RATE2M                             0x01
 104#define DESC_RATE5_5M                           0x02
 105#define DESC_RATE11M                            0x03
 106
 107/*  OFDM Rates, TxHT = 0 */
 108#define DESC_RATE6M                             0x04
 109#define DESC_RATE9M                             0x05
 110#define DESC_RATE12M                            0x06
 111#define DESC_RATE18M                            0x07
 112#define DESC_RATE24M                            0x08
 113#define DESC_RATE36M                            0x09
 114#define DESC_RATE48M                            0x0a
 115#define DESC_RATE54M                            0x0b
 116
 117/*  MCS Rates, TxHT = 1 */
 118#define DESC_RATEMCS0                           0x0c
 119#define DESC_RATEMCS1                           0x0d
 120#define DESC_RATEMCS2                           0x0e
 121#define DESC_RATEMCS3                           0x0f
 122#define DESC_RATEMCS4                           0x10
 123#define DESC_RATEMCS5                           0x11
 124#define DESC_RATEMCS6                           0x12
 125#define DESC_RATEMCS7                           0x13
 126#define DESC_RATEMCS8                           0x14
 127#define DESC_RATEMCS9                           0x15
 128#define DESC_RATEMCS10                          0x16
 129#define DESC_RATEMCS11                          0x17
 130#define DESC_RATEMCS12                          0x18
 131#define DESC_RATEMCS13                          0x19
 132#define DESC_RATEMCS14                          0x1a
 133#define DESC_RATEMCS15                          0x1b
 134#define DESC_RATEMCS15_SG                       0x1c
 135#define DESC_RATEMCS32                          0x20
 136
 137/*  1 Byte long (in unit of TU) */
 138#define REG_P2P_CTWIN                           0x0572
 139#define REG_NOA_DESC_SEL                        0x05CF
 140#define REG_NOA_DESC_DURATION                   0x05E0
 141#define REG_NOA_DESC_INTERVAL                   0x05E4
 142#define REG_NOA_DESC_START                      0x05E8
 143#define REG_NOA_DESC_COUNT                      0x05EC
 144
 145#include "HalVerDef.h"
 146void dump_chip_info(struct HAL_VERSION  ChipVersion);
 147
 148
 149/* return the final channel plan decision */
 150u8 hal_com_get_channel_plan(struct adapter *padapter,
 151                            u8 hw_channel_plan,
 152                            u8 sw_channel_plan,
 153                            u8 def_channel_plan,
 154                            bool AutoLoadFail
 155);
 156
 157u8 MRateToHwRate(u8 rate);
 158
 159void HalSetBrateCfg(struct adapter *Adapter, u8 *mBratesOS, u16 *pBrateCfg);
 160
 161bool Hal_MappingOutPipe(struct adapter *pAdapter, u8 NumOutPipe);
 162
 163void hal_init_macaddr(struct adapter *adapter);
 164#endif /* __HAL_COMMON_H__ */
 165