linux/drivers/net/wireless/realtek/rtlwifi/rtl8192de/dm.h
<<
>>
Prefs
   1/******************************************************************************
   2 *
   3 * Copyright(c) 2009-2012  Realtek Corporation.
   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 * The full GNU General Public License is included in this distribution in the
  15 * file called LICENSE.
  16 *
  17 * Contact Information:
  18 * wlanfae <wlanfae@realtek.com>
  19 * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
  20 * Hsinchu 300, Taiwan.
  21 *
  22 * Larry Finger <Larry.Finger@lwfinger.net>
  23 *
  24 *****************************************************************************/
  25
  26#ifndef __RTL92C_DM_H__
  27#define __RTL92C_DM_H__
  28
  29#define HAL_DM_DIG_DISABLE                      BIT(0)
  30#define HAL_DM_HIPWR_DISABLE                    BIT(1)
  31
  32#define OFDM_TABLE_LENGTH                       37
  33#define OFDM_TABLE_SIZE_92D                     43
  34#define CCK_TABLE_LENGTH                        33
  35
  36#define CCK_TABLE_SIZE                          33
  37
  38#define BW_AUTO_SWITCH_HIGH_LOW                 25
  39#define BW_AUTO_SWITCH_LOW_HIGH                 30
  40
  41#define DM_DIG_FA_UPPER                         0x32
  42#define DM_DIG_FA_LOWER                         0x20
  43#define DM_DIG_FA_TH0                           0x100
  44#define DM_DIG_FA_TH1                           0x400
  45#define DM_DIG_FA_TH2                           0x600
  46
  47#define RXPATHSELECTION_SS_TH_lOW               30
  48#define RXPATHSELECTION_DIFF_TH                 18
  49
  50#define DM_RATR_STA_INIT                        0
  51#define DM_RATR_STA_HIGH                        1
  52#define DM_RATR_STA_MIDDLE                      2
  53#define DM_RATR_STA_LOW                         3
  54
  55#define CTS2SELF_THVAL                          30
  56#define REGC38_TH                               20
  57
  58#define WAIOTTHVAL                              25
  59
  60#define TXHIGHPWRLEVEL_NORMAL                   0
  61#define TXHIGHPWRLEVEL_LEVEL1                   1
  62#define TXHIGHPWRLEVEL_LEVEL2                   2
  63#define TXHIGHPWRLEVEL_BT1                      3
  64#define TXHIGHPWRLEVEL_BT2                      4
  65
  66#define DM_TYPE_BYFW                            0
  67#define DM_TYPE_BYDRIVER                        1
  68
  69#define TX_POWER_NEAR_FIELD_THRESH_LVL2         74
  70#define TX_POWER_NEAR_FIELD_THRESH_LVL1         67
  71#define INDEX_MAPPING_NUM                       13
  72
  73struct swat {
  74        u8 failure_cnt;
  75        u8 try_flag;
  76        u8 stop_trying;
  77        long pre_rssi;
  78        long trying_threshold;
  79        u8 cur_antenna;
  80        u8 pre_antenna;
  81};
  82
  83enum tag_dynamic_init_gain_operation_type_definition {
  84        DIG_TYPE_THRESH_HIGH = 0,
  85        DIG_TYPE_THRESH_LOW = 1,
  86        DIG_TYPE_BACKOFF = 2,
  87        DIG_TYPE_RX_GAIN_MIN = 3,
  88        DIG_TYPE_RX_GAIN_MAX = 4,
  89        DIG_TYPE_ENABLE = 5,
  90        DIG_TYPE_DISABLE = 6,
  91        DIG_OP_TYPE_MAX
  92};
  93
  94enum dm_1r_cca {
  95        CCA_1R = 0,
  96        CCA_2R = 1,
  97        CCA_MAX = 2,
  98};
  99
 100enum dm_rf {
 101        RF_SAVE = 0,
 102        RF_NORMAL = 1,
 103        RF_MAX = 2,
 104};
 105
 106enum dm_sw_ant_switch {
 107        ANS_ANTENNA_B = 1,
 108        ANS_ANTENNA_A = 2,
 109        ANS_ANTENNA_MAX = 3,
 110};
 111
 112void rtl92d_dm_init(struct ieee80211_hw *hw);
 113void rtl92d_dm_watchdog(struct ieee80211_hw *hw);
 114void rtl92d_dm_init_edca_turbo(struct ieee80211_hw *hw);
 115void rtl92d_dm_write_dig(struct ieee80211_hw *hw);
 116void rtl92d_dm_check_txpower_tracking_thermal_meter(struct ieee80211_hw *hw);
 117void rtl92d_dm_init_rate_adaptive_mask(struct ieee80211_hw *hw);
 118
 119#endif
 120