xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/rtl8188eu/hal/phydm/rtl8188e/halhwimg8188e_bb.c (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /******************************************************************************
3  *
4  * Copyright(c) 2007 - 2017 Realtek Corporation.
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms of version 2 of the GNU General Public License as
8  * published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope that it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
13  * more details.
14  *
15  *****************************************************************************/
16 
17 /*Image2HeaderVersion: 3.5.2*/
18 #include "mp_precomp.h"
19 #include "../phydm_precomp.h"
20 
21 #if (RTL8188E_SUPPORT == 1)
22 static boolean
check_positive(struct dm_struct * dm,const u32 condition1,const u32 condition2,const u32 condition3,const u32 condition4)23 check_positive(
24 	struct dm_struct *dm,
25 	const u32	condition1,
26 	const u32	condition2,
27 	const u32	condition3,
28 	const u32	condition4
29 )
30 {
31 	u8	_board_type = ((dm->board_type & BIT(4)) >> 4) << 0 | /* _GLNA*/
32 			((dm->board_type & BIT(3)) >> 3) << 1 | /* _GPA*/
33 			((dm->board_type & BIT(7)) >> 7) << 2 | /* _ALNA*/
34 			((dm->board_type & BIT(6)) >> 6) << 3 | /* _APA */
35 			((dm->board_type & BIT(2)) >> 2) << 4 | /* _BT*/
36 			((dm->board_type & BIT(1)) >> 1) << 5 | /* _NGFF*/
37 			((dm->board_type & BIT(5)) >> 5) << 6;  /* _TRSWT*/
38 
39 	u32	cond1 = condition1, cond2 = condition2, cond3 = condition3, cond4 = condition4;
40 
41 	u8	cut_version_for_para = (dm->cut_version ==  ODM_CUT_A) ? 15 : dm->cut_version;
42 	u8	pkg_type_for_para = (dm->package_type == 0) ? 15 : dm->package_type;
43 
44 	u32	driver1 = cut_version_for_para << 24 |
45 			(dm->support_interface & 0xF0) << 16 |
46 			dm->support_platform << 16 |
47 			pkg_type_for_para << 12 |
48 			(dm->support_interface & 0x0F) << 8  |
49 			_board_type;
50 
51 	u32	driver2 = (dm->type_glna & 0xFF) <<  0 |
52 			(dm->type_gpa & 0xFF)  <<  8 |
53 			(dm->type_alna & 0xFF) << 16 |
54 			(dm->type_apa & 0xFF)  << 24;
55 
56 	u32	driver3 = 0;
57 
58 	u32	driver4 = (dm->type_glna & 0xFF00) >>  8 |
59 			(dm->type_gpa & 0xFF00) |
60 			(dm->type_alna & 0xFF00) << 8 |
61 			(dm->type_apa & 0xFF00)  << 16;
62 
63 	PHYDM_DBG(dm, ODM_COMP_INIT,
64 		  "===> %s (cond1, cond2, cond3, cond4) = (0x%X 0x%X 0x%X 0x%X)\n",
65 		  __func__, cond1, cond2, cond3, cond4);
66 	PHYDM_DBG(dm, ODM_COMP_INIT,
67 		  "===> %s (driver1, driver2, driver3, driver4) = (0x%X 0x%X 0x%X 0x%X)\n",
68 		  __func__, driver1, driver2, driver3, driver4);
69 
70 	PHYDM_DBG(dm, ODM_COMP_INIT,
71 		  "	(Platform, Interface) = (0x%X, 0x%X)\n",
72 		  dm->support_platform, dm->support_interface);
73 	PHYDM_DBG(dm, ODM_COMP_INIT,
74 		  "	(Board, Package) = (0x%X, 0x%X)\n", dm->board_type,
75 		  dm->package_type);
76 
77 
78 	/*============== value Defined Check ===============*/
79 	/*QFN type [15:12] and cut version [27:24] need to do value check*/
80 
81 	if (((cond1 & 0x0000F000) != 0) && ((cond1 & 0x0000F000) != (driver1 & 0x0000F000)))
82 		return false;
83 	if (((cond1 & 0x0F000000) != 0) && ((cond1 & 0x0F000000) != (driver1 & 0x0F000000)))
84 		return false;
85 
86 	/*=============== Bit Defined Check ================*/
87 	/* We don't care [31:28] */
88 
89 	cond1 &= 0x00FF0FFF;
90 	driver1 &= 0x00FF0FFF;
91 
92 	if ((cond1 & driver1) == cond1) {
93 		u32	bit_mask = 0;
94 
95 		if ((cond1 & 0x0F) == 0) /* board_type is DONTCARE*/
96 			return true;
97 
98 		if ((cond1 & BIT(0)) != 0) /*GLNA*/
99 			bit_mask |= 0x000000FF;
100 		if ((cond1 & BIT(1)) != 0) /*GPA*/
101 			bit_mask |= 0x0000FF00;
102 		if ((cond1 & BIT(2)) != 0) /*ALNA*/
103 			bit_mask |= 0x00FF0000;
104 		if ((cond1 & BIT(3)) != 0) /*APA*/
105 			bit_mask |= 0xFF000000;
106 
107 		if (((cond2 & bit_mask) == (driver2 & bit_mask)) && ((cond4 & bit_mask) == (driver4 & bit_mask)))  /* board_type of each RF path is matched*/
108 			return true;
109 		else
110 			return false;
111 	} else
112 		return false;
113 }
114 
115 /******************************************************************************
116 *                           agc_tab.TXT
117 ******************************************************************************/
118 
119 u32 array_mp_8188e_agc_tab[] = {
120 	0x88000001,	0x00000000,	0x40000000,	0x00000000,
121 		0xC78, 0xF6000001,
122 		0xC78, 0xF5010001,
123 		0xC78, 0xF4020001,
124 		0xC78, 0xF3030001,
125 		0xC78, 0xF2040001,
126 	0x90000001,	0x00000000,	0x40000000,	0x00000000,
127 		0xC78, 0xF7000001,
128 		0xC78, 0xF6010001,
129 		0xC78, 0xF5020001,
130 		0xC78, 0xF4030001,
131 		0xC78, 0xF3040001,
132 	0x90000001,	0x00000001,	0x40000000,	0x00000000,
133 		0xC78, 0xF9000001,
134 		0xC78, 0xF8010001,
135 		0xC78, 0xF7020001,
136 		0xC78, 0xF6030001,
137 		0xC78, 0xF5040001,
138 	0x98000001,	0x00000002,	0x40000000,	0x00000000,
139 		0xC78, 0xFB000001,
140 		0xC78, 0xFB010001,
141 		0xC78, 0xFA020001,
142 		0xC78, 0xF9030001,
143 		0xC78, 0xF8040001,
144 	0x90000001,	0x00000002,	0x40000000,	0x00000000,
145 		0xC78, 0xFF000001,
146 		0xC78, 0xFF010001,
147 		0xC78, 0xFE020001,
148 		0xC78, 0xFD030001,
149 		0xC78, 0xFC040001,
150 	0xA0000000,	0x00000000,
151 		0xC78, 0xFB000001,
152 		0xC78, 0xFB010001,
153 		0xC78, 0xFB020001,
154 		0xC78, 0xFB030001,
155 		0xC78, 0xFB040001,
156 	0xB0000000,	0x00000000,
157 	0x88000001,	0x00000000,	0x40000000,	0x00000000,
158 		0xC78, 0xF1050001,
159 		0xC78, 0xF0060001,
160 		0xC78, 0xEF070001,
161 		0xC78, 0xEE080001,
162 		0xC78, 0xED090001,
163 		0xC78, 0xEC0A0001,
164 		0xC78, 0xEB0B0001,
165 		0xC78, 0xEA0C0001,
166 		0xC78, 0xE90D0001,
167 		0xC78, 0xE80E0001,
168 		0xC78, 0xE70F0001,
169 		0xC78, 0xE6100001,
170 		0xC78, 0xE5110001,
171 		0xC78, 0xE4120001,
172 		0xC78, 0xE3130001,
173 		0xC78, 0xE2140001,
174 		0xC78, 0xC5150001,
175 		0xC78, 0xC4160001,
176 		0xC78, 0xC3170001,
177 		0xC78, 0xC2180001,
178 		0xC78, 0x88190001,
179 		0xC78, 0x871A0001,
180 		0xC78, 0x861B0001,
181 		0xC78, 0x851C0001,
182 		0xC78, 0x841D0001,
183 		0xC78, 0x831E0001,
184 		0xC78, 0x821F0001,
185 		0xC78, 0x81200001,
186 		0xC78, 0x80210001,
187 	0x90000001,	0x00000000,	0x40000000,	0x00000000,
188 		0xC78, 0xF2050001,
189 		0xC78, 0xF1060001,
190 		0xC78, 0xF0070001,
191 		0xC78, 0xEF080001,
192 		0xC78, 0xEE090001,
193 		0xC78, 0xED0A0001,
194 		0xC78, 0xEC0B0001,
195 		0xC78, 0xEB0C0001,
196 		0xC78, 0xEA0D0001,
197 		0xC78, 0xE90E0001,
198 		0xC78, 0xE80F0001,
199 		0xC78, 0xE7100001,
200 		0xC78, 0xE6110001,
201 		0xC78, 0xE5120001,
202 		0xC78, 0xE4130001,
203 		0xC78, 0xE3140001,
204 		0xC78, 0xE2150001,
205 		0xC78, 0xE1160001,
206 		0xC78, 0x89170001,
207 		0xC78, 0x88180001,
208 		0xC78, 0x87190001,
209 		0xC78, 0x861A0001,
210 		0xC78, 0x851B0001,
211 		0xC78, 0x841C0001,
212 		0xC78, 0x831D0001,
213 		0xC78, 0x821E0001,
214 		0xC78, 0x811F0001,
215 		0xC78, 0x6B200001,
216 		0xC78, 0x6A210001,
217 	0x90000001,	0x00000001,	0x40000000,	0x00000000,
218 		0xC78, 0xF4050001,
219 		0xC78, 0xF3060001,
220 		0xC78, 0xF2070001,
221 		0xC78, 0xF1080001,
222 		0xC78, 0xF0090001,
223 		0xC78, 0xEF0A0001,
224 		0xC78, 0xEE0B0001,
225 		0xC78, 0xED0C0001,
226 		0xC78, 0xEC0D0001,
227 		0xC78, 0xEB0E0001,
228 		0xC78, 0xEA0F0001,
229 		0xC78, 0xE9100001,
230 		0xC78, 0xE8110001,
231 		0xC78, 0xE7120001,
232 		0xC78, 0xE6130001,
233 		0xC78, 0xE5140001,
234 		0xC78, 0xE4150001,
235 		0xC78, 0xE3160001,
236 		0xC78, 0xE2170001,
237 		0xC78, 0xE1180001,
238 		0xC78, 0x8A190001,
239 		0xC78, 0x891A0001,
240 		0xC78, 0x881B0001,
241 		0xC78, 0x871C0001,
242 		0xC78, 0x861D0001,
243 		0xC78, 0x851E0001,
244 		0xC78, 0x841F0001,
245 		0xC78, 0x83200001,
246 		0xC78, 0x82210001,
247 	0x98000001,	0x00000002,	0x40000000,	0x00000000,
248 		0xC78, 0xF7050001,
249 		0xC78, 0xF6060001,
250 		0xC78, 0xF5070001,
251 		0xC78, 0xF4080001,
252 		0xC78, 0xF3090001,
253 		0xC78, 0xF20A0001,
254 		0xC78, 0xF10B0001,
255 		0xC78, 0xF00C0001,
256 		0xC78, 0xEF0D0001,
257 		0xC78, 0xEE0E0001,
258 		0xC78, 0xED0F0001,
259 		0xC78, 0xEC100001,
260 		0xC78, 0xEB110001,
261 		0xC78, 0xEA120001,
262 		0xC78, 0xE9130001,
263 		0xC78, 0xE8140001,
264 		0xC78, 0xE7150001,
265 		0xC78, 0xE6160001,
266 		0xC78, 0xE5170001,
267 		0xC78, 0xE4180001,
268 		0xC78, 0xC7190001,
269 		0xC78, 0xC61A0001,
270 		0xC78, 0xC51B0001,
271 		0xC78, 0xC41C0001,
272 		0xC78, 0xC31D0001,
273 		0xC78, 0xC21E0001,
274 		0xC78, 0x871F0001,
275 		0xC78, 0x86200001,
276 		0xC78, 0x85210001,
277 	0x90000001,	0x00000002,	0x40000000,	0x00000000,
278 		0xC78, 0xFB050001,
279 		0xC78, 0xFA060001,
280 		0xC78, 0xF9070001,
281 		0xC78, 0xF8080001,
282 		0xC78, 0xF7090001,
283 		0xC78, 0xF60A0001,
284 		0xC78, 0xF50B0001,
285 		0xC78, 0xF40C0001,
286 		0xC78, 0xF30D0001,
287 		0xC78, 0xF20E0001,
288 		0xC78, 0xF10F0001,
289 		0xC78, 0xF0100001,
290 		0xC78, 0xEF110001,
291 		0xC78, 0xEE120001,
292 		0xC78, 0xED130001,
293 		0xC78, 0xEC140001,
294 		0xC78, 0xEB150001,
295 		0xC78, 0xEA160001,
296 		0xC78, 0xE9170001,
297 		0xC78, 0xE8180001,
298 		0xC78, 0xE7190001,
299 		0xC78, 0xE61A0001,
300 		0xC78, 0xC51B0001,
301 		0xC78, 0xC41C0001,
302 		0xC78, 0xC31D0001,
303 		0xC78, 0xC21E0001,
304 		0xC78, 0x881F0001,
305 		0xC78, 0x87200001,
306 		0xC78, 0x86210001,
307 	0x98000000,	0x00000000,	0x40000000,	0x00000000,
308 		0xC78, 0xFA050001,
309 		0xC78, 0xF9060001,
310 		0xC78, 0xF8070001,
311 		0xC78, 0xF7080001,
312 		0xC78, 0xF6090001,
313 		0xC78, 0xF50A0001,
314 		0xC78, 0xF40B0001,
315 		0xC78, 0xF30C0001,
316 		0xC78, 0xF20D0001,
317 		0xC78, 0xF10E0001,
318 		0xC78, 0xF00F0001,
319 		0xC78, 0xEF100001,
320 		0xC78, 0xEE110001,
321 		0xC78, 0xED120001,
322 		0xC78, 0xEC130001,
323 		0xC78, 0xEB140001,
324 		0xC78, 0xEA150001,
325 		0xC78, 0xE9160001,
326 		0xC78, 0xE8170001,
327 		0xC78, 0xE7180001,
328 		0xC78, 0xE6190001,
329 		0xC78, 0xE51A0001,
330 		0xC78, 0xE41B0001,
331 		0xC78, 0xC71C0001,
332 		0xC78, 0xC61D0001,
333 		0xC78, 0xC51E0001,
334 		0xC78, 0xC41F0001,
335 		0xC78, 0xC3200001,
336 		0xC78, 0xC2210001,
337 	0xA0000000,	0x00000000,
338 		0xC78, 0xFB050001,
339 		0xC78, 0xFA060001,
340 		0xC78, 0xF9070001,
341 		0xC78, 0xF8080001,
342 		0xC78, 0xF7090001,
343 		0xC78, 0xF60A0001,
344 		0xC78, 0xF50B0001,
345 		0xC78, 0xF40C0001,
346 		0xC78, 0xF30D0001,
347 		0xC78, 0xF20E0001,
348 		0xC78, 0xF10F0001,
349 		0xC78, 0xF0100001,
350 		0xC78, 0xEF110001,
351 		0xC78, 0xEE120001,
352 		0xC78, 0xED130001,
353 		0xC78, 0xEC140001,
354 		0xC78, 0xEB150001,
355 		0xC78, 0xEA160001,
356 		0xC78, 0xE9170001,
357 		0xC78, 0xE8180001,
358 		0xC78, 0xE7190001,
359 		0xC78, 0xE61A0001,
360 		0xC78, 0xE51B0001,
361 		0xC78, 0xE41C0001,
362 		0xC78, 0xE31D0001,
363 		0xC78, 0xE21E0001,
364 		0xC78, 0xE11F0001,
365 		0xC78, 0x8A200001,
366 		0xC78, 0x89210001,
367 	0xB0000000,	0x00000000,
368 	0x88000001,	0x00000000,	0x40000000,	0x00000000,
369 		0xC78, 0x66220001,
370 		0xC78, 0x65230001,
371 		0xC78, 0x64240001,
372 		0xC78, 0x63250001,
373 		0xC78, 0x62260001,
374 		0xC78, 0x61270001,
375 		0xC78, 0x60280001,
376 	0x90000001,	0x00000000,	0x40000000,	0x00000000,
377 		0xC78, 0x69220001,
378 		0xC78, 0x68230001,
379 		0xC78, 0x67240001,
380 		0xC78, 0x66250001,
381 		0xC78, 0x65260001,
382 		0xC78, 0x64270001,
383 		0xC78, 0x63280001,
384 	0x90000001,	0x00000001,	0x40000000,	0x00000000,
385 		0xC78, 0x6B220001,
386 		0xC78, 0x6A230001,
387 		0xC78, 0x69240001,
388 		0xC78, 0x68250001,
389 		0xC78, 0x67260001,
390 		0xC78, 0x66270001,
391 		0xC78, 0x65280001,
392 	0x98000001,	0x00000002,	0x40000000,	0x00000000,
393 		0xC78, 0x84220001,
394 		0xC78, 0x83230001,
395 		0xC78, 0x82240001,
396 		0xC78, 0x81250001,
397 		0xC78, 0x67260001,
398 		0xC78, 0x66270001,
399 		0xC78, 0x65280001,
400 	0x90000001,	0x00000002,	0x40000000,	0x00000000,
401 		0xC78, 0x85220001,
402 		0xC78, 0x84230001,
403 		0xC78, 0x83240001,
404 		0xC78, 0x82250001,
405 		0xC78, 0x6A260001,
406 		0xC78, 0x69270001,
407 		0xC78, 0x68280001,
408 	0xA0000000,	0x00000000,
409 		0xC78, 0x88220001,
410 		0xC78, 0x87230001,
411 		0xC78, 0x86240001,
412 		0xC78, 0x85250001,
413 		0xC78, 0x84260001,
414 		0xC78, 0x83270001,
415 		0xC78, 0x82280001,
416 	0xB0000000,	0x00000000,
417 	0x88000001,	0x00000000,	0x40000000,	0x00000000,
418 		0xC78, 0x4A290001,
419 		0xC78, 0x492A0001,
420 		0xC78, 0x482B0001,
421 		0xC78, 0x472C0001,
422 	0x90000001,	0x00000000,	0x40000000,	0x00000000,
423 		0xC78, 0x62290001,
424 		0xC78, 0x612A0001,
425 		0xC78, 0x462B0001,
426 		0xC78, 0x452C0001,
427 	0x90000001,	0x00000001,	0x40000000,	0x00000000,
428 		0xC78, 0x64290001,
429 		0xC78, 0x632A0001,
430 		0xC78, 0x622B0001,
431 		0xC78, 0x612C0001,
432 	0x98000001,	0x00000002,	0x40000000,	0x00000000,
433 		0xC78, 0x64290001,
434 		0xC78, 0x632A0001,
435 		0xC78, 0x622B0001,
436 		0xC78, 0x612C0001,
437 	0x90000001,	0x00000002,	0x40000000,	0x00000000,
438 		0xC78, 0x67290001,
439 		0xC78, 0x662A0001,
440 		0xC78, 0x652B0001,
441 		0xC78, 0x642C0001,
442 	0x98000000,	0x00000000,	0x40000000,	0x00000000,
443 		0xC78, 0x81290001,
444 		0xC78, 0x242A0001,
445 		0xC78, 0x232B0001,
446 		0xC78, 0x222C0001,
447 	0xA0000000,	0x00000000,
448 		0xC78, 0x6B290001,
449 		0xC78, 0x6A2A0001,
450 		0xC78, 0x692B0001,
451 		0xC78, 0x682C0001,
452 	0xB0000000,	0x00000000,
453 	0x88000001,	0x00000000,	0x40000000,	0x00000000,
454 		0xC78, 0x462D0001,
455 		0xC78, 0x452E0001,
456 		0xC78, 0x442F0001,
457 		0xC78, 0x43300001,
458 		0xC78, 0x42310001,
459 		0xC78, 0x41320001,
460 		0xC78, 0x40330001,
461 	0x90000001,	0x00000000,	0x40000000,	0x00000000,
462 		0xC78, 0x442D0001,
463 		0xC78, 0x432E0001,
464 		0xC78, 0x422F0001,
465 		0xC78, 0x41300001,
466 		0xC78, 0x40310001,
467 		0xC78, 0x40320001,
468 		0xC78, 0x40330001,
469 	0x90000001,	0x00000001,	0x40000000,	0x00000000,
470 		0xC78, 0x462D0001,
471 		0xC78, 0x452E0001,
472 		0xC78, 0x442F0001,
473 		0xC78, 0x43300001,
474 		0xC78, 0x42310001,
475 		0xC78, 0x41320001,
476 		0xC78, 0x40330001,
477 	0x98000001,	0x00000002,	0x40000000,	0x00000000,
478 		0xC78, 0x4B2D0001,
479 		0xC78, 0x4A2E0001,
480 		0xC78, 0x492F0001,
481 		0xC78, 0x48300001,
482 		0xC78, 0x47310001,
483 		0xC78, 0x46320001,
484 		0xC78, 0x45330001,
485 	0x90000001,	0x00000002,	0x40000000,	0x00000000,
486 		0xC78, 0x4A2D0001,
487 		0xC78, 0x492E0001,
488 		0xC78, 0x482F0001,
489 		0xC78, 0x47300001,
490 		0xC78, 0x46310001,
491 		0xC78, 0x45320001,
492 		0xC78, 0x44330001,
493 	0xA0000000,	0x00000000,
494 		0xC78, 0x672D0001,
495 		0xC78, 0x662E0001,
496 		0xC78, 0x652F0001,
497 		0xC78, 0x64300001,
498 		0xC78, 0x63310001,
499 		0xC78, 0x62320001,
500 		0xC78, 0x61330001,
501 	0xB0000000,	0x00000000,
502 	0x88000001,	0x00000000,	0x40000000,	0x00000000,
503 		0xC78, 0x40340001,
504 		0xC78, 0x40350001,
505 		0xC78, 0x40360001,
506 		0xC78, 0x40370001,
507 		0xC78, 0x40380001,
508 		0xC78, 0x40390001,
509 		0xC78, 0x403A0001,
510 		0xC78, 0x403B0001,
511 		0xC78, 0x403C0001,
512 		0xC78, 0x403D0001,
513 		0xC78, 0x403E0001,
514 	0x90000001,	0x00000000,	0x40000000,	0x00000000,
515 		0xC78, 0x40340001,
516 		0xC78, 0x40350001,
517 		0xC78, 0x40360001,
518 		0xC78, 0x40370001,
519 		0xC78, 0x40380001,
520 		0xC78, 0x40390001,
521 		0xC78, 0x403A0001,
522 		0xC78, 0x403B0001,
523 		0xC78, 0x403C0001,
524 		0xC78, 0x403D0001,
525 		0xC78, 0x403E0001,
526 	0x90000001,	0x00000001,	0x40000000,	0x00000000,
527 		0xC78, 0x40340001,
528 		0xC78, 0x40350001,
529 		0xC78, 0x40360001,
530 		0xC78, 0x40370001,
531 		0xC78, 0x40380001,
532 		0xC78, 0x40390001,
533 		0xC78, 0x403A0001,
534 		0xC78, 0x403B0001,
535 		0xC78, 0x403C0001,
536 		0xC78, 0x403D0001,
537 		0xC78, 0x403E0001,
538 	0x98000001,	0x00000002,	0x40000000,	0x00000000,
539 		0xC78, 0x44340001,
540 		0xC78, 0x43350001,
541 		0xC78, 0x42360001,
542 		0xC78, 0x41370001,
543 		0xC78, 0x40380001,
544 		0xC78, 0x40390001,
545 		0xC78, 0x403A0001,
546 		0xC78, 0x403B0001,
547 		0xC78, 0x403C0001,
548 		0xC78, 0x403D0001,
549 		0xC78, 0x403E0001,
550 	0x90000001,	0x00000002,	0x40000000,	0x00000000,
551 		0xC78, 0x43340001,
552 		0xC78, 0x42350001,
553 		0xC78, 0x41360001,
554 		0xC78, 0x40370001,
555 		0xC78, 0x40380001,
556 		0xC78, 0x40390001,
557 		0xC78, 0x403A0001,
558 		0xC78, 0x403B0001,
559 		0xC78, 0x403C0001,
560 		0xC78, 0x403D0001,
561 		0xC78, 0x403E0001,
562 	0x98000000,	0x00000000,	0x40000000,	0x00000000,
563 		0xC78, 0x60340001,
564 		0xC78, 0x4A350001,
565 		0xC78, 0x49360001,
566 		0xC78, 0x48370001,
567 		0xC78, 0x47380001,
568 		0xC78, 0x46390001,
569 		0xC78, 0x453A0001,
570 		0xC78, 0x443B0001,
571 		0xC78, 0x433C0001,
572 		0xC78, 0x423D0001,
573 		0xC78, 0x413E0001,
574 	0xA0000000,	0x00000000,
575 		0xC78, 0x46340001,
576 		0xC78, 0x45350001,
577 		0xC78, 0x44360001,
578 		0xC78, 0x43370001,
579 		0xC78, 0x42380001,
580 		0xC78, 0x41390001,
581 		0xC78, 0x403A0001,
582 		0xC78, 0x403B0001,
583 		0xC78, 0x403C0001,
584 		0xC78, 0x403D0001,
585 		0xC78, 0x403E0001,
586 	0xB0000000,	0x00000000,
587 	0x80000001,	0x00000001,	0x40000000,	0x00000000,
588 		0xC78, 0x403F0001,
589 	0x98000001,	0x00000002,	0x40000000,	0x00000000,
590 		0xC78, 0x403F0001,
591 	0x90000001,	0x00000002,	0x40000000,	0x00000000,
592 		0xC78, 0x403F0001,
593 	0xA0000000,	0x00000000,
594 		0xC78, 0x403F0001,
595 	0xB0000000,	0x00000000,
596 	0x88000001,	0x00000000,	0x40000000,	0x00000000,
597 		0xC78, 0xFB400001,
598 		0xC78, 0xFA410001,
599 		0xC78, 0xF9420001,
600 		0xC78, 0xF8430001,
601 		0xC78, 0xF7440001,
602 		0xC78, 0xF6450001,
603 		0xC78, 0xF5460001,
604 		0xC78, 0xF4470001,
605 		0xC78, 0xF3480001,
606 		0xC78, 0xF2490001,
607 		0xC78, 0xF14A0001,
608 		0xC78, 0xF04B0001,
609 		0xC78, 0xEF4C0001,
610 		0xC78, 0xEE4D0001,
611 		0xC78, 0xED4E0001,
612 		0xC78, 0xEC4F0001,
613 		0xC78, 0xEB500001,
614 		0xC78, 0xEA510001,
615 		0xC78, 0xE9520001,
616 		0xC78, 0xE8530001,
617 		0xC78, 0xE7540001,
618 		0xC78, 0xE6550001,
619 		0xC78, 0xE5560001,
620 		0xC78, 0xC6570001,
621 		0xC78, 0xC5580001,
622 		0xC78, 0xC4590001,
623 		0xC78, 0xC35A0001,
624 		0xC78, 0xC25B0001,
625 		0xC78, 0xC15C0001,
626 		0xC78, 0xC05D0001,
627 		0xC78, 0xA35E0001,
628 		0xC78, 0xA25F0001,
629 		0xC78, 0xA1600001,
630 		0xC78, 0x88610001,
631 		0xC78, 0x87620001,
632 		0xC78, 0x86630001,
633 		0xC78, 0x85640001,
634 		0xC78, 0x84650001,
635 		0xC78, 0x83660001,
636 		0xC78, 0x82670001,
637 		0xC78, 0x66680001,
638 		0xC78, 0x65690001,
639 		0xC78, 0x646A0001,
640 		0xC78, 0x636B0001,
641 		0xC78, 0x626C0001,
642 		0xC78, 0x616D0001,
643 		0xC78, 0x486E0001,
644 		0xC78, 0x476F0001,
645 		0xC78, 0x46700001,
646 		0xC78, 0x45710001,
647 		0xC78, 0x44720001,
648 		0xC78, 0x43730001,
649 		0xC78, 0x42740001,
650 		0xC78, 0x41750001,
651 		0xC78, 0x40760001,
652 		0xC78, 0x40770001,
653 		0xC78, 0x40780001,
654 		0xC78, 0x40790001,
655 		0xC78, 0x407A0001,
656 		0xC78, 0x407B0001,
657 		0xC78, 0x407C0001,
658 	0x90000001,	0x00000000,	0x40000000,	0x00000000,
659 		0xC78, 0xFB400001,
660 		0xC78, 0xFA410001,
661 		0xC78, 0xF9420001,
662 		0xC78, 0xF8430001,
663 		0xC78, 0xF7440001,
664 		0xC78, 0xF6450001,
665 		0xC78, 0xF5460001,
666 		0xC78, 0xF4470001,
667 		0xC78, 0xF3480001,
668 		0xC78, 0xF2490001,
669 		0xC78, 0xF14A0001,
670 		0xC78, 0xF04B0001,
671 		0xC78, 0xEF4C0001,
672 		0xC78, 0xEE4D0001,
673 		0xC78, 0xED4E0001,
674 		0xC78, 0xEC4F0001,
675 		0xC78, 0xEB500001,
676 		0xC78, 0xEA510001,
677 		0xC78, 0xE9520001,
678 		0xC78, 0xE8530001,
679 		0xC78, 0xE7540001,
680 		0xC78, 0xE6550001,
681 		0xC78, 0xE5560001,
682 		0xC78, 0xE4570001,
683 		0xC78, 0xE3580001,
684 		0xC78, 0xE2590001,
685 		0xC78, 0xC35A0001,
686 		0xC78, 0xC25B0001,
687 		0xC78, 0xC15C0001,
688 		0xC78, 0x8B5D0001,
689 		0xC78, 0x8A5E0001,
690 		0xC78, 0x895F0001,
691 		0xC78, 0x88600001,
692 		0xC78, 0x87610001,
693 		0xC78, 0x86620001,
694 		0xC78, 0x85630001,
695 		0xC78, 0x84640001,
696 		0xC78, 0x67650001,
697 		0xC78, 0x66660001,
698 		0xC78, 0x65670001,
699 		0xC78, 0x64680001,
700 		0xC78, 0x63690001,
701 		0xC78, 0x626A0001,
702 		0xC78, 0x616B0001,
703 		0xC78, 0x606C0001,
704 		0xC78, 0x466D0001,
705 		0xC78, 0x456E0001,
706 		0xC78, 0x446F0001,
707 		0xC78, 0x43700001,
708 		0xC78, 0x42710001,
709 		0xC78, 0x41720001,
710 		0xC78, 0x40730001,
711 		0xC78, 0x40740001,
712 		0xC78, 0x40750001,
713 		0xC78, 0x40760001,
714 		0xC78, 0x40770001,
715 		0xC78, 0x40780001,
716 		0xC78, 0x40790001,
717 		0xC78, 0x407A0001,
718 		0xC78, 0x407B0001,
719 		0xC78, 0x407C0001,
720 	0x90000001,	0x00000001,	0x40000000,	0x00000000,
721 		0xC78, 0xFB400001,
722 		0xC78, 0xFB410001,
723 		0xC78, 0xFB420001,
724 		0xC78, 0xFB430001,
725 		0xC78, 0xFB440001,
726 		0xC78, 0xFB450001,
727 		0xC78, 0xFA460001,
728 		0xC78, 0xF9470001,
729 		0xC78, 0xF8480001,
730 		0xC78, 0xF7490001,
731 		0xC78, 0xF64A0001,
732 		0xC78, 0xF54B0001,
733 		0xC78, 0xF44C0001,
734 		0xC78, 0xF34D0001,
735 		0xC78, 0xF24E0001,
736 		0xC78, 0xF14F0001,
737 		0xC78, 0xF0500001,
738 		0xC78, 0xEF510001,
739 		0xC78, 0xEE520001,
740 		0xC78, 0xED530001,
741 		0xC78, 0xEC540001,
742 		0xC78, 0xEB550001,
743 		0xC78, 0xEA560001,
744 		0xC78, 0xE9570001,
745 		0xC78, 0xE8580001,
746 		0xC78, 0xE7590001,
747 		0xC78, 0xE65A0001,
748 		0xC78, 0xE55B0001,
749 		0xC78, 0xC65C0001,
750 		0xC78, 0xC55D0001,
751 		0xC78, 0xC45E0001,
752 		0xC78, 0xC35F0001,
753 		0xC78, 0xC2600001,
754 		0xC78, 0xC1610001,
755 		0xC78, 0xC0620001,
756 		0xC78, 0xA3630001,
757 		0xC78, 0xA2640001,
758 		0xC78, 0xA1650001,
759 		0xC78, 0x88660001,
760 		0xC78, 0x87670001,
761 		0xC78, 0x86680001,
762 		0xC78, 0x85690001,
763 		0xC78, 0x846A0001,
764 		0xC78, 0x836B0001,
765 		0xC78, 0x826C0001,
766 		0xC78, 0x666D0001,
767 		0xC78, 0x656E0001,
768 		0xC78, 0x646F0001,
769 		0xC78, 0x63700001,
770 		0xC78, 0x62710001,
771 		0xC78, 0x61720001,
772 		0xC78, 0x48730001,
773 		0xC78, 0x47740001,
774 		0xC78, 0x46750001,
775 		0xC78, 0x45760001,
776 		0xC78, 0x44770001,
777 		0xC78, 0x43780001,
778 		0xC78, 0x42790001,
779 		0xC78, 0x417A0001,
780 		0xC78, 0x407B0001,
781 		0xC78, 0x407C0001,
782 	0x98000001,	0x00000002,	0x40000000,	0x00000000,
783 		0xC78, 0xFB400001,
784 		0xC78, 0xFB410001,
785 		0xC78, 0xFB420001,
786 		0xC78, 0xFB430001,
787 		0xC78, 0xFB440001,
788 		0xC78, 0xFB450001,
789 		0xC78, 0xFB460001,
790 		0xC78, 0xFB470001,
791 		0xC78, 0xFB480001,
792 		0xC78, 0xFA490001,
793 		0xC78, 0xF94A0001,
794 		0xC78, 0xF84B0001,
795 		0xC78, 0xF74C0001,
796 		0xC78, 0xF64D0001,
797 		0xC78, 0xF54E0001,
798 		0xC78, 0xF44F0001,
799 		0xC78, 0xF3500001,
800 		0xC78, 0xF2510001,
801 		0xC78, 0xF1520001,
802 		0xC78, 0xF0530001,
803 		0xC78, 0xEF540001,
804 		0xC78, 0xEE550001,
805 		0xC78, 0xED560001,
806 		0xC78, 0xEC570001,
807 		0xC78, 0xEB580001,
808 		0xC78, 0xEA590001,
809 		0xC78, 0xE95A0001,
810 		0xC78, 0xE85B0001,
811 		0xC78, 0xE75C0001,
812 		0xC78, 0xE65D0001,
813 		0xC78, 0xE55E0001,
814 		0xC78, 0xE45F0001,
815 		0xC78, 0xE3600001,
816 		0xC78, 0xE2610001,
817 		0xC78, 0xC3620001,
818 		0xC78, 0xC2630001,
819 		0xC78, 0xC1640001,
820 		0xC78, 0x8B650001,
821 		0xC78, 0x8A660001,
822 		0xC78, 0x89670001,
823 		0xC78, 0x88680001,
824 		0xC78, 0x87690001,
825 		0xC78, 0x866A0001,
826 		0xC78, 0x856B0001,
827 		0xC78, 0x846C0001,
828 		0xC78, 0x676D0001,
829 		0xC78, 0x666E0001,
830 		0xC78, 0x656F0001,
831 		0xC78, 0x64700001,
832 		0xC78, 0x63710001,
833 		0xC78, 0x62720001,
834 		0xC78, 0x61730001,
835 		0xC78, 0x60740001,
836 		0xC78, 0x46750001,
837 		0xC78, 0x45760001,
838 		0xC78, 0x44770001,
839 		0xC78, 0x43780001,
840 		0xC78, 0x42790001,
841 		0xC78, 0x417A0001,
842 		0xC78, 0x407B0001,
843 		0xC78, 0x407C0001,
844 	0x90000001,	0x00000002,	0x40000000,	0x00000000,
845 		0xC78, 0xFB400001,
846 		0xC78, 0xFB410001,
847 		0xC78, 0xFB420001,
848 		0xC78, 0xFB430001,
849 		0xC78, 0xFB440001,
850 		0xC78, 0xFB450001,
851 		0xC78, 0xFB460001,
852 		0xC78, 0xFB470001,
853 		0xC78, 0xFB480001,
854 		0xC78, 0xFA490001,
855 		0xC78, 0xF94A0001,
856 		0xC78, 0xF84B0001,
857 		0xC78, 0xF74C0001,
858 		0xC78, 0xF64D0001,
859 		0xC78, 0xF54E0001,
860 		0xC78, 0xF44F0001,
861 		0xC78, 0xF3500001,
862 		0xC78, 0xF2510001,
863 		0xC78, 0xF1520001,
864 		0xC78, 0xF0530001,
865 		0xC78, 0xEF540001,
866 		0xC78, 0xEE550001,
867 		0xC78, 0xED560001,
868 		0xC78, 0xEC570001,
869 		0xC78, 0xEB580001,
870 		0xC78, 0xEA590001,
871 		0xC78, 0xE95A0001,
872 		0xC78, 0xE85B0001,
873 		0xC78, 0xE75C0001,
874 		0xC78, 0xE65D0001,
875 		0xC78, 0xE55E0001,
876 		0xC78, 0xE45F0001,
877 		0xC78, 0xE3600001,
878 		0xC78, 0xE2610001,
879 		0xC78, 0xC3620001,
880 		0xC78, 0xC2630001,
881 		0xC78, 0xC1640001,
882 		0xC78, 0x8B650001,
883 		0xC78, 0x8A660001,
884 		0xC78, 0x89670001,
885 		0xC78, 0x88680001,
886 		0xC78, 0x87690001,
887 		0xC78, 0x866A0001,
888 		0xC78, 0x856B0001,
889 		0xC78, 0x846C0001,
890 		0xC78, 0x676D0001,
891 		0xC78, 0x666E0001,
892 		0xC78, 0x656F0001,
893 		0xC78, 0x64700001,
894 		0xC78, 0x63710001,
895 		0xC78, 0x62720001,
896 		0xC78, 0x61730001,
897 		0xC78, 0x60740001,
898 		0xC78, 0x46750001,
899 		0xC78, 0x45760001,
900 		0xC78, 0x44770001,
901 		0xC78, 0x43780001,
902 		0xC78, 0x42790001,
903 		0xC78, 0x417A0001,
904 		0xC78, 0x407B0001,
905 		0xC78, 0x407C0001,
906 	0x98000000,	0x00000000,	0x40000000,	0x00000000,
907 		0xC78, 0xFF400001,
908 		0xC78, 0xFF410001,
909 		0xC78, 0xFE420001,
910 		0xC78, 0xFD430001,
911 		0xC78, 0xFC440001,
912 		0xC78, 0xFB450001,
913 		0xC78, 0xFA460001,
914 		0xC78, 0xF9470001,
915 		0xC78, 0xF8480001,
916 		0xC78, 0xF7490001,
917 		0xC78, 0xF64A0001,
918 		0xC78, 0xF54B0001,
919 		0xC78, 0xF44C0001,
920 		0xC78, 0xF34D0001,
921 		0xC78, 0xF24E0001,
922 		0xC78, 0xF14F0001,
923 		0xC78, 0xF0500001,
924 		0xC78, 0xEF510001,
925 		0xC78, 0xEE520001,
926 		0xC78, 0xED530001,
927 		0xC78, 0xEC540001,
928 		0xC78, 0xEB550001,
929 		0xC78, 0xEA560001,
930 		0xC78, 0xE9570001,
931 		0xC78, 0xE8580001,
932 		0xC78, 0xE7590001,
933 		0xC78, 0xE65A0001,
934 		0xC78, 0xE55B0001,
935 		0xC78, 0xE45C0001,
936 		0xC78, 0xA85D0001,
937 		0xC78, 0xA75E0001,
938 		0xC78, 0xA65F0001,
939 		0xC78, 0xA5600001,
940 		0xC78, 0xA4610001,
941 		0xC78, 0xA3620001,
942 		0xC78, 0xA2630001,
943 		0xC78, 0xA1640001,
944 		0xC78, 0x28650001,
945 		0xC78, 0x27660001,
946 		0xC78, 0x26670001,
947 		0xC78, 0x07680001,
948 		0xC78, 0x06690001,
949 		0xC78, 0x056A0001,
950 		0xC78, 0x046B0001,
951 		0xC78, 0x036C0001,
952 		0xC78, 0x026D0001,
953 		0xC78, 0x016E0001,
954 		0xC78, 0x646F0001,
955 		0xC78, 0x63700001,
956 		0xC78, 0x62710001,
957 		0xC78, 0x61720001,
958 		0xC78, 0x47730001,
959 		0xC78, 0x46740001,
960 		0xC78, 0x45750001,
961 		0xC78, 0x44760001,
962 		0xC78, 0x43770001,
963 		0xC78, 0x42780001,
964 		0xC78, 0x41790001,
965 		0xC78, 0x407A0001,
966 		0xC78, 0x407B0001,
967 		0xC78, 0x407C0001,
968 	0xA0000000,	0x00000000,
969 		0xC78, 0xFB400001,
970 		0xC78, 0xFB410001,
971 		0xC78, 0xFB420001,
972 		0xC78, 0xFB430001,
973 		0xC78, 0xFB440001,
974 		0xC78, 0xFB450001,
975 		0xC78, 0xFB460001,
976 		0xC78, 0xFB470001,
977 		0xC78, 0xFB480001,
978 		0xC78, 0xFA490001,
979 		0xC78, 0xF94A0001,
980 		0xC78, 0xF84B0001,
981 		0xC78, 0xF74C0001,
982 		0xC78, 0xF64D0001,
983 		0xC78, 0xF54E0001,
984 		0xC78, 0xF44F0001,
985 		0xC78, 0xF3500001,
986 		0xC78, 0xF2510001,
987 		0xC78, 0xF1520001,
988 		0xC78, 0xF0530001,
989 		0xC78, 0xEF540001,
990 		0xC78, 0xEE550001,
991 		0xC78, 0xED560001,
992 		0xC78, 0xEC570001,
993 		0xC78, 0xEB580001,
994 		0xC78, 0xEA590001,
995 		0xC78, 0xE95A0001,
996 		0xC78, 0xE85B0001,
997 		0xC78, 0xE75C0001,
998 		0xC78, 0xE65D0001,
999 		0xC78, 0xE55E0001,
1000 		0xC78, 0xE45F0001,
1001 		0xC78, 0xE3600001,
1002 		0xC78, 0xE2610001,
1003 		0xC78, 0xC3620001,
1004 		0xC78, 0xC2630001,
1005 		0xC78, 0xC1640001,
1006 		0xC78, 0x8B650001,
1007 		0xC78, 0x8A660001,
1008 		0xC78, 0x89670001,
1009 		0xC78, 0x88680001,
1010 		0xC78, 0x87690001,
1011 		0xC78, 0x866A0001,
1012 		0xC78, 0x856B0001,
1013 		0xC78, 0x846C0001,
1014 		0xC78, 0x676D0001,
1015 		0xC78, 0x666E0001,
1016 		0xC78, 0x656F0001,
1017 		0xC78, 0x64700001,
1018 		0xC78, 0x63710001,
1019 		0xC78, 0x62720001,
1020 		0xC78, 0x61730001,
1021 		0xC78, 0x60740001,
1022 		0xC78, 0x46750001,
1023 		0xC78, 0x45760001,
1024 		0xC78, 0x44770001,
1025 		0xC78, 0x43780001,
1026 		0xC78, 0x42790001,
1027 		0xC78, 0x417A0001,
1028 		0xC78, 0x407B0001,
1029 		0xC78, 0x407C0001,
1030 	0xB0000000,	0x00000000,
1031 	0x80000001,	0x00000001,	0x40000000,	0x00000000,
1032 		0xC78, 0x407D0001,
1033 		0xC78, 0x407E0001,
1034 		0xC78, 0x407F0001,
1035 	0x98000001,	0x00000002,	0x40000000,	0x00000000,
1036 		0xC78, 0x407D0001,
1037 		0xC78, 0x407E0001,
1038 		0xC78, 0x407F0001,
1039 	0x90000001,	0x00000002,	0x40000000,	0x00000000,
1040 		0xC78, 0x407D0001,
1041 		0xC78, 0x407E0001,
1042 		0xC78, 0x407F0001,
1043 	0xA0000000,	0x00000000,
1044 		0xC78, 0x407D0001,
1045 		0xC78, 0x407E0001,
1046 		0xC78, 0x407F0001,
1047 	0xB0000000,	0x00000000,
1048 		0xC50, 0x69553422,
1049 		0xC50, 0x69553420,
1050 
1051 };
1052 
1053 void
odm_read_and_config_mp_8188e_agc_tab(struct dm_struct * dm)1054 odm_read_and_config_mp_8188e_agc_tab(struct dm_struct *dm)
1055 {
1056 	u32	i = 0;
1057 	u8	c_cond;
1058 	boolean	is_matched = true, is_skipped = false;
1059 	u32	array_len = sizeof(array_mp_8188e_agc_tab) / sizeof(u32);
1060 	u32	*array = array_mp_8188e_agc_tab;
1061 
1062 	u32	v1 = 0, v2 = 0, pre_v1 = 0, pre_v2 = 0;
1063 
1064 	PHYDM_DBG(dm, ODM_COMP_INIT, "===> %s\n", __func__);
1065 
1066 	while ((i + 1) < array_len) {
1067 		v1 = array[i];
1068 		v2 = array[i + 1];
1069 
1070 		if (v1 & (BIT(31) | BIT(30))) {/*positive & negative condition*/
1071 			if (v1 & BIT(31)) {/* positive condition*/
1072 				c_cond  = (u8)((v1 & (BIT(29) | BIT(28))) >> 28);
1073 				if (c_cond == COND_ENDIF) {/*end*/
1074 					is_matched = true;
1075 					is_skipped = false;
1076 					PHYDM_DBG(dm, ODM_COMP_INIT, "ENDIF\n");
1077 				} else if (c_cond == COND_ELSE) { /*else*/
1078 					is_matched = is_skipped ? false : true;
1079 					PHYDM_DBG(dm, ODM_COMP_INIT, "ELSE\n");
1080 				} else {/*if , else if*/
1081 					pre_v1 = v1;
1082 					pre_v2 = v2;
1083 					PHYDM_DBG(dm, ODM_COMP_INIT, "IF or ELSE IF\n");
1084 				}
1085 			} else if (v1 & BIT(30)) { /*negative condition*/
1086 				if (is_skipped == false) {
1087 					if (check_positive(dm, pre_v1, pre_v2, v1, v2)) {
1088 						is_matched = true;
1089 						is_skipped = true;
1090 					} else {
1091 						is_matched = false;
1092 						is_skipped = false;
1093 					}
1094 				} else
1095 					is_matched = false;
1096 			}
1097 		} else {
1098 			if (is_matched)
1099 				odm_config_bb_agc_8188e(dm, v1, MASKDWORD, v2);
1100 		}
1101 		i = i + 2;
1102 	}
1103 }
1104 
1105 u32
odm_get_version_mp_8188e_agc_tab(void)1106 odm_get_version_mp_8188e_agc_tab(void)
1107 {
1108 		return 71;
1109 }
1110 
1111 /******************************************************************************
1112 *                           phy_reg.TXT
1113 ******************************************************************************/
1114 
1115 u32 array_mp_8188e_phy_reg[] = {
1116 		0x800, 0x80040000,
1117 		0x804, 0x00000003,
1118 		0x808, 0x0000FC00,
1119 		0x80C, 0x0000000A,
1120 		0x810, 0x10001331,
1121 		0x814, 0x020C3D10,
1122 		0x818, 0x02200385,
1123 		0x81C, 0x00000000,
1124 		0x820, 0x01000100,
1125 	0x88000003,	0x00000000,	0x40000000,	0x00000000,
1126 		0x824, 0x00390204,
1127 	0x98000003,	0x00000001,	0x40000000,	0x00000000,
1128 		0x824, 0x00390204,
1129 	0x98000003,	0x00000002,	0x40000000,	0x00000000,
1130 		0x824, 0x00390204,
1131 	0x98000001,	0x00000000,	0x40000000,	0x00000000,
1132 		0x824, 0x00390204,
1133 	0x98000001,	0x00000001,	0x40000000,	0x00000000,
1134 		0x824, 0x00390204,
1135 	0x98000001,	0x00000002,	0x40000000,	0x00000000,
1136 		0x824, 0x00390204,
1137 	0x90000003,	0x00000002,	0x40000000,	0x00000000,
1138 		0x824, 0x00390004,
1139 	0x98000002,	0x00000000,	0x40000000,	0x00000000,
1140 		0x824, 0x00390204,
1141 	0x90000002,	0x00000000,	0x40000000,	0x00000000,
1142 		0x824, 0x00390204,
1143 	0x90000001,	0x00000000,	0x40000000,	0x00000000,
1144 		0x824, 0x00390204,
1145 	0x90000001,	0x00000001,	0x40000000,	0x00000000,
1146 		0x824, 0x00390204,
1147 	0x90000001,	0x00000002,	0x40000000,	0x00000000,
1148 		0x824, 0x00390004,
1149 	0x98000400,	0x00000000,	0x40000000,	0x00000000,
1150 		0x824, 0x00390204,
1151 	0x98000000,	0x00000000,	0x40000000,	0x00000000,
1152 		0x824, 0x00390004,
1153 	0xA0000000,	0x00000000,
1154 		0x824, 0x00390204,
1155 	0xB0000000,	0x00000000,
1156 		0x828, 0x00000000,
1157 		0x82C, 0x00000000,
1158 		0x830, 0x00000000,
1159 		0x834, 0x00000000,
1160 		0x838, 0x00000000,
1161 		0x83C, 0x00000000,
1162 		0x840, 0x00010000,
1163 		0x844, 0x00000000,
1164 		0x848, 0x00000000,
1165 		0x84C, 0x00000000,
1166 		0x850, 0x00000000,
1167 		0x854, 0x00000000,
1168 		0x858, 0x569A11A9,
1169 		0x85C, 0x01000014,
1170 		0x860, 0x66F60110,
1171 		0x864, 0x061F0649,
1172 		0x868, 0x00000000,
1173 		0x86C, 0x27272700,
1174 	0x88000003,	0x00000000,	0x40000000,	0x00000000,
1175 		0x870, 0x07000300,
1176 	0x98000003,	0x00000001,	0x40000000,	0x00000000,
1177 		0x870, 0x07000300,
1178 	0x98000003,	0x00000002,	0x40000000,	0x00000000,
1179 		0x870, 0x07000300,
1180 	0x98000001,	0x00000000,	0x40000000,	0x00000000,
1181 		0x870, 0x07000300,
1182 	0x98000001,	0x00000001,	0x40000000,	0x00000000,
1183 		0x870, 0x07000300,
1184 	0x98000001,	0x00000002,	0x40000000,	0x00000000,
1185 		0x870, 0x07000300,
1186 	0x90000003,	0x00000002,	0x40000000,	0x00000000,
1187 		0x870, 0x07000300,
1188 	0x98000002,	0x00000000,	0x40000000,	0x00000000,
1189 		0x870, 0x07000300,
1190 	0x90000002,	0x00000000,	0x40000000,	0x00000000,
1191 		0x870, 0x07000300,
1192 	0x90000001,	0x00000000,	0x40000000,	0x00000000,
1193 		0x870, 0x07000300,
1194 	0x90000001,	0x00000001,	0x40000000,	0x00000000,
1195 		0x870, 0x07000300,
1196 	0x90000001,	0x00000002,	0x40000000,	0x00000000,
1197 		0x870, 0x07000300,
1198 	0x98000400,	0x00000000,	0x40000000,	0x00000000,
1199 		0x870, 0x07000760,
1200 	0x98000000,	0x00000000,	0x40000000,	0x00000000,
1201 		0x870, 0x07000760,
1202 	0xA0000000,	0x00000000,
1203 		0x870, 0x07000760,
1204 	0xB0000000,	0x00000000,
1205 		0x874, 0x25004000,
1206 		0x878, 0x00000808,
1207 		0x87C, 0x00000000,
1208 		0x880, 0xB0000C1C,
1209 		0x884, 0x00000001,
1210 		0x888, 0x00000000,
1211 		0x88C, 0xCCC000C0,
1212 		0x890, 0x00000800,
1213 		0x894, 0xFFFFFFFE,
1214 		0x898, 0x40302010,
1215 		0x89C, 0x00706050,
1216 		0x900, 0x00000000,
1217 		0x904, 0x00000023,
1218 		0x908, 0x00000000,
1219 		0x90C, 0x81121111,
1220 		0x910, 0x00000002,
1221 		0x914, 0x00000201,
1222 		0xA00, 0x00D047C8,
1223 		0xA04, 0x80FF800C,
1224 		0xA08, 0x8C838300,
1225 	0x88000003,	0x00000000,	0x40000000,	0x00000000,
1226 		0xA0C, 0x2E7F120F,
1227 	0x98000003,	0x00000001,	0x40000000,	0x00000000,
1228 		0xA0C, 0x2E7F120F,
1229 	0x98000003,	0x00000002,	0x40000000,	0x00000000,
1230 		0xA0C, 0x2E7F120F,
1231 	0x98000001,	0x00000000,	0x40000000,	0x00000000,
1232 		0xA0C, 0x2E7F120F,
1233 	0x98000001,	0x00000001,	0x40000000,	0x00000000,
1234 		0xA0C, 0x2E7F120F,
1235 	0x98000001,	0x00000002,	0x40000000,	0x00000000,
1236 		0xA0C, 0x2E7F120F,
1237 	0x90000003,	0x00000002,	0x40000000,	0x00000000,
1238 		0xA0C, 0x2D38120F,
1239 	0x98000002,	0x00000000,	0x40000000,	0x00000000,
1240 		0xA0C, 0x2E7F120F,
1241 	0x90000002,	0x00000000,	0x40000000,	0x00000000,
1242 		0xA0C, 0x2E7F120F,
1243 	0x90000001,	0x00000000,	0x40000000,	0x00000000,
1244 		0xA0C, 0x2E7F120F,
1245 	0x90000001,	0x00000001,	0x40000000,	0x00000000,
1246 		0xA0C, 0x2E7F120F,
1247 	0x90000001,	0x00000002,	0x40000000,	0x00000000,
1248 		0xA0C, 0x2D38120F,
1249 	0x98000400,	0x00000000,	0x40000000,	0x00000000,
1250 		0xA0C, 0x2E7F120F,
1251 	0x98000000,	0x00000000,	0x40000000,	0x00000000,
1252 		0xA0C, 0x2E34120F,
1253 	0xA0000000,	0x00000000,
1254 		0xA0C, 0x2E7F120F,
1255 	0xB0000000,	0x00000000,
1256 		0xA10, 0x9500BB7E,
1257 		0xA14, 0x1114D028,
1258 		0xA18, 0x00881117,
1259 		0xA1C, 0x89140F00,
1260 	0x88000003,	0x00000000,	0x40000000,	0x00000000,
1261 		0xA20, 0x13130000,
1262 		0xA24, 0x060A0D10,
1263 		0xA28, 0x00000103,
1264 	0x98000003,	0x00000001,	0x40000000,	0x00000000,
1265 		0xA20, 0x13130000,
1266 		0xA24, 0x060A0D10,
1267 		0xA28, 0x00000103,
1268 	0x98000003,	0x00000002,	0x40000000,	0x00000000,
1269 		0xA20, 0x13130000,
1270 		0xA24, 0x060A0D10,
1271 		0xA28, 0x00000103,
1272 	0x98000001,	0x00000000,	0x40000000,	0x00000000,
1273 		0xA20, 0x1A1B0000,
1274 		0xA24, 0x090E1317,
1275 		0xA28, 0x00000204,
1276 	0x98000001,	0x00000001,	0x40000000,	0x00000000,
1277 		0xA20, 0x1A1B0000,
1278 		0xA24, 0x090E1317,
1279 		0xA28, 0x00000204,
1280 	0x98000001,	0x00000002,	0x40000000,	0x00000000,
1281 		0xA20, 0x1A1B0000,
1282 		0xA24, 0x090E1317,
1283 		0xA28, 0x00000204,
1284 	0x90000003,	0x00000002,	0x40000000,	0x00000000,
1285 		0xA20, 0x13130000,
1286 		0xA24, 0x060A0D10,
1287 		0xA28, 0x00000103,
1288 	0x98000002,	0x00000000,	0x40000000,	0x00000000,
1289 		0xA20, 0x13130000,
1290 		0xA24, 0x060A0D10,
1291 		0xA28, 0x00000103,
1292 	0x90000002,	0x00000000,	0x40000000,	0x00000000,
1293 		0xA20, 0x13130000,
1294 		0xA24, 0x060A0D10,
1295 		0xA28, 0x00000103,
1296 	0x90000001,	0x00000000,	0x40000000,	0x00000000,
1297 		0xA20, 0x1A1B0000,
1298 		0xA24, 0x090E1317,
1299 		0xA28, 0x00000204,
1300 	0x90000001,	0x00000001,	0x40000000,	0x00000000,
1301 		0xA20, 0x1A1B0000,
1302 		0xA24, 0x090E1317,
1303 		0xA28, 0x00000204,
1304 	0x90000001,	0x00000002,	0x40000000,	0x00000000,
1305 		0xA20, 0x1A1B0000,
1306 		0xA24, 0x090E1317,
1307 		0xA28, 0x00000204,
1308 	0x98000400,	0x00000000,	0x40000000,	0x00000000,
1309 		0xA20, 0x1A1B0000,
1310 		0xA24, 0x090E1317,
1311 		0xA28, 0x00000204,
1312 	0x98000000,	0x00000000,	0x40000000,	0x00000000,
1313 		0xA20, 0x1A1B0000,
1314 		0xA24, 0x090E1317,
1315 		0xA28, 0x00000204,
1316 	0xA0000000,	0x00000000,
1317 		0xA20, 0x1A1B0000,
1318 		0xA24, 0x090E1317,
1319 		0xA28, 0x00000204,
1320 	0xB0000000,	0x00000000,
1321 		0xA2C, 0x00D30000,
1322 		0xA70, 0x101FBF00,
1323 		0xA74, 0x00000007,
1324 		0xA78, 0x00000900,
1325 		0xA7C, 0x225B0606,
1326 	0x88000003,	0x00000000,	0x40000000,	0x00000000,
1327 		0xA80, 0x218075B1,
1328 	0x98000003,	0x00000001,	0x40000000,	0x00000000,
1329 		0xA80, 0x218075B1,
1330 	0x98000003,	0x00000002,	0x40000000,	0x00000000,
1331 		0xA80, 0x218075B1,
1332 	0x98000001,	0x00000000,	0x40000000,	0x00000000,
1333 		0xA80, 0x218075B1,
1334 	0x98000001,	0x00000001,	0x40000000,	0x00000000,
1335 		0xA80, 0x218075B1,
1336 	0x98000001,	0x00000002,	0x40000000,	0x00000000,
1337 		0xA80, 0x218075B1,
1338 	0x90000003,	0x00000002,	0x40000000,	0x00000000,
1339 		0xA80, 0x21807530,
1340 	0x98000002,	0x00000000,	0x40000000,	0x00000000,
1341 		0xA80, 0x218075B1,
1342 	0x90000002,	0x00000000,	0x40000000,	0x00000000,
1343 		0xA80, 0x218075B1,
1344 	0x90000001,	0x00000000,	0x40000000,	0x00000000,
1345 		0xA80, 0x218075B1,
1346 	0x90000001,	0x00000001,	0x40000000,	0x00000000,
1347 		0xA80, 0x218075B1,
1348 	0x90000001,	0x00000002,	0x40000000,	0x00000000,
1349 		0xA80, 0x21807530,
1350 	0x98000400,	0x00000000,	0x40000000,	0x00000000,
1351 		0xA80, 0x218075B1,
1352 	0x98000000,	0x00000000,	0x40000000,	0x00000000,
1353 		0xA80, 0x21807531,
1354 	0xA0000000,	0x00000000,
1355 		0xA80, 0x218075B1,
1356 	0xB0000000,	0x00000000,
1357 	0x88000003,	0x00000000,	0x40000000,	0x00000000,
1358 		0xB2C, 0x00000000,
1359 	0x98000003,	0x00000001,	0x40000000,	0x00000000,
1360 		0xB2C, 0x00000000,
1361 	0x98000003,	0x00000002,	0x40000000,	0x00000000,
1362 		0xB2C, 0x00000000,
1363 	0x98000001,	0x00000000,	0x40000000,	0x00000000,
1364 		0xB2C, 0x00000000,
1365 	0x98000001,	0x00000001,	0x40000000,	0x00000000,
1366 		0xB2C, 0x00000000,
1367 	0x98000001,	0x00000002,	0x40000000,	0x00000000,
1368 		0xB2C, 0x00000000,
1369 	0x90000003,	0x00000002,	0x40000000,	0x00000000,
1370 		0xB2C, 0x00000000,
1371 	0x98000002,	0x00000000,	0x40000000,	0x00000000,
1372 		0xB2C, 0x00000000,
1373 	0x90000002,	0x00000000,	0x40000000,	0x00000000,
1374 		0xB2C, 0x00000000,
1375 	0x90000001,	0x00000000,	0x40000000,	0x00000000,
1376 		0xB2C, 0x00000000,
1377 	0x90000001,	0x00000001,	0x40000000,	0x00000000,
1378 		0xB2C, 0x00000000,
1379 	0x90000001,	0x00000002,	0x40000000,	0x00000000,
1380 		0xB2C, 0x00000000,
1381 	0x98000400,	0x00000000,	0x40000000,	0x00000000,
1382 		0xB2C, 0x80000000,
1383 	0x98000000,	0x00000000,	0x40000000,	0x00000000,
1384 		0xB2C, 0x80000000,
1385 	0xA0000000,	0x00000000,
1386 		0xB2C, 0x80000000,
1387 	0xB0000000,	0x00000000,
1388 		0xC00, 0x48071D40,
1389 		0xC04, 0x03A05611,
1390 		0xC08, 0x000000E4,
1391 		0xC0C, 0x6C6C6C6C,
1392 		0xC10, 0x08800000,
1393 		0xC14, 0x40000100,
1394 		0xC18, 0x08800000,
1395 		0xC1C, 0x40000100,
1396 		0xC20, 0x00000000,
1397 		0xC24, 0x00000000,
1398 		0xC28, 0x00000000,
1399 		0xC2C, 0x00000000,
1400 		0xC30, 0x69E9AC47,
1401 		0xC34, 0x469652AF,
1402 		0xC38, 0x49795994,
1403 		0xC3C, 0x0A97971C,
1404 		0xC40, 0x1F7C403F,
1405 		0xC44, 0x000100B7,
1406 		0xC48, 0xEC020107,
1407 		0xC4C, 0x007F037F,
1408 		0xC50, 0x69553420,
1409 		0xC54, 0x43BC0094,
1410 	0x88000003,	0x00000000,	0x40000000,	0x00000000,
1411 		0xC58, 0x00013159,
1412 	0x98000003,	0x00000001,	0x40000000,	0x00000000,
1413 		0xC58, 0x00013159,
1414 	0x98000003,	0x00000002,	0x40000000,	0x00000000,
1415 		0xC58, 0x00013959,
1416 	0x98000001,	0x00000000,	0x40000000,	0x00000000,
1417 		0xC58, 0x00013159,
1418 	0x98000001,	0x00000001,	0x40000000,	0x00000000,
1419 		0xC58, 0x00013159,
1420 	0x98000001,	0x00000002,	0x40000000,	0x00000000,
1421 		0xC58, 0x00013959,
1422 	0x90000003,	0x00000002,	0x40000000,	0x00000000,
1423 		0xC58, 0x00013169,
1424 	0x98000002,	0x00000000,	0x40000000,	0x00000000,
1425 		0xC58, 0x00013159,
1426 	0x90000002,	0x00000000,	0x40000000,	0x00000000,
1427 		0xC58, 0x00013169,
1428 	0x90000001,	0x00000000,	0x40000000,	0x00000000,
1429 		0xC58, 0x00013169,
1430 	0x90000001,	0x00000001,	0x40000000,	0x00000000,
1431 		0xC58, 0x00013169,
1432 	0x90000001,	0x00000002,	0x40000000,	0x00000000,
1433 		0xC58, 0x00013169,
1434 	0x98000400,	0x00000000,	0x40000000,	0x00000000,
1435 		0xC58, 0x00013159,
1436 	0x98000000,	0x00000000,	0x40000000,	0x00000000,
1437 		0xC58, 0x00013159,
1438 	0xA0000000,	0x00000000,
1439 		0xC58, 0x00013169,
1440 	0xB0000000,	0x00000000,
1441 		0xC5C, 0x00250492,
1442 		0xC60, 0x00000000,
1443 		0xC64, 0x7112848B,
1444 		0xC68, 0x47C00BFF,
1445 		0xC6C, 0x00000036,
1446 		0xC70, 0x2C7F000D,
1447 	0x88000003,	0x00000000,	0x40000000,	0x00000000,
1448 		0xC74, 0x028610DB,
1449 	0x98000003,	0x00000001,	0x40000000,	0x00000000,
1450 		0xC74, 0x028610DB,
1451 	0x98000003,	0x00000002,	0x40000000,	0x00000000,
1452 		0xC74, 0x028610DB,
1453 	0x98000001,	0x00000000,	0x40000000,	0x00000000,
1454 		0xC74, 0x028610DB,
1455 	0x98000001,	0x00000001,	0x40000000,	0x00000000,
1456 		0xC74, 0x028610DB,
1457 	0x98000001,	0x00000002,	0x40000000,	0x00000000,
1458 		0xC74, 0x028610DB,
1459 	0x90000003,	0x00000002,	0x40000000,	0x00000000,
1460 		0xC74, 0x020610DB,
1461 	0x98000002,	0x00000000,	0x40000000,	0x00000000,
1462 		0xC74, 0x028610DB,
1463 	0x90000002,	0x00000000,	0x40000000,	0x00000000,
1464 		0xC74, 0x020610DB,
1465 	0x90000001,	0x00000000,	0x40000000,	0x00000000,
1466 		0xC74, 0x020610DB,
1467 	0x90000001,	0x00000001,	0x40000000,	0x00000000,
1468 		0xC74, 0x020610DB,
1469 	0x90000001,	0x00000002,	0x40000000,	0x00000000,
1470 		0xC74, 0x020610DB,
1471 	0x98000400,	0x00000000,	0x40000000,	0x00000000,
1472 		0xC74, 0x028610DB,
1473 	0x98000000,	0x00000000,	0x40000000,	0x00000000,
1474 		0xC74, 0x028610DB,
1475 	0xA0000000,	0x00000000,
1476 		0xC74, 0x020610DB,
1477 	0xB0000000,	0x00000000,
1478 		0xC78, 0x0000001F,
1479 		0xC7C, 0x00B91612,
1480 	0x88000003,	0x00000000,	0x40000000,	0x00000000,
1481 		0xC80, 0x2D4000B5,
1482 	0x98000003,	0x00000001,	0x40000000,	0x00000000,
1483 		0xC80, 0x2D4000B5,
1484 	0x98000003,	0x00000002,	0x40000000,	0x00000000,
1485 		0xC80, 0x2D4000B5,
1486 	0x98000001,	0x00000000,	0x40000000,	0x00000000,
1487 		0xC80, 0x390000E4,
1488 	0x98000001,	0x00000001,	0x40000000,	0x00000000,
1489 		0xC80, 0x390000E4,
1490 	0x98000001,	0x00000002,	0x40000000,	0x00000000,
1491 		0xC80, 0x390000E4,
1492 	0x90000003,	0x00000002,	0x40000000,	0x00000000,
1493 		0xC80, 0x2D4000B5,
1494 	0x98000002,	0x00000000,	0x40000000,	0x00000000,
1495 		0xC80, 0x2D4000B5,
1496 	0x90000002,	0x00000000,	0x40000000,	0x00000000,
1497 		0xC80, 0x2D4000B5,
1498 	0x90000001,	0x00000000,	0x40000000,	0x00000000,
1499 		0xC80, 0x390000E4,
1500 	0x90000001,	0x00000001,	0x40000000,	0x00000000,
1501 		0xC80, 0x390000E4,
1502 	0x90000001,	0x00000002,	0x40000000,	0x00000000,
1503 		0xC80, 0x390000E4,
1504 	0x98000400,	0x00000000,	0x40000000,	0x00000000,
1505 		0xC80, 0x390000E4,
1506 	0x98000000,	0x00000000,	0x40000000,	0x00000000,
1507 		0xC80, 0x390000E4,
1508 	0xA0000000,	0x00000000,
1509 		0xC80, 0x390000E4,
1510 	0xB0000000,	0x00000000,
1511 		0xC84, 0x21F60000,
1512 		0xC88, 0x40000100,
1513 		0xC8C, 0x20200000,
1514 		0xC90, 0x00091521,
1515 		0xC94, 0x00000000,
1516 		0xC98, 0x00121820,
1517 		0xC9C, 0x00007F7F,
1518 		0xCA0, 0x00000000,
1519 		0xCA4, 0x000300A0,
1520 	0x88000003,	0x00000000,	0x40000000,	0x00000000,
1521 		0xCA8, 0xFFFF0000,
1522 	0x98000003,	0x00000001,	0x40000000,	0x00000000,
1523 		0xCA8, 0xFFFF0000,
1524 	0x98000003,	0x00000002,	0x40000000,	0x00000000,
1525 		0xCA8, 0xFFFF0000,
1526 	0x98000001,	0x00000000,	0x40000000,	0x00000000,
1527 		0xCA8, 0xFFFF0000,
1528 	0x98000001,	0x00000001,	0x40000000,	0x00000000,
1529 		0xCA8, 0xFFFF0000,
1530 	0x98000001,	0x00000002,	0x40000000,	0x00000000,
1531 		0xCA8, 0xFFFF0000,
1532 	0x90000003,	0x00000002,	0x40000000,	0x00000000,
1533 		0xCA8, 0x00000000,
1534 	0x98000002,	0x00000000,	0x40000000,	0x00000000,
1535 		0xCA8, 0xFFFF0000,
1536 	0x90000002,	0x00000000,	0x40000000,	0x00000000,
1537 		0xCA8, 0x00000000,
1538 	0x90000001,	0x00000000,	0x40000000,	0x00000000,
1539 		0xCA8, 0x00000000,
1540 	0x90000001,	0x00000001,	0x40000000,	0x00000000,
1541 		0xCA8, 0x00000000,
1542 	0x90000001,	0x00000002,	0x40000000,	0x00000000,
1543 		0xCA8, 0x00000000,
1544 	0x98000400,	0x00000000,	0x40000000,	0x00000000,
1545 		0xCA8, 0xFFFF0000,
1546 	0x98000000,	0x00000000,	0x40000000,	0x00000000,
1547 		0xCA8, 0xFFFF0000,
1548 	0xA0000000,	0x00000000,
1549 		0xCA8, 0x00000000,
1550 	0xB0000000,	0x00000000,
1551 		0xCAC, 0x00000000,
1552 		0xCB0, 0x00000000,
1553 		0xCB4, 0x00000000,
1554 		0xCB8, 0x00000000,
1555 		0xCBC, 0x28000000,
1556 		0xCC0, 0x00000000,
1557 		0xCC4, 0x00000000,
1558 		0xCC8, 0x00000000,
1559 		0xCCC, 0x00000000,
1560 		0xCD0, 0x00000000,
1561 		0xCD4, 0x00000000,
1562 		0xCD8, 0x64B22427,
1563 		0xCDC, 0x00766932,
1564 		0xCE0, 0x00222222,
1565 		0xCE4, 0x00000000,
1566 		0xCE8, 0x37644302,
1567 		0xCEC, 0x2F97D40C,
1568 		0xD00, 0x00000740,
1569 		0xD04, 0x00020401,
1570 		0xD08, 0x0000907F,
1571 		0xD0C, 0x20010201,
1572 		0xD10, 0xA0633333,
1573 		0xD14, 0x3333BC43,
1574 		0xD18, 0x7A8F5B6F,
1575 		0xD2C, 0xCC979975,
1576 		0xD30, 0x00000000,
1577 		0xD34, 0x80608000,
1578 		0xD38, 0x00000000,
1579 		0xD3C, 0x00127353,
1580 		0xD40, 0x00000000,
1581 		0xD44, 0x00000000,
1582 		0xD48, 0x00000000,
1583 		0xD4C, 0x00000000,
1584 		0xD50, 0x6437140A,
1585 		0xD54, 0x00000000,
1586 		0xD58, 0x00000282,
1587 		0xD5C, 0x30032064,
1588 		0xD60, 0x4653DE68,
1589 		0xD64, 0x04518A3C,
1590 		0xD68, 0x00002101,
1591 		0xD6C, 0x2A201C16,
1592 		0xD70, 0x1812362E,
1593 		0xD74, 0x322C2220,
1594 		0xD78, 0x000E3C24,
1595 		0xE00, 0x2D2D2D2D,
1596 		0xE04, 0x2D2D2D2D,
1597 		0xE08, 0x0390272D,
1598 		0xE10, 0x2D2D2D2D,
1599 		0xE14, 0x2D2D2D2D,
1600 		0xE18, 0x2D2D2D2D,
1601 		0xE1C, 0x2D2D2D2D,
1602 		0xE28, 0x00000000,
1603 		0xE30, 0x1000DC1F,
1604 		0xE34, 0x10008C1F,
1605 		0xE38, 0x02140102,
1606 		0xE3C, 0x681604C2,
1607 		0xE40, 0x01007C00,
1608 		0xE44, 0x01004800,
1609 		0xE48, 0xFB000000,
1610 		0xE4C, 0x000028D1,
1611 		0xE50, 0x1000DC1F,
1612 		0xE54, 0x10008C1F,
1613 		0xE58, 0x02140102,
1614 		0xE5C, 0x28160D05,
1615 		0xE60, 0x00000048,
1616 		0xE68, 0x001B25A4,
1617 		0xE6C, 0x00C00014,
1618 		0xE70, 0x00C00014,
1619 		0xE74, 0x01000014,
1620 		0xE78, 0x01000014,
1621 		0xE7C, 0x01000014,
1622 		0xE80, 0x01000014,
1623 		0xE84, 0x00C00014,
1624 		0xE88, 0x01000014,
1625 		0xE8C, 0x00C00014,
1626 		0xED0, 0x00C00014,
1627 		0xED4, 0x00C00014,
1628 		0xED8, 0x00C00014,
1629 		0xEDC, 0x00000014,
1630 		0xEE0, 0x00000014,
1631 	0x88000003,	0x00000000,	0x40000000,	0x00000000,
1632 		0xEE8, 0x32555448,
1633 	0x98000003,	0x00000001,	0x40000000,	0x00000000,
1634 		0xEE8, 0x32555448,
1635 	0x98000003,	0x00000002,	0x40000000,	0x00000000,
1636 		0xEE8, 0x32555448,
1637 	0x98000001,	0x00000000,	0x40000000,	0x00000000,
1638 		0xEE8, 0x32555448,
1639 	0x98000001,	0x00000001,	0x40000000,	0x00000000,
1640 		0xEE8, 0x32555448,
1641 	0x98000001,	0x00000002,	0x40000000,	0x00000000,
1642 		0xEE8, 0x32555448,
1643 	0x90000003,	0x00000002,	0x40000000,	0x00000000,
1644 		0xEE8, 0x32555448,
1645 	0x98000002,	0x00000000,	0x40000000,	0x00000000,
1646 		0xEE8, 0x32555448,
1647 	0x90000002,	0x00000000,	0x40000000,	0x00000000,
1648 		0xEE8, 0x32555448,
1649 	0x90000001,	0x00000000,	0x40000000,	0x00000000,
1650 		0xEE8, 0x32555448,
1651 	0x90000001,	0x00000001,	0x40000000,	0x00000000,
1652 		0xEE8, 0x32555448,
1653 	0x90000001,	0x00000002,	0x40000000,	0x00000000,
1654 		0xEE8, 0x32555448,
1655 	0x98000400,	0x00000000,	0x40000000,	0x00000000,
1656 		0xEE8, 0x21555448,
1657 	0x98000000,	0x00000000,	0x40000000,	0x00000000,
1658 		0xEE8, 0x21555448,
1659 	0xA0000000,	0x00000000,
1660 		0xEE8, 0x21555448,
1661 	0xB0000000,	0x00000000,
1662 		0xEEC, 0x01C00014,
1663 		0xF14, 0x00000003,
1664 		0xF4C, 0x00000000,
1665 		0xF00, 0x00000300,
1666 
1667 };
1668 
1669 void
odm_read_and_config_mp_8188e_phy_reg(struct dm_struct * dm)1670 odm_read_and_config_mp_8188e_phy_reg(struct dm_struct *dm)
1671 {
1672 	u32	i = 0;
1673 	u8	c_cond;
1674 	boolean	is_matched = true, is_skipped = false;
1675 	u32	array_len = sizeof(array_mp_8188e_phy_reg) / sizeof(u32);
1676 	u32	*array = array_mp_8188e_phy_reg;
1677 
1678 	u32	v1 = 0, v2 = 0, pre_v1 = 0, pre_v2 = 0;
1679 
1680 	PHYDM_DBG(dm, ODM_COMP_INIT, "===> %s\n", __func__);
1681 
1682 	while ((i + 1) < array_len) {
1683 		v1 = array[i];
1684 		v2 = array[i + 1];
1685 
1686 		if (v1 & (BIT(31) | BIT(30))) {/*positive & negative condition*/
1687 			if (v1 & BIT(31)) {/* positive condition*/
1688 				c_cond  = (u8)((v1 & (BIT(29) | BIT(28))) >> 28);
1689 				if (c_cond == COND_ENDIF) {/*end*/
1690 					is_matched = true;
1691 					is_skipped = false;
1692 					PHYDM_DBG(dm, ODM_COMP_INIT, "ENDIF\n");
1693 				} else if (c_cond == COND_ELSE) { /*else*/
1694 					is_matched = is_skipped ? false : true;
1695 					PHYDM_DBG(dm, ODM_COMP_INIT, "ELSE\n");
1696 				} else {/*if , else if*/
1697 					pre_v1 = v1;
1698 					pre_v2 = v2;
1699 					PHYDM_DBG(dm, ODM_COMP_INIT, "IF or ELSE IF\n");
1700 				}
1701 			} else if (v1 & BIT(30)) { /*negative condition*/
1702 				if (is_skipped == false) {
1703 					if (check_positive(dm, pre_v1, pre_v2, v1, v2)) {
1704 						is_matched = true;
1705 						is_skipped = true;
1706 					} else {
1707 						is_matched = false;
1708 						is_skipped = false;
1709 					}
1710 				} else
1711 					is_matched = false;
1712 			}
1713 		} else {
1714 			if (is_matched)
1715 				odm_config_bb_phy_8188e(dm, v1, MASKDWORD, v2);
1716 		}
1717 		i = i + 2;
1718 	}
1719 }
1720 
1721 u32
odm_get_version_mp_8188e_phy_reg(void)1722 odm_get_version_mp_8188e_phy_reg(void)
1723 {
1724 		return 71;
1725 }
1726 
1727 /******************************************************************************
1728 *                           phy_reg_pg.TXT
1729 ******************************************************************************/
1730 
1731 u32 array_mp_8188e_phy_reg_pg[] = {
1732 	0, 0, 0, 0x00000e08, 0x0000ff00, 0x00003800,
1733 	0, 0, 0, 0x0000086c, 0xffffff00, 0x32343600,
1734 	0, 0, 0, 0x00000e00, 0xffffffff, 0x40424446,
1735 	0, 0, 0, 0x00000e04, 0xffffffff, 0x28323638,
1736 	0, 0, 0, 0x00000e10, 0xffffffff, 0x38404244,
1737 	0, 0, 0, 0x00000e14, 0xffffffff, 0x26303436
1738 };
1739 
1740 void
odm_read_and_config_mp_8188e_phy_reg_pg(struct dm_struct * dm)1741 odm_read_and_config_mp_8188e_phy_reg_pg(struct dm_struct *dm)
1742 {
1743 	u32	i = 0;
1744 	u32	array_len = sizeof(array_mp_8188e_phy_reg_pg) / sizeof(u32);
1745 	u32	*array = array_mp_8188e_phy_reg_pg;
1746 
1747 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
1748 	void	*adapter = dm->adapter;
1749 	HAL_DATA_TYPE	*hal_data = GET_HAL_DATA(((PADAPTER)adapter));
1750 
1751 	PlatformZeroMemory(hal_data->BufOfLinesPwrByRate, MAX_LINES_HWCONFIG_TXT * MAX_BYTES_LINE_HWCONFIG_TXT);
1752 	hal_data->nLinesReadPwrByRate = array_len / 6;
1753 #endif
1754 
1755 	PHYDM_DBG(dm, ODM_COMP_INIT, "===> %s\n", __func__);
1756 
1757 	dm->phy_reg_pg_version = 1;
1758 	dm->phy_reg_pg_value_type = PHY_REG_PG_EXACT_VALUE;
1759 
1760 	for (i = 0; i < array_len; i += 6) {
1761 		u32	v1 = array[i];
1762 		u32	v2 = array[i + 1];
1763 		u32	v3 = array[i + 2];
1764 		u32	v4 = array[i + 3];
1765 		u32	v5 = array[i + 4];
1766 		u32	v6 = array[i + 5];
1767 
1768 		odm_config_bb_phy_reg_pg_8188e(dm, v1, v2, v3, v4, v5, v6);
1769 
1770 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
1771 	rsprintf((char *)hal_data->BufOfLinesPwrByRate[i / 6], 100, "%s, %s, %s, 0x%X, 0x%08X, 0x%08X,",
1772 		(v1 == 0 ? "2.4G" : "  5G"), (v2 == 0 ? "A" : "B"), (v3 == 0 ? "1Tx" : "2Tx"), v4, v5, v6);
1773 #endif
1774 	}
1775 }
1776 
1777 
1778 
1779 #endif /* end of HWIMG_SUPPORT*/
1780 
1781