Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
nu11secur1ty
GitHub Repository: nu11secur1ty/Kali-Linux
Path: blob/master/ALFA-W1F1/RTL8814AU/hal/phydm/halrf/halrf_powertracking_ap.c
1308 views
1
/******************************************************************************
2
*
3
* Copyright(c) 2007 - 2017 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
*****************************************************************************/
15
16
/* ************************************************************
17
* include files
18
* ************************************************************ */
19
#include "mp_precomp.h"
20
#include "phydm_precomp.h"
21
22
#if !defined(_OUTSRC_COEXIST)
23
/* ************************************************************
24
* Global var
25
* ************************************************************ */
26
27
28
u32 ofdm_swing_table_new[OFDM_TABLE_SIZE_92D] = {
29
0x0b40002d, /* 0, -15.0dB */
30
0x0c000030, /* 1, -14.5dB */
31
0x0cc00033, /* 2, -14.0dB */
32
0x0d800036, /* 3, -13.5dB */
33
0x0e400039, /* 4, -13.0dB */
34
0x0f00003c, /* 5, -12.5dB */
35
0x10000040, /* 6, -12.0dB */
36
0x11000044, /* 7, -11.5dB */
37
0x12000048, /* 8, -11.0dB */
38
0x1300004c, /* 9, -10.5dB */
39
0x14400051, /* 10, -10.0dB */
40
0x15800056, /* 11, -9.5dB */
41
0x16c0005b, /* 12, -9.0dB */
42
0x18000060, /* 13, -8.5dB */
43
0x19800066, /* 14, -8.0dB */
44
0x1b00006c, /* 15, -7.5dB */
45
0x1c800072, /* 16, -7.0dB */
46
0x1e400079, /* 17, -6.5dB */
47
0x20000080, /* 18, -6.0dB */
48
0x22000088, /* 19, -5.5dB */
49
0x24000090, /* 20, -5.0dB */
50
0x26000098, /* 21, -4.5dB */
51
0x288000a2, /* 22, -4.0dB */
52
0x2ac000ab, /* 23, -3.5dB */
53
0x2d4000b5, /* 24, -3.0dB */
54
0x300000c0, /* 25, -2.5dB */
55
0x32c000cb, /* 26, -2.0dB */
56
0x35c000d7, /* 27, -1.5dB */
57
0x390000e4, /* 28, -1.0dB */
58
0x3c8000f2, /* 29, -0.5dB */
59
0x40000100, /* 30, +0dB */
60
0x43c0010f, /* 31, +0.5dB */
61
0x47c0011f, /* 32, +1.0dB */
62
0x4c000130, /* 33, +1.5dB */
63
0x50800142, /* 34, +2.0dB */
64
0x55400155, /* 35, +2.5dB */
65
0x5a400169, /* 36, +3.0dB */
66
0x5fc0017f, /* 37, +3.5dB */
67
0x65400195, /* 38, +4.0dB */
68
0x6b8001ae, /* 39, +4.5dB */
69
0x71c001c7, /* 40, +5.0dB */
70
0x788001e2, /* 41, +5.5dB */
71
0x7f8001fe /* 42, +6.0dB */
72
};
73
74
u8 cck_swing_table_ch1_ch13_new[CCK_TABLE_SIZE][8] = {
75
{0x09, 0x08, 0x07, 0x06, 0x04, 0x03, 0x01, 0x01}, /* 0, -16.0dB */
76
{0x09, 0x09, 0x08, 0x06, 0x05, 0x03, 0x01, 0x01}, /* 1, -15.5dB */
77
{0x0a, 0x09, 0x08, 0x07, 0x05, 0x03, 0x02, 0x01}, /* 2, -15.0dB */
78
{0x0a, 0x0a, 0x09, 0x07, 0x05, 0x03, 0x02, 0x01}, /* 3, -14.5dB */
79
{0x0b, 0x0a, 0x09, 0x08, 0x06, 0x04, 0x02, 0x01}, /* 4, -14.0dB */
80
{0x0b, 0x0b, 0x0a, 0x08, 0x06, 0x04, 0x02, 0x01}, /* 5, -13.5dB */
81
{0x0c, 0x0c, 0x0a, 0x09, 0x06, 0x04, 0x02, 0x01}, /* 6, -13.0dB */
82
{0x0d, 0x0c, 0x0b, 0x09, 0x07, 0x04, 0x02, 0x01}, /* 7, -12.5dB */
83
{0x0d, 0x0d, 0x0c, 0x0a, 0x07, 0x05, 0x02, 0x01}, /* 8, -12.0dB */
84
{0x0e, 0x0e, 0x0c, 0x0a, 0x08, 0x05, 0x02, 0x01}, /* 9, -11.5dB */
85
{0x0f, 0x0f, 0x0d, 0x0b, 0x08, 0x05, 0x03, 0x01}, /* 10, -11.0dB */
86
{0x10, 0x10, 0x0e, 0x0b, 0x08, 0x05, 0x03, 0x01}, /* 11, -10.5dB */
87
{0x11, 0x11, 0x0f, 0x0c, 0x09, 0x06, 0x03, 0x01}, /* 12, -10.0dB */
88
{0x12, 0x12, 0x0f, 0x0c, 0x09, 0x06, 0x03, 0x01}, /* 13, -9.5dB */
89
{0x13, 0x13, 0x10, 0x0d, 0x0a, 0x06, 0x03, 0x01}, /* 14, -9.0dB */
90
{0x14, 0x14, 0x11, 0x0e, 0x0b, 0x07, 0x03, 0x02}, /* 15, -8.5dB */
91
{0x16, 0x15, 0x12, 0x0f, 0x0b, 0x07, 0x04, 0x01}, /* 16, -8.0dB */
92
{0x17, 0x16, 0x13, 0x10, 0x0c, 0x08, 0x04, 0x02}, /* 17, -7.5dB */
93
{0x18, 0x17, 0x15, 0x11, 0x0c, 0x08, 0x04, 0x02}, /* 18, -7.0dB */
94
{0x1a, 0x19, 0x16, 0x12, 0x0d, 0x09, 0x04, 0x02}, /* 19, -6.5dB */
95
{0x1c, 0x1a, 0x18, 0x12, 0x0e, 0x08, 0x04, 0x02}, /* 20, -6.0dB */
96
{0x1d, 0x1c, 0x18, 0x14, 0x0f, 0x0a, 0x05, 0x02}, /* 21, -5.5dB */
97
{0x1f, 0x1e, 0x1a, 0x15, 0x10, 0x0a, 0x05, 0x02}, /* 22, -5.0dB */
98
{0x20, 0x20, 0x1b, 0x16, 0x11, 0x08, 0x05, 0x02}, /* 23, -4.5dB */
99
{0x22, 0x21, 0x1d, 0x18, 0x11, 0x0b, 0x06, 0x02}, /* 24, -4.0dB */
100
{0x24, 0x23, 0x1f, 0x19, 0x13, 0x0c, 0x06, 0x03}, /* 25, -3.5dB */
101
{0x26, 0x25, 0x21, 0x1b, 0x14, 0x0d, 0x06, 0x03}, /* 26, -3.0dB */
102
{0x28, 0x28, 0x22, 0x1c, 0x15, 0x0d, 0x07, 0x03}, /* 27, -2.5dB */
103
{0x2b, 0x2a, 0x25, 0x1e, 0x16, 0x0e, 0x07, 0x03}, /* 28, -2.0dB */
104
{0x2d, 0x2d, 0x27, 0x1f, 0x18, 0x0f, 0x08, 0x03}, /* 29, -1.5dB */
105
{0x30, 0x2f, 0x29, 0x21, 0x19, 0x10, 0x08, 0x03}, /* 30, -1.0dB */
106
{0x33, 0x32, 0x2b, 0x23, 0x1a, 0x11, 0x08, 0x04}, /* 31, -0.5dB */
107
{0x36, 0x35, 0x2e, 0x25, 0x1c, 0x12, 0x09, 0x04} /* 32, +0dB */
108
};
109
110
111
u8 cck_swing_table_ch14_new[CCK_TABLE_SIZE][8] = {
112
{0x09, 0x08, 0x07, 0x04, 0x00, 0x00, 0x00, 0x00}, /* 0, -16.0dB */
113
{0x09, 0x09, 0x08, 0x05, 0x00, 0x00, 0x00, 0x00}, /* 1, -15.5dB */
114
{0x0a, 0x09, 0x08, 0x05, 0x00, 0x00, 0x00, 0x00}, /* 2, -15.0dB */
115
{0x0a, 0x0a, 0x09, 0x05, 0x00, 0x00, 0x00, 0x00}, /* 3, -14.5dB */
116
{0x0b, 0x0a, 0x09, 0x05, 0x00, 0x00, 0x00, 0x00}, /* 4, -14.0dB */
117
{0x0b, 0x0b, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x00}, /* 5, -13.5dB */
118
{0x0c, 0x0c, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x00}, /* 6, -13.0dB */
119
{0x0d, 0x0c, 0x0b, 0x06, 0x00, 0x00, 0x00, 0x00}, /* 7, -12.5dB */
120
{0x0d, 0x0d, 0x0c, 0x07, 0x00, 0x00, 0x00, 0x00}, /* 8, -12.0dB */
121
{0x0e, 0x0e, 0x0c, 0x07, 0x00, 0x00, 0x00, 0x00}, /* 9, -11.5dB */
122
{0x0f, 0x0f, 0x0d, 0x08, 0x00, 0x00, 0x00, 0x00}, /* 10, -11.0dB */
123
{0x10, 0x10, 0x0e, 0x08, 0x00, 0x00, 0x00, 0x00}, /* 11, -10.5dB */
124
{0x11, 0x11, 0x0f, 0x09, 0x00, 0x00, 0x00, 0x00}, /* 12, -10.0dB */
125
{0x12, 0x12, 0x0f, 0x09, 0x00, 0x00, 0x00, 0x00}, /* 13, -9.5dB */
126
{0x13, 0x13, 0x10, 0x0a, 0x00, 0x00, 0x00, 0x00}, /* 14, -9.0dB */
127
{0x14, 0x14, 0x11, 0x0a, 0x00, 0x00, 0x00, 0x00}, /* 15, -8.5dB */
128
{0x16, 0x15, 0x12, 0x0b, 0x00, 0x00, 0x00, 0x00}, /* 16, -8.0dB */
129
{0x17, 0x16, 0x13, 0x0b, 0x00, 0x00, 0x00, 0x00}, /* 17, -7.5dB */
130
{0x18, 0x17, 0x15, 0x0c, 0x00, 0x00, 0x00, 0x00}, /* 18, -7.0dB */
131
{0x1a, 0x19, 0x16, 0x0d, 0x00, 0x00, 0x00, 0x00}, /* 19, -6.5dB */
132
{0x1c, 0x1a, 0x18, 0x0e, 0x00, 0x00, 0x00, 0x00}, /* 20, -6.0dB */
133
{0x1d, 0x1c, 0x18, 0x0e, 0x00, 0x00, 0x00, 0x00}, /* 21, -5.5dB */
134
{0x1f, 0x1e, 0x1a, 0x0f, 0x00, 0x00, 0x00, 0x00}, /* 22, -5.0dB */
135
{0x20, 0x20, 0x1b, 0x10, 0x00, 0x00, 0x00, 0x00}, /* 23, -4.5dB */
136
{0x22, 0x21, 0x1d, 0x11, 0x00, 0x00, 0x00, 0x00}, /* 24, -4.0dB */
137
{0x24, 0x23, 0x1f, 0x12, 0x00, 0x00, 0x00, 0x00}, /* 25, -3.5dB */
138
{0x26, 0x25, 0x21, 0x13, 0x00, 0x00, 0x00, 0x00}, /* 26, -3.0dB */
139
{0x28, 0x28, 0x24, 0x14, 0x00, 0x00, 0x00, 0x00}, /* 27, -2.5dB */
140
{0x2b, 0x2a, 0x25, 0x15, 0x00, 0x00, 0x00, 0x00}, /* 28, -2.0dB */
141
{0x2d, 0x2d, 0x17, 0x17, 0x00, 0x00, 0x00, 0x00}, /* 29, -1.5dB */
142
{0x30, 0x2f, 0x29, 0x18, 0x00, 0x00, 0x00, 0x00}, /* 30, -1.0dB */
143
{0x33, 0x32, 0x2b, 0x19, 0x00, 0x00, 0x00, 0x00}, /* 31, -0.5dB */
144
{0x36, 0x35, 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00} /* 32, +0dB */
145
};
146
147
u32 ofdm_swing_table[OFDM_TABLE_SIZE_92D] = {
148
0x0b40002d, /* 0, -15.0dB */
149
0x0c000030, /* 1, -14.5dB */
150
0x0cc00033, /* 2, -14.0dB */
151
0x0d800036, /* 3, -13.5dB */
152
0x0e400039, /* 4, -13.0dB */
153
0x0f00003c, /* 5, -12.5dB */
154
0x10000040, /* 6, -12.0dB */
155
0x11000044, /* 7, -11.5dB */
156
0x12000048, /* 8, -11.0dB */
157
0x1300004c, /* 9, -10.5dB */
158
0x14400051, /* 10, -10.0dB */
159
0x15800056, /* 11, -9.5dB */
160
0x16c0005b, /* 12, -9.0dB */
161
0x18000060, /* 13, -8.5dB */
162
0x19800066, /* 14, -8.0dB */
163
0x1b00006c, /* 15, -7.5dB */
164
0x1c800072, /* 16, -7.0dB */
165
0x1e400079, /* 17, -6.5dB */
166
0x20000080, /* 18, -6.0dB */
167
0x22000088, /* 19, -5.5dB */
168
0x24000090, /* 20, -5.0dB */
169
0x26000098, /* 21, -4.5dB */
170
0x288000a2, /* 22, -4.0dB */
171
0x2ac000ab, /* 23, -3.5dB */
172
0x2d4000b5, /* 24, -3.0dB */
173
0x300000c0, /* 25, -2.5dB */
174
0x32c000cb, /* 26, -2.0dB */
175
0x35c000d7, /* 27, -1.5dB */
176
0x390000e4, /* 28, -1.0dB */
177
0x3c8000f2, /* 29, -0.5dB */
178
0x40000100, /* 30, +0dB */
179
0x43c0010f, /* 31, +0.5dB */
180
0x47c0011f, /* 32, +1.0dB */
181
0x4c000130, /* 33, +1.5dB */
182
0x50800142, /* 34, +2.0dB */
183
0x55400155, /* 35, +2.5dB */
184
0x5a400169, /* 36, +3.0dB */
185
0x5fc0017f, /* 37, +3.5dB */
186
0x65400195, /* 38, +4.0dB */
187
0x6b8001ae, /* 39, +4.5dB */
188
0x71c001c7, /* 40, +5.0dB */
189
0x788001e2, /* 41, +5.5dB */
190
0x7f8001fe /* 42, +6.0dB */
191
};
192
193
194
u8 cck_swing_table_ch1_ch13[CCK_TABLE_SIZE][8] = {
195
{0x09, 0x08, 0x07, 0x06, 0x04, 0x03, 0x01, 0x01}, /* 0, -16.0dB */
196
{0x09, 0x09, 0x08, 0x06, 0x05, 0x03, 0x01, 0x01}, /* 1, -15.5dB */
197
{0x0a, 0x09, 0x08, 0x07, 0x05, 0x03, 0x02, 0x01}, /* 2, -15.0dB */
198
{0x0a, 0x0a, 0x09, 0x07, 0x05, 0x03, 0x02, 0x01}, /* 3, -14.5dB */
199
{0x0b, 0x0a, 0x09, 0x08, 0x06, 0x04, 0x02, 0x01}, /* 4, -14.0dB */
200
{0x0b, 0x0b, 0x0a, 0x08, 0x06, 0x04, 0x02, 0x01}, /* 5, -13.5dB */
201
{0x0c, 0x0c, 0x0a, 0x09, 0x06, 0x04, 0x02, 0x01}, /* 6, -13.0dB */
202
{0x0d, 0x0c, 0x0b, 0x09, 0x07, 0x04, 0x02, 0x01}, /* 7, -12.5dB */
203
{0x0d, 0x0d, 0x0c, 0x0a, 0x07, 0x05, 0x02, 0x01}, /* 8, -12.0dB */
204
{0x0e, 0x0e, 0x0c, 0x0a, 0x08, 0x05, 0x02, 0x01}, /* 9, -11.5dB */
205
{0x0f, 0x0f, 0x0d, 0x0b, 0x08, 0x05, 0x03, 0x01}, /* 10, -11.0dB */
206
{0x10, 0x10, 0x0e, 0x0b, 0x08, 0x05, 0x03, 0x01}, /* 11, -10.5dB */
207
{0x11, 0x11, 0x0f, 0x0c, 0x09, 0x06, 0x03, 0x01}, /* 12, -10.0dB */
208
{0x12, 0x12, 0x0f, 0x0c, 0x09, 0x06, 0x03, 0x01}, /* 13, -9.5dB */
209
{0x13, 0x13, 0x10, 0x0d, 0x0a, 0x06, 0x03, 0x01}, /* 14, -9.0dB */
210
{0x14, 0x14, 0x11, 0x0e, 0x0b, 0x07, 0x03, 0x02}, /* 15, -8.5dB */
211
{0x16, 0x15, 0x12, 0x0f, 0x0b, 0x07, 0x04, 0x01}, /* 16, -8.0dB */
212
{0x17, 0x16, 0x13, 0x10, 0x0c, 0x08, 0x04, 0x02}, /* 17, -7.5dB */
213
{0x18, 0x17, 0x15, 0x11, 0x0c, 0x08, 0x04, 0x02}, /* 18, -7.0dB */
214
{0x1a, 0x19, 0x16, 0x12, 0x0d, 0x09, 0x04, 0x02}, /* 19, -6.5dB */
215
{0x1c, 0x1a, 0x18, 0x12, 0x0e, 0x08, 0x04, 0x02}, /* 20, -6.0dB */
216
{0x1d, 0x1c, 0x18, 0x14, 0x0f, 0x0a, 0x05, 0x02}, /* 21, -5.5dB */
217
{0x1f, 0x1e, 0x1a, 0x15, 0x10, 0x0a, 0x05, 0x02}, /* 22, -5.0dB */
218
{0x20, 0x20, 0x1b, 0x16, 0x11, 0x08, 0x05, 0x02}, /* 23, -4.5dB */
219
{0x22, 0x21, 0x1d, 0x18, 0x11, 0x0b, 0x06, 0x02}, /* 24, -4.0dB */
220
{0x24, 0x23, 0x1f, 0x19, 0x13, 0x0c, 0x06, 0x03}, /* 25, -3.5dB */
221
{0x26, 0x25, 0x21, 0x1b, 0x14, 0x0d, 0x06, 0x03}, /* 26, -3.0dB */
222
{0x28, 0x28, 0x22, 0x1c, 0x15, 0x0d, 0x07, 0x03}, /* 27, -2.5dB */
223
{0x2b, 0x2a, 0x25, 0x1e, 0x16, 0x0e, 0x07, 0x03}, /* 28, -2.0dB */
224
{0x2d, 0x2d, 0x27, 0x1f, 0x18, 0x0f, 0x08, 0x03}, /* 29, -1.5dB */
225
{0x30, 0x2f, 0x29, 0x21, 0x19, 0x10, 0x08, 0x03}, /* 30, -1.0dB */
226
{0x33, 0x32, 0x2b, 0x23, 0x1a, 0x11, 0x08, 0x04}, /* 31, -0.5dB */
227
{0x36, 0x35, 0x2e, 0x25, 0x1c, 0x12, 0x09, 0x04} /* 32, +0dB */
228
};
229
230
231
u8 cck_swing_table_ch14[CCK_TABLE_SIZE][8] = {
232
{0x09, 0x08, 0x07, 0x04, 0x00, 0x00, 0x00, 0x00}, /* 0, -16.0dB */
233
{0x09, 0x09, 0x08, 0x05, 0x00, 0x00, 0x00, 0x00}, /* 1, -15.5dB */
234
{0x0a, 0x09, 0x08, 0x05, 0x00, 0x00, 0x00, 0x00}, /* 2, -15.0dB */
235
{0x0a, 0x0a, 0x09, 0x05, 0x00, 0x00, 0x00, 0x00}, /* 3, -14.5dB */
236
{0x0b, 0x0a, 0x09, 0x05, 0x00, 0x00, 0x00, 0x00}, /* 4, -14.0dB */
237
{0x0b, 0x0b, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x00}, /* 5, -13.5dB */
238
{0x0c, 0x0c, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x00}, /* 6, -13.0dB */
239
{0x0d, 0x0c, 0x0b, 0x06, 0x00, 0x00, 0x00, 0x00}, /* 7, -12.5dB */
240
{0x0d, 0x0d, 0x0c, 0x07, 0x00, 0x00, 0x00, 0x00}, /* 8, -12.0dB */
241
{0x0e, 0x0e, 0x0c, 0x07, 0x00, 0x00, 0x00, 0x00}, /* 9, -11.5dB */
242
{0x0f, 0x0f, 0x0d, 0x08, 0x00, 0x00, 0x00, 0x00}, /* 10, -11.0dB */
243
{0x10, 0x10, 0x0e, 0x08, 0x00, 0x00, 0x00, 0x00}, /* 11, -10.5dB */
244
{0x11, 0x11, 0x0f, 0x09, 0x00, 0x00, 0x00, 0x00}, /* 12, -10.0dB */
245
{0x12, 0x12, 0x0f, 0x09, 0x00, 0x00, 0x00, 0x00}, /* 13, -9.5dB */
246
{0x13, 0x13, 0x10, 0x0a, 0x00, 0x00, 0x00, 0x00}, /* 14, -9.0dB */
247
{0x14, 0x14, 0x11, 0x0a, 0x00, 0x00, 0x00, 0x00}, /* 15, -8.5dB */
248
{0x16, 0x15, 0x12, 0x0b, 0x00, 0x00, 0x00, 0x00}, /* 16, -8.0dB */
249
{0x17, 0x16, 0x13, 0x0b, 0x00, 0x00, 0x00, 0x00}, /* 17, -7.5dB */
250
{0x18, 0x17, 0x15, 0x0c, 0x00, 0x00, 0x00, 0x00}, /* 18, -7.0dB */
251
{0x1a, 0x19, 0x16, 0x0d, 0x00, 0x00, 0x00, 0x00}, /* 19, -6.5dB */
252
{0x1c, 0x1a, 0x18, 0x0e, 0x00, 0x00, 0x00, 0x00}, /* 20, -6.0dB */
253
{0x1d, 0x1c, 0x18, 0x0e, 0x00, 0x00, 0x00, 0x00}, /* 21, -5.5dB */
254
{0x1f, 0x1e, 0x1a, 0x0f, 0x00, 0x00, 0x00, 0x00}, /* 22, -5.0dB */
255
{0x20, 0x20, 0x1b, 0x10, 0x00, 0x00, 0x00, 0x00}, /* 23, -4.5dB */
256
{0x22, 0x21, 0x1d, 0x11, 0x00, 0x00, 0x00, 0x00}, /* 24, -4.0dB */
257
{0x24, 0x23, 0x1f, 0x12, 0x00, 0x00, 0x00, 0x00}, /* 25, -3.5dB */
258
{0x26, 0x25, 0x21, 0x13, 0x00, 0x00, 0x00, 0x00}, /* 26, -3.0dB */
259
{0x28, 0x28, 0x24, 0x14, 0x00, 0x00, 0x00, 0x00}, /* 27, -2.5dB */
260
{0x2b, 0x2a, 0x25, 0x15, 0x00, 0x00, 0x00, 0x00}, /* 28, -2.0dB */
261
{0x2d, 0x2d, 0x17, 0x17, 0x00, 0x00, 0x00, 0x00}, /* 29, -1.5dB */
262
{0x30, 0x2f, 0x29, 0x18, 0x00, 0x00, 0x00, 0x00}, /* 30, -1.0dB */
263
{0x33, 0x32, 0x2b, 0x19, 0x00, 0x00, 0x00, 0x00}, /* 31, -0.5dB */
264
{0x36, 0x35, 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00} /* 32, +0dB */
265
};
266
267
u8 cck_swing_table_ch1_ch14_88f[CCK_TABLE_SIZE_88F][16] = {
268
{0x16, 0x15, 0x13, 0x10, 0xD, 0x9, 0x6, 0x3, 0x2, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 0 -16dB */
269
{0x18, 0x17, 0x15, 0x12, 0xE, 0xA, 0x7, 0x4, 0x2, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 1 -15.5dB */
270
{0x1B, 0x1A, 0x18, 0x14, 0x10, 0xB, 0x7, 0x4, 0x2, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 2 -15dB */
271
{0x1F, 0x1E, 0x1B, 0x17, 0x12, 0xD, 0x8, 0x5, 0x2, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 3 -14.5dB */
272
{0x22, 0x21, 0x1E, 0x19, 0x14, 0xE, 0x9, 0x5, 0x3, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 4 -14dB */
273
{0x26, 0x25, 0x22, 0x1C, 0x16, 0x10, 0xA, 0x6, 0x3, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 5 -13.5dB */
274
{0x2B, 0x2A, 0x26, 0x20, 0x19, 0x12, 0xC, 0x7, 0x3, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 6 -13dB */
275
{0x30, 0x2F, 0x2A, 0x24, 0x1C, 0x14, 0xD, 0x8, 0x4, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 7 -12.5dB */
276
{0x36, 0x34, 0x2F, 0x28, 0x1F, 0x17, 0xF, 0x9, 0x4, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 8 -12dB */
277
{0x3D, 0x3B, 0x35, 0x2D, 0x23, 0x19, 0x11, 0xA, 0x5, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 9 -11.5dB */
278
{0x44, 0x42, 0x3C, 0x33, 0x28, 0x1C, 0x13, 0xB, 0x5, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 10 -11dB */
279
{0x4D, 0x4A, 0x43, 0x39, 0x2C, 0x20, 0x15, 0xC, 0x6, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 11 -10.5dB */
280
{0x56, 0x53, 0x4B, 0x40, 0x32, 0x24, 0x17, 0xE, 0x6, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 12 -10dB */
281
{0x60, 0x5D, 0x54, 0x47, 0x38, 0x28, 0x1A, 0xF, 0x7, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 13 -9.5dB */
282
{0x6C, 0x69, 0x5F, 0x50, 0x3F, 0x2D, 0x1E, 0x11, 0x8, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 14 -9dB */
283
{0x79, 0x76, 0x6A, 0x5A, 0x46, 0x33, 0x21, 0x13, 0x9, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 15 -8.5dB */
284
{0x88, 0x84, 0x77, 0x65, 0x4F, 0x39, 0x25, 0x15, 0xA, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 16 -8dB */
285
{0x99, 0x94, 0x86, 0x71, 0x58, 0x40, 0x2A, 0x18, 0xB, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 17 -7.5dB */
286
{0xAC, 0xA6, 0x96, 0x7F, 0x63, 0x47, 0x2F, 0x1B, 0xD, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 18 -7dB */
287
{0xC1, 0xBA, 0xA8, 0x8F, 0x6F, 0x50, 0x35, 0x1E, 0xE, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 19 -6.5dB */
288
{0xD8, 0xD1, 0xBD, 0xA0, 0x7D, 0x5A, 0x3B, 0x22, 0x10, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0} /* 20 -6dB */
289
};
290
291
292
u8 cck_swing_table_ch1_ch13_88f[CCK_TABLE_SIZE_88F][16] = {
293
{0x16, 0x15, 0x13, 0x10, 0xD, 0x9, 0x6, 0x3, 0x2, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 0 -16dB */
294
{0x18, 0x17, 0x15, 0x12, 0xE, 0xA, 0x7, 0x4, 0x2, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 1 -15.5dB */
295
{0x1B, 0x1A, 0x18, 0x14, 0x10, 0xB, 0x7, 0x4, 0x2, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 2 -15dB */
296
{0x1F, 0x1E, 0x1B, 0x17, 0x12, 0xD, 0x8, 0x5, 0x2, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 3 -14.5dB */
297
{0x22, 0x21, 0x1E, 0x19, 0x14, 0xE, 0x9, 0x5, 0x3, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 4 -14dB */
298
{0x26, 0x25, 0x22, 0x1C, 0x16, 0x10, 0xA, 0x6, 0x3, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 5 -13.5dB */
299
{0x2B, 0x2A, 0x26, 0x20, 0x19, 0x12, 0xC, 0x7, 0x3, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 6 -13dB */
300
{0x30, 0x2F, 0x2A, 0x24, 0x1C, 0x14, 0xD, 0x8, 0x4, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 7 -12.5dB */
301
{0x36, 0x34, 0x2F, 0x28, 0x1F, 0x17, 0xF, 0x9, 0x4, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 8 -12dB */
302
{0x3D, 0x3B, 0x35, 0x2D, 0x23, 0x19, 0x11, 0xA, 0x5, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 9 -11.5dB */
303
{0x44, 0x42, 0x3C, 0x33, 0x28, 0x1C, 0x13, 0xB, 0x5, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 10 -11dB */
304
{0x4D, 0x4A, 0x43, 0x39, 0x2C, 0x20, 0x15, 0xC, 0x6, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 11 -10.5dB */
305
{0x56, 0x53, 0x4B, 0x40, 0x32, 0x24, 0x17, 0xE, 0x6, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 12 -10dB */
306
{0x60, 0x5D, 0x54, 0x47, 0x38, 0x28, 0x1A, 0xF, 0x7, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 13 -9.5dB */
307
{0x6C, 0x69, 0x5F, 0x50, 0x3F, 0x2D, 0x1E, 0x11, 0x8, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 14 -9dB */
308
{0x79, 0x76, 0x6A, 0x5A, 0x46, 0x33, 0x21, 0x13, 0x9, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 15 -8.5dB */
309
{0x88, 0x84, 0x77, 0x65, 0x4F, 0x39, 0x25, 0x15, 0xA, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 16 -8dB */
310
{0x99, 0x94, 0x86, 0x71, 0x58, 0x40, 0x2A, 0x18, 0xB, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 17 -7.5dB */
311
{0xAC, 0xA6, 0x96, 0x7F, 0x63, 0x47, 0x2F, 0x1B, 0xD, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 18 -7dB */
312
{0xC1, 0xBA, 0xA8, 0x8F, 0x6F, 0x50, 0x35, 0x1E, 0xE, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, /* 19 -6.5dB */
313
{0xD8, 0xD1, 0xBD, 0xA0, 0x7D, 0x5A, 0x3B, 0x22, 0x10, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0} /* 20 -6dB */
314
};
315
316
317
u8 cck_swing_table_ch14_88f[CCK_TABLE_SIZE_88F][16] = {
318
{0x44, 0x42, 0x3C, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*-16dB*/
319
{0x48, 0x46, 0x3F, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*-15.5dB*/
320
{0x4D, 0x4A, 0x43, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*-15dB*/
321
{0x51, 0x4F, 0x47, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*-14.5dB*/
322
{0x56, 0x53, 0x4B, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*-14dB*/
323
{0x5B, 0x58, 0x50, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*-13.5dB*/
324
{0x60, 0x5D, 0x54, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*-13dB*/
325
{0x66, 0x63, 0x59, 0x3B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*-12.5dB*/
326
{0x6C, 0x69, 0x5F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*-12dB*/
327
{0x73, 0x6F, 0x64, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*-11.5dB*/
328
{0x79, 0x76, 0x6A, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*-11dB*/
329
{0x81, 0x7C, 0x71, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*-10.5dB*/
330
{0x88, 0x84, 0x77, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*-10dB*/
331
{0x90, 0x8C, 0x7E, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*-9.5dB*/
332
{0x99, 0x94, 0x86, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*-9dB*/
333
{0xA2, 0x9D, 0x8E, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*-8.5dB*/
334
{0xAC, 0xA6, 0x96, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*-8dB*/
335
{0xB6, 0xB0, 0x9F, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*-7.5dB*/
336
{0xC1, 0xBA, 0xA8, 0x6F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*-7dB*/
337
{0xCC, 0xC5, 0xB2, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /*-6.5dB*/
338
{0xD8, 0xD1, 0xBD, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} /*-6dB*/
339
};
340
341
/* Winnita ADD 20171113 PathA 0xAB4[10:0],PathB 0xAB4[21:11]*/
342
u32 cck_swing_table_ch1_ch14_8192f[CCK_TABLE_SIZE_8192F] = {
343
0x0CD, /*0 , -20dB*/
344
0x0D9,
345
0x0E6,
346
0x0F3,
347
0x102,
348
0x111,
349
0x121,
350
0x132,
351
0x144,
352
0x158,
353
0x16C,
354
0x182,
355
0x198,
356
0x1B1,
357
0x1CA,
358
0x1E5,
359
0x202,
360
0x221,
361
0x241,
362
0x263, /*19*/
363
0x287, /*20*/
364
0x2AE, /*21*/
365
0x2D6, /*22*/
366
0x301, /*23*/
367
0x32F, /*24*/
368
0x35F, /*25*/
369
0x392, /*26*/
370
0x3C9, /*27*/
371
0x402, /*28*/
372
0x43F, /*29*/
373
0x47F, /*30*/
374
0x4C3, /*31*/
375
0x50C, /*32*/
376
0x558, /*33*/
377
0x5A9, /*34*/
378
0x5FF, /*35*/
379
0x65A, /*36*/
380
0x6BA,
381
0x720,
382
0x78C,
383
0x7FF,
384
};
385
386
387
#if 0
388
u32 ofdm_swing_table_92e[OFDM_TABLE_SIZE_92E] = {
389
/* Index0 6 dB */ 0x7fc001ff,
390
/* Index1 5.7dB */ 0x7b4001ed,
391
/* Index2 5.4dB */ 0x774001dd,
392
/* Index3 5.1dB */ 0x734001cd,
393
/* Index4 4.8dB */ 0x6f4001bd,
394
/* Index5 4.5dB */ 0x6b8001ae,
395
/* Index6 4.2dB */ 0x67c0019f,
396
/* Index7 3.9dB */ 0x64400191,
397
/* Index8 3.6dB */ 0x60c00183,
398
/* Index9 3.3dB */ 0x5d800176,
399
/* Index10 3 dB */ 0x5a80016a,
400
/* Index11 2.7dB */ 0x5740015d,
401
/* Index12 2.4dB */ 0x54400151,
402
/* Index13 2.1dB */ 0x51800146,
403
/* Index14 1.8dB */ 0x4ec0013b,
404
/* Index15 1.5dB */ 0x4c000130,
405
/* Index16 1.2dB */ 0x49800126,
406
/* Index17 0.9dB */ 0x4700011c,
407
/* Index18 0.6dB */ 0x44800112,
408
/* Index19 0.3dB */ 0x42000108,
409
/* Index20 0 dB */ 0x40000100, /* 20 This is OFDM base index */
410
/* Index21 -0.3dB */ 0x3dc000f7,
411
/* Index22 -0.6dB */ 0x3bc000ef,
412
/* Index23 -0.9dB */ 0x39c000e7,
413
/* Index24 -1.2dB */ 0x37c000df,
414
/* Index25 -1.5dB */ 0x35c000d7,
415
/* Index26 -1.8dB */ 0x340000d0,
416
/* Index27 -2.1dB */ 0x324000c9,
417
/* Index28 -2.4dB */ 0x308000c2,
418
/* Index29 -2.7dB */ 0x2f0000bc,
419
/* Index30 -3 dB */ 0x2d4000b5,
420
/* Index31 -3.3dB */ 0x2bc000af,
421
/* Index32 -3.6dB */ 0x2a4000a9,
422
/* Index33 -3.9dB */ 0x28c000a3,
423
/* Index34 -4.2dB */ 0x2780009e,
424
/* Index35 -4.5dB */ 0x26000098,
425
/* Index36 -4.8dB */ 0x24c00093,
426
/* Index37 -5.1dB */ 0x2380008e,
427
/* Index38 -5.4dB */ 0x22400089,
428
/* Index39 -5.7dB */ 0x21400085,
429
/* Index40 -6 dB */ 0x20000080,
430
/* Index41 -6.3dB */ 0x1f00007c,
431
/* Index42 -6.6dB */ 0x1e000078,
432
/* Index43 -6.9dB */ 0x1d000074,
433
/* Index44 -7.2dB */ 0x1c000070,
434
/* Index45 -7.5dB */ 0x1b00006c,
435
/* Index46 -7.8dB */ 0x1a000068,
436
/* Index47 -8.1dB */ 0x19400065,
437
/* Index48 -8.4dB */ 0x18400061,
438
/* Index49 -8.7dB */ 0x1780005e,
439
/* Index50 -9 dB */ 0x16c0005b,
440
/* Index51 -9.3dB */ 0x16000058,
441
/* Index52 -9.6dB */ 0x15400055,
442
/* Index53 -9.9dB */ 0x14800052
443
};
444
u8 cck_swing_table_ch1_ch13_92e[CCK_TABLE_SIZE_92E][8] = {
445
/* Index0 0 dB */ {0x36, 0x34, 0x2E, 0x26, 0x1C, 0x12, 0x08, 0x04},
446
/* Index1 -0.3dB */ {0x34, 0x32, 0x2C, 0x25, 0x1B, 0x11, 0x08, 0x04},
447
/* Index2 -0.6dB */ {0x32, 0x30, 0x2B, 0x23, 0x1A, 0x11, 0x07, 0x04},
448
/* Index3 -0.9dB */ {0x31, 0x2F, 0x29, 0x22, 0x19, 0x10, 0x07, 0x04},
449
/* Index4 -1.2dB */ {0x2F, 0x2D, 0x28, 0x21, 0x18, 0x10, 0x07, 0x03},
450
/* Index5 -1.5dB */ {0x2D, 0x2C, 0x27, 0x20, 0x18, 0x0F, 0x07, 0x03},
451
/* Index6 -1.8dB */ {0x2C, 0x2A, 0x25, 0x1F, 0x17, 0x0F, 0x06, 0x03},
452
/* Index7 -2.1dB */ {0x2A, 0x29, 0x24, 0x1E, 0x16, 0x0E, 0x06, 0x03},
453
/* Index8 -2.4dB */ {0x29, 0x27, 0x23, 0x1D, 0x15, 0x0E, 0x06, 0x03},
454
/* Index9 -2.7dB */ {0x27, 0x26, 0x22, 0x1C, 0x14, 0x0D, 0x06, 0x03},
455
/* Index10 -3 dB */ {0x26, 0x25, 0x20, 0x1B, 0x14, 0x0D, 0x06, 0x03},
456
/* Index11 -3.3dB */ {0x25, 0x23, 0x1F, 0x1A, 0x13, 0x0C, 0x05, 0x03},
457
/* Index12 -3.6dB */ {0x24, 0x22, 0x1E, 0x19, 0x12, 0x0C, 0x05, 0x03},
458
/* Index13 -3.9dB */ {0x22, 0x21, 0x1D, 0x18, 0x12, 0x0B, 0x05, 0x03},
459
/* Index14 -4.2dB */ {0x21, 0x20, 0x1C, 0x17, 0x11, 0x0B, 0x05, 0x02},
460
/* Index15 -4.5dB */ {0x20, 0x1F, 0x1B, 0x17, 0x11, 0x0B, 0x05, 0x02},
461
/* Index16 -4.8dB */ {0x1F, 0x1E, 0x1A, 0x16, 0x10, 0x0A, 0x05, 0x02},
462
/* Index17 -5.1dB */ {0x1E, 0x1D, 0x1A, 0x15, 0x10, 0x0A, 0x04, 0x02},
463
/* Index18 -5.4dB */ {0x1D, 0x1C, 0x19, 0x14, 0x0F, 0x0A, 0x04, 0x02},
464
/* Index19 -5.7dB */ {0x1C, 0x1B, 0x18, 0x14, 0x0E, 0x09, 0x04, 0x02},
465
/* Index20 -6.0dB */ {0x1B, 0x1A, 0x17, 0x13, 0x0E, 0x09, 0x04, 0x02}, /* 20 This is CCK base index */
466
/* Index21 -6.3dB */ {0x1A, 0x19, 0x16, 0x12, 0x0E, 0x09, 0x04, 0x02},
467
/* Index22 -6.6dB */ {0x19, 0x18, 0x15, 0x12, 0x0D, 0x08, 0x04, 0x02},
468
/* Index23 -6.9dB */ {0x18, 0x17, 0x15, 0x11, 0x0D, 0x08, 0x04, 0x02},
469
/* Index24 -7.2dB */ {0x18, 0x17, 0x14, 0x11, 0x0C, 0x08, 0x03, 0x02},
470
/* Index25 -7.5dB */ {0x17, 0x16, 0x13, 0x10, 0x0C, 0x08, 0x03, 0x02},
471
/* Index26 -7.8dB */ {0x16, 0x15, 0x13, 0x0F, 0x0B, 0x07, 0x03, 0x02},
472
/* Index27 -8.1dB */ {0x15, 0x14, 0x12, 0x0F, 0x0B, 0x07, 0x03, 0x02},
473
/* Index28 -8.4dB */ {0x14, 0x14, 0x11, 0x0E, 0x0B, 0x07, 0x03, 0x02},
474
/* Index29 -8.7dB */ {0x14, 0x13, 0x11, 0x0E, 0x0A, 0x07, 0x03, 0x01},
475
/* Index30 -9.0dB */ {0x13, 0x12, 0x10, 0x0D, 0x0A, 0x06, 0x03, 0x01}, /* 30 This is hp CCK base index */
476
/* Index31 -9.3dB */ {0x12, 0x12, 0x0F, 0x0D, 0x0A, 0x06, 0x03, 0x01},
477
/* Index32 -9.6dB */ {0x12, 0x11, 0x0F, 0x0D, 0x09, 0x06, 0x03, 0x01},
478
/* Index33 -9.9dB */ {0x11, 0x11, 0x0F, 0x0C, 0x09, 0x06, 0x03, 0x01},
479
/* Index34 -10.2dB */ {0x11, 0x11, 0x0E, 0x0C, 0x09, 0x06, 0x02, 0x01},
480
/* Index35 -10.5dB */ {0x10, 0x0F, 0x0E, 0x0B, 0x08, 0x05, 0x02, 0x01},
481
/* Index36 -10.8dB */ {0x10, 0x0F, 0x0D, 0x0B, 0x08, 0x05, 0x02, 0x01},
482
/* Index37 -11.1dB */ {0x0F, 0x0E, 0x0D, 0x0A, 0x08, 0x05, 0x02, 0x01},
483
/* Index38 -11.4dB */ {0x0E, 0x0E, 0x0C, 0x0A, 0x07, 0x05, 0x02, 0x01},
484
/* Index39 -11.7dB */ {0x0E, 0x0D, 0x0C, 0x0A, 0x07, 0x05, 0x02, 0x01},
485
/* Index40 -12 dB */ {0x0E, 0x0D, 0x0C, 0x0A, 0x07, 0x05, 0x02, 0x01},
486
/* Index41 -12.3dB */ {0x0D, 0x0D, 0x0B, 0x09, 0x07, 0x04, 0x02, 0x01},
487
/* Index42 -12.6dB */ {0x0D, 0x0C, 0x0B, 0x09, 0x07, 0x04, 0x02, 0x01},
488
/* Index43 -12.9dB */ {0x0C, 0x0C, 0x0A, 0x09, 0x06, 0x04, 0x02, 0x01},
489
/* Index44 -13.2dB */ {0x0C, 0x0B, 0x0A, 0x08, 0x06, 0x04, 0x02, 0x01},
490
/* Index45 -13.5dB */ {0x0B, 0x0B, 0x0A, 0x08, 0x06, 0x04, 0x02, 0x01},
491
/* Index46 -13.8dB */ {0x0B, 0x0B, 0x09, 0x08, 0x06, 0x04, 0x02, 0x01},
492
/* Index47 -14.1dB */ {0x0B, 0x0A, 0x09, 0x07, 0x06, 0x04, 0x02, 0x01},
493
/* Index48 -14.4dB */ {0x0A, 0x0A, 0x09, 0x07, 0x05, 0x03, 0x02, 0x01},
494
/* Index49 -14.7dB */ {0x0A, 0x0A, 0x08, 0x07, 0x05, 0x03, 0x01, 0x01},
495
/* Index50 -15 dB */ {0x0A, 0x09, 0x08, 0x07, 0x05, 0x03, 0x01, 0x01},
496
/* Index51 -15.3dB */ {0x09, 0x09, 0x08, 0x06, 0x05, 0x03, 0x01, 0x01},
497
/* Index52 -15.6dB */ {0x09, 0x09, 0x08, 0x06, 0x05, 0x03, 0x01, 0x01},
498
/* Index53 -15.9dB */ {0x09, 0x08, 0x07, 0x06, 0x04, 0x03, 0x01, 0x01}
499
};
500
u8 cck_swing_table_ch14_92e[CCK_TABLE_SIZE_92E][8] = {
501
/* Index0 0 dB */ {0x36, 0x34, 0x2E, 0x26, 0x00, 0x00, 0x00, 0x00},
502
/* Index1 -0.3dB */ {0x34, 0x32, 0x2C, 0x25, 0x00, 0x00, 0x00, 0x00},
503
/* Index2 -0.6dB */ {0x32, 0x30, 0x2B, 0x23, 0x00, 0x00, 0x00, 0x00},
504
/* Index3 -0.9dB */ {0x31, 0x2F, 0x29, 0x22, 0x00, 0x00, 0x00, 0x00},
505
/* Index4 -1.2dB */ {0x2F, 0x2D, 0x28, 0x21, 0x00, 0x00, 0x00, 0x00},
506
/* Index5 -1.5dB */ {0x2D, 0x2C, 0x27, 0x20, 0x00, 0x00, 0x00, 0x00},
507
/* Index6 -1.8dB */ {0x2C, 0x2A, 0x25, 0x1F, 0x00, 0x00, 0x00, 0x00},
508
/* Index7 -2.1dB */ {0x2A, 0x29, 0x24, 0x1E, 0x00, 0x00, 0x00, 0x00},
509
/* Index8 -2.4dB */ {0x29, 0x27, 0x23, 0x1D, 0x00, 0x00, 0x00, 0x00},
510
/* Index9 -2.7dB */ {0x27, 0x26, 0x22, 0x1C, 0x00, 0x00, 0x00, 0x00},
511
/* Index10 -3 dB */ {0x26, 0x25, 0x20, 0x1B, 0x00, 0x00, 0x00, 0x00},
512
/* Index11 -3.3dB */ {0x25, 0x23, 0x1F, 0x1A, 0x00, 0x00, 0x00, 0x00},
513
/* Index12 -3.6dB */ {0x24, 0x22, 0x1E, 0x19, 0x00, 0x00, 0x00, 0x00},
514
/* Index13 -3.9dB */ {0x22, 0x21, 0x1D, 0x18, 0x00, 0x00, 0x00, 0x00},
515
/* Index14 -4.2dB */ {0x21, 0x20, 0x1C, 0x17, 0x00, 0x00, 0x00, 0x00},
516
/* Index15 -4.5dB */ {0x20, 0x1F, 0x1B, 0x17, 0x00, 0x00, 0x00, 0x00},
517
/* Index16 -4.8dB */ {0x1F, 0x1E, 0x1A, 0x16, 0x00, 0x00, 0x00, 0x00},
518
/* Index17 -5.1dB */ {0x1E, 0x1D, 0x1A, 0x15, 0x00, 0x00, 0x00, 0x00},
519
/* Index18 -5.4dB */ {0x1D, 0x1C, 0x19, 0x14, 0x00, 0x00, 0x00, 0x00},
520
/* Index19 -5.7dB */ {0x1C, 0x1B, 0x18, 0x14, 0x00, 0x00, 0x00, 0x00},
521
/* Index20 -6 dB */ {0x1B, 0x1A, 0x17, 0x13, 0x00, 0x00, 0x00, 0x00},
522
/* Index21 -6.3dB */ {0x1A, 0x19, 0x16, 0x12, 0x00, 0x00, 0x00, 0x00},
523
/* Index22 -6.6dB */ {0x19, 0x18, 0x15, 0x12, 0x00, 0x00, 0x00, 0x00},
524
/* Index23 -6.9dB */ {0x18, 0x17, 0x15, 0x11, 0x00, 0x00, 0x00, 0x00},
525
/* Index24 -7.2dB */ {0x18, 0x17, 0x14, 0x11, 0x00, 0x00, 0x00, 0x00},
526
/* Index25 -7.5dB */ {0x17, 0x16, 0x13, 0x10, 0x00, 0x00, 0x00, 0x00},
527
/* Index26 -7.8dB */ {0x16, 0x15, 0x13, 0x0F, 0x00, 0x00, 0x00, 0x00},
528
/* Index27 -8.1dB */ {0x15, 0x14, 0x12, 0x0F, 0x00, 0x00, 0x00, 0x00},
529
/* Index28 -8.4dB */ {0x14, 0x14, 0x11, 0x0E, 0x00, 0x00, 0x00, 0x00},
530
/* Index29 -8.7dB */ {0x14, 0x13, 0x11, 0x0E, 0x00, 0x00, 0x00, 0x00},
531
/* Index30 -9 dB */ {0x13, 0x12, 0x10, 0x0D, 0x00, 0x00, 0x00, 0x00},
532
/* Index31 -9.3dB */ {0x12, 0x12, 0x0F, 0x0D, 0x00, 0x00, 0x00, 0x00},
533
/* Index32 -9.6dB */ {0x12, 0x11, 0x0F, 0x0D, 0x00, 0x00, 0x00, 0x00},
534
/* Index33 -9.9dB */ {0x11, 0x11, 0x0F, 0x0C, 0x00, 0x00, 0x00, 0x00},
535
/* Index34 -10.2dB */ {0x11, 0x11, 0x0E, 0x0C, 0x00, 0x00, 0x00, 0x00},
536
/* Index35 -10.5dB */ {0x10, 0x0F, 0x0E, 0x0B, 0x00, 0x00, 0x00, 0x00},
537
/* Index36 -10.8dB */ {0x10, 0x0F, 0x0D, 0x0B, 0x00, 0x00, 0x00, 0x00},
538
/* Index37 -11.1dB */ {0x0F, 0x0E, 0x0D, 0x0A, 0x00, 0x00, 0x00, 0x00},
539
/* Index38 -11.4dB */ {0x0E, 0x0E, 0x0C, 0x0A, 0x00, 0x00, 0x00, 0x00},
540
/* Index39 -11.7dB */ {0x0E, 0x0D, 0x0C, 0x0A, 0x00, 0x00, 0x00, 0x00},
541
/* Index40 -12 dB */ {0x0E, 0x0D, 0x0C, 0x0A, 0x00, 0x00, 0x00, 0x00},
542
/* Index41 -12.3dB */ {0x0D, 0x0D, 0x0B, 0x09, 0x00, 0x00, 0x00, 0x00},
543
/* Index42 -12.6dB */ {0x0D, 0x0C, 0x0B, 0x09, 0x00, 0x00, 0x00, 0x00},
544
/* Index43 -12.9dB */ {0x0C, 0x0C, 0x0A, 0x09, 0x00, 0x00, 0x00, 0x00},
545
/* Index44 -13.2dB */ {0x0C, 0x0B, 0x0A, 0x08, 0x00, 0x00, 0x00, 0x00},
546
/* Index45 -13.5dB */ {0x0B, 0x0B, 0x0A, 0x08, 0x00, 0x00, 0x00, 0x00},
547
/* Index46 -13.8dB */ {0x0B, 0x0B, 0x09, 0x08, 0x00, 0x00, 0x00, 0x00},
548
/* Index47 -14.1dB */ {0x0B, 0x0A, 0x09, 0x07, 0x00, 0x00, 0x00, 0x00},
549
/* Index48 -14.4dB */ {0x0A, 0x0A, 0x09, 0x07, 0x00, 0x00, 0x00, 0x00},
550
/* Index49 -14.7dB */ {0x0A, 0x0A, 0x08, 0x07, 0x00, 0x00, 0x00, 0x00},
551
/* Index50 -15 dB */ {0x0A, 0x09, 0x08, 0x07, 0x00, 0x00, 0x00, 0x00},
552
/* Index51 -15.3dB */ {0x09, 0x09, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00},
553
/* Index52 -15.6dB */ {0x09, 0x09, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00},
554
/* Index53 -15.9dB */ {0x09, 0x08, 0x07, 0x06, 0x00, 0x00, 0x00, 0x00}
555
};
556
#endif
557
#endif
558
559
560
u8 delta_swing_table_idx_2ga_p_default[DELTA_SWINGIDX_SIZE] = {0, 0, 0, 0, 1, 1, 2, 2, 3, 3
561
, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9
562
};
563
u8 delta_swing_table_idx_2ga_n_default[DELTA_SWINGIDX_SIZE] = {0, 0, 0, 2, 2, 3, 3, 4, 4, 4
564
, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11
565
};
566
567
568
#ifdef CONFIG_WLAN_HAL_8192EE
569
u32 ofdm_swing_table_92e[OFDM_TABLE_SIZE_92E] = {
570
/* Index0 6 dB */ 0x7fc001ff,
571
/* Index1 5.7dB */ 0x7b4001ed,
572
/* Index2 5.4dB */ 0x774001dd,
573
/* Index3 5.1dB */ 0x734001cd,
574
/* Index4 4.8dB */ 0x6f4001bd,
575
/* Index5 4.5dB */ 0x6b8001ae,
576
/* Index6 4.2dB */ 0x67c0019f,
577
/* Index7 3.9dB */ 0x64400191,
578
/* Index8 3.6dB */ 0x60c00183,
579
/* Index9 3.3dB */ 0x5d800176,
580
/* Index10 3 dB */ 0x5a80016a,
581
/* Index11 2.7dB */ 0x5740015d,
582
/* Index12 2.4dB */ 0x54400151,
583
/* Index13 2.1dB */ 0x51800146,
584
/* Index14 1.8dB */ 0x4ec0013b,
585
/* Index15 1.5dB */ 0x4c000130,
586
/* Index16 1.2dB */ 0x49800126,
587
/* Index17 0.9dB */ 0x4700011c,
588
/* Index18 0.6dB */ 0x44800112,
589
/* Index19 0.3dB */ 0x42000108,
590
/* Index20 0 dB */ 0x40000100, /* 20 This is OFDM base index */
591
/* Index21 -0.3dB */ 0x3dc000f7,
592
/* Index22 -0.6dB */ 0x3bc000ef,
593
/* Index23 -0.9dB */ 0x39c000e7,
594
/* Index24 -1.2dB */ 0x37c000df,
595
/* Index25 -1.5dB */ 0x35c000d7,
596
/* Index26 -1.8dB */ 0x340000d0,
597
/* Index27 -2.1dB */ 0x324000c9,
598
/* Index28 -2.4dB */ 0x308000c2,
599
/* Index29 -2.7dB */ 0x2f0000bc,
600
/* Index30 -3 dB */ 0x2d4000b5,
601
/* Index31 -3.3dB */ 0x2bc000af,
602
/* Index32 -3.6dB */ 0x2a4000a9,
603
/* Index33 -3.9dB */ 0x28c000a3,
604
/* Index34 -4.2dB */ 0x2780009e,
605
/* Index35 -4.5dB */ 0x26000098,
606
/* Index36 -4.8dB */ 0x24c00093,
607
/* Index37 -5.1dB */ 0x2380008e,
608
/* Index38 -5.4dB */ 0x22400089,
609
/* Index39 -5.7dB */ 0x21400085,
610
/* Index40 -6 dB */ 0x20000080,
611
/* Index41 -6.3dB */ 0x1f00007c,
612
/* Index42 -6.6dB */ 0x1e000078,
613
/* Index43 -6.9dB */ 0x1d000074,
614
/* Index44 -7.2dB */ 0x1c000070,
615
/* Index45 -7.5dB */ 0x1b00006c,
616
/* Index46 -7.8dB */ 0x1a000068,
617
/* Index47 -8.1dB */ 0x19400065,
618
/* Index48 -8.4dB */ 0x18400061,
619
/* Index49 -8.7dB */ 0x1780005e,
620
/* Index50 -9 dB */ 0x16c0005b,
621
/* Index51 -9.3dB */ 0x16000058,
622
/* Index52 -9.6dB */ 0x15400055,
623
/* Index53 -9.9dB */ 0x14800052
624
};
625
u8 cck_swing_table_ch1_ch13_92e[CCK_TABLE_SIZE_92E][8] = {
626
/* Index0 0 dB */ {0x36, 0x34, 0x2E, 0x26, 0x1C, 0x12, 0x08, 0x04},
627
/* Index1 -0.3dB */ {0x34, 0x32, 0x2C, 0x25, 0x1B, 0x11, 0x08, 0x04},
628
/* Index2 -0.6dB */ {0x32, 0x30, 0x2B, 0x23, 0x1A, 0x11, 0x07, 0x04},
629
/* Index3 -0.9dB */ {0x31, 0x2F, 0x29, 0x22, 0x19, 0x10, 0x07, 0x04},
630
/* Index4 -1.2dB */ {0x2F, 0x2D, 0x28, 0x21, 0x18, 0x10, 0x07, 0x03},
631
/* Index5 -1.5dB */ {0x2D, 0x2C, 0x27, 0x20, 0x18, 0x0F, 0x07, 0x03},
632
/* Index6 -1.8dB */ {0x2C, 0x2A, 0x25, 0x1F, 0x17, 0x0F, 0x06, 0x03},
633
/* Index7 -2.1dB */ {0x2A, 0x29, 0x24, 0x1E, 0x16, 0x0E, 0x06, 0x03},
634
/* Index8 -2.4dB */ {0x29, 0x27, 0x23, 0x1D, 0x15, 0x0E, 0x06, 0x03},
635
/* Index9 -2.7dB */ {0x27, 0x26, 0x22, 0x1C, 0x14, 0x0D, 0x06, 0x03},
636
/* Index10 -3 dB */ {0x26, 0x25, 0x20, 0x1B, 0x14, 0x0D, 0x06, 0x03},
637
/* Index11 -3.3dB */ {0x25, 0x23, 0x1F, 0x1A, 0x13, 0x0C, 0x05, 0x03},
638
/* Index12 -3.6dB */ {0x24, 0x22, 0x1E, 0x19, 0x12, 0x0C, 0x05, 0x03},
639
/* Index13 -3.9dB */ {0x22, 0x21, 0x1D, 0x18, 0x12, 0x0B, 0x05, 0x03},
640
/* Index14 -4.2dB */ {0x21, 0x20, 0x1C, 0x17, 0x11, 0x0B, 0x05, 0x02},
641
/* Index15 -4.5dB */ {0x20, 0x1F, 0x1B, 0x17, 0x11, 0x0B, 0x05, 0x02},
642
/* Index16 -4.8dB */ {0x1F, 0x1E, 0x1A, 0x16, 0x10, 0x0A, 0x05, 0x02},
643
/* Index17 -5.1dB */ {0x1E, 0x1D, 0x1A, 0x15, 0x10, 0x0A, 0x04, 0x02},
644
/* Index18 -5.4dB */ {0x1D, 0x1C, 0x19, 0x14, 0x0F, 0x0A, 0x04, 0x02},
645
/* Index19 -5.7dB */ {0x1C, 0x1B, 0x18, 0x14, 0x0E, 0x09, 0x04, 0x02},
646
/* Index20 -6.0dB */ {0x1B, 0x1A, 0x17, 0x13, 0x0E, 0x09, 0x04, 0x02}, /* 20 This is CCK base index */
647
/* Index21 -6.3dB */ {0x1A, 0x19, 0x16, 0x12, 0x0E, 0x09, 0x04, 0x02},
648
/* Index22 -6.6dB */ {0x19, 0x18, 0x15, 0x12, 0x0D, 0x08, 0x04, 0x02},
649
/* Index23 -6.9dB */ {0x18, 0x17, 0x15, 0x11, 0x0D, 0x08, 0x04, 0x02},
650
/* Index24 -7.2dB */ {0x18, 0x17, 0x14, 0x11, 0x0C, 0x08, 0x03, 0x02},
651
/* Index25 -7.5dB */ {0x17, 0x16, 0x13, 0x10, 0x0C, 0x08, 0x03, 0x02},
652
/* Index26 -7.8dB */ {0x16, 0x15, 0x13, 0x0F, 0x0B, 0x07, 0x03, 0x02},
653
/* Index27 -8.1dB */ {0x15, 0x14, 0x12, 0x0F, 0x0B, 0x07, 0x03, 0x02},
654
/* Index28 -8.4dB */ {0x14, 0x14, 0x11, 0x0E, 0x0B, 0x07, 0x03, 0x02},
655
/* Index29 -8.7dB */ {0x14, 0x13, 0x11, 0x0E, 0x0A, 0x07, 0x03, 0x01},
656
/* Index30 -9.0dB */ {0x13, 0x12, 0x10, 0x0D, 0x0A, 0x06, 0x03, 0x01}, /* 30 This is hp CCK base index */
657
/* Index31 -9.3dB */ {0x12, 0x12, 0x0F, 0x0D, 0x0A, 0x06, 0x03, 0x01},
658
/* Index32 -9.6dB */ {0x12, 0x11, 0x0F, 0x0D, 0x09, 0x06, 0x03, 0x01},
659
/* Index33 -9.9dB */ {0x11, 0x11, 0x0F, 0x0C, 0x09, 0x06, 0x03, 0x01},
660
/* Index34 -10.2dB */ {0x11, 0x11, 0x0E, 0x0C, 0x09, 0x06, 0x02, 0x01},
661
/* Index35 -10.5dB */ {0x10, 0x0F, 0x0E, 0x0B, 0x08, 0x05, 0x02, 0x01},
662
/* Index36 -10.8dB */ {0x10, 0x0F, 0x0D, 0x0B, 0x08, 0x05, 0x02, 0x01},
663
/* Index37 -11.1dB */ {0x0F, 0x0E, 0x0D, 0x0A, 0x08, 0x05, 0x02, 0x01},
664
/* Index38 -11.4dB */ {0x0E, 0x0E, 0x0C, 0x0A, 0x07, 0x05, 0x02, 0x01},
665
/* Index39 -11.7dB */ {0x0E, 0x0D, 0x0C, 0x0A, 0x07, 0x05, 0x02, 0x01},
666
/* Index40 -12 dB */ {0x0E, 0x0D, 0x0C, 0x0A, 0x07, 0x05, 0x02, 0x01},
667
/* Index41 -12.3dB */ {0x0D, 0x0D, 0x0B, 0x09, 0x07, 0x04, 0x02, 0x01},
668
/* Index42 -12.6dB */ {0x0D, 0x0C, 0x0B, 0x09, 0x07, 0x04, 0x02, 0x01},
669
/* Index43 -12.9dB */ {0x0C, 0x0C, 0x0A, 0x09, 0x06, 0x04, 0x02, 0x01},
670
/* Index44 -13.2dB */ {0x0C, 0x0B, 0x0A, 0x08, 0x06, 0x04, 0x02, 0x01},
671
/* Index45 -13.5dB */ {0x0B, 0x0B, 0x0A, 0x08, 0x06, 0x04, 0x02, 0x01},
672
/* Index46 -13.8dB */ {0x0B, 0x0B, 0x09, 0x08, 0x06, 0x04, 0x02, 0x01},
673
/* Index47 -14.1dB */ {0x0B, 0x0A, 0x09, 0x07, 0x06, 0x04, 0x02, 0x01},
674
/* Index48 -14.4dB */ {0x0A, 0x0A, 0x09, 0x07, 0x05, 0x03, 0x02, 0x01},
675
/* Index49 -14.7dB */ {0x0A, 0x0A, 0x08, 0x07, 0x05, 0x03, 0x01, 0x01},
676
/* Index50 -15 dB */ {0x0A, 0x09, 0x08, 0x07, 0x05, 0x03, 0x01, 0x01},
677
/* Index51 -15.3dB */ {0x09, 0x09, 0x08, 0x06, 0x05, 0x03, 0x01, 0x01},
678
/* Index52 -15.6dB */ {0x09, 0x09, 0x08, 0x06, 0x05, 0x03, 0x01, 0x01},
679
/* Index53 -15.9dB */ {0x09, 0x08, 0x07, 0x06, 0x04, 0x03, 0x01, 0x01}
680
};
681
u8 cck_swing_table_ch14_92e[CCK_TABLE_SIZE_92E][8] = {
682
/* Index0 0 dB */ {0x36, 0x34, 0x2E, 0x26, 0x00, 0x00, 0x00, 0x00},
683
/* Index1 -0.3dB */ {0x34, 0x32, 0x2C, 0x25, 0x00, 0x00, 0x00, 0x00},
684
/* Index2 -0.6dB */ {0x32, 0x30, 0x2B, 0x23, 0x00, 0x00, 0x00, 0x00},
685
/* Index3 -0.9dB */ {0x31, 0x2F, 0x29, 0x22, 0x00, 0x00, 0x00, 0x00},
686
/* Index4 -1.2dB */ {0x2F, 0x2D, 0x28, 0x21, 0x00, 0x00, 0x00, 0x00},
687
/* Index5 -1.5dB */ {0x2D, 0x2C, 0x27, 0x20, 0x00, 0x00, 0x00, 0x00},
688
/* Index6 -1.8dB */ {0x2C, 0x2A, 0x25, 0x1F, 0x00, 0x00, 0x00, 0x00},
689
/* Index7 -2.1dB */ {0x2A, 0x29, 0x24, 0x1E, 0x00, 0x00, 0x00, 0x00},
690
/* Index8 -2.4dB */ {0x29, 0x27, 0x23, 0x1D, 0x00, 0x00, 0x00, 0x00},
691
/* Index9 -2.7dB */ {0x27, 0x26, 0x22, 0x1C, 0x00, 0x00, 0x00, 0x00},
692
/* Index10 -3 dB */ {0x26, 0x25, 0x20, 0x1B, 0x00, 0x00, 0x00, 0x00},
693
/* Index11 -3.3dB */ {0x25, 0x23, 0x1F, 0x1A, 0x00, 0x00, 0x00, 0x00},
694
/* Index12 -3.6dB */ {0x24, 0x22, 0x1E, 0x19, 0x00, 0x00, 0x00, 0x00},
695
/* Index13 -3.9dB */ {0x22, 0x21, 0x1D, 0x18, 0x00, 0x00, 0x00, 0x00},
696
/* Index14 -4.2dB */ {0x21, 0x20, 0x1C, 0x17, 0x00, 0x00, 0x00, 0x00},
697
/* Index15 -4.5dB */ {0x20, 0x1F, 0x1B, 0x17, 0x00, 0x00, 0x00, 0x00},
698
/* Index16 -4.8dB */ {0x1F, 0x1E, 0x1A, 0x16, 0x00, 0x00, 0x00, 0x00},
699
/* Index17 -5.1dB */ {0x1E, 0x1D, 0x1A, 0x15, 0x00, 0x00, 0x00, 0x00},
700
/* Index18 -5.4dB */ {0x1D, 0x1C, 0x19, 0x14, 0x00, 0x00, 0x00, 0x00},
701
/* Index19 -5.7dB */ {0x1C, 0x1B, 0x18, 0x14, 0x00, 0x00, 0x00, 0x00},
702
/* Index20 -6 dB */ {0x1B, 0x1A, 0x17, 0x13, 0x00, 0x00, 0x00, 0x00},
703
/* Index21 -6.3dB */ {0x1A, 0x19, 0x16, 0x12, 0x00, 0x00, 0x00, 0x00},
704
/* Index22 -6.6dB */ {0x19, 0x18, 0x15, 0x12, 0x00, 0x00, 0x00, 0x00},
705
/* Index23 -6.9dB */ {0x18, 0x17, 0x15, 0x11, 0x00, 0x00, 0x00, 0x00},
706
/* Index24 -7.2dB */ {0x18, 0x17, 0x14, 0x11, 0x00, 0x00, 0x00, 0x00},
707
/* Index25 -7.5dB */ {0x17, 0x16, 0x13, 0x10, 0x00, 0x00, 0x00, 0x00},
708
/* Index26 -7.8dB */ {0x16, 0x15, 0x13, 0x0F, 0x00, 0x00, 0x00, 0x00},
709
/* Index27 -8.1dB */ {0x15, 0x14, 0x12, 0x0F, 0x00, 0x00, 0x00, 0x00},
710
/* Index28 -8.4dB */ {0x14, 0x14, 0x11, 0x0E, 0x00, 0x00, 0x00, 0x00},
711
/* Index29 -8.7dB */ {0x14, 0x13, 0x11, 0x0E, 0x00, 0x00, 0x00, 0x00},
712
/* Index30 -9 dB */ {0x13, 0x12, 0x10, 0x0D, 0x00, 0x00, 0x00, 0x00},
713
/* Index31 -9.3dB */ {0x12, 0x12, 0x0F, 0x0D, 0x00, 0x00, 0x00, 0x00},
714
/* Index32 -9.6dB */ {0x12, 0x11, 0x0F, 0x0D, 0x00, 0x00, 0x00, 0x00},
715
/* Index33 -9.9dB */ {0x11, 0x11, 0x0F, 0x0C, 0x00, 0x00, 0x00, 0x00},
716
/* Index34 -10.2dB */ {0x11, 0x11, 0x0E, 0x0C, 0x00, 0x00, 0x00, 0x00},
717
/* Index35 -10.5dB */ {0x10, 0x0F, 0x0E, 0x0B, 0x00, 0x00, 0x00, 0x00},
718
/* Index36 -10.8dB */ {0x10, 0x0F, 0x0D, 0x0B, 0x00, 0x00, 0x00, 0x00},
719
/* Index37 -11.1dB */ {0x0F, 0x0E, 0x0D, 0x0A, 0x00, 0x00, 0x00, 0x00},
720
/* Index38 -11.4dB */ {0x0E, 0x0E, 0x0C, 0x0A, 0x00, 0x00, 0x00, 0x00},
721
/* Index39 -11.7dB */ {0x0E, 0x0D, 0x0C, 0x0A, 0x00, 0x00, 0x00, 0x00},
722
/* Index40 -12 dB */ {0x0E, 0x0D, 0x0C, 0x0A, 0x00, 0x00, 0x00, 0x00},
723
/* Index41 -12.3dB */ {0x0D, 0x0D, 0x0B, 0x09, 0x00, 0x00, 0x00, 0x00},
724
/* Index42 -12.6dB */ {0x0D, 0x0C, 0x0B, 0x09, 0x00, 0x00, 0x00, 0x00},
725
/* Index43 -12.9dB */ {0x0C, 0x0C, 0x0A, 0x09, 0x00, 0x00, 0x00, 0x00},
726
/* Index44 -13.2dB */ {0x0C, 0x0B, 0x0A, 0x08, 0x00, 0x00, 0x00, 0x00},
727
/* Index45 -13.5dB */ {0x0B, 0x0B, 0x0A, 0x08, 0x00, 0x00, 0x00, 0x00},
728
/* Index46 -13.8dB */ {0x0B, 0x0B, 0x09, 0x08, 0x00, 0x00, 0x00, 0x00},
729
/* Index47 -14.1dB */ {0x0B, 0x0A, 0x09, 0x07, 0x00, 0x00, 0x00, 0x00},
730
/* Index48 -14.4dB */ {0x0A, 0x0A, 0x09, 0x07, 0x00, 0x00, 0x00, 0x00},
731
/* Index49 -14.7dB */ {0x0A, 0x0A, 0x08, 0x07, 0x00, 0x00, 0x00, 0x00},
732
/* Index50 -15 dB */ {0x0A, 0x09, 0x08, 0x07, 0x00, 0x00, 0x00, 0x00},
733
/* Index51 -15.3dB */ {0x09, 0x09, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00},
734
/* Index52 -15.6dB */ {0x09, 0x09, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00},
735
/* Index53 -15.9dB */ {0x09, 0x08, 0x07, 0x06, 0x00, 0x00, 0x00, 0x00}
736
};
737
#endif
738
739
#if (RTL8814A_SUPPORT == 1 || RTL8822B_SUPPORT == 1 ||\
740
RTL8821C_SUPPORT == 1 || RTL8198F_SUPPORT == 1 ||\
741
RTL8814B_SUPPORT == 1)
742
u32 tx_scaling_table_jaguar[TXSCALE_TABLE_SIZE] = {
743
0x081, /* 0, -12.0dB */
744
0x088, /* 1, -11.5dB */
745
0x090, /* 2, -11.0dB */
746
0x099, /* 3, -10.5dB */
747
0x0A2, /* 4, -10.0dB */
748
0x0AC, /* 5, -9.5dB */
749
0x0B6, /* 6, -9.0dB */
750
0x0C0, /* 7, -8.5dB */
751
0x0CC, /* 8, -8.0dB */
752
0x0D8, /* 9, -7.5dB */
753
0x0E5, /* 10, -7.0dB */
754
0x0F2, /* 11, -6.5dB */
755
0x101, /* 12, -6.0dB */
756
0x110, /* 13, -5.5dB */
757
0x120, /* 14, -5.0dB */
758
0x131, /* 15, -4.5dB */
759
0x143, /* 16, -4.0dB */
760
0x156, /* 17, -3.5dB */
761
0x16A, /* 18, -3.0dB */
762
0x180, /* 19, -2.5dB */
763
0x197, /* 20, -2.0dB */
764
0x1AF, /* 21, -1.5dB */
765
0x1C8, /* 22, -1.0dB */
766
0x1E3, /* 23, -0.5dB */
767
0x200, /* 24, +0 dB */
768
0x21E, /* 25, +0.5dB */
769
0x23E, /* 26, +1.0dB */
770
0x261, /* 27, +1.5dB */
771
0x285, /* 28, +2.0dB */
772
0x2AB, /* 29, +2.5dB */
773
0x2D3, /* 30, +3.0dB */
774
0x2FE, /* 31, +3.5dB */
775
0x32B, /* 32, +4.0dB */
776
0x35C, /* 33, +4.5dB */
777
0x38E, /* 34, +5.0dB */
778
0x3C4, /* 35, +5.5dB */
779
0x3FE /* 36, +6.0dB */
780
};
781
#elif(ODM_IC_11AC_SERIES_SUPPORT)
782
u32 ofdm_swing_table_8812[OFDM_TABLE_SIZE_8812] = {
783
0x3FE, /* 0, (6dB) */
784
0x3C4, /* 1, (5.5dB) */
785
0x38E, /* 2, (5dB) */
786
0x35C, /* 3, (4.5dB) */
787
0x32B, /* 4, (4dB) */
788
0x2FE, /* 5, (3.5dB) */
789
0x2D3, /* 6, (3dB) */
790
0x2AB, /* 7, (2.5dB) */
791
0x285, /* 8, (2dB) */
792
0x261, /* 9, (1.5dB */
793
0x23E, /* 10, (1dB) */
794
0x21E, /* 11, (0.5dB) */
795
0x200, /* 12, (0dB) 8814 int PA 2G default */
796
0x1E3, /* 13, (-0.5dB) */
797
0x1C8, /* 14, (-1dB) */
798
0x1AF, /* 15, (-1.5dB) */
799
0x197, /* 16, (-2dB) */
800
0x180, /* 17, (-2.5dB) */
801
0x16A, /* 18, (-3dB) 8812 / 8814 int PA 5G / 8814 ext PA 2G5G default */
802
0x156, /* 19, (-3.5dB) */
803
0x143, /* 20, (-4dB) 8812 HP default */
804
0x131, /* 21, (-4.5dB) */
805
0x120, /* 22, (-5dB) */
806
0x110, /* 23, (-5.5dB) */
807
0x101, /* 24, (-6dB) */
808
0x0F2, /* 25, (-6.5dB) */
809
0x0E5, /* 26, (-7dB) */
810
0x0D8, /* 27, (-7.5dB) */
811
0x0CC, /* 28, (-8dB) */
812
0x0C0, /* 29, (-8.5dB) */
813
0x0B6, /* 30, (-9dB) */
814
0x0AC, /* 31, (-9.5dB) */
815
0x0A2, /* 32, (-10dB) */
816
0x099, /* 33, (-10.5dB) */
817
0x090, /* 34, (-11dB) */
818
0x088, /* 35, (-11.5dB) */
819
0x081, /* 36, (-12dB) */
820
0x079, /* 37, (-12.5dB) */
821
0x072, /* 38, (-13dB) */
822
0x06c, /* 39, (-13.5dB) */
823
0x066, /* 40, (-14dB) */
824
0x060, /* 41, (-14.5dB) */
825
0x05B /* 42, (-15dB) */
826
};
827
#endif
828
829
u32 cck_swing_table_ch1_ch14_8723d[CCK_TABLE_SIZE_8723D] = {
830
0x0CD,
831
0x0D9,
832
0x0E6,
833
0x0F3,
834
0x102,
835
0x111,
836
0x121,
837
0x132,
838
0x144,
839
0x158,
840
0x16C,
841
0x182,
842
0x198,
843
0x1B1,
844
0x1CA,
845
0x1E5,
846
0x202,
847
0x221,
848
0x241,
849
0x263,
850
0x287,
851
0x2AE,
852
0x2D6,
853
0x301,
854
0x32F,
855
0x35F,
856
0x392,
857
0x3C9,
858
0x402,
859
0x43F,
860
0x47F,
861
0x4C3,
862
0x50C,
863
0x558,
864
0x5A9,
865
0x5FF,
866
0x65A,
867
0x6BA,
868
0x720,
869
0x78C,
870
0x7FF,
871
};
872
/* JJ ADD 20161014 */
873
u32 cck_swing_table_ch1_ch14_8710b[CCK_TABLE_SIZE_8710B] = {
874
0x0CD,
875
0x0D9,
876
0x0E6,
877
0x0F3,
878
0x102,
879
0x111,
880
0x121,
881
0x132,
882
0x144,
883
0x158,
884
0x16C,
885
0x182,
886
0x198,
887
0x1B1,
888
0x1CA,
889
0x1E5,
890
0x202,
891
0x221,
892
0x241,
893
0x263,
894
0x287,
895
0x2AE,
896
0x2D6,
897
0x301,
898
0x32F,
899
0x35F,
900
0x392,
901
0x3C9,
902
0x402,
903
0x43F,
904
0x47F,
905
0x4C3,
906
0x50C,
907
0x558,
908
0x5A9,
909
0x5FF,
910
0x65A,
911
0x6BA,
912
0x720,
913
0x78C,
914
0x7FF,
915
};
916
917
918
/* #endif */
919
/* 3============================================================
920
* 3 Tx Power Tracking
921
* 3============================================================ */
922
923
void
924
odm_txpowertracking_init(
925
void *dm_void
926
)
927
{
928
struct dm_struct *dm = (struct dm_struct *)dm_void;
929
#if (DM_ODM_SUPPORT_TYPE & (ODM_AP))
930
if (!(dm->support_ic_type & (ODM_RTL8814A | ODM_RTL8822B | ODM_IC_11N_SERIES)))
931
return;
932
#endif
933
934
odm_txpowertracking_thermal_meter_init(dm);
935
}
936
937
938
u8
939
get_swing_index(
940
void *dm_void
941
)
942
{
943
struct dm_struct *dm = (struct dm_struct *)dm_void;
944
u8 i = 0, bb_swing_mask = 0;
945
u32 bb_swing = 0;
946
u32 swing_table_size = 0;
947
u32 *swing_table = 0;
948
struct rtl8192cd_priv *priv = dm->priv;
949
950
#if (RTL8197F_SUPPORT == 1)
951
if (GET_CHIP_VER(priv) == VERSION_8197F) {
952
bb_swing = phy_query_bb_reg(priv, REG_OFDM_0_XA_TX_IQ_IMBALANCE, MASKOFDM_D);
953
swing_table = ofdm_swing_table_new;
954
swing_table_size = OFDM_TABLE_SIZE_92D;
955
bb_swing_mask = 22;
956
}
957
#endif
958
959
#if (RTL8192F_SUPPORT == 1)
960
if (GET_CHIP_VER(priv) == VERSION_8192F) {
961
bb_swing = phy_query_bb_reg(priv, REG_OFDM_0_XA_TX_IQ_IMBALANCE, MASKOFDM_D);
962
swing_table = ofdm_swing_table_new;
963
swing_table_size = OFDM_TABLE_SIZE_92D;
964
bb_swing_mask = 22;
965
}
966
#endif
967
968
#if (RTL8822B_SUPPORT == 1)
969
if (GET_CHIP_VER(priv) == VERSION_8822B) {
970
bb_swing = phy_query_bb_reg(priv, REG_A_TX_SCALE_JAGUAR, 0xFFE00000);
971
swing_table = tx_scaling_table_jaguar;
972
swing_table_size = TXSCALE_TABLE_SIZE;
973
bb_swing_mask = 0;
974
}
975
#endif
976
977
for (i = 0; i < swing_table_size - 1; i++) {
978
u32 table_value = swing_table[i] >> bb_swing_mask;
979
980
if (bb_swing == table_value)
981
break;
982
}
983
984
RF_DBG(dm, DBG_RF_TX_PWR_TRACK, "bb_swing=0x%x bbswing_index=%d\n", bb_swing, i);
985
986
987
return i;
988
}
989
990
991
void
992
odm_txpowertracking_thermal_meter_init(
993
void *dm_void
994
)
995
{
996
struct dm_struct *dm = (struct dm_struct *)dm_void;
997
struct dm_rf_calibration_struct *cali_info = &(dm->rf_calibrate_info);
998
struct rtl8192cd_priv *priv = dm->priv;
999
u8 p;
1000
u8 default_swing_index;
1001
#if (RTL8197F_SUPPORT == 1 || RTL8822B_SUPPORT == 1 || RTL8192F_SUPPORT == 1)
1002
if ((GET_CHIP_VER(priv) == VERSION_8197F) || (GET_CHIP_VER(priv) == VERSION_8822B) ||(GET_CHIP_VER(priv) == VERSION_8192F))
1003
default_swing_index = get_swing_index(dm);
1004
#endif
1005
1006
#if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
1007
void *adapter = dm->adapter;
1008
PMGNT_INFO mgnt_info = &adapter->MgntInfo;
1009
HAL_DATA_TYPE *hal_data = GET_HAL_DATA(((PADAPTER)adapter));
1010
1011
mgnt_info->is_txpowertracking = true;
1012
hal_data->tx_powercount = 0;
1013
hal_data->is_txpowertracking_init = false;
1014
1015
if (*(dm->mp_mode) == false)
1016
hal_data->txpowertrack_control = true;
1017
RF_DBG(dm, COMP_POWER_TRACKING, "mgnt_info->is_txpowertracking = %d\n", mgnt_info->is_txpowertracking);
1018
#elif (DM_ODM_SUPPORT_TYPE == ODM_CE)
1019
#ifdef CONFIG_RTL8188E
1020
{
1021
dm->rf_calibrate_info.is_txpowertracking = true;
1022
dm->rf_calibrate_info.tx_powercount = 0;
1023
dm->rf_calibrate_info.is_txpowertracking_init = false;
1024
1025
if (*(dm->mp_mode) == false)
1026
dm->rf_calibrate_info.txpowertrack_control = true;
1027
1028
MSG_8192C("dm txpowertrack_control = %d\n", dm->rf_calibrate_info.txpowertrack_control);
1029
}
1030
#else
1031
{
1032
void *adapter = dm->adapter;
1033
HAL_DATA_TYPE *hal_data = GET_HAL_DATA(((PADAPTER)adapter));
1034
struct dm_priv *pdmpriv = &hal_data->dmpriv;
1035
1036
pdmpriv->is_txpowertracking = true;
1037
pdmpriv->tx_powercount = 0;
1038
pdmpriv->is_txpowertracking_init = false;
1039
1040
if (*(dm->mp_mode) == false) /* for mp driver, turn off txpwrtracking as default */
1041
pdmpriv->txpowertrack_control = true;
1042
1043
MSG_8192C("pdmpriv->txpowertrack_control = %d\n", pdmpriv->txpowertrack_control);
1044
1045
}
1046
#endif/* endif (CONFIG_RTL8188E==1) */
1047
#elif (DM_ODM_SUPPORT_TYPE & (ODM_AP))
1048
1049
#ifdef RTL8188E_SUPPORT
1050
{
1051
dm->rf_calibrate_info.is_txpowertracking = true;
1052
dm->rf_calibrate_info.tx_powercount = 0;
1053
dm->rf_calibrate_info.is_txpowertracking_init = false;
1054
dm->rf_calibrate_info.txpowertrack_control = true;
1055
dm->rf_calibrate_info.tm_trigger = 0;
1056
}
1057
#endif
1058
#endif
1059
1060
dm->rf_calibrate_info.txpowertrack_control = true;
1061
dm->rf_calibrate_info.delta_power_index = 0;
1062
dm->rf_calibrate_info.delta_power_index_last = 0;
1063
dm->rf_calibrate_info.power_index_offset = 0;
1064
dm->rf_calibrate_info.thermal_value = 0;
1065
cali_info->default_ofdm_index = 28;
1066
1067
#if (RTL8197F_SUPPORT == 1)
1068
if (GET_CHIP_VER(priv) == VERSION_8197F) {
1069
cali_info->default_ofdm_index = (default_swing_index >= (OFDM_TABLE_SIZE_92D - 1)) ? 30 : default_swing_index;
1070
cali_info->default_cck_index = 28;
1071
}
1072
#endif
1073
1074
#if (RTL8192F_SUPPORT == 1)
1075
if (GET_CHIP_VER(priv) == VERSION_8192F) {
1076
cali_info->default_ofdm_index = 30;
1077
cali_info->default_cck_index = 28;
1078
}
1079
#endif
1080
1081
#if (RTL8822B_SUPPORT == 1)
1082
if (GET_CHIP_VER(priv) == VERSION_8822B) {
1083
cali_info->default_ofdm_index = (default_swing_index >= (TXSCALE_TABLE_SIZE - 1)) ? 24 : default_swing_index;
1084
cali_info->default_cck_index = 20;
1085
}
1086
#endif
1087
1088
1089
#if RTL8188E_SUPPORT
1090
cali_info->default_cck_index = 20; /* -6 dB */
1091
#elif RTL8192E_SUPPORT
1092
cali_info->default_cck_index = 8; /* -12 dB */
1093
#endif
1094
cali_info->bb_swing_idx_ofdm_base = cali_info->default_ofdm_index;
1095
cali_info->bb_swing_idx_cck_base = cali_info->default_cck_index;
1096
dm->rf_calibrate_info.CCK_index = cali_info->default_cck_index;
1097
1098
for (p = 0; p < MAX_RF_PATH; p++) {
1099
dm->rf_calibrate_info.OFDM_index[p] = cali_info->default_ofdm_index;
1100
cali_info->bb_swing_idx_ofdm[p] = cali_info->default_ofdm_index;
1101
cali_info->kfree_offset[p] = 0; /* for 8814 kfree*/
1102
}
1103
cali_info->bb_swing_idx_cck = cali_info->default_cck_index;
1104
1105
RF_DBG(dm, DBG_RF_TX_PWR_TRACK, "cali_info->default_ofdm_index=%d cali_info->default_cck_index=%d\n", cali_info->default_ofdm_index, cali_info->default_cck_index);
1106
1107
cali_info->tm_trigger = 0;
1108
}
1109
1110
1111
void
1112
odm_txpowertracking_check(
1113
void *dm_void
1114
)
1115
{
1116
/* */
1117
/* For AP/ADSL use struct rtl8192cd_priv* */
1118
/* For CE/NIC use struct void* */
1119
/* */
1120
struct dm_struct *dm = (struct dm_struct *)dm_void;
1121
struct _hal_rf_ *rf = &(dm->rf_table);
1122
1123
if (!(rf->rf_supportability & HAL_RF_TX_PWR_TRACK))
1124
return;
1125
1126
/* */
1127
/* 2011/09/29 MH In HW integration first stage, we provide 4 different handle to operate */
1128
/* at the same time. In the stage2/3, we need to prive universal interface and merge all */
1129
/* HW dynamic mechanism. */
1130
/* */
1131
switch (dm->support_platform) {
1132
case ODM_WIN:
1133
odm_txpowertracking_check_mp(dm);
1134
break;
1135
1136
case ODM_CE:
1137
odm_txpowertracking_check_ce(dm);
1138
break;
1139
1140
case ODM_AP:
1141
odm_txpowertracking_check_ap(dm);
1142
break;
1143
}
1144
1145
}
1146
1147
void
1148
odm_txpowertracking_check_ce(
1149
void *dm_void
1150
)
1151
{
1152
#if (DM_ODM_SUPPORT_TYPE == ODM_CE)
1153
struct dm_struct *dm = (struct dm_struct *)dm_void;
1154
void *adapter = dm->adapter;
1155
struct _hal_rf_ *rf = &(dm->rf_table);
1156
1157
#if (RTL8188E_SUPPORT == 1)
1158
1159
/* if(!mgnt_info->is_txpowertracking || (!pdmpriv->txpowertrack_control && pdmpriv->is_ap_kdone)) */
1160
1161
if (!(rf->rf_supportability & HAL_RF_TX_PWR_TRACK))
1162
return;
1163
1164
if (!dm->rf_calibrate_info.tm_trigger) { /* at least delay 1 sec */
1165
/* hal_data->TxPowerCheckCnt++; */ /* cosa add for debug */
1166
odm_set_rf_reg(dm, RF_PATH_A, RF_T_METER, RFREGOFFSETMASK, 0x60);
1167
/* DBG_8192C("Trigger 92C Thermal Meter!!\n"); */
1168
1169
dm->rf_calibrate_info.tm_trigger = 1;
1170
return;
1171
1172
} else {
1173
/* DBG_8192C("Schedule TxPowerTracking direct call!!\n"); */
1174
odm_txpowertracking_callback_thermal_meter_8188e(adapter);
1175
dm->rf_calibrate_info.tm_trigger = 0;
1176
}
1177
#endif
1178
1179
#endif
1180
}
1181
1182
void
1183
odm_txpowertracking_check_mp(
1184
void *dm_void
1185
)
1186
{
1187
#if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
1188
struct dm_struct *dm = (struct dm_struct *)dm_void;
1189
void *adapter = dm->adapter;
1190
1191
if (odm_check_power_status(adapter) == false)
1192
return;
1193
1194
if (!adapter->is_slave_of_dmsp || adapter->dual_mac_smart_concurrent == false)
1195
odm_txpowertracking_thermal_meter_check(adapter);
1196
#endif
1197
1198
}
1199
1200
1201
void
1202
odm_txpowertracking_check_ap(
1203
void *dm_void
1204
)
1205
{
1206
struct dm_struct *dm = (struct dm_struct *)dm_void;
1207
struct _hal_rf_ *rf = &dm->rf_table;
1208
struct _halrf_tssi_data *tssi = &rf->halrf_tssi_data;
1209
1210
#if ((RTL8188E_SUPPORT == 1) || (RTL8192E_SUPPORT == 1) || (RTL8812A_SUPPORT == 1) || (RTL8881A_SUPPORT == 1) || (RTL8814A_SUPPORT == 1) || (RTL8197F_SUPPORT == 1) || (RTL8192F_SUPPORT == 1) || (RTL8198F_SUPPORT == 1) || (RTL8814B_SUPPORT == 1) || (RTL8812F_SUPPORT == 1))
1211
if (!dm->rf_calibrate_info.tm_trigger) {
1212
if (dm->support_ic_type & (ODM_RTL8188E | ODM_RTL8192E | ODM_RTL8812 | ODM_RTL8881A | ODM_RTL8814A | ODM_RTL8197F | ODM_RTL8822B | ODM_RTL8821C | ODM_RTL8192F | ODM_RTL8198F)) {
1213
odm_set_rf_reg(dm, RF_PATH_A, 0x42, (BIT(17) | BIT(16)), 0x3);
1214
} else if (dm->support_ic_type & ODM_RTL8812F) {
1215
odm_set_rf_reg(dm, RF_PATH_A, R_0x42, BIT(19), 0x01);
1216
odm_set_rf_reg(dm, RF_PATH_A, R_0x42, BIT(19), 0x00);
1217
odm_set_rf_reg(dm, RF_PATH_A, R_0x42, BIT(19), 0x01);
1218
1219
odm_set_rf_reg(dm, RF_PATH_B, R_0x42, BIT(19), 0x01);
1220
odm_set_rf_reg(dm, RF_PATH_B, R_0x42, BIT(19), 0x00);
1221
odm_set_rf_reg(dm, RF_PATH_B, R_0x42, BIT(19), 0x01);
1222
} else if (dm->support_ic_type & ODM_RTL8814B) {
1223
odm_set_rf_reg(dm, RF_PATH_A, 0x42, BIT(17), 0x1);
1224
odm_set_rf_reg(dm, RF_PATH_B, 0x42, BIT(17), 0x1);
1225
odm_set_rf_reg(dm, RF_PATH_C, 0x42, BIT(17), 0x1);
1226
odm_set_rf_reg(dm, RF_PATH_D, 0x42, BIT(17), 0x1);
1227
}
1228
1229
if (dm->support_ic_type & ODM_RTL8814B) {
1230
ODM_delay_us(300);
1231
odm_txpowertracking_callback_thermal_meter(dm);
1232
tssi->thermal_trigger = 1;
1233
}
1234
1235
dm->rf_calibrate_info.tm_trigger = 1;
1236
} else {
1237
odm_txpowertracking_callback_thermal_meter(dm);
1238
if (dm->support_ic_type & ODM_RTL8814B)
1239
tssi->thermal_trigger = 0;
1240
dm->rf_calibrate_info.tm_trigger = 0;
1241
}
1242
#endif
1243
1244
}
1245
1246