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 /*Image2HeaderVersion: 3.5.2*/
17 #include "mp_precomp.h"
18 #include "../phydm_precomp.h"
19
20 #if (RTL8703B_SUPPORT == 1)
21 static boolean
check_positive(struct dm_struct * dm,const u32 condition1,const u32 condition2,const u32 condition3,const u32 condition4)22 check_positive(
23 struct dm_struct *dm,
24 const u32 condition1,
25 const u32 condition2,
26 const u32 condition3,
27 const u32 condition4
28 )
29 {
30 u8 _board_type = ((dm->board_type & BIT(4)) >> 4) << 0 | /* _GLNA*/
31 ((dm->board_type & BIT(3)) >> 3) << 1 | /* _GPA*/
32 ((dm->board_type & BIT(7)) >> 7) << 2 | /* _ALNA*/
33 ((dm->board_type & BIT(6)) >> 6) << 3 | /* _APA */
34 ((dm->board_type & BIT(2)) >> 2) << 4 | /* _BT*/
35 ((dm->board_type & BIT(1)) >> 1) << 5 | /* _NGFF*/
36 ((dm->board_type & BIT(5)) >> 5) << 6; /* _TRSWT*/
37
38 u32 cond1 = condition1, cond2 = condition2, cond3 = condition3, cond4 = condition4;
39
40 u8 cut_version_for_para = (dm->cut_version == ODM_CUT_A) ? 15 : dm->cut_version;
41 u8 pkg_type_for_para = (dm->package_type == 0) ? 15 : dm->package_type;
42
43 u32 driver1 = cut_version_for_para << 24 |
44 (dm->support_interface & 0xF0) << 16 |
45 dm->support_platform << 16 |
46 pkg_type_for_para << 12 |
47 (dm->support_interface & 0x0F) << 8 |
48 _board_type;
49
50 u32 driver2 = (dm->type_glna & 0xFF) << 0 |
51 (dm->type_gpa & 0xFF) << 8 |
52 (dm->type_alna & 0xFF) << 16 |
53 (dm->type_apa & 0xFF) << 24;
54
55 u32 driver3 = 0;
56
57 u32 driver4 = (dm->type_glna & 0xFF00) >> 8 |
58 (dm->type_gpa & 0xFF00) |
59 (dm->type_alna & 0xFF00) << 8 |
60 (dm->type_apa & 0xFF00) << 16;
61
62 PHYDM_DBG(dm, ODM_COMP_INIT,
63 "===> %s (cond1, cond2, cond3, cond4) = (0x%X 0x%X 0x%X 0x%X)\n",
64 __func__, cond1, cond2, cond3, cond4);
65 PHYDM_DBG(dm, ODM_COMP_INIT,
66 "===> %s (driver1, driver2, driver3, driver4) = (0x%X 0x%X 0x%X 0x%X)\n",
67 __func__, driver1, driver2, driver3, driver4);
68
69 PHYDM_DBG(dm, ODM_COMP_INIT,
70 " (Platform, Interface) = (0x%X, 0x%X)\n",
71 dm->support_platform, dm->support_interface);
72 PHYDM_DBG(dm, ODM_COMP_INIT,
73 " (Board, Package) = (0x%X, 0x%X)\n", dm->board_type,
74 dm->package_type);
75
76
77 /*============== value Defined Check ===============*/
78 /*QFN type [15:12] and cut version [27:24] need to do value check*/
79
80 if (((cond1 & 0x0000F000) != 0) && ((cond1 & 0x0000F000) != (driver1 & 0x0000F000)))
81 return false;
82 if (((cond1 & 0x0F000000) != 0) && ((cond1 & 0x0F000000) != (driver1 & 0x0F000000)))
83 return false;
84
85 /*=============== Bit Defined Check ================*/
86 /* We don't care [31:28] */
87
88 cond1 &= 0x00FF0FFF;
89 driver1 &= 0x00FF0FFF;
90
91 if ((cond1 & driver1) == cond1) {
92 u32 bit_mask = 0;
93
94 if ((cond1 & 0x0F) == 0) /* board_type is DONTCARE*/
95 return true;
96
97 if ((cond1 & BIT(0)) != 0) /*GLNA*/
98 bit_mask |= 0x000000FF;
99 if ((cond1 & BIT(1)) != 0) /*GPA*/
100 bit_mask |= 0x0000FF00;
101 if ((cond1 & BIT(2)) != 0) /*ALNA*/
102 bit_mask |= 0x00FF0000;
103 if ((cond1 & BIT(3)) != 0) /*APA*/
104 bit_mask |= 0xFF000000;
105
106 if (((cond2 & bit_mask) == (driver2 & bit_mask)) && ((cond4 & bit_mask) == (driver4 & bit_mask))) /* board_type of each RF path is matched*/
107 return true;
108 else
109 return false;
110 } else
111 return false;
112 }
113
114 /******************************************************************************
115 * radioa.TXT
116 ******************************************************************************/
117
118 u32 array_mp_8703b_radioa[] = {
119 0x018, 0x00008C01,
120 0x0B5, 0x0008C050,
121 0x0B1, 0x00054258,
122 0x0B2, 0x00054C00,
123 0x030, 0x00018000,
124 0x031, 0x00000027,
125 0x032, 0x000A7F07,
126 0x030, 0x00020000,
127 0x031, 0x00000027,
128 0x032, 0x000E7D87,
129 0x01C, 0x000F8635,
130 0x0EF, 0x00080000,
131 0x030, 0x00008000,
132 0x031, 0x00000004,
133 0x032, 0x00006105,
134 0x0EF, 0x00000000,
135 0x0EF, 0x00000400,
136 0x041, 0x0000BD54,
137 0x041, 0x00003DD4,
138 0x041, 0x0000FDD4,
139 0x0EF, 0x00000000,
140 0x0DF, 0x00000600,
141 0x050, 0x0000C6DB,
142 0x051, 0x00004505,
143 0x052, 0x0000E31D,
144 0x053, 0x00040579,
145 0x054, 0x00000000,
146 0x055, 0x0008206E,
147 0x056, 0x00040000,
148 0x0EF, 0x00000100,
149 0x034, 0x0000ADD7,
150 0x034, 0x00009DD4,
151 0x034, 0x00008DD1,
152 0x034, 0x00007DCE,
153 0x034, 0x00006DCB,
154 0x034, 0x00005CCE,
155 0x034, 0x000048CD,
156 0x034, 0x000034CC,
157 0x034, 0x0000244F,
158 0x034, 0x0000144C,
159 0x034, 0x0000004E,
160 0x0EF, 0x00000000,
161 0x0EF, 0x00002000,
162 0x03B, 0x0003801F,
163 0x03B, 0x00030002,
164 0x03B, 0x00028001,
165 0x03B, 0x00020000,
166 0x03B, 0x00018003,
167 0x03B, 0x00010002,
168 0x03B, 0x00008001,
169 0x03B, 0x00000000,
170 0x0EF, 0x00000000,
171 0x082, 0x000C0000,
172 0x083, 0x000AF025,
173 0x01E, 0x00000C08,
174
175 };
176
177 void
odm_read_and_config_mp_8703b_radioa(struct dm_struct * dm)178 odm_read_and_config_mp_8703b_radioa(struct dm_struct *dm)
179 {
180 u32 i = 0;
181 u8 c_cond;
182 boolean is_matched = true, is_skipped = false;
183 u32 array_len = sizeof(array_mp_8703b_radioa) / sizeof(u32);
184 u32 *array = array_mp_8703b_radioa;
185
186 u32 v1 = 0, v2 = 0, pre_v1 = 0, pre_v2 = 0;
187
188 PHYDM_DBG(dm, ODM_COMP_INIT, "===> %s\n", __func__);
189
190 while ((i + 1) < array_len) {
191 v1 = array[i];
192 v2 = array[i + 1];
193
194 if (v1 & (BIT(31) | BIT(30))) {/*positive & negative condition*/
195 if (v1 & BIT(31)) {/* positive condition*/
196 c_cond = (u8)((v1 & (BIT(29) | BIT(28))) >> 28);
197 if (c_cond == COND_ENDIF) {/*end*/
198 is_matched = true;
199 is_skipped = false;
200 PHYDM_DBG(dm, ODM_COMP_INIT, "ENDIF\n");
201 } else if (c_cond == COND_ELSE) { /*else*/
202 is_matched = is_skipped ? false : true;
203 PHYDM_DBG(dm, ODM_COMP_INIT, "ELSE\n");
204 } else {/*if , else if*/
205 pre_v1 = v1;
206 pre_v2 = v2;
207 PHYDM_DBG(dm, ODM_COMP_INIT, "IF or ELSE IF\n");
208 }
209 } else if (v1 & BIT(30)) { /*negative condition*/
210 if (is_skipped == false) {
211 if (check_positive(dm, pre_v1, pre_v2, v1, v2)) {
212 is_matched = true;
213 is_skipped = true;
214 } else {
215 is_matched = false;
216 is_skipped = false;
217 }
218 } else
219 is_matched = false;
220 }
221 } else {
222 if (is_matched)
223 odm_config_rf_radio_a_8703b(dm, v1, v2);
224 }
225 i = i + 2;
226 }
227 }
228
229 u32
odm_get_version_mp_8703b_radioa(void)230 odm_get_version_mp_8703b_radioa(void)
231 {
232 return 18;
233 }
234
235 /******************************************************************************
236 * txpowertrack_sdio.TXT
237 ******************************************************************************/
238
239 #if DEV_BUS_TYPE == RT_SDIO_INTERFACE
240 u8 g_delta_swing_table_idx_mp_5gb_n_txpowertrack_sdio_8703b[][DELTA_SWINGIDX_SIZE] = {
241 {0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 16, 17, 17, 17, 17, 18, 18, 18},
242 {0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 18, 18},
243 {0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 18, 18},
244 };
245 u8 g_delta_swing_table_idx_mp_5gb_p_txpowertrack_sdio_8703b[][DELTA_SWINGIDX_SIZE] = {
246 {0, 1, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
247 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
248 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
249 };
250 u8 g_delta_swing_table_idx_mp_5ga_n_txpowertrack_sdio_8703b[][DELTA_SWINGIDX_SIZE] = {
251 {0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 16, 17, 17, 17, 17, 18, 18, 18},
252 {0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 18, 18},
253 {0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 18, 18},
254 };
255 u8 g_delta_swing_table_idx_mp_5ga_p_txpowertrack_sdio_8703b[][DELTA_SWINGIDX_SIZE] = {
256 {0, 1, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
257 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
258 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
259 };
260 u8 g_delta_swing_table_idx_mp_2gb_n_txpowertrack_sdio_8703b[] = {0, 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11};
261 u8 g_delta_swing_table_idx_mp_2gb_p_txpowertrack_sdio_8703b[] = {0, 1, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 7, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 13, 13, 14, 14, 15, 15};
262 u8 g_delta_swing_table_idx_mp_2ga_n_txpowertrack_sdio_8703b[] = {0, 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11};
263 u8 g_delta_swing_table_idx_mp_2ga_p_txpowertrack_sdio_8703b[] = {0, 1, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 7, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 13, 13, 14, 14, 15, 15};
264 u8 g_delta_swing_table_idx_mp_2g_cck_b_n_txpowertrack_sdio_8703b[] = {0, 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11};
265 u8 g_delta_swing_table_idx_mp_2g_cck_b_p_txpowertrack_sdio_8703b[] = {0, 0, 1, 1, 2, 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 7, 7, 8, 8, 8, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13};
266 u8 g_delta_swing_table_idx_mp_2g_cck_a_n_txpowertrack_sdio_8703b[] = {0, 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11};
267 u8 g_delta_swing_table_idx_mp_2g_cck_a_p_txpowertrack_sdio_8703b[] = {0, 0, 1, 1, 2, 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 7, 7, 8, 8, 8, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13};
268 #endif
269
270 void
odm_read_and_config_mp_8703b_txpowertrack_sdio(struct dm_struct * dm)271 odm_read_and_config_mp_8703b_txpowertrack_sdio(struct dm_struct *dm)
272 {
273 #if DEV_BUS_TYPE == RT_SDIO_INTERFACE
274 struct dm_rf_calibration_struct *cali_info = &(dm->rf_calibrate_info);
275
276 PHYDM_DBG(dm, ODM_COMP_INIT, "===> ODM_ReadAndConfig_MP_mp_8703b\n");
277
278
279 odm_move_memory(dm, cali_info->delta_swing_table_idx_2ga_p, g_delta_swing_table_idx_mp_2ga_p_txpowertrack_sdio_8703b, DELTA_SWINGIDX_SIZE);
280 odm_move_memory(dm, cali_info->delta_swing_table_idx_2ga_n, g_delta_swing_table_idx_mp_2ga_n_txpowertrack_sdio_8703b, DELTA_SWINGIDX_SIZE);
281 odm_move_memory(dm, cali_info->delta_swing_table_idx_2gb_p, g_delta_swing_table_idx_mp_2gb_p_txpowertrack_sdio_8703b, DELTA_SWINGIDX_SIZE);
282 odm_move_memory(dm, cali_info->delta_swing_table_idx_2gb_n, g_delta_swing_table_idx_mp_2gb_n_txpowertrack_sdio_8703b, DELTA_SWINGIDX_SIZE);
283
284 odm_move_memory(dm, cali_info->delta_swing_table_idx_2g_cck_a_p, g_delta_swing_table_idx_mp_2g_cck_a_p_txpowertrack_sdio_8703b, DELTA_SWINGIDX_SIZE);
285 odm_move_memory(dm, cali_info->delta_swing_table_idx_2g_cck_a_n, g_delta_swing_table_idx_mp_2g_cck_a_n_txpowertrack_sdio_8703b, DELTA_SWINGIDX_SIZE);
286 odm_move_memory(dm, cali_info->delta_swing_table_idx_2g_cck_b_p, g_delta_swing_table_idx_mp_2g_cck_b_p_txpowertrack_sdio_8703b, DELTA_SWINGIDX_SIZE);
287 odm_move_memory(dm, cali_info->delta_swing_table_idx_2g_cck_b_n, g_delta_swing_table_idx_mp_2g_cck_b_n_txpowertrack_sdio_8703b, DELTA_SWINGIDX_SIZE);
288
289 odm_move_memory(dm, cali_info->delta_swing_table_idx_5ga_p, g_delta_swing_table_idx_mp_5ga_p_txpowertrack_sdio_8703b, DELTA_SWINGIDX_SIZE * 3);
290 odm_move_memory(dm, cali_info->delta_swing_table_idx_5ga_n, g_delta_swing_table_idx_mp_5ga_n_txpowertrack_sdio_8703b, DELTA_SWINGIDX_SIZE * 3);
291 odm_move_memory(dm, cali_info->delta_swing_table_idx_5gb_p, g_delta_swing_table_idx_mp_5gb_p_txpowertrack_sdio_8703b, DELTA_SWINGIDX_SIZE * 3);
292 odm_move_memory(dm, cali_info->delta_swing_table_idx_5gb_n, g_delta_swing_table_idx_mp_5gb_n_txpowertrack_sdio_8703b, DELTA_SWINGIDX_SIZE * 3);
293 #endif
294 }
295
296 /******************************************************************************
297 * txpowertrack_usb.TXT
298 ******************************************************************************/
299
300 #if DEV_BUS_TYPE == RT_USB_INTERFACE
301 u8 g_delta_swing_table_idx_mp_5gb_n_txpowertrack_usb_8703b[][DELTA_SWINGIDX_SIZE] = {
302 {0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 16, 17, 17, 17, 17, 18, 18, 18},
303 {0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 18, 18},
304 {0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 18, 18},
305 };
306 u8 g_delta_swing_table_idx_mp_5gb_p_txpowertrack_usb_8703b[][DELTA_SWINGIDX_SIZE] = {
307 {0, 1, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
308 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
309 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
310 };
311 u8 g_delta_swing_table_idx_mp_5ga_n_txpowertrack_usb_8703b[][DELTA_SWINGIDX_SIZE] = {
312 {0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 16, 17, 17, 17, 17, 18, 18, 18},
313 {0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 18, 18},
314 {0, 1, 2, 3, 3, 5, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 18, 18},
315 };
316 u8 g_delta_swing_table_idx_mp_5ga_p_txpowertrack_usb_8703b[][DELTA_SWINGIDX_SIZE] = {
317 {0, 1, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
318 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
319 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
320 };
321 u8 g_delta_swing_table_idx_mp_2gb_n_txpowertrack_usb_8703b[] = {0, 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11};
322 u8 g_delta_swing_table_idx_mp_2gb_p_txpowertrack_usb_8703b[] = {0, 1, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 7, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 13, 13, 14, 14, 15, 15};
323 u8 g_delta_swing_table_idx_mp_2ga_n_txpowertrack_usb_8703b[] = {0, 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11};
324 u8 g_delta_swing_table_idx_mp_2ga_p_txpowertrack_usb_8703b[] = {0, 1, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 7, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 13, 13, 14, 14, 15, 15};
325 u8 g_delta_swing_table_idx_mp_2g_cck_b_n_txpowertrack_usb_8703b[] = {0, 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11};
326 u8 g_delta_swing_table_idx_mp_2g_cck_b_p_txpowertrack_usb_8703b[] = {0, 0, 1, 1, 2, 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 7, 7, 8, 8, 8, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13};
327 u8 g_delta_swing_table_idx_mp_2g_cck_a_n_txpowertrack_usb_8703b[] = {0, 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11};
328 u8 g_delta_swing_table_idx_mp_2g_cck_a_p_txpowertrack_usb_8703b[] = {0, 0, 1, 1, 2, 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 7, 7, 8, 8, 8, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13};
329 #endif
330
331 void
odm_read_and_config_mp_8703b_txpowertrack_usb(struct dm_struct * dm)332 odm_read_and_config_mp_8703b_txpowertrack_usb(struct dm_struct *dm)
333 {
334 #if DEV_BUS_TYPE == RT_USB_INTERFACE
335 struct dm_rf_calibration_struct *cali_info = &(dm->rf_calibrate_info);
336
337 PHYDM_DBG(dm, ODM_COMP_INIT, "===> ODM_ReadAndConfig_MP_mp_8703b\n");
338
339
340 odm_move_memory(dm, cali_info->delta_swing_table_idx_2ga_p, g_delta_swing_table_idx_mp_2ga_p_txpowertrack_usb_8703b, DELTA_SWINGIDX_SIZE);
341 odm_move_memory(dm, cali_info->delta_swing_table_idx_2ga_n, g_delta_swing_table_idx_mp_2ga_n_txpowertrack_usb_8703b, DELTA_SWINGIDX_SIZE);
342 odm_move_memory(dm, cali_info->delta_swing_table_idx_2gb_p, g_delta_swing_table_idx_mp_2gb_p_txpowertrack_usb_8703b, DELTA_SWINGIDX_SIZE);
343 odm_move_memory(dm, cali_info->delta_swing_table_idx_2gb_n, g_delta_swing_table_idx_mp_2gb_n_txpowertrack_usb_8703b, DELTA_SWINGIDX_SIZE);
344
345 odm_move_memory(dm, cali_info->delta_swing_table_idx_2g_cck_a_p, g_delta_swing_table_idx_mp_2g_cck_a_p_txpowertrack_usb_8703b, DELTA_SWINGIDX_SIZE);
346 odm_move_memory(dm, cali_info->delta_swing_table_idx_2g_cck_a_n, g_delta_swing_table_idx_mp_2g_cck_a_n_txpowertrack_usb_8703b, DELTA_SWINGIDX_SIZE);
347 odm_move_memory(dm, cali_info->delta_swing_table_idx_2g_cck_b_p, g_delta_swing_table_idx_mp_2g_cck_b_p_txpowertrack_usb_8703b, DELTA_SWINGIDX_SIZE);
348 odm_move_memory(dm, cali_info->delta_swing_table_idx_2g_cck_b_n, g_delta_swing_table_idx_mp_2g_cck_b_n_txpowertrack_usb_8703b, DELTA_SWINGIDX_SIZE);
349
350 odm_move_memory(dm, cali_info->delta_swing_table_idx_5ga_p, g_delta_swing_table_idx_mp_5ga_p_txpowertrack_usb_8703b, DELTA_SWINGIDX_SIZE * 3);
351 odm_move_memory(dm, cali_info->delta_swing_table_idx_5ga_n, g_delta_swing_table_idx_mp_5ga_n_txpowertrack_usb_8703b, DELTA_SWINGIDX_SIZE * 3);
352 odm_move_memory(dm, cali_info->delta_swing_table_idx_5gb_p, g_delta_swing_table_idx_mp_5gb_p_txpowertrack_usb_8703b, DELTA_SWINGIDX_SIZE * 3);
353 odm_move_memory(dm, cali_info->delta_swing_table_idx_5gb_n, g_delta_swing_table_idx_mp_5gb_n_txpowertrack_usb_8703b, DELTA_SWINGIDX_SIZE * 3);
354 #endif
355 }
356
357 /******************************************************************************
358 * txpwr_lmt.TXT
359 ******************************************************************************/
360
361 const char *array_mp_8703b_txpwr_lmt[] = {
362 "FCC", "2.4G", "20M", "CCK", "1T", "01", "30",
363 "ETSI", "2.4G", "20M", "CCK", "1T", "01", "26",
364 "MKK", "2.4G", "20M", "CCK", "1T", "01", "32",
365 "FCC", "2.4G", "20M", "CCK", "1T", "02", "30",
366 "ETSI", "2.4G", "20M", "CCK", "1T", "02", "26",
367 "MKK", "2.4G", "20M", "CCK", "1T", "02", "32",
368 "FCC", "2.4G", "20M", "CCK", "1T", "03", "30",
369 "ETSI", "2.4G", "20M", "CCK", "1T", "03", "26",
370 "MKK", "2.4G", "20M", "CCK", "1T", "03", "32",
371 "FCC", "2.4G", "20M", "CCK", "1T", "04", "30",
372 "ETSI", "2.4G", "20M", "CCK", "1T", "04", "26",
373 "MKK", "2.4G", "20M", "CCK", "1T", "04", "32",
374 "FCC", "2.4G", "20M", "CCK", "1T", "05", "30",
375 "ETSI", "2.4G", "20M", "CCK", "1T", "05", "26",
376 "MKK", "2.4G", "20M", "CCK", "1T", "05", "32",
377 "FCC", "2.4G", "20M", "CCK", "1T", "06", "30",
378 "ETSI", "2.4G", "20M", "CCK", "1T", "06", "26",
379 "MKK", "2.4G", "20M", "CCK", "1T", "06", "32",
380 "FCC", "2.4G", "20M", "CCK", "1T", "07", "30",
381 "ETSI", "2.4G", "20M", "CCK", "1T", "07", "26",
382 "MKK", "2.4G", "20M", "CCK", "1T", "07", "32",
383 "FCC", "2.4G", "20M", "CCK", "1T", "08", "30",
384 "ETSI", "2.4G", "20M", "CCK", "1T", "08", "26",
385 "MKK", "2.4G", "20M", "CCK", "1T", "08", "32",
386 "FCC", "2.4G", "20M", "CCK", "1T", "09", "30",
387 "ETSI", "2.4G", "20M", "CCK", "1T", "09", "26",
388 "MKK", "2.4G", "20M", "CCK", "1T", "09", "32",
389 "FCC", "2.4G", "20M", "CCK", "1T", "10", "30",
390 "ETSI", "2.4G", "20M", "CCK", "1T", "10", "26",
391 "MKK", "2.4G", "20M", "CCK", "1T", "10", "32",
392 "FCC", "2.4G", "20M", "CCK", "1T", "11", "30",
393 "ETSI", "2.4G", "20M", "CCK", "1T", "11", "26",
394 "MKK", "2.4G", "20M", "CCK", "1T", "11", "32",
395 "FCC", "2.4G", "20M", "CCK", "1T", "12", "63",
396 "ETSI", "2.4G", "20M", "CCK", "1T", "12", "26",
397 "MKK", "2.4G", "20M", "CCK", "1T", "12", "32",
398 "FCC", "2.4G", "20M", "CCK", "1T", "13", "63",
399 "ETSI", "2.4G", "20M", "CCK", "1T", "13", "26",
400 "MKK", "2.4G", "20M", "CCK", "1T", "13", "32",
401 "FCC", "2.4G", "20M", "CCK", "1T", "14", "63",
402 "ETSI", "2.4G", "20M", "CCK", "1T", "14", "63",
403 "MKK", "2.4G", "20M", "CCK", "1T", "14", "32",
404 "FCC", "2.4G", "20M", "OFDM", "1T", "01", "28",
405 "ETSI", "2.4G", "20M", "OFDM", "1T", "01", "28",
406 "MKK", "2.4G", "20M", "OFDM", "1T", "01", "28",
407 "FCC", "2.4G", "20M", "OFDM", "1T", "02", "28",
408 "ETSI", "2.4G", "20M", "OFDM", "1T", "02", "32",
409 "MKK", "2.4G", "20M", "OFDM", "1T", "02", "32",
410 "FCC", "2.4G", "20M", "OFDM", "1T", "03", "32",
411 "ETSI", "2.4G", "20M", "OFDM", "1T", "03", "32",
412 "MKK", "2.4G", "20M", "OFDM", "1T", "03", "32",
413 "FCC", "2.4G", "20M", "OFDM", "1T", "04", "32",
414 "ETSI", "2.4G", "20M", "OFDM", "1T", "04", "32",
415 "MKK", "2.4G", "20M", "OFDM", "1T", "04", "32",
416 "FCC", "2.4G", "20M", "OFDM", "1T", "05", "32",
417 "ETSI", "2.4G", "20M", "OFDM", "1T", "05", "32",
418 "MKK", "2.4G", "20M", "OFDM", "1T", "05", "32",
419 "FCC", "2.4G", "20M", "OFDM", "1T", "06", "32",
420 "ETSI", "2.4G", "20M", "OFDM", "1T", "06", "32",
421 "MKK", "2.4G", "20M", "OFDM", "1T", "06", "32",
422 "FCC", "2.4G", "20M", "OFDM", "1T", "07", "32",
423 "ETSI", "2.4G", "20M", "OFDM", "1T", "07", "32",
424 "MKK", "2.4G", "20M", "OFDM", "1T", "07", "32",
425 "FCC", "2.4G", "20M", "OFDM", "1T", "08", "32",
426 "ETSI", "2.4G", "20M", "OFDM", "1T", "08", "32",
427 "MKK", "2.4G", "20M", "OFDM", "1T", "08", "32",
428 "FCC", "2.4G", "20M", "OFDM", "1T", "09", "32",
429 "ETSI", "2.4G", "20M", "OFDM", "1T", "09", "32",
430 "MKK", "2.4G", "20M", "OFDM", "1T", "09", "32",
431 "FCC", "2.4G", "20M", "OFDM", "1T", "10", "28",
432 "ETSI", "2.4G", "20M", "OFDM", "1T", "10", "32",
433 "MKK", "2.4G", "20M", "OFDM", "1T", "10", "32",
434 "FCC", "2.4G", "20M", "OFDM", "1T", "11", "28",
435 "ETSI", "2.4G", "20M", "OFDM", "1T", "11", "32",
436 "MKK", "2.4G", "20M", "OFDM", "1T", "11", "32",
437 "FCC", "2.4G", "20M", "OFDM", "1T", "12", "63",
438 "ETSI", "2.4G", "20M", "OFDM", "1T", "12", "32",
439 "MKK", "2.4G", "20M", "OFDM", "1T", "12", "32",
440 "FCC", "2.4G", "20M", "OFDM", "1T", "13", "63",
441 "ETSI", "2.4G", "20M", "OFDM", "1T", "13", "28",
442 "MKK", "2.4G", "20M", "OFDM", "1T", "13", "28",
443 "FCC", "2.4G", "20M", "OFDM", "1T", "14", "63",
444 "ETSI", "2.4G", "20M", "OFDM", "1T", "14", "63",
445 "MKK", "2.4G", "20M", "OFDM", "1T", "14", "63",
446 "FCC", "2.4G", "20M", "HT", "1T", "01", "26",
447 "ETSI", "2.4G", "20M", "HT", "1T", "01", "26",
448 "MKK", "2.4G", "20M", "HT", "1T", "01", "28",
449 "FCC", "2.4G", "20M", "HT", "1T", "02", "26",
450 "ETSI", "2.4G", "20M", "HT", "1T", "02", "32",
451 "MKK", "2.4G", "20M", "HT", "1T", "02", "32",
452 "FCC", "2.4G", "20M", "HT", "1T", "03", "32",
453 "ETSI", "2.4G", "20M", "HT", "1T", "03", "32",
454 "MKK", "2.4G", "20M", "HT", "1T", "03", "32",
455 "FCC", "2.4G", "20M", "HT", "1T", "04", "32",
456 "ETSI", "2.4G", "20M", "HT", "1T", "04", "32",
457 "MKK", "2.4G", "20M", "HT", "1T", "04", "32",
458 "FCC", "2.4G", "20M", "HT", "1T", "05", "32",
459 "ETSI", "2.4G", "20M", "HT", "1T", "05", "32",
460 "MKK", "2.4G", "20M", "HT", "1T", "05", "32",
461 "FCC", "2.4G", "20M", "HT", "1T", "06", "32",
462 "ETSI", "2.4G", "20M", "HT", "1T", "06", "32",
463 "MKK", "2.4G", "20M", "HT", "1T", "06", "32",
464 "FCC", "2.4G", "20M", "HT", "1T", "07", "32",
465 "ETSI", "2.4G", "20M", "HT", "1T", "07", "32",
466 "MKK", "2.4G", "20M", "HT", "1T", "07", "32",
467 "FCC", "2.4G", "20M", "HT", "1T", "08", "32",
468 "ETSI", "2.4G", "20M", "HT", "1T", "08", "32",
469 "MKK", "2.4G", "20M", "HT", "1T", "08", "32",
470 "FCC", "2.4G", "20M", "HT", "1T", "09", "32",
471 "ETSI", "2.4G", "20M", "HT", "1T", "09", "32",
472 "MKK", "2.4G", "20M", "HT", "1T", "09", "32",
473 "FCC", "2.4G", "20M", "HT", "1T", "10", "26",
474 "ETSI", "2.4G", "20M", "HT", "1T", "10", "32",
475 "MKK", "2.4G", "20M", "HT", "1T", "10", "32",
476 "FCC", "2.4G", "20M", "HT", "1T", "11", "26",
477 "ETSI", "2.4G", "20M", "HT", "1T", "11", "32",
478 "MKK", "2.4G", "20M", "HT", "1T", "11", "32",
479 "FCC", "2.4G", "20M", "HT", "1T", "12", "63",
480 "ETSI", "2.4G", "20M", "HT", "1T", "12", "32",
481 "MKK", "2.4G", "20M", "HT", "1T", "12", "32",
482 "FCC", "2.4G", "20M", "HT", "1T", "13", "63",
483 "ETSI", "2.4G", "20M", "HT", "1T", "13", "26",
484 "MKK", "2.4G", "20M", "HT", "1T", "13", "28",
485 "FCC", "2.4G", "20M", "HT", "1T", "14", "63",
486 "ETSI", "2.4G", "20M", "HT", "1T", "14", "63",
487 "MKK", "2.4G", "20M", "HT", "1T", "14", "63",
488 "FCC", "2.4G", "20M", "HT", "2T", "01", "28",
489 "ETSI", "2.4G", "20M", "HT", "2T", "01", "30",
490 "MKK", "2.4G", "20M", "HT", "2T", "01", "30",
491 "FCC", "2.4G", "20M", "HT", "2T", "02", "28",
492 "ETSI", "2.4G", "20M", "HT", "2T", "02", "30",
493 "MKK", "2.4G", "20M", "HT", "2T", "02", "30",
494 "FCC", "2.4G", "20M", "HT", "2T", "03", "30",
495 "ETSI", "2.4G", "20M", "HT", "2T", "03", "30",
496 "MKK", "2.4G", "20M", "HT", "2T", "03", "30",
497 "FCC", "2.4G", "20M", "HT", "2T", "04", "30",
498 "ETSI", "2.4G", "20M", "HT", "2T", "04", "30",
499 "MKK", "2.4G", "20M", "HT", "2T", "04", "30",
500 "FCC", "2.4G", "20M", "HT", "2T", "05", "30",
501 "ETSI", "2.4G", "20M", "HT", "2T", "05", "30",
502 "MKK", "2.4G", "20M", "HT", "2T", "05", "30",
503 "FCC", "2.4G", "20M", "HT", "2T", "06", "30",
504 "ETSI", "2.4G", "20M", "HT", "2T", "06", "30",
505 "MKK", "2.4G", "20M", "HT", "2T", "06", "30",
506 "FCC", "2.4G", "20M", "HT", "2T", "07", "30",
507 "ETSI", "2.4G", "20M", "HT", "2T", "07", "30",
508 "MKK", "2.4G", "20M", "HT", "2T", "07", "30",
509 "FCC", "2.4G", "20M", "HT", "2T", "08", "30",
510 "ETSI", "2.4G", "20M", "HT", "2T", "08", "30",
511 "MKK", "2.4G", "20M", "HT", "2T", "08", "30",
512 "FCC", "2.4G", "20M", "HT", "2T", "09", "28",
513 "ETSI", "2.4G", "20M", "HT", "2T", "09", "30",
514 "MKK", "2.4G", "20M", "HT", "2T", "09", "30",
515 "FCC", "2.4G", "20M", "HT", "2T", "10", "28",
516 "ETSI", "2.4G", "20M", "HT", "2T", "10", "30",
517 "MKK", "2.4G", "20M", "HT", "2T", "10", "30",
518 "FCC", "2.4G", "20M", "HT", "2T", "11", "28",
519 "ETSI", "2.4G", "20M", "HT", "2T", "11", "30",
520 "MKK", "2.4G", "20M", "HT", "2T", "11", "30",
521 "FCC", "2.4G", "20M", "HT", "2T", "12", "63",
522 "ETSI", "2.4G", "20M", "HT", "2T", "12", "30",
523 "MKK", "2.4G", "20M", "HT", "2T", "12", "30",
524 "FCC", "2.4G", "20M", "HT", "2T", "13", "63",
525 "ETSI", "2.4G", "20M", "HT", "2T", "13", "30",
526 "MKK", "2.4G", "20M", "HT", "2T", "13", "30",
527 "FCC", "2.4G", "20M", "HT", "2T", "14", "63",
528 "ETSI", "2.4G", "20M", "HT", "2T", "14", "63",
529 "MKK", "2.4G", "20M", "HT", "2T", "14", "63",
530 "FCC", "2.4G", "40M", "HT", "1T", "01", "63",
531 "ETSI", "2.4G", "40M", "HT", "1T", "01", "63",
532 "MKK", "2.4G", "40M", "HT", "1T", "01", "63",
533 "FCC", "2.4G", "40M", "HT", "1T", "02", "63",
534 "ETSI", "2.4G", "40M", "HT", "1T", "02", "63",
535 "MKK", "2.4G", "40M", "HT", "1T", "02", "63",
536 "FCC", "2.4G", "40M", "HT", "1T", "03", "26",
537 "ETSI", "2.4G", "40M", "HT", "1T", "03", "26",
538 "MKK", "2.4G", "40M", "HT", "1T", "03", "26",
539 "FCC", "2.4G", "40M", "HT", "1T", "04", "26",
540 "ETSI", "2.4G", "40M", "HT", "1T", "04", "28",
541 "MKK", "2.4G", "40M", "HT", "1T", "04", "26",
542 "FCC", "2.4G", "40M", "HT", "1T", "05", "28",
543 "ETSI", "2.4G", "40M", "HT", "1T", "05", "28",
544 "MKK", "2.4G", "40M", "HT", "1T", "05", "26",
545 "FCC", "2.4G", "40M", "HT", "1T", "06", "28",
546 "ETSI", "2.4G", "40M", "HT", "1T", "06", "28",
547 "MKK", "2.4G", "40M", "HT", "1T", "06", "26",
548 "FCC", "2.4G", "40M", "HT", "1T", "07", "28",
549 "ETSI", "2.4G", "40M", "HT", "1T", "07", "28",
550 "MKK", "2.4G", "40M", "HT", "1T", "07", "26",
551 "FCC", "2.4G", "40M", "HT", "1T", "08", "26",
552 "ETSI", "2.4G", "40M", "HT", "1T", "08", "28",
553 "MKK", "2.4G", "40M", "HT", "1T", "08", "26",
554 "FCC", "2.4G", "40M", "HT", "1T", "09", "26",
555 "ETSI", "2.4G", "40M", "HT", "1T", "09", "28",
556 "MKK", "2.4G", "40M", "HT", "1T", "09", "26",
557 "FCC", "2.4G", "40M", "HT", "1T", "10", "26",
558 "ETSI", "2.4G", "40M", "HT", "1T", "10", "28",
559 "MKK", "2.4G", "40M", "HT", "1T", "10", "26",
560 "FCC", "2.4G", "40M", "HT", "1T", "11", "26",
561 "ETSI", "2.4G", "40M", "HT", "1T", "11", "26",
562 "MKK", "2.4G", "40M", "HT", "1T", "11", "26",
563 "FCC", "2.4G", "40M", "HT", "1T", "12", "63",
564 "ETSI", "2.4G", "40M", "HT", "1T", "12", "26",
565 "MKK", "2.4G", "40M", "HT", "1T", "12", "26",
566 "FCC", "2.4G", "40M", "HT", "1T", "13", "63",
567 "ETSI", "2.4G", "40M", "HT", "1T", "13", "26",
568 "MKK", "2.4G", "40M", "HT", "1T", "13", "26",
569 "FCC", "2.4G", "40M", "HT", "1T", "14", "63",
570 "ETSI", "2.4G", "40M", "HT", "1T", "14", "63",
571 "MKK", "2.4G", "40M", "HT", "1T", "14", "63",
572 "FCC", "2.4G", "40M", "HT", "2T", "01", "63",
573 "ETSI", "2.4G", "40M", "HT", "2T", "01", "63",
574 "MKK", "2.4G", "40M", "HT", "2T", "01", "63",
575 "FCC", "2.4G", "40M", "HT", "2T", "02", "63",
576 "ETSI", "2.4G", "40M", "HT", "2T", "02", "63",
577 "MKK", "2.4G", "40M", "HT", "2T", "02", "63",
578 "FCC", "2.4G", "40M", "HT", "2T", "03", "26",
579 "ETSI", "2.4G", "40M", "HT", "2T", "03", "26",
580 "MKK", "2.4G", "40M", "HT", "2T", "03", "26",
581 "FCC", "2.4G", "40M", "HT", "2T", "04", "26",
582 "ETSI", "2.4G", "40M", "HT", "2T", "04", "26",
583 "MKK", "2.4G", "40M", "HT", "2T", "04", "26",
584 "FCC", "2.4G", "40M", "HT", "2T", "05", "26",
585 "ETSI", "2.4G", "40M", "HT", "2T", "05", "26",
586 "MKK", "2.4G", "40M", "HT", "2T", "05", "26",
587 "FCC", "2.4G", "40M", "HT", "2T", "06", "26",
588 "ETSI", "2.4G", "40M", "HT", "2T", "06", "26",
589 "MKK", "2.4G", "40M", "HT", "2T", "06", "26",
590 "FCC", "2.4G", "40M", "HT", "2T", "07", "26",
591 "ETSI", "2.4G", "40M", "HT", "2T", "07", "26",
592 "MKK", "2.4G", "40M", "HT", "2T", "07", "26",
593 "FCC", "2.4G", "40M", "HT", "2T", "08", "26",
594 "ETSI", "2.4G", "40M", "HT", "2T", "08", "26",
595 "MKK", "2.4G", "40M", "HT", "2T", "08", "26",
596 "FCC", "2.4G", "40M", "HT", "2T", "09", "26",
597 "ETSI", "2.4G", "40M", "HT", "2T", "09", "26",
598 "MKK", "2.4G", "40M", "HT", "2T", "09", "26",
599 "FCC", "2.4G", "40M", "HT", "2T", "10", "26",
600 "ETSI", "2.4G", "40M", "HT", "2T", "10", "26",
601 "MKK", "2.4G", "40M", "HT", "2T", "10", "26",
602 "FCC", "2.4G", "40M", "HT", "2T", "11", "26",
603 "ETSI", "2.4G", "40M", "HT", "2T", "11", "26",
604 "MKK", "2.4G", "40M", "HT", "2T", "11", "26",
605 "FCC", "2.4G", "40M", "HT", "2T", "12", "63",
606 "ETSI", "2.4G", "40M", "HT", "2T", "12", "26",
607 "MKK", "2.4G", "40M", "HT", "2T", "12", "26",
608 "FCC", "2.4G", "40M", "HT", "2T", "13", "63",
609 "ETSI", "2.4G", "40M", "HT", "2T", "13", "26",
610 "MKK", "2.4G", "40M", "HT", "2T", "13", "26",
611 "FCC", "2.4G", "40M", "HT", "2T", "14", "63",
612 "ETSI", "2.4G", "40M", "HT", "2T", "14", "63",
613 "MKK", "2.4G", "40M", "HT", "2T", "14", "63",
614 "FCC", "5G", "20M", "OFDM", "1T", "36", "30",
615 "ETSI", "5G", "20M", "OFDM", "1T", "36", "32",
616 "MKK", "5G", "20M", "OFDM", "1T", "36", "32",
617 "FCC", "5G", "20M", "OFDM", "1T", "40", "30",
618 "ETSI", "5G", "20M", "OFDM", "1T", "40", "32",
619 "MKK", "5G", "20M", "OFDM", "1T", "40", "32",
620 "FCC", "5G", "20M", "OFDM", "1T", "44", "30",
621 "ETSI", "5G", "20M", "OFDM", "1T", "44", "32",
622 "MKK", "5G", "20M", "OFDM", "1T", "44", "32",
623 "FCC", "5G", "20M", "OFDM", "1T", "48", "30",
624 "ETSI", "5G", "20M", "OFDM", "1T", "48", "32",
625 "MKK", "5G", "20M", "OFDM", "1T", "48", "32",
626 "FCC", "5G", "20M", "OFDM", "1T", "52", "34",
627 "ETSI", "5G", "20M", "OFDM", "1T", "52", "32",
628 "MKK", "5G", "20M", "OFDM", "1T", "52", "32",
629 "FCC", "5G", "20M", "OFDM", "1T", "56", "34",
630 "ETSI", "5G", "20M", "OFDM", "1T", "56", "32",
631 "MKK", "5G", "20M", "OFDM", "1T", "56", "32",
632 "FCC", "5G", "20M", "OFDM", "1T", "60", "32",
633 "ETSI", "5G", "20M", "OFDM", "1T", "60", "32",
634 "MKK", "5G", "20M", "OFDM", "1T", "60", "32",
635 "FCC", "5G", "20M", "OFDM", "1T", "64", "28",
636 "ETSI", "5G", "20M", "OFDM", "1T", "64", "32",
637 "MKK", "5G", "20M", "OFDM", "1T", "64", "32",
638 "FCC", "5G", "20M", "OFDM", "1T", "100", "30",
639 "ETSI", "5G", "20M", "OFDM", "1T", "100", "32",
640 "MKK", "5G", "20M", "OFDM", "1T", "100", "32",
641 "FCC", "5G", "20M", "OFDM", "1T", "114", "30",
642 "ETSI", "5G", "20M", "OFDM", "1T", "114", "32",
643 "MKK", "5G", "20M", "OFDM", "1T", "114", "32",
644 "FCC", "5G", "20M", "OFDM", "1T", "108", "32",
645 "ETSI", "5G", "20M", "OFDM", "1T", "108", "32",
646 "MKK", "5G", "20M", "OFDM", "1T", "108", "32",
647 "FCC", "5G", "20M", "OFDM", "1T", "112", "34",
648 "ETSI", "5G", "20M", "OFDM", "1T", "112", "32",
649 "MKK", "5G", "20M", "OFDM", "1T", "112", "32",
650 "FCC", "5G", "20M", "OFDM", "1T", "116", "34",
651 "ETSI", "5G", "20M", "OFDM", "1T", "116", "32",
652 "MKK", "5G", "20M", "OFDM", "1T", "116", "32",
653 "FCC", "5G", "20M", "OFDM", "1T", "120", "34",
654 "ETSI", "5G", "20M", "OFDM", "1T", "120", "32",
655 "MKK", "5G", "20M", "OFDM", "1T", "120", "32",
656 "FCC", "5G", "20M", "OFDM", "1T", "124", "34",
657 "ETSI", "5G", "20M", "OFDM", "1T", "124", "32",
658 "MKK", "5G", "20M", "OFDM", "1T", "124", "32",
659 "FCC", "5G", "20M", "OFDM", "1T", "128", "32",
660 "ETSI", "5G", "20M", "OFDM", "1T", "128", "32",
661 "MKK", "5G", "20M", "OFDM", "1T", "128", "32",
662 "FCC", "5G", "20M", "OFDM", "1T", "132", "30",
663 "ETSI", "5G", "20M", "OFDM", "1T", "132", "32",
664 "MKK", "5G", "20M", "OFDM", "1T", "132", "32",
665 "FCC", "5G", "20M", "OFDM", "1T", "136", "30",
666 "ETSI", "5G", "20M", "OFDM", "1T", "136", "32",
667 "MKK", "5G", "20M", "OFDM", "1T", "136", "32",
668 "FCC", "5G", "20M", "OFDM", "1T", "140", "28",
669 "ETSI", "5G", "20M", "OFDM", "1T", "140", "32",
670 "MKK", "5G", "20M", "OFDM", "1T", "140", "32",
671 "FCC", "5G", "20M", "OFDM", "1T", "149", "34",
672 "ETSI", "5G", "20M", "OFDM", "1T", "149", "32",
673 "MKK", "5G", "20M", "OFDM", "1T", "149", "63",
674 "FCC", "5G", "20M", "OFDM", "1T", "153", "34",
675 "ETSI", "5G", "20M", "OFDM", "1T", "153", "32",
676 "MKK", "5G", "20M", "OFDM", "1T", "153", "63",
677 "FCC", "5G", "20M", "OFDM", "1T", "157", "34",
678 "ETSI", "5G", "20M", "OFDM", "1T", "157", "32",
679 "MKK", "5G", "20M", "OFDM", "1T", "157", "63",
680 "FCC", "5G", "20M", "OFDM", "1T", "161", "34",
681 "ETSI", "5G", "20M", "OFDM", "1T", "161", "32",
682 "MKK", "5G", "20M", "OFDM", "1T", "161", "63",
683 "FCC", "5G", "20M", "OFDM", "1T", "165", "34",
684 "ETSI", "5G", "20M", "OFDM", "1T", "165", "32",
685 "MKK", "5G", "20M", "OFDM", "1T", "165", "63",
686 "FCC", "5G", "20M", "HT", "1T", "36", "30",
687 "ETSI", "5G", "20M", "HT", "1T", "36", "32",
688 "MKK", "5G", "20M", "HT", "1T", "36", "32",
689 "FCC", "5G", "20M", "HT", "1T", "40", "30",
690 "ETSI", "5G", "20M", "HT", "1T", "40", "32",
691 "MKK", "5G", "20M", "HT", "1T", "40", "32",
692 "FCC", "5G", "20M", "HT", "1T", "44", "30",
693 "ETSI", "5G", "20M", "HT", "1T", "44", "32",
694 "MKK", "5G", "20M", "HT", "1T", "44", "32",
695 "FCC", "5G", "20M", "HT", "1T", "48", "30",
696 "ETSI", "5G", "20M", "HT", "1T", "48", "32",
697 "MKK", "5G", "20M", "HT", "1T", "48", "32",
698 "FCC", "5G", "20M", "HT", "1T", "52", "34",
699 "ETSI", "5G", "20M", "HT", "1T", "52", "32",
700 "MKK", "5G", "20M", "HT", "1T", "52", "32",
701 "FCC", "5G", "20M", "HT", "1T", "56", "34",
702 "ETSI", "5G", "20M", "HT", "1T", "56", "32",
703 "MKK", "5G", "20M", "HT", "1T", "56", "32",
704 "FCC", "5G", "20M", "HT", "1T", "60", "32",
705 "ETSI", "5G", "20M", "HT", "1T", "60", "32",
706 "MKK", "5G", "20M", "HT", "1T", "60", "32",
707 "FCC", "5G", "20M", "HT", "1T", "64", "28",
708 "ETSI", "5G", "20M", "HT", "1T", "64", "32",
709 "MKK", "5G", "20M", "HT", "1T", "64", "32",
710 "FCC", "5G", "20M", "HT", "1T", "100", "30",
711 "ETSI", "5G", "20M", "HT", "1T", "100", "32",
712 "MKK", "5G", "20M", "HT", "1T", "100", "32",
713 "FCC", "5G", "20M", "HT", "1T", "114", "30",
714 "ETSI", "5G", "20M", "HT", "1T", "114", "32",
715 "MKK", "5G", "20M", "HT", "1T", "114", "32",
716 "FCC", "5G", "20M", "HT", "1T", "108", "32",
717 "ETSI", "5G", "20M", "HT", "1T", "108", "32",
718 "MKK", "5G", "20M", "HT", "1T", "108", "32",
719 "FCC", "5G", "20M", "HT", "1T", "112", "34",
720 "ETSI", "5G", "20M", "HT", "1T", "112", "32",
721 "MKK", "5G", "20M", "HT", "1T", "112", "32",
722 "FCC", "5G", "20M", "HT", "1T", "116", "34",
723 "ETSI", "5G", "20M", "HT", "1T", "116", "32",
724 "MKK", "5G", "20M", "HT", "1T", "116", "32",
725 "FCC", "5G", "20M", "HT", "1T", "120", "34",
726 "ETSI", "5G", "20M", "HT", "1T", "120", "32",
727 "MKK", "5G", "20M", "HT", "1T", "120", "32",
728 "FCC", "5G", "20M", "HT", "1T", "124", "34",
729 "ETSI", "5G", "20M", "HT", "1T", "124", "32",
730 "MKK", "5G", "20M", "HT", "1T", "124", "32",
731 "FCC", "5G", "20M", "HT", "1T", "128", "32",
732 "ETSI", "5G", "20M", "HT", "1T", "128", "32",
733 "MKK", "5G", "20M", "HT", "1T", "128", "32",
734 "FCC", "5G", "20M", "HT", "1T", "132", "30",
735 "ETSI", "5G", "20M", "HT", "1T", "132", "32",
736 "MKK", "5G", "20M", "HT", "1T", "132", "32",
737 "FCC", "5G", "20M", "HT", "1T", "136", "30",
738 "ETSI", "5G", "20M", "HT", "1T", "136", "32",
739 "MKK", "5G", "20M", "HT", "1T", "136", "32",
740 "FCC", "5G", "20M", "HT", "1T", "140", "28",
741 "ETSI", "5G", "20M", "HT", "1T", "140", "32",
742 "MKK", "5G", "20M", "HT", "1T", "140", "32",
743 "FCC", "5G", "20M", "HT", "1T", "149", "34",
744 "ETSI", "5G", "20M", "HT", "1T", "149", "32",
745 "MKK", "5G", "20M", "HT", "1T", "149", "63",
746 "FCC", "5G", "20M", "HT", "1T", "153", "34",
747 "ETSI", "5G", "20M", "HT", "1T", "153", "32",
748 "MKK", "5G", "20M", "HT", "1T", "153", "63",
749 "FCC", "5G", "20M", "HT", "1T", "157", "34",
750 "ETSI", "5G", "20M", "HT", "1T", "157", "32",
751 "MKK", "5G", "20M", "HT", "1T", "157", "63",
752 "FCC", "5G", "20M", "HT", "1T", "161", "34",
753 "ETSI", "5G", "20M", "HT", "1T", "161", "32",
754 "MKK", "5G", "20M", "HT", "1T", "161", "63",
755 "FCC", "5G", "20M", "HT", "1T", "165", "34",
756 "ETSI", "5G", "20M", "HT", "1T", "165", "32",
757 "MKK", "5G", "20M", "HT", "1T", "165", "63",
758 "FCC", "5G", "20M", "HT", "2T", "36", "28",
759 "ETSI", "5G", "20M", "HT", "2T", "36", "30",
760 "MKK", "5G", "20M", "HT", "2T", "36", "30",
761 "FCC", "5G", "20M", "HT", "2T", "40", "28",
762 "ETSI", "5G", "20M", "HT", "2T", "40", "30",
763 "MKK", "5G", "20M", "HT", "2T", "40", "30",
764 "FCC", "5G", "20M", "HT", "2T", "44", "28",
765 "ETSI", "5G", "20M", "HT", "2T", "44", "30",
766 "MKK", "5G", "20M", "HT", "2T", "44", "30",
767 "FCC", "5G", "20M", "HT", "2T", "48", "28",
768 "ETSI", "5G", "20M", "HT", "2T", "48", "30",
769 "MKK", "5G", "20M", "HT", "2T", "48", "30",
770 "FCC", "5G", "20M", "HT", "2T", "52", "34",
771 "ETSI", "5G", "20M", "HT", "2T", "52", "30",
772 "MKK", "5G", "20M", "HT", "2T", "52", "30",
773 "FCC", "5G", "20M", "HT", "2T", "56", "32",
774 "ETSI", "5G", "20M", "HT", "2T", "56", "30",
775 "MKK", "5G", "20M", "HT", "2T", "56", "30",
776 "FCC", "5G", "20M", "HT", "2T", "60", "30",
777 "ETSI", "5G", "20M", "HT", "2T", "60", "30",
778 "MKK", "5G", "20M", "HT", "2T", "60", "30",
779 "FCC", "5G", "20M", "HT", "2T", "64", "26",
780 "ETSI", "5G", "20M", "HT", "2T", "64", "30",
781 "MKK", "5G", "20M", "HT", "2T", "64", "30",
782 "FCC", "5G", "20M", "HT", "2T", "100", "28",
783 "ETSI", "5G", "20M", "HT", "2T", "100", "30",
784 "MKK", "5G", "20M", "HT", "2T", "100", "30",
785 "FCC", "5G", "20M", "HT", "2T", "114", "28",
786 "ETSI", "5G", "20M", "HT", "2T", "114", "30",
787 "MKK", "5G", "20M", "HT", "2T", "114", "30",
788 "FCC", "5G", "20M", "HT", "2T", "108", "30",
789 "ETSI", "5G", "20M", "HT", "2T", "108", "30",
790 "MKK", "5G", "20M", "HT", "2T", "108", "30",
791 "FCC", "5G", "20M", "HT", "2T", "112", "32",
792 "ETSI", "5G", "20M", "HT", "2T", "112", "30",
793 "MKK", "5G", "20M", "HT", "2T", "112", "30",
794 "FCC", "5G", "20M", "HT", "2T", "116", "32",
795 "ETSI", "5G", "20M", "HT", "2T", "116", "30",
796 "MKK", "5G", "20M", "HT", "2T", "116", "30",
797 "FCC", "5G", "20M", "HT", "2T", "120", "34",
798 "ETSI", "5G", "20M", "HT", "2T", "120", "30",
799 "MKK", "5G", "20M", "HT", "2T", "120", "30",
800 "FCC", "5G", "20M", "HT", "2T", "124", "32",
801 "ETSI", "5G", "20M", "HT", "2T", "124", "30",
802 "MKK", "5G", "20M", "HT", "2T", "124", "30",
803 "FCC", "5G", "20M", "HT", "2T", "128", "30",
804 "ETSI", "5G", "20M", "HT", "2T", "128", "30",
805 "MKK", "5G", "20M", "HT", "2T", "128", "30",
806 "FCC", "5G", "20M", "HT", "2T", "132", "28",
807 "ETSI", "5G", "20M", "HT", "2T", "132", "30",
808 "MKK", "5G", "20M", "HT", "2T", "132", "30",
809 "FCC", "5G", "20M", "HT", "2T", "136", "28",
810 "ETSI", "5G", "20M", "HT", "2T", "136", "30",
811 "MKK", "5G", "20M", "HT", "2T", "136", "30",
812 "FCC", "5G", "20M", "HT", "2T", "140", "26",
813 "ETSI", "5G", "20M", "HT", "2T", "140", "30",
814 "MKK", "5G", "20M", "HT", "2T", "140", "30",
815 "FCC", "5G", "20M", "HT", "2T", "149", "34",
816 "ETSI", "5G", "20M", "HT", "2T", "149", "30",
817 "MKK", "5G", "20M", "HT", "2T", "149", "63",
818 "FCC", "5G", "20M", "HT", "2T", "153", "34",
819 "ETSI", "5G", "20M", "HT", "2T", "153", "30",
820 "MKK", "5G", "20M", "HT", "2T", "153", "63",
821 "FCC", "5G", "20M", "HT", "2T", "157", "34",
822 "ETSI", "5G", "20M", "HT", "2T", "157", "30",
823 "MKK", "5G", "20M", "HT", "2T", "157", "63",
824 "FCC", "5G", "20M", "HT", "2T", "161", "34",
825 "ETSI", "5G", "20M", "HT", "2T", "161", "30",
826 "MKK", "5G", "20M", "HT", "2T", "161", "63",
827 "FCC", "5G", "20M", "HT", "2T", "165", "34",
828 "ETSI", "5G", "20M", "HT", "2T", "165", "30",
829 "MKK", "5G", "20M", "HT", "2T", "165", "63",
830 "FCC", "5G", "40M", "HT", "1T", "38", "30",
831 "ETSI", "5G", "40M", "HT", "1T", "38", "32",
832 "MKK", "5G", "40M", "HT", "1T", "38", "32",
833 "FCC", "5G", "40M", "HT", "1T", "46", "30",
834 "ETSI", "5G", "40M", "HT", "1T", "46", "32",
835 "MKK", "5G", "40M", "HT", "1T", "46", "32",
836 "FCC", "5G", "40M", "HT", "1T", "54", "32",
837 "ETSI", "5G", "40M", "HT", "1T", "54", "32",
838 "MKK", "5G", "40M", "HT", "1T", "54", "32",
839 "FCC", "5G", "40M", "HT", "1T", "62", "32",
840 "ETSI", "5G", "40M", "HT", "1T", "62", "32",
841 "MKK", "5G", "40M", "HT", "1T", "62", "32",
842 "FCC", "5G", "40M", "HT", "1T", "102", "28",
843 "ETSI", "5G", "40M", "HT", "1T", "102", "32",
844 "MKK", "5G", "40M", "HT", "1T", "102", "32",
845 "FCC", "5G", "40M", "HT", "1T", "110", "32",
846 "ETSI", "5G", "40M", "HT", "1T", "110", "32",
847 "MKK", "5G", "40M", "HT", "1T", "110", "32",
848 "FCC", "5G", "40M", "HT", "1T", "118", "34",
849 "ETSI", "5G", "40M", "HT", "1T", "118", "32",
850 "MKK", "5G", "40M", "HT", "1T", "118", "32",
851 "FCC", "5G", "40M", "HT", "1T", "126", "34",
852 "ETSI", "5G", "40M", "HT", "1T", "126", "32",
853 "MKK", "5G", "40M", "HT", "1T", "126", "32",
854 "FCC", "5G", "40M", "HT", "1T", "134", "32",
855 "ETSI", "5G", "40M", "HT", "1T", "134", "32",
856 "MKK", "5G", "40M", "HT", "1T", "134", "32",
857 "FCC", "5G", "40M", "HT", "1T", "151", "34",
858 "ETSI", "5G", "40M", "HT", "1T", "151", "32",
859 "MKK", "5G", "40M", "HT", "1T", "151", "63",
860 "FCC", "5G", "40M", "HT", "1T", "159", "34",
861 "ETSI", "5G", "40M", "HT", "1T", "159", "32",
862 "MKK", "5G", "40M", "HT", "1T", "159", "63",
863 "FCC", "5G", "40M", "HT", "2T", "38", "28",
864 "ETSI", "5G", "40M", "HT", "2T", "38", "30",
865 "MKK", "5G", "40M", "HT", "2T", "38", "30",
866 "FCC", "5G", "40M", "HT", "2T", "46", "28",
867 "ETSI", "5G", "40M", "HT", "2T", "46", "30",
868 "MKK", "5G", "40M", "HT", "2T", "46", "30",
869 "FCC", "5G", "40M", "HT", "2T", "54", "30",
870 "ETSI", "5G", "40M", "HT", "2T", "54", "30",
871 "MKK", "5G", "40M", "HT", "2T", "54", "30",
872 "FCC", "5G", "40M", "HT", "2T", "62", "30",
873 "ETSI", "5G", "40M", "HT", "2T", "62", "30",
874 "MKK", "5G", "40M", "HT", "2T", "62", "30",
875 "FCC", "5G", "40M", "HT", "2T", "102", "26",
876 "ETSI", "5G", "40M", "HT", "2T", "102", "30",
877 "MKK", "5G", "40M", "HT", "2T", "102", "30",
878 "FCC", "5G", "40M", "HT", "2T", "110", "30",
879 "ETSI", "5G", "40M", "HT", "2T", "110", "30",
880 "MKK", "5G", "40M", "HT", "2T", "110", "30",
881 "FCC", "5G", "40M", "HT", "2T", "118", "34",
882 "ETSI", "5G", "40M", "HT", "2T", "118", "30",
883 "MKK", "5G", "40M", "HT", "2T", "118", "30",
884 "FCC", "5G", "40M", "HT", "2T", "126", "32",
885 "ETSI", "5G", "40M", "HT", "2T", "126", "30",
886 "MKK", "5G", "40M", "HT", "2T", "126", "30",
887 "FCC", "5G", "40M", "HT", "2T", "134", "30",
888 "ETSI", "5G", "40M", "HT", "2T", "134", "30",
889 "MKK", "5G", "40M", "HT", "2T", "134", "30",
890 "FCC", "5G", "40M", "HT", "2T", "151", "34",
891 "ETSI", "5G", "40M", "HT", "2T", "151", "30",
892 "MKK", "5G", "40M", "HT", "2T", "151", "63",
893 "FCC", "5G", "40M", "HT", "2T", "159", "34",
894 "ETSI", "5G", "40M", "HT", "2T", "159", "30",
895 "MKK", "5G", "40M", "HT", "2T", "159", "63",
896 "FCC", "5G", "80M", "VHT", "1T", "42", "30",
897 "ETSI", "5G", "80M", "VHT", "1T", "42", "32",
898 "MKK", "5G", "80M", "VHT", "1T", "42", "32",
899 "FCC", "5G", "80M", "VHT", "1T", "58", "28",
900 "ETSI", "5G", "80M", "VHT", "1T", "58", "32",
901 "MKK", "5G", "80M", "VHT", "1T", "58", "32",
902 "FCC", "5G", "80M", "VHT", "1T", "106", "30",
903 "ETSI", "5G", "80M", "VHT", "1T", "106", "32",
904 "MKK", "5G", "80M", "VHT", "1T", "106", "32",
905 "FCC", "5G", "80M", "VHT", "1T", "122", "34",
906 "ETSI", "5G", "80M", "VHT", "1T", "122", "32",
907 "MKK", "5G", "80M", "VHT", "1T", "122", "32",
908 "FCC", "5G", "80M", "VHT", "1T", "155", "34",
909 "ETSI", "5G", "80M", "VHT", "1T", "155", "32",
910 "MKK", "5G", "80M", "VHT", "1T", "155", "63",
911 "FCC", "5G", "80M", "VHT", "2T", "42", "28",
912 "ETSI", "5G", "80M", "VHT", "2T", "42", "30",
913 "MKK", "5G", "80M", "VHT", "2T", "42", "30",
914 "FCC", "5G", "80M", "VHT", "2T", "58", "26",
915 "ETSI", "5G", "80M", "VHT", "2T", "58", "30",
916 "MKK", "5G", "80M", "VHT", "2T", "58", "30",
917 "FCC", "5G", "80M", "VHT", "2T", "106", "28",
918 "ETSI", "5G", "80M", "VHT", "2T", "106", "30",
919 "MKK", "5G", "80M", "VHT", "2T", "106", "30",
920 "FCC", "5G", "80M", "VHT", "2T", "122", "32",
921 "ETSI", "5G", "80M", "VHT", "2T", "122", "30",
922 "MKK", "5G", "80M", "VHT", "2T", "122", "30",
923 "FCC", "5G", "80M", "VHT", "2T", "155", "34",
924 "ETSI", "5G", "80M", "VHT", "2T", "155", "30",
925 "MKK", "5G", "80M", "VHT", "2T", "155", "63"
926 };
927
928 void
odm_read_and_config_mp_8703b_txpwr_lmt(struct dm_struct * dm)929 odm_read_and_config_mp_8703b_txpwr_lmt(struct dm_struct *dm)
930 {
931 u32 i = 0;
932 #if (DM_ODM_SUPPORT_TYPE == ODM_IOT)
933 u32 array_len = sizeof(array_mp_8703b_txpwr_lmt) / sizeof(u8);
934 u8 *array = (u8 *)array_mp_8703b_txpwr_lmt;
935 #else
936 u32 array_len = sizeof(array_mp_8703b_txpwr_lmt) / sizeof(u8 *);
937 u8 **array = (u8 **)array_mp_8703b_txpwr_lmt;
938 #endif
939
940 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
941 void *adapter = dm->adapter;
942 HAL_DATA_TYPE *hal_data = GET_HAL_DATA(((PADAPTER)adapter));
943
944 PlatformZeroMemory(hal_data->BufOfLinesPwrLmt, MAX_LINES_HWCONFIG_TXT * MAX_BYTES_LINE_HWCONFIG_TXT);
945 hal_data->nLinesReadPwrLmt = array_len / 7;
946 #endif
947
948 PHYDM_DBG(dm, ODM_COMP_INIT, "===> %s\n", __func__);
949
950 for (i = 0; i < array_len; i += 7) {
951 #if (DM_ODM_SUPPORT_TYPE == ODM_IOT)
952 u8 regulation = array[i];
953 u8 band = array[i + 1];
954 u8 bandwidth = array[i + 2];
955 u8 rate = array[i + 3];
956 u8 rf_path = array[i + 4];
957 u8 chnl = array[i + 5];
958 u8 val = array[i + 6];
959 #else
960 u8 *regulation = array[i];
961 u8 *band = array[i + 1];
962 u8 *bandwidth = array[i + 2];
963 u8 *rate = array[i + 3];
964 u8 *rf_path = array[i + 4];
965 u8 *chnl = array[i + 5];
966 u8 *val = array[i + 6];
967 #endif
968
969 odm_config_bb_txpwr_lmt_8703b(dm, regulation, band, bandwidth, rate, rf_path, chnl, val);
970 #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
971 rsprintf((char *)hal_data->BufOfLinesPwrLmt[i / 7], 100, "\"%s\", \"%s\", \"%s\", \"%s\", \"%s\", \"%s\", \"%s\",",
972 regulation, band, bandwidth, rate, rf_path, chnl, val);
973 #endif
974 }
975 }
976
977 /******************************************************************************
978 * txxtaltrack.TXT
979 ******************************************************************************/
980
981 s8 g_delta_swing_table_xtal_mp_n_txxtaltrack_8703b[] = {0, 0, 0, -1, -1, -1, -1, -2, -2, -2, -3, -3, -3, -3, -3, -4, -2, -2, -1, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1};
982 s8 g_delta_swing_table_xtal_mp_p_txxtaltrack_8703b[] = {0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 1, 0, -1, -1, -1, -2, -3, -7, -9, -10, -11, -14, -16, -18, -20, -22, -24, -26, -28, -30};
983
984 void
odm_read_and_config_mp_8703b_txxtaltrack(struct dm_struct * dm)985 odm_read_and_config_mp_8703b_txxtaltrack(struct dm_struct *dm)
986 {
987 struct dm_rf_calibration_struct *cali_info = &(dm->rf_calibrate_info);
988
989 PHYDM_DBG(dm, ODM_COMP_INIT, "===> ODM_ReadAndConfig_MP_mp_8703b\n");
990
991
992 odm_move_memory(dm, cali_info->delta_swing_table_xtal_p, g_delta_swing_table_xtal_mp_p_txxtaltrack_8703b, DELTA_SWINGIDX_SIZE);
993 odm_move_memory(dm, cali_info->delta_swing_table_xtal_n, g_delta_swing_table_xtal_mp_n_txxtaltrack_8703b, DELTA_SWINGIDX_SIZE);
994 }
995
996 #endif /* end of HWIMG_SUPPORT*/
997
998