Lines Matching +full:0 +full:xf9000000

36 	{0x026, 0x41}, {0x027, 0x35}, {0x040, 0x00}, {0x421, 0x0f},
37 {0x428, 0x0a}, {0x429, 0x10}, {0x430, 0x00}, {0x431, 0x01},
38 {0x432, 0x02}, {0x433, 0x04}, {0x434, 0x05}, {0x435, 0x06},
39 {0x436, 0x07}, {0x437, 0x08}, {0x438, 0x00}, {0x439, 0x00},
40 {0x43a, 0x01}, {0x43b, 0x02}, {0x43c, 0x04}, {0x43d, 0x05},
41 {0x43e, 0x06}, {0x43f, 0x07}, {0x440, 0x5d}, {0x441, 0x01},
42 {0x442, 0x00}, {0x444, 0x15}, {0x445, 0xf0}, {0x446, 0x0f},
43 {0x447, 0x00}, {0x458, 0x41}, {0x459, 0xa8}, {0x45a, 0x72},
44 {0x45b, 0xb9}, {0x460, 0x66}, {0x461, 0x66}, {0x480, 0x08},
45 {0x4c8, 0xff}, {0x4c9, 0x08}, {0x4cc, 0xff}, {0x4cd, 0xff},
46 {0x4ce, 0x01}, {0x4d3, 0x01}, {0x500, 0x26}, {0x501, 0xa2},
47 {0x502, 0x2f}, {0x503, 0x00}, {0x504, 0x28}, {0x505, 0xa3},
48 {0x506, 0x5e}, {0x507, 0x00}, {0x508, 0x2b}, {0x509, 0xa4},
49 {0x50a, 0x5e}, {0x50b, 0x00}, {0x50c, 0x4f}, {0x50d, 0xa4},
50 {0x50e, 0x00}, {0x50f, 0x00}, {0x512, 0x1c}, {0x514, 0x0a},
51 {0x516, 0x0a}, {0x525, 0x4f}, {0x550, 0x10}, {0x551, 0x10},
52 {0x559, 0x02}, {0x55d, 0xff}, {0x605, 0x30}, {0x608, 0x0e},
53 {0x609, 0x2a}, {0x620, 0xff}, {0x621, 0xff}, {0x622, 0xff},
54 {0x623, 0xff}, {0x624, 0xff}, {0x625, 0xff}, {0x626, 0xff},
55 {0x627, 0xff}, {0x63c, 0x08}, {0x63d, 0x08}, {0x63e, 0x0c},
56 {0x63f, 0x0c}, {0x640, 0x40}, {0x652, 0x20}, {0x66e, 0x05},
57 {0x700, 0x21}, {0x701, 0x43}, {0x702, 0x65}, {0x703, 0x87},
58 {0x708, 0x21}, {0x709, 0x43}, {0x70a, 0x65}, {0x70b, 0x87},
59 {0xffff, 0xff},
63 {0x800, 0x80040000}, {0x804, 0x00000003},
64 {0x808, 0x0000fc00}, {0x80c, 0x0000000a},
65 {0x810, 0x10001331}, {0x814, 0x020c3d10},
66 {0x818, 0x02200385}, {0x81c, 0x00000000},
67 {0x820, 0x01000100}, {0x824, 0x00390204},
68 {0x828, 0x00000000}, {0x82c, 0x00000000},
69 {0x830, 0x00000000}, {0x834, 0x00000000},
70 {0x838, 0x00000000}, {0x83c, 0x00000000},
71 {0x840, 0x00010000}, {0x844, 0x00000000},
72 {0x848, 0x00000000}, {0x84c, 0x00000000},
73 {0x850, 0x00000000}, {0x854, 0x00000000},
74 {0x858, 0x569a11a9}, {0x85c, 0x01000014},
75 {0x860, 0x66f60110}, {0x864, 0x061f0649},
76 {0x868, 0x00000000}, {0x86c, 0x27272700},
77 {0x870, 0x07000760}, {0x874, 0x25004000},
78 {0x878, 0x00000808}, {0x87c, 0x00000000},
79 {0x880, 0xb0000c1c}, {0x884, 0x00000001},
80 {0x888, 0x00000000}, {0x88c, 0xccc000c0},
81 {0x890, 0x00000800}, {0x894, 0xfffffffe},
82 {0x898, 0x40302010}, {0x89c, 0x00706050},
83 {0x900, 0x00000000}, {0x904, 0x00000023},
84 {0x908, 0x00000000}, {0x90c, 0x81121111},
85 {0x910, 0x00000002}, {0x914, 0x00000201},
86 {0xa00, 0x00d047c8}, {0xa04, 0x80ff800c},
87 {0xa08, 0x8c838300}, {0xa0c, 0x2e7f120f},
88 {0xa10, 0x9500bb7e}, {0xa14, 0x1114d028},
89 {0xa18, 0x00881117}, {0xa1c, 0x89140f00},
90 {0xa20, 0x1a1b0000}, {0xa24, 0x090e1317},
91 {0xa28, 0x00000204}, {0xa2c, 0x00d30000},
92 {0xa70, 0x101fbf00}, {0xa74, 0x00000007},
93 {0xa78, 0x00000900}, {0xa7c, 0x225b0606},
94 {0xa80, 0x218075b1}, {0xb2c, 0x80000000},
95 {0xc00, 0x48071d40}, {0xc04, 0x03a05611},
96 {0xc08, 0x000000e4}, {0xc0c, 0x6c6c6c6c},
97 {0xc10, 0x08800000}, {0xc14, 0x40000100},
98 {0xc18, 0x08800000}, {0xc1c, 0x40000100},
99 {0xc20, 0x00000000}, {0xc24, 0x00000000},
100 {0xc28, 0x00000000}, {0xc2c, 0x00000000},
101 {0xc30, 0x69e9ac47}, {0xc34, 0x469652af},
102 {0xc38, 0x49795994}, {0xc3c, 0x0a97971c},
103 {0xc40, 0x1f7c403f}, {0xc44, 0x000100b7},
104 {0xc48, 0xec020107}, {0xc4c, 0x007f037f},
105 {0xc50, 0x69553420}, {0xc54, 0x43bc0094},
106 {0xc58, 0x00013169}, {0xc5c, 0x00250492},
107 {0xc60, 0x00000000}, {0xc64, 0x7112848b},
108 {0xc68, 0x47c00bff}, {0xc6c, 0x00000036},
109 {0xc70, 0x2c7f000d}, {0xc74, 0x020610db},
110 {0xc78, 0x0000001f}, {0xc7c, 0x00b91612},
111 {0xc80, 0x390000e4}, {0xc84, 0x21f60000},
112 {0xc88, 0x40000100}, {0xc8c, 0x20200000},
113 {0xc90, 0x00091521}, {0xc94, 0x00000000},
114 {0xc98, 0x00121820}, {0xc9c, 0x00007f7f},
115 {0xca0, 0x00000000}, {0xca4, 0x000300a0},
116 {0xca8, 0x00000000}, {0xcac, 0x00000000},
117 {0xcb0, 0x00000000}, {0xcb4, 0x00000000},
118 {0xcb8, 0x00000000}, {0xcbc, 0x28000000},
119 {0xcc0, 0x00000000}, {0xcc4, 0x00000000},
120 {0xcc8, 0x00000000}, {0xccc, 0x00000000},
121 {0xcd0, 0x00000000}, {0xcd4, 0x00000000},
122 {0xcd8, 0x64b22427}, {0xcdc, 0x00766932},
123 {0xce0, 0x00222222}, {0xce4, 0x00000000},
124 {0xce8, 0x37644302}, {0xcec, 0x2f97d40c},
125 {0xd00, 0x00000740}, {0xd04, 0x00020401},
126 {0xd08, 0x0000907f}, {0xd0c, 0x20010201},
127 {0xd10, 0xa0633333}, {0xd14, 0x3333bc43},
128 {0xd18, 0x7a8f5b6f}, {0xd2c, 0xcc979975},
129 {0xd30, 0x00000000}, {0xd34, 0x80608000},
130 {0xd38, 0x00000000}, {0xd3c, 0x00127353},
131 {0xd40, 0x00000000}, {0xd44, 0x00000000},
132 {0xd48, 0x00000000}, {0xd4c, 0x00000000},
133 {0xd50, 0x6437140a}, {0xd54, 0x00000000},
134 {0xd58, 0x00000282}, {0xd5c, 0x30032064},
135 {0xd60, 0x4653de68}, {0xd64, 0x04518a3c},
136 {0xd68, 0x00002101}, {0xd6c, 0x2a201c16},
137 {0xd70, 0x1812362e}, {0xd74, 0x322c2220},
138 {0xd78, 0x000e3c24}, {0xe00, 0x2d2d2d2d},
139 {0xe04, 0x2d2d2d2d}, {0xe08, 0x0390272d},
140 {0xe10, 0x2d2d2d2d}, {0xe14, 0x2d2d2d2d},
141 {0xe18, 0x2d2d2d2d}, {0xe1c, 0x2d2d2d2d},
142 {0xe28, 0x00000000}, {0xe30, 0x1000dc1f},
143 {0xe34, 0x10008c1f}, {0xe38, 0x02140102},
144 {0xe3c, 0x681604c2}, {0xe40, 0x01007c00},
145 {0xe44, 0x01004800}, {0xe48, 0xfb000000},
146 {0xe4c, 0x000028d1}, {0xe50, 0x1000dc1f},
147 {0xe54, 0x10008c1f}, {0xe58, 0x02140102},
148 {0xe5c, 0x28160d05}, {0xe60, 0x00000048},
149 {0xe68, 0x001b25a4}, {0xe6c, 0x00c00014},
150 {0xe70, 0x00c00014}, {0xe74, 0x01000014},
151 {0xe78, 0x01000014}, {0xe7c, 0x01000014},
152 {0xe80, 0x01000014}, {0xe84, 0x00c00014},
153 {0xe88, 0x01000014}, {0xe8c, 0x00c00014},
154 {0xed0, 0x00c00014}, {0xed4, 0x00c00014},
155 {0xed8, 0x00c00014}, {0xedc, 0x00000014},
156 {0xee0, 0x00000014}, {0xee8, 0x21555448},
157 {0xeec, 0x01c00014}, {0xf14, 0x00000003},
158 {0xf4c, 0x00000000}, {0xf00, 0x00000300},
159 {0xffff, 0xffffffff},
163 {0xc78, 0xfb000001}, {0xc78, 0xfb010001},
164 {0xc78, 0xfb020001}, {0xc78, 0xfb030001},
165 {0xc78, 0xfb040001}, {0xc78, 0xfb050001},
166 {0xc78, 0xfa060001}, {0xc78, 0xf9070001},
167 {0xc78, 0xf8080001}, {0xc78, 0xf7090001},
168 {0xc78, 0xf60a0001}, {0xc78, 0xf50b0001},
169 {0xc78, 0xf40c0001}, {0xc78, 0xf30d0001},
170 {0xc78, 0xf20e0001}, {0xc78, 0xf10f0001},
171 {0xc78, 0xf0100001}, {0xc78, 0xef110001},
172 {0xc78, 0xee120001}, {0xc78, 0xed130001},
173 {0xc78, 0xec140001}, {0xc78, 0xeb150001},
174 {0xc78, 0xea160001}, {0xc78, 0xe9170001},
175 {0xc78, 0xe8180001}, {0xc78, 0xe7190001},
176 {0xc78, 0xe61a0001}, {0xc78, 0xe51b0001},
177 {0xc78, 0xe41c0001}, {0xc78, 0xe31d0001},
178 {0xc78, 0xe21e0001}, {0xc78, 0xe11f0001},
179 {0xc78, 0x8a200001}, {0xc78, 0x89210001},
180 {0xc78, 0x88220001}, {0xc78, 0x87230001},
181 {0xc78, 0x86240001}, {0xc78, 0x85250001},
182 {0xc78, 0x84260001}, {0xc78, 0x83270001},
183 {0xc78, 0x82280001}, {0xc78, 0x6b290001},
184 {0xc78, 0x6a2a0001}, {0xc78, 0x692b0001},
185 {0xc78, 0x682c0001}, {0xc78, 0x672d0001},
186 {0xc78, 0x662e0001}, {0xc78, 0x652f0001},
187 {0xc78, 0x64300001}, {0xc78, 0x63310001},
188 {0xc78, 0x62320001}, {0xc78, 0x61330001},
189 {0xc78, 0x46340001}, {0xc78, 0x45350001},
190 {0xc78, 0x44360001}, {0xc78, 0x43370001},
191 {0xc78, 0x42380001}, {0xc78, 0x41390001},
192 {0xc78, 0x403a0001}, {0xc78, 0x403b0001},
193 {0xc78, 0x403c0001}, {0xc78, 0x403d0001},
194 {0xc78, 0x403e0001}, {0xc78, 0x403f0001},
195 {0xc78, 0xfb400001}, {0xc78, 0xfb410001},
196 {0xc78, 0xfb420001}, {0xc78, 0xfb430001},
197 {0xc78, 0xfb440001}, {0xc78, 0xfb450001},
198 {0xc78, 0xfb460001}, {0xc78, 0xfb470001},
199 {0xc78, 0xfb480001}, {0xc78, 0xfa490001},
200 {0xc78, 0xf94a0001}, {0xc78, 0xf84b0001},
201 {0xc78, 0xf74c0001}, {0xc78, 0xf64d0001},
202 {0xc78, 0xf54e0001}, {0xc78, 0xf44f0001},
203 {0xc78, 0xf3500001}, {0xc78, 0xf2510001},
204 {0xc78, 0xf1520001}, {0xc78, 0xf0530001},
205 {0xc78, 0xef540001}, {0xc78, 0xee550001},
206 {0xc78, 0xed560001}, {0xc78, 0xec570001},
207 {0xc78, 0xeb580001}, {0xc78, 0xea590001},
208 {0xc78, 0xe95a0001}, {0xc78, 0xe85b0001},
209 {0xc78, 0xe75c0001}, {0xc78, 0xe65d0001},
210 {0xc78, 0xe55e0001}, {0xc78, 0xe45f0001},
211 {0xc78, 0xe3600001}, {0xc78, 0xe2610001},
212 {0xc78, 0xc3620001}, {0xc78, 0xc2630001},
213 {0xc78, 0xc1640001}, {0xc78, 0x8b650001},
214 {0xc78, 0x8a660001}, {0xc78, 0x89670001},
215 {0xc78, 0x88680001}, {0xc78, 0x87690001},
216 {0xc78, 0x866a0001}, {0xc78, 0x856b0001},
217 {0xc78, 0x846c0001}, {0xc78, 0x676d0001},
218 {0xc78, 0x666e0001}, {0xc78, 0x656f0001},
219 {0xc78, 0x64700001}, {0xc78, 0x63710001},
220 {0xc78, 0x62720001}, {0xc78, 0x61730001},
221 {0xc78, 0x60740001}, {0xc78, 0x46750001},
222 {0xc78, 0x45760001}, {0xc78, 0x44770001},
223 {0xc78, 0x43780001}, {0xc78, 0x42790001},
224 {0xc78, 0x417a0001}, {0xc78, 0x407b0001},
225 {0xc78, 0x407c0001}, {0xc78, 0x407d0001},
226 {0xc78, 0x407e0001}, {0xc78, 0x407f0001},
227 {0xc50, 0x69553422}, {0xc50, 0x69553420},
228 {0xffff, 0xffffffff}
232 {0x00, 0x00030000}, {0x08, 0x00084000},
233 {0x18, 0x00000407}, {0x19, 0x00000012},
234 {0x1e, 0x00080009}, {0x1f, 0x00000880},
235 {0x2f, 0x0001a060}, {0x3f, 0x00000000},
236 {0x42, 0x000060c0}, {0x57, 0x000d0000},
237 {0x58, 0x000be180}, {0x67, 0x00001552},
238 {0x83, 0x00000000}, {0xb0, 0x000ff8fc},
239 {0xb1, 0x00054400}, {0xb2, 0x000ccc19},
240 {0xb4, 0x00043003}, {0xb6, 0x0004953e},
241 {0xb7, 0x0001c718}, {0xb8, 0x000060ff},
242 {0xb9, 0x00080001}, {0xba, 0x00040000},
243 {0xbb, 0x00000400}, {0xbf, 0x000c0000},
244 {0xc2, 0x00002400}, {0xc3, 0x00000009},
245 {0xc4, 0x00040c91}, {0xc5, 0x00099999},
246 {0xc6, 0x000000a3}, {0xc7, 0x00088820},
247 {0xc8, 0x00076c06}, {0xc9, 0x00000000},
248 {0xca, 0x00080000}, {0xdf, 0x00000180},
249 {0xef, 0x000001a0}, {0x51, 0x0006b27d},
250 {0x52, 0x0007e49d}, /* Set to 0x0007e4dd for SDIO */
251 {0x53, 0x00000073}, {0x56, 0x00051ff3},
252 {0x35, 0x00000086}, {0x35, 0x00000186},
253 {0x35, 0x00000286}, {0x36, 0x00001c25},
254 {0x36, 0x00009c25}, {0x36, 0x00011c25},
255 {0x36, 0x00019c25}, {0xb6, 0x00048538},
256 {0x18, 0x00000c07}, {0x5a, 0x0004bd00},
257 {0x19, 0x000739d0}, {0x34, 0x0000adf3},
258 {0x34, 0x00009df0}, {0x34, 0x00008ded},
259 {0x34, 0x00007dea}, {0x34, 0x00006de7},
260 {0x34, 0x000054ee}, {0x34, 0x000044eb},
261 {0x34, 0x000034e8}, {0x34, 0x0000246b},
262 {0x34, 0x00001468}, {0x34, 0x0000006d},
263 {0x00, 0x00030159}, {0x84, 0x00068200},
264 {0x86, 0x000000ce}, {0x87, 0x00048a00},
265 {0x8e, 0x00065540}, {0x8f, 0x00088000},
266 {0xef, 0x000020a0}, {0x3b, 0x000f02b0},
267 {0x3b, 0x000ef7b0}, {0x3b, 0x000d4fb0},
268 {0x3b, 0x000cf060}, {0x3b, 0x000b0090},
269 {0x3b, 0x000a0080}, {0x3b, 0x00090080},
270 {0x3b, 0x0008f780}, {0x3b, 0x000722b0},
271 {0x3b, 0x0006f7b0}, {0x3b, 0x00054fb0},
272 {0x3b, 0x0004f060}, {0x3b, 0x00030090},
273 {0x3b, 0x00020080}, {0x3b, 0x00010080},
274 {0x3b, 0x0000f780}, {0xef, 0x000000a0},
275 {0x00, 0x00010159}, {0x18, 0x0000f407},
276 {0xFE, 0x00000000}, {0xFE, 0x00000000},
277 {0x1F, 0x00080003}, {0xFE, 0x00000000},
278 {0xFE, 0x00000000}, {0x1E, 0x00000001},
279 {0x1F, 0x00080000}, {0x00, 0x00033e60},
280 {0xff, 0xffffffff}
289 {5, 4, 3, 2, 0, 3}, /* 92 , idx=0 */
290 {6, 5, 4, 3, 0, 4}, /* 86 , idx=1 */
291 {6, 5, 4, 2, 0, 4}, /* 81 , idx=2 */
292 {8, 7, 6, 4, 0, 6}, /* 75 , idx=3 */
293 {10, 9, 8, 6, 0, 8}, /* 71 , idx=4 */
294 {10, 9, 8, 4, 0, 8}, /* 66 , idx=5 */
295 {10, 9, 8, 2, 0, 8}, /* 62 , idx=6 */
296 {10, 9, 8, 0, 0, 8}, /* 59 , idx=7 */
297 {18, 17, 16, 8, 0, 16}, /* 53 , idx=8 */
298 {26, 25, 24, 16, 0, 24}, /* 50 , idx=9 */
299 {34, 33, 32, 24, 0, 32}, /* 47 , idx=0x0a */
300 {34, 31, 28, 20, 0, 32}, /* 43 , idx=0x0b */
301 {34, 31, 27, 18, 0, 32}, /* 40 , idx=0x0c */
302 {34, 31, 26, 16, 0, 32}, /* 37 , idx=0x0d */
303 {34, 30, 22, 16, 0, 32}, /* 32 , idx=0x0e */
304 {34, 30, 24, 16, 0, 32}, /* 26 , idx=0x0f */
305 {49, 46, 40, 16, 0, 48}, /* 20 , idx=0x10 */
306 {49, 45, 32, 0, 0, 48}, /* 17 , idx=0x11 */
307 {49, 45, 22, 18, 0, 48}, /* 15 , idx=0x12 */
308 {49, 40, 24, 16, 0, 48}, /* 12 , idx=0x13 */
309 {49, 32, 18, 12, 0, 48}, /* 9 , idx=0x14 */
310 {49, 22, 18, 14, 0, 48}, /* 6 , idx=0x15 */
311 {49, 16, 16, 0, 0, 48} /* 3, idx=0x16 */
314 static const u8 pt_penalty[RETRYSIZE + 1] = {34, 31, 30, 24, 0, 32};
319 4, 4, 5, 7, 7, 7, 8, 0x0a,
320 4, 4, 4, 4, 6, 0x0a, 0x0b, 0x0d,
321 5, 5, 7, 7, 8, 0x0b, 0x0d, 0x0f
324 0x0a, 0x0a, 0x0b, 0x0c,
325 0x0a, 0x0a, 0x0b, 0x0c, 0x0d, 0x10, 0x13, 0x13,
326 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x11, 0x13, 0x13,
327 9, 9, 9, 9, 0x0c, 0x0e, 0x11, 0x13
334 4, 4, 5, 7, 7, 7, 8, 0x0a,
335 4, 4, 4, 4, 6, 0x0a, 0x0b, 0x0d,
336 5, 5, 7, 7, 8, 0x0b, 0x0d, 0x0f
339 0x0a, 0x0a, 0x0b, 0x0c,
340 0x0a, 0x0a, 0x0b, 0x0c, 0x0d, 0x10, 0x13, 0x13,
341 0x06, 0x07, 0x08, 0x0d, 0x0e, 0x11, 0x11, 0x11,
342 9, 9, 9, 9, 0x0c, 0x0e, 0x11, 0x13
347 0x0c, 0x0d, 0x0d, 0x0f,
348 0x0d, 0x0e, 0x0f, 0x0f, 0x10, 0x12, 0x13, 0x14,
349 0x0f, 0x10, 0x10, 0x12, 0x12, 0x13, 0x14, 0x15,
350 0x11, 0x11, 0x12, 0x13, 0x13, 0x13, 0x14, 0x15
354 0x0c, 0x0d, 0x0d, 0x0f,
355 0x0d, 0x0e, 0x0f, 0x0f, 0x10, 0x12, 0x13, 0x14,
356 0x0b, 0x0b, 0x11, 0x11, 0x12, 0x12, 0x12, 0x12,
357 0x11, 0x11, 0x12, 0x13, 0x13, 0x13, 0x14, 0x15
361 0, 0, 0, 0,
362 0, 0, 0, 0, 0, 0x24, 0x26, 0x2a,
363 0x18, 0x1a, 0x1d, 0x1f, 0x21, 0x27, 0x29, 0x2a,
364 0, 0, 0, 0x1f, 0x23, 0x28, 0x2a, 0x2c
391 0x186a, 0x30d4, 0x493e, 0x61a8, 0x7a12, 0x927c /* 200ms-1200ms */
395 DEFAULT_TIMING = 0,
404 int ret = 0; in rtl8188eu_identify_chip()
471 sec_ch_above = 0; in rtl8188eu_config_channel()
503 val32 &= ~OFDM_LSTF_PRIME_CH_MASK; /* 0xc00 */ in rtl8188eu_config_channel()
557 if (efuse->rtl_id != cpu_to_le16(0x8129)) in rtl8188eu_parse_efuse()
569 priv->default_crystal_cap = efuse->xtal_k & 0x3f; in rtl8188eu_parse_efuse()
571 return 0; in rtl8188eu_parse_efuse()
629 int result = 0; in rtl8188eu_iqk_path_a()
632 rtl8xxxu_write32(priv, REG_TX_IQK_TONE_A, 0x10008c1c); in rtl8188eu_iqk_path_a()
633 rtl8xxxu_write32(priv, REG_RX_IQK_TONE_A, 0x30008c1c); in rtl8188eu_iqk_path_a()
635 rtl8xxxu_write32(priv, REG_TX_IQK_PI_A, 0x8214032a); in rtl8188eu_iqk_path_a()
636 rtl8xxxu_write32(priv, REG_RX_IQK_PI_A, 0x28160000); in rtl8188eu_iqk_path_a()
639 rtl8xxxu_write32(priv, REG_IQK_AGC_RSP, 0x00462911); in rtl8188eu_iqk_path_a()
642 rtl8xxxu_write32(priv, REG_IQK_AGC_PTS, 0xf9000000); in rtl8188eu_iqk_path_a()
643 rtl8xxxu_write32(priv, REG_IQK_AGC_PTS, 0xf8000000); in rtl8188eu_iqk_path_a()
653 ((reg_e94 & 0x03ff0000) != 0x01420000) && in rtl8188eu_iqk_path_a()
654 ((reg_e9c & 0x03ff0000) != 0x00420000)) in rtl8188eu_iqk_path_a()
655 result |= 0x01; in rtl8188eu_iqk_path_a()
663 int result = 0; in rtl8188eu_rx_iqk_path_a()
667 u32p_replace_bits(&val32, 0, 0xffffff00); in rtl8188eu_rx_iqk_path_a()
671 rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_WE_LUT, 0x800a0); in rtl8188eu_rx_iqk_path_a()
672 rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_RCK_OS, 0x30000); in rtl8188eu_rx_iqk_path_a()
673 rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_TXPA_G1, 0x0000f); in rtl8188eu_rx_iqk_path_a()
674 rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_TXPA_G2, 0xf117b); in rtl8188eu_rx_iqk_path_a()
678 u32p_replace_bits(&val32, 0x808000, 0xffffff00); in rtl8188eu_rx_iqk_path_a()
682 rtl8xxxu_write32(priv, REG_TX_IQK, 0x01007c00); in rtl8188eu_rx_iqk_path_a()
683 rtl8xxxu_write32(priv, REG_RX_IQK, 0x81004800); in rtl8188eu_rx_iqk_path_a()
686 rtl8xxxu_write32(priv, REG_TX_IQK_TONE_A, 0x10008c1c); in rtl8188eu_rx_iqk_path_a()
687 rtl8xxxu_write32(priv, REG_RX_IQK_TONE_A, 0x30008c1c); in rtl8188eu_rx_iqk_path_a()
689 rtl8xxxu_write32(priv, REG_TX_IQK_PI_A, 0x82160804); in rtl8188eu_rx_iqk_path_a()
690 rtl8xxxu_write32(priv, REG_RX_IQK_PI_A, 0x28160000); in rtl8188eu_rx_iqk_path_a()
693 rtl8xxxu_write32(priv, REG_IQK_AGC_RSP, 0x0046a911); in rtl8188eu_rx_iqk_path_a()
696 rtl8xxxu_write32(priv, REG_IQK_AGC_PTS, 0xf9000000); in rtl8188eu_rx_iqk_path_a()
697 rtl8xxxu_write32(priv, REG_IQK_AGC_PTS, 0xf8000000); in rtl8188eu_rx_iqk_path_a()
707 ((reg_e94 & 0x03ff0000) != 0x01420000) && in rtl8188eu_rx_iqk_path_a()
708 ((reg_e9c & 0x03ff0000) != 0x00420000)) in rtl8188eu_rx_iqk_path_a()
709 result |= 0x01; in rtl8188eu_rx_iqk_path_a()
713 val32 = 0x80007c00 | in rtl8188eu_rx_iqk_path_a()
714 (reg_e94 & 0x03ff0000) | ((reg_e9c >> 16) & 0x03ff); in rtl8188eu_rx_iqk_path_a()
719 u32p_replace_bits(&val32, 0, 0xffffff00); in rtl8188eu_rx_iqk_path_a()
722 rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_WE_LUT, 0x800a0); in rtl8188eu_rx_iqk_path_a()
723 rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_RCK_OS, 0x30000); in rtl8188eu_rx_iqk_path_a()
724 rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_TXPA_G1, 0x0000f); in rtl8188eu_rx_iqk_path_a()
725 rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_TXPA_G2, 0xf7ffa); in rtl8188eu_rx_iqk_path_a()
729 u32p_replace_bits(&val32, 0x808000, 0xffffff00); in rtl8188eu_rx_iqk_path_a()
733 rtl8xxxu_write32(priv, REG_RX_IQK, 0x01004800); in rtl8188eu_rx_iqk_path_a()
736 rtl8xxxu_write32(priv, REG_TX_IQK_TONE_A, 0x30008c1c); in rtl8188eu_rx_iqk_path_a()
737 rtl8xxxu_write32(priv, REG_RX_IQK_TONE_A, 0x10008c1c); in rtl8188eu_rx_iqk_path_a()
739 rtl8xxxu_write32(priv, REG_TX_IQK_PI_A, 0x82160c05); in rtl8188eu_rx_iqk_path_a()
740 rtl8xxxu_write32(priv, REG_RX_IQK_PI_A, 0x28160c05); in rtl8188eu_rx_iqk_path_a()
743 rtl8xxxu_write32(priv, REG_IQK_AGC_RSP, 0x0046a911); in rtl8188eu_rx_iqk_path_a()
746 rtl8xxxu_write32(priv, REG_IQK_AGC_PTS, 0xf9000000); in rtl8188eu_rx_iqk_path_a()
747 rtl8xxxu_write32(priv, REG_IQK_AGC_PTS, 0xf8000000); in rtl8188eu_rx_iqk_path_a()
755 ((reg_ea4 & 0x03ff0000) != 0x01320000) && in rtl8188eu_rx_iqk_path_a()
756 ((reg_eac & 0x03ff0000) != 0x00360000)) in rtl8188eu_rx_iqk_path_a()
757 result |= 0x02; in rtl8188eu_rx_iqk_path_a()
799 if (t == 0) { in rtl8188eu_phy_iqcalibrate()
810 if (t == 0) { in rtl8188eu_phy_iqcalibrate()
817 rtl8xxxu_write32(priv, REG_FPGA0_XA_HSSI_PARM1, 0x01000100); in rtl8188eu_phy_iqcalibrate()
818 rtl8xxxu_write32(priv, REG_FPGA0_XB_HSSI_PARM1, 0x01000100); in rtl8188eu_phy_iqcalibrate()
825 u32p_replace_bits(&val32, 0xf, 0x0f000000); in rtl8188eu_phy_iqcalibrate()
828 rtl8xxxu_write32(priv, REG_OFDM0_TRX_PATH_ENABLE, 0x03a05600); in rtl8188eu_phy_iqcalibrate()
829 rtl8xxxu_write32(priv, REG_OFDM0_TR_MUX_PAR, 0x000800e4); in rtl8188eu_phy_iqcalibrate()
830 rtl8xxxu_write32(priv, REG_FPGA0_XCD_RF_SW_CTRL, 0x22204000); in rtl8188eu_phy_iqcalibrate()
847 rtl8xxxu_write32(priv, REG_CONFIG_ANT_A, 0x0f600000); in rtl8188eu_phy_iqcalibrate()
851 u32p_replace_bits(&val32, 0x808000, 0xffffff00); in rtl8188eu_phy_iqcalibrate()
853 rtl8xxxu_write32(priv, REG_TX_IQK, 0x01007c00); in rtl8188eu_phy_iqcalibrate()
854 rtl8xxxu_write32(priv, REG_RX_IQK, 0x81004800); in rtl8188eu_phy_iqcalibrate()
856 for (i = 0; i < retry; i++) { in rtl8188eu_phy_iqcalibrate()
858 if (path_a_ok == 0x01) { in rtl8188eu_phy_iqcalibrate()
861 result[t][0] = (val32 >> 16) & 0x3ff; in rtl8188eu_phy_iqcalibrate()
864 result[t][1] = (val32 >> 16) & 0x3ff; in rtl8188eu_phy_iqcalibrate()
872 for (i = 0; i < retry; i++) { in rtl8188eu_phy_iqcalibrate()
874 if (path_a_ok == 0x03) { in rtl8188eu_phy_iqcalibrate()
877 result[t][2] = (val32 >> 16) & 0x3ff; in rtl8188eu_phy_iqcalibrate()
880 result[t][3] = (val32 >> 16) & 0x3ff; in rtl8188eu_phy_iqcalibrate()
891 u32p_replace_bits(&val32, 0, 0xffffff00); in rtl8188eu_phy_iqcalibrate()
894 if (t == 0) in rtl8188eu_phy_iqcalibrate()
899 rtl8xxxu_write32(priv, REG_FPGA0_XA_HSSI_PARM1, 0x01000000); in rtl8188eu_phy_iqcalibrate()
900 rtl8xxxu_write32(priv, REG_FPGA0_XB_HSSI_PARM1, 0x01000000); in rtl8188eu_phy_iqcalibrate()
915 rtl8xxxu_write32(priv, REG_FPGA0_XA_LSSI_PARM, 0x00032ed3); in rtl8188eu_phy_iqcalibrate()
917 /* Load 0xe30 IQC default value */ in rtl8188eu_phy_iqcalibrate()
918 rtl8xxxu_write32(priv, REG_TX_IQK_TONE_A, 0x01008c00); in rtl8188eu_phy_iqcalibrate()
919 rtl8xxxu_write32(priv, REG_RX_IQK_TONE_A, 0x01008c00); in rtl8188eu_phy_iqcalibrate()
932 memset(result, 0, sizeof(result)); in rtl8188eu_phy_iq_calibrate()
933 result[3][0] = 0x100; in rtl8188eu_phy_iq_calibrate()
934 result[3][2] = 0x100; in rtl8188eu_phy_iq_calibrate()
935 result[3][4] = 0x100; in rtl8188eu_phy_iq_calibrate()
936 result[3][6] = 0x100; in rtl8188eu_phy_iq_calibrate()
942 for (i = 0; i < 3; i++) { in rtl8188eu_phy_iq_calibrate()
947 result, 0, 1); in rtl8188eu_phy_iq_calibrate()
949 candidate = 0; in rtl8188eu_phy_iq_calibrate()
956 result, 0, 2); in rtl8188eu_phy_iq_calibrate()
958 candidate = 0; in rtl8188eu_phy_iq_calibrate()
971 if (candidate >= 0) { in rtl8188eu_phy_iq_calibrate()
972 reg_e94 = result[candidate][0]; in rtl8188eu_phy_iq_calibrate()
991 reg_e94 = 0x100; in rtl8188eu_phy_iq_calibrate()
992 reg_eb4 = 0x100; in rtl8188eu_phy_iq_calibrate()
993 priv->rege94 = 0x100; in rtl8188eu_phy_iq_calibrate()
994 priv->regeb4 = 0x100; in rtl8188eu_phy_iq_calibrate()
995 reg_e9c = 0x0; in rtl8188eu_phy_iq_calibrate()
996 reg_ebc = 0x0; in rtl8188eu_phy_iq_calibrate()
997 priv->rege9c = 0x0; in rtl8188eu_phy_iq_calibrate()
998 priv->regebc = 0x0; in rtl8188eu_phy_iq_calibrate()
1001 if (reg_e94 && candidate >= 0) in rtl8188eu_phy_iq_calibrate()
1003 candidate, (reg_ea4 == 0)); in rtl8188eu_phy_iq_calibrate()
1023 int count, ret = 0; in rtl8188e_emu_to_active()
1025 /* wait till 0x04[17] = 1 power ready*/ in rtl8188e_emu_to_active()
1044 /*0x24[23] = 2b'01 schmit trigger */ in rtl8188e_emu_to_active()
1049 /* 0x04[15] = 0 disable HWPDN (control by DRV)*/ in rtl8188e_emu_to_active()
1054 /*0x04[12:11] = 2b'00 disable WL suspend*/ in rtl8188e_emu_to_active()
1059 /* set, then poll until 0 */ in rtl8188e_emu_to_active()
1066 if ((val32 & APS_FSMCO_MAC_ENABLE) == 0) { in rtl8188e_emu_to_active()
1067 ret = 0; in rtl8188e_emu_to_active()
1101 return 0; in rtl8188eu_active_to_emu()
1119 rtl8xxxu_write8(priv, REG_APS_FSMCO + 3, 0x00); in rtl8188eu_emu_to_disabled()
1125 /* Set USB suspend enable local register 0xfe10[4]=1 */ in rtl8188eu_emu_to_disabled()
1126 val8 = rtl8xxxu_read8(priv, 0xfe10); in rtl8188eu_emu_to_disabled()
1128 rtl8xxxu_write8(priv, 0xfe10, val8); in rtl8188eu_emu_to_disabled()
1130 return 0; in rtl8188eu_emu_to_disabled()
1141 rtl8xxxu_write8(priv, REG_TXPAUSE, 0x7f); in rtl8188eu_active_to_lps()
1145 /* Poll 32 bit wide REG_SCH_TX_CMD for 0 to ensure no TX is pending. */ in rtl8188eu_active_to_lps()
1149 retval = 0; in rtl8188eu_active_to_lps()
1169 val16 |= 0xff; in rtl8188eu_active_to_lps()
1223 rtl8xxxu_write8(priv, REG_RF_CTRL, 0x00); in rtl8188eu_power_off()
1237 rtl8xxxu_write8(priv, REG_MCU_FW_DL, 0x00); in rtl8188eu_power_off()
1241 val8 &= ~BIT(0); in rtl8188eu_power_off()
1260 rtl8xxxu_write8(priv, REG_GPIO_PIN_CTRL + 2, 0xff); in rtl8188eu_power_off()
1265 rtl8xxxu_write8(priv, REG_GPIO_IO_SEL + 1, val8 | 0x0f); in rtl8188eu_power_off()
1271 rtl8xxxu_write32(priv, REG_PAD_CTRL1, 0x00080808); in rtl8188eu_power_off()
1273 rtl8xxxu_write8(priv, REG_RSV_CTRL, 0x00); in rtl8188eu_power_off()
1275 rtl8xxxu_write32(priv, REG_GPIO_MUXCFG, 0x00000000); in rtl8188eu_power_off()
1289 rtl8xxxu_write8(priv, REG_TXPAUSE, 0x00); in rtl8188e_enable_rf()
1301 rtl8xxxu_write_rfreg(priv, RF_A, RF6052_REG_AC, 0); in rtl8188e_disable_rf()
1322 rtl8xxxu_write8(priv, REG_EARLY_MODE_CONTROL_8188E + 3, 0x01); in rtl8188e_usb_quirks()
1327 /* only use lna 0/1/2/3/7 */ in rtl8188e_cck_rssi()
1333 s8 rx_pwr_all = 0x00; in rtl8188e_cck_rssi()
1335 s8 lna_gain = 0; in rtl8188e_cck_rssi()
1371 return 0; in rtl8188eu_led_brightness_set()
1378 for (idx = 0; idx < 5; idx++) in rtl8188e_set_tx_rpt_timing()
1383 idx = 0; /* 200ms */ in rtl8188e_set_tx_rpt_timing()
1388 if (idx > 0) in rtl8188e_set_tx_rpt_timing()
1405 ra->rate_sgi = 0; in rtl8188e_rate_down()
1407 if (rate_id > 0) { in rtl8188e_rate_down()
1424 ra->ra_waiting_counter = 0; in rtl8188e_rate_down()
1425 ra->ra_pending_counter = 0; in rtl8188e_rate_down()
1445 ra->ra_waiting_counter = 0; in rtl8188e_rate_up()
1446 ra->ra_pending_counter = 0; in rtl8188e_rate_up()
1465 ra->rate_sgi = 0; in rtl8188e_rate_up()
1472 ra->ra_waiting_counter = 0; in rtl8188e_rate_up()
1496 if (ra->total == 0) in rtl8188e_rate_decision()
1508 retry_penalty_idx_0 = retry_penalty_idx_cut_i[0]; in rtl8188e_rate_decision()
1512 retry_penalty_idx_0 = retry_penalty_idx_normal[0]; in rtl8188e_rate_decision()
1520 ra->ra_waiting_counter = 0; in rtl8188e_rate_decision()
1521 ra->ra_pending_counter = 0; in rtl8188e_rate_decision()
1536 for (i = 0; i < 5; i++) in rtl8188e_rate_decision()
1542 ra->nsc_down = 0; in rtl8188e_rate_decision()
1547 for (i = 0; i < 5; i++) in rtl8188e_rate_decision()
1553 ra->nsc_up = 0; in rtl8188e_rate_decision()
1571 ra->dynamic_tx_rpt_timing_counter = 0; in rtl8188e_rate_decision()
1576 ra->dynamic_tx_rpt_timing_counter = 0; in rtl8188e_rate_decision()
1586 ra->pt_try_state = 0; in rtl8188e_power_training_try_state()
1600 case 0: in rtl8188e_power_training_try_state()
1609 ra->pt_stage = 0; in rtl8188e_power_training_try_state()
1615 if (ra->pt_stage == 0) in rtl8188e_power_training_try_state()
1623 ra->pt_stop_count = 0; in rtl8188e_power_training_try_state()
1625 ra->ra_stage = 0; in rtl8188e_power_training_try_state()
1629 ra->pt_stage = 0; in rtl8188e_power_training_try_state()
1630 ra->ra_stage = 0; in rtl8188e_power_training_try_state()
1639 ra->pt_stage = 0; in rtl8188e_power_training_try_state()
1640 ra->ra_stage = 0; in rtl8188e_power_training_try_state()
1641 ra->pt_stop_count = 0; in rtl8188e_power_training_try_state()
1653 numsc = 0; in rtl8188e_power_training_decision()
1655 for (j = 0; j <= 4; j++) { in rtl8188e_power_training_decision()
1667 stage_id = 0; in rtl8188e_power_training_decision()
1676 if (temp_stage != 0) in rtl8188e_power_training_decision()
1679 temp_stage = 0; in rtl8188e_power_training_decision()
1689 u32 tx_rpt_len = rx_desc->pktlen & 0x3ff; in rtl8188e_handle_ra_tx_report2()
1695 u16 min_rpt_time = 0x927c; in rtl8188e_handle_ra_tx_report2()
1699 /* We only use macid 0, so only the first item is relevant. in rtl8188e_handle_ra_tx_report2()
1705 for (macid = 0; macid < items; macid++) { in rtl8188e_handle_ra_tx_report2()
1712 ra->retry[0] = le16_to_cpu(*(__le16 *)rpt); in rtl8188e_handle_ra_tx_report2()
1718 ra->total = ra->retry[0] + ra->retry[1] + ra->retry[2] + in rtl8188e_handle_ra_tx_report2()
1721 if (ra->total > 0) { in rtl8188e_handle_ra_tx_report2()
1732 ra->ra_stage = 0; in rtl8188e_handle_ra_tx_report2()
1734 } else if (macid == 0) { in rtl8188e_handle_ra_tx_report2()
1735 dev_warn(dev, "%s: TX report item 0 not valid\n", __func__); in rtl8188e_handle_ra_tx_report2()
1740 ra->retry[0], ra->retry[1], ra->retry[2], in rtl8188e_handle_ra_tx_report2()
1763 for (i = RATESIZE; i >= 0; i--) { in rtl8188e_arfb_refresh()
1770 ra->highest_rate = 0; in rtl8188e_arfb_refresh()
1775 for (i = 0; i < RATESIZE; i++) { in rtl8188e_arfb_refresh()
1782 ra->lowest_rate = 0; in rtl8188e_arfb_refresh()
1792 ra->pt_mode_ss = 0; in rtl8188e_arfb_refresh()
1819 ra->lowest_rate = 0; in rtl8188e_ra_info_init_all()
1820 ra->rate_id = 0; in rtl8188e_ra_info_init_all()
1821 ra->rate_mask = 0xfffff; in rtl8188e_ra_info_init_all()
1822 ra->rssi_sta_ra = 0; in rtl8188e_ra_info_init_all()
1823 ra->pre_rssi_sta_ra = 0; in rtl8188e_ra_info_init_all()
1824 ra->sgi_enable = 0; in rtl8188e_ra_info_init_all()
1825 ra->ra_use_rate = 0xfffff; in rtl8188e_ra_info_init_all()
1828 ra->rate_sgi = 0; in rtl8188e_ra_info_init_all()
1829 ra->rpt_time = 0x927c; in rtl8188e_ra_info_init_all()
1830 ra->drop = 0; in rtl8188e_ra_info_init_all()
1831 ra->retry[0] = 0; in rtl8188e_ra_info_init_all()
1832 ra->retry[1] = 0; in rtl8188e_ra_info_init_all()
1833 ra->retry[2] = 0; in rtl8188e_ra_info_init_all()
1834 ra->retry[3] = 0; in rtl8188e_ra_info_init_all()
1835 ra->retry[4] = 0; in rtl8188e_ra_info_init_all()
1836 ra->total = 0; in rtl8188e_ra_info_init_all()
1837 ra->ra_waiting_counter = 0; in rtl8188e_ra_info_init_all()
1838 ra->ra_pending_counter = 0; in rtl8188e_ra_info_init_all()
1839 ra->ra_drop_after_down = 0; in rtl8188e_ra_info_init_all()
1841 ra->pt_try_state = 0; in rtl8188e_ra_info_init_all()
1844 ra->pt_stop_count = 0; in rtl8188e_ra_info_init_all()
1845 ra->pt_pre_rate = 0; in rtl8188e_ra_info_init_all()
1846 ra->pt_pre_rssi = 0; in rtl8188e_ra_info_init_all()
1847 ra->pt_mode_ss = 0; in rtl8188e_ra_info_init_all()
1848 ra->ra_stage = 0; in rtl8188e_ra_info_init_all()
1885 .adda_1t_init = 0x0b1b25a0,
1886 .adda_1t_path_on = 0x0bdb25a0,
1891 .trxff_boundary = 0x25ff,