1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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