HalHWImg8821A_RF.c 61 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509
  1. /******************************************************************************
  2. *
  3. * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  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. * You should have received a copy of the GNU General Public License along with
  15. * this program; if not, write to the Free Software Foundation, Inc.,
  16. * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
  17. *
  18. *
  19. ******************************************************************************/
  20. //#include "Mp_Precomp.h"
  21. #include "../odm_precomp.h"
  22. #if (RTL8821A_SUPPORT == 1)
  23. static BOOLEAN
  24. CheckCondition(
  25. const u4Byte Condition,
  26. const u4Byte Hex
  27. )
  28. {
  29. u4Byte _board = (Hex & 0x000000FF);
  30. u4Byte _interface = (Hex & 0x0000FF00) >> 8;
  31. u4Byte _platform = (Hex & 0x00FF0000) >> 16;
  32. u4Byte cond = Condition;
  33. if ( Condition == 0xCDCDCDCD )
  34. return TRUE;
  35. cond = Condition & 0x000000FF;
  36. if ( (_board != cond) && (cond != 0xFF) )
  37. return FALSE;
  38. cond = Condition & 0x0000FF00;
  39. cond = cond >> 8;
  40. if ( ((_interface & cond) == 0) && (cond != 0x07) )
  41. return FALSE;
  42. cond = Condition & 0x00FF0000;
  43. cond = cond >> 16;
  44. if ( ((_platform & cond) == 0) && (cond != 0x0F) )
  45. return FALSE;
  46. return TRUE;
  47. }
  48. /******************************************************************************
  49. * RadioA.TXT
  50. ******************************************************************************/
  51. u4Byte Array_MP_8821A_RadioA[] = {
  52. 0x018, 0x0001712A,
  53. 0x056, 0x00051CF2,
  54. 0x066, 0x00040000,
  55. 0x000, 0x00010000,
  56. 0x01E, 0x00080000,
  57. 0x082, 0x00000830,
  58. 0x083, 0x00021800,
  59. 0x084, 0x00028000,
  60. 0x085, 0x00048000,
  61. 0x086, 0x00094838,
  62. 0x087, 0x00044980,
  63. 0x088, 0x00048000,
  64. 0x089, 0x0000D480,
  65. 0x08A, 0x00042240,
  66. 0x08B, 0x000F0380,
  67. 0x08C, 0x00090000,
  68. 0x08D, 0x00022852,
  69. 0x08E, 0x00065540,
  70. 0x08F, 0x00088001,
  71. 0x0EF, 0x00020000,
  72. 0x03E, 0x00000380,
  73. 0x03F, 0x00090018,
  74. 0x03E, 0x00020380,
  75. 0x03F, 0x000A0018,
  76. 0x03E, 0x00040308,
  77. 0x03F, 0x000A0018,
  78. 0x03E, 0x00060018,
  79. 0x03F, 0x000A0018,
  80. 0x0EF, 0x00000000,
  81. 0x018, 0x0001712A,
  82. 0x089, 0x00000080,
  83. 0x08B, 0x00080180,
  84. 0x0EF, 0x00001000,
  85. 0x03A, 0x00000244,
  86. 0x03B, 0x00038027,
  87. 0x03C, 0x00082000,
  88. 0x03A, 0x00000244,
  89. 0x03B, 0x00030113,
  90. 0x03C, 0x00082000,
  91. 0x03A, 0x0000014C,
  92. 0x03B, 0x00028027,
  93. 0x03C, 0x00082000,
  94. 0x03A, 0x000000CC,
  95. 0x03B, 0x00027027,
  96. 0x03C, 0x00042000,
  97. 0x03A, 0x0000014C,
  98. 0x03B, 0x0001F913,
  99. 0x03C, 0x00042000,
  100. 0x03A, 0x0000010C,
  101. 0x03B, 0x00017F10,
  102. 0x03C, 0x00012000,
  103. 0x03A, 0x000000D0,
  104. 0x03B, 0x00008027,
  105. 0x03C, 0x000CA000,
  106. 0x03A, 0x00000244,
  107. 0x03B, 0x00078027,
  108. 0x03C, 0x00082000,
  109. 0x03A, 0x00000244,
  110. 0x03B, 0x00070113,
  111. 0x03C, 0x00082000,
  112. 0x03A, 0x0000014C,
  113. 0x03B, 0x00068027,
  114. 0x03C, 0x00082000,
  115. 0x03A, 0x000000CC,
  116. 0x03B, 0x00067027,
  117. 0x03C, 0x00042000,
  118. 0x03A, 0x0000014C,
  119. 0x03B, 0x0005F913,
  120. 0x03C, 0x00042000,
  121. 0x03A, 0x0000010C,
  122. 0x03B, 0x00057F10,
  123. 0x03C, 0x00012000,
  124. 0x03A, 0x000000D0,
  125. 0x03B, 0x00048027,
  126. 0x03C, 0x000CA000,
  127. 0x03A, 0x00000244,
  128. 0x03B, 0x000B8027,
  129. 0x03C, 0x00082000,
  130. 0x03A, 0x00000244,
  131. 0x03B, 0x000B0113,
  132. 0x03C, 0x00082000,
  133. 0x03A, 0x0000014C,
  134. 0x03B, 0x000A8027,
  135. 0x03C, 0x00082000,
  136. 0x03A, 0x000000CC,
  137. 0x03B, 0x000A7027,
  138. 0x03C, 0x00042000,
  139. 0x03A, 0x0000014C,
  140. 0x03B, 0x0009F913,
  141. 0x03C, 0x00042000,
  142. 0x03A, 0x0000010C,
  143. 0x03B, 0x00097F10,
  144. 0x03C, 0x00012000,
  145. 0x03A, 0x000000D0,
  146. 0x03B, 0x00088027,
  147. 0x03C, 0x000CA000,
  148. 0x0EF, 0x00000000,
  149. 0x0EF, 0x00001100,
  150. 0xFF0F0104, 0xABCD,
  151. 0x034, 0x0004ADF3,
  152. 0x034, 0x00049DF0,
  153. 0xFF0F0204, 0xCDEF,
  154. 0x034, 0x0004ADF3,
  155. 0x034, 0x00049DF0,
  156. 0xFF0F0404, 0xCDEF,
  157. 0x034, 0x0004ADF3,
  158. 0x034, 0x00049DF0,
  159. 0xFF0F0200, 0xCDEF,
  160. 0x034, 0x0004ADF5,
  161. 0x034, 0x00049DF2,
  162. 0xFF0F02C0, 0xCDEF,
  163. 0x034, 0x0004A0F3,
  164. 0x034, 0x000490B1,
  165. 0xCDCDCDCD, 0xCDCD,
  166. 0x034, 0x0004ADF7,
  167. 0x034, 0x00049DF3,
  168. 0xFF0F0104, 0xDEAD,
  169. 0xFF0F0104, 0xABCD,
  170. 0x034, 0x00048DED,
  171. 0x034, 0x00047DEA,
  172. 0x034, 0x00046DE7,
  173. 0x034, 0x00045CE9,
  174. 0x034, 0x00044CE6,
  175. 0x034, 0x000438C6,
  176. 0x034, 0x00042886,
  177. 0x034, 0x00041486,
  178. 0x034, 0x00040447,
  179. 0xFF0F0204, 0xCDEF,
  180. 0x034, 0x00048DED,
  181. 0x034, 0x00047DEA,
  182. 0x034, 0x00046DE7,
  183. 0x034, 0x00045CE9,
  184. 0x034, 0x00044CE6,
  185. 0x034, 0x000438C6,
  186. 0x034, 0x00042886,
  187. 0x034, 0x00041486,
  188. 0x034, 0x00040447,
  189. 0xFF0F0404, 0xCDEF,
  190. 0x034, 0x00048DED,
  191. 0x034, 0x00047DEA,
  192. 0x034, 0x00046DE7,
  193. 0x034, 0x00045CE9,
  194. 0x034, 0x00044CE6,
  195. 0x034, 0x000438C6,
  196. 0x034, 0x00042886,
  197. 0x034, 0x00041486,
  198. 0x034, 0x00040447,
  199. 0xFF0F02C0, 0xCDEF,
  200. 0x034, 0x000480AE,
  201. 0x034, 0x000470AB,
  202. 0x034, 0x0004608B,
  203. 0x034, 0x00045069,
  204. 0x034, 0x00044048,
  205. 0x034, 0x00043045,
  206. 0x034, 0x00042026,
  207. 0x034, 0x00041023,
  208. 0x034, 0x00040002,
  209. 0xCDCDCDCD, 0xCDCD,
  210. 0x034, 0x00048DEF,
  211. 0x034, 0x00047DEC,
  212. 0x034, 0x00046DE9,
  213. 0x034, 0x00045CCB,
  214. 0x034, 0x0004488D,
  215. 0x034, 0x0004348D,
  216. 0x034, 0x0004248A,
  217. 0x034, 0x0004108D,
  218. 0x034, 0x0004008A,
  219. 0xFF0F0104, 0xDEAD,
  220. 0xFF0F0200, 0xABCD,
  221. 0x034, 0x0002ADF4,
  222. 0xFF0F02C0, 0xCDEF,
  223. 0x034, 0x0002A0F3,
  224. 0xCDCDCDCD, 0xCDCD,
  225. 0x034, 0x0002ADF7,
  226. 0xFF0F0200, 0xDEAD,
  227. 0xFF0F0104, 0xABCD,
  228. 0x034, 0x00029DF4,
  229. 0xFF0F0204, 0xCDEF,
  230. 0x034, 0x00029DF4,
  231. 0xFF0F0404, 0xCDEF,
  232. 0x034, 0x00029DF4,
  233. 0xFF0F0200, 0xCDEF,
  234. 0x034, 0x00029DF1,
  235. 0xFF0F02C0, 0xCDEF,
  236. 0x034, 0x000290F0,
  237. 0xCDCDCDCD, 0xCDCD,
  238. 0x034, 0x00029DF2,
  239. 0xFF0F0104, 0xDEAD,
  240. 0xFF0F0104, 0xABCD,
  241. 0x034, 0x00028DF1,
  242. 0x034, 0x00027DEE,
  243. 0x034, 0x00026DEB,
  244. 0x034, 0x00025CEC,
  245. 0x034, 0x00024CE9,
  246. 0x034, 0x000238CA,
  247. 0x034, 0x00022889,
  248. 0x034, 0x00021489,
  249. 0x034, 0x0002044A,
  250. 0xFF0F0204, 0xCDEF,
  251. 0x034, 0x00028DF1,
  252. 0x034, 0x00027DEE,
  253. 0x034, 0x00026DEB,
  254. 0x034, 0x00025CEC,
  255. 0x034, 0x00024CE9,
  256. 0x034, 0x000238CA,
  257. 0x034, 0x00022889,
  258. 0x034, 0x00021489,
  259. 0x034, 0x0002044A,
  260. 0xFF0F0404, 0xCDEF,
  261. 0x034, 0x00028DF1,
  262. 0x034, 0x00027DEE,
  263. 0x034, 0x00026DEB,
  264. 0x034, 0x00025CEC,
  265. 0x034, 0x00024CE9,
  266. 0x034, 0x000238CA,
  267. 0x034, 0x00022889,
  268. 0x034, 0x00021489,
  269. 0x034, 0x0002044A,
  270. 0xFF0F02C0, 0xCDEF,
  271. 0x034, 0x000280AF,
  272. 0x034, 0x000270AC,
  273. 0x034, 0x0002608B,
  274. 0x034, 0x00025069,
  275. 0x034, 0x00024048,
  276. 0x034, 0x00023045,
  277. 0x034, 0x00022026,
  278. 0x034, 0x00021023,
  279. 0x034, 0x00020002,
  280. 0xCDCDCDCD, 0xCDCD,
  281. 0x034, 0x00028DEE,
  282. 0x034, 0x00027DEB,
  283. 0x034, 0x00026CCD,
  284. 0x034, 0x00025CCA,
  285. 0x034, 0x0002488C,
  286. 0x034, 0x0002384C,
  287. 0x034, 0x00022849,
  288. 0x034, 0x00021449,
  289. 0x034, 0x0002004D,
  290. 0xFF0F0104, 0xDEAD,
  291. 0xFF0F02C0, 0xABCD,
  292. 0x034, 0x0000A0D7,
  293. 0x034, 0x000090D3,
  294. 0x034, 0x000080B1,
  295. 0x034, 0x000070AE,
  296. 0xCDCDCDCD, 0xCDCD,
  297. 0x034, 0x0000ADF7,
  298. 0x034, 0x00009DF4,
  299. 0x034, 0x00008DF1,
  300. 0x034, 0x00007DEE,
  301. 0xFF0F02C0, 0xDEAD,
  302. 0xFF0F0104, 0xABCD,
  303. 0x034, 0x00006DEB,
  304. 0x034, 0x00005CEC,
  305. 0x034, 0x00004CE9,
  306. 0x034, 0x000038CA,
  307. 0x034, 0x00002889,
  308. 0x034, 0x00001489,
  309. 0x034, 0x0000044A,
  310. 0xFF0F0204, 0xCDEF,
  311. 0x034, 0x00006DEB,
  312. 0x034, 0x00005CEC,
  313. 0x034, 0x00004CE9,
  314. 0x034, 0x000038CA,
  315. 0x034, 0x00002889,
  316. 0x034, 0x00001489,
  317. 0x034, 0x0000044A,
  318. 0xFF0F0404, 0xCDEF,
  319. 0x034, 0x00006DEB,
  320. 0x034, 0x00005CEC,
  321. 0x034, 0x00004CE9,
  322. 0x034, 0x000038CA,
  323. 0x034, 0x00002889,
  324. 0x034, 0x00001489,
  325. 0x034, 0x0000044A,
  326. 0xFF0F02C0, 0xCDEF,
  327. 0x034, 0x0000608D,
  328. 0x034, 0x0000506B,
  329. 0x034, 0x0000404A,
  330. 0x034, 0x00003047,
  331. 0x034, 0x00002044,
  332. 0x034, 0x00001025,
  333. 0x034, 0x00000004,
  334. 0xCDCDCDCD, 0xCDCD,
  335. 0x034, 0x00006DCD,
  336. 0x034, 0x00005CCD,
  337. 0x034, 0x00004CCA,
  338. 0x034, 0x0000388C,
  339. 0x034, 0x00002888,
  340. 0x034, 0x00001488,
  341. 0x034, 0x00000486,
  342. 0xFF0F0104, 0xDEAD,
  343. 0x0EF, 0x00000000,
  344. 0x018, 0x0001712A,
  345. 0x0EF, 0x00000040,
  346. 0xFF0F0104, 0xABCD,
  347. 0x035, 0x00000187,
  348. 0x035, 0x00008187,
  349. 0x035, 0x00010187,
  350. 0x035, 0x00020188,
  351. 0x035, 0x00028188,
  352. 0x035, 0x00030188,
  353. 0x035, 0x00040188,
  354. 0x035, 0x00048188,
  355. 0x035, 0x00050188,
  356. 0xFF0F0204, 0xCDEF,
  357. 0x035, 0x00000187,
  358. 0x035, 0x00008187,
  359. 0x035, 0x00010187,
  360. 0x035, 0x00020188,
  361. 0x035, 0x00028188,
  362. 0x035, 0x00030188,
  363. 0x035, 0x00040188,
  364. 0x035, 0x00048188,
  365. 0x035, 0x00050188,
  366. 0xFF0F0404, 0xCDEF,
  367. 0x035, 0x00000187,
  368. 0x035, 0x00008187,
  369. 0x035, 0x00010187,
  370. 0x035, 0x00020188,
  371. 0x035, 0x00028188,
  372. 0x035, 0x00030188,
  373. 0x035, 0x00040188,
  374. 0x035, 0x00048188,
  375. 0x035, 0x00050188,
  376. 0xCDCDCDCD, 0xCDCD,
  377. 0x035, 0x00000145,
  378. 0x035, 0x00008145,
  379. 0x035, 0x00010145,
  380. 0x035, 0x00020196,
  381. 0x035, 0x00028196,
  382. 0x035, 0x00030196,
  383. 0x035, 0x000401C7,
  384. 0x035, 0x000481C7,
  385. 0x035, 0x000501C7,
  386. 0xFF0F0104, 0xDEAD,
  387. 0x0EF, 0x00000000,
  388. 0x018, 0x0001712A,
  389. 0x0EF, 0x00000010,
  390. 0xFF0F0104, 0xABCD,
  391. 0x036, 0x00085733,
  392. 0x036, 0x0008D733,
  393. 0x036, 0x00095733,
  394. 0x036, 0x0009D733,
  395. 0x036, 0x000A64B4,
  396. 0x036, 0x000AE4B4,
  397. 0x036, 0x000B64B4,
  398. 0x036, 0x000BE4B4,
  399. 0x036, 0x000C64B4,
  400. 0x036, 0x000CE4B4,
  401. 0x036, 0x000D64B4,
  402. 0x036, 0x000DE4B4,
  403. 0xFF0F0204, 0xCDEF,
  404. 0x036, 0x00085733,
  405. 0x036, 0x0008D733,
  406. 0x036, 0x00095733,
  407. 0x036, 0x0009D733,
  408. 0x036, 0x000A64B4,
  409. 0x036, 0x000AE4B4,
  410. 0x036, 0x000B64B4,
  411. 0x036, 0x000BE4B4,
  412. 0x036, 0x000C64B4,
  413. 0x036, 0x000CE4B4,
  414. 0x036, 0x000D64B4,
  415. 0x036, 0x000DE4B4,
  416. 0xFF0F0404, 0xCDEF,
  417. 0x036, 0x00085733,
  418. 0x036, 0x0008D733,
  419. 0x036, 0x00095733,
  420. 0x036, 0x0009D733,
  421. 0x036, 0x000A64B4,
  422. 0x036, 0x000AE4B4,
  423. 0x036, 0x000B64B4,
  424. 0x036, 0x000BE4B4,
  425. 0x036, 0x000C64B4,
  426. 0x036, 0x000CE4B4,
  427. 0x036, 0x000D64B4,
  428. 0x036, 0x000DE4B4,
  429. 0xCDCDCDCD, 0xCDCD,
  430. 0x036, 0x000056B3,
  431. 0x036, 0x0000D6B3,
  432. 0x036, 0x000156B3,
  433. 0x036, 0x0001D6B3,
  434. 0x036, 0x00026634,
  435. 0x036, 0x0002E634,
  436. 0x036, 0x00036634,
  437. 0x036, 0x0003E634,
  438. 0x036, 0x000467B4,
  439. 0x036, 0x0004E7B4,
  440. 0x036, 0x000567B4,
  441. 0x036, 0x0005E7B4,
  442. 0xFF0F0104, 0xDEAD,
  443. 0x0EF, 0x00000000,
  444. 0x0EF, 0x00000008,
  445. 0xFF0F0104, 0xABCD,
  446. 0x03C, 0x000001C8,
  447. 0x03C, 0x00000492,
  448. 0xFF0F0204, 0xCDEF,
  449. 0x03C, 0x000001C8,
  450. 0x03C, 0x00000492,
  451. 0xFF0F0404, 0xCDEF,
  452. 0x03C, 0x000001C8,
  453. 0x03C, 0x00000492,
  454. 0xCDCDCDCD, 0xCDCD,
  455. 0x03C, 0x0000022A,
  456. 0x03C, 0x00000594,
  457. 0xFF0F0104, 0xDEAD,
  458. 0xFF0F0104, 0xABCD,
  459. 0x03C, 0x00000800,
  460. 0xFF0F0204, 0xCDEF,
  461. 0x03C, 0x00000800,
  462. 0xFF0F0404, 0xCDEF,
  463. 0x03C, 0x00000800,
  464. 0xFF0F02C0, 0xCDEF,
  465. 0x03C, 0x00000820,
  466. 0xCDCDCDCD, 0xCDCD,
  467. 0x03C, 0x00000900,
  468. 0xFF0F0104, 0xDEAD,
  469. 0x0EF, 0x00000000,
  470. 0x018, 0x0001712A,
  471. 0x0EF, 0x00000002,
  472. 0xFF0F0104, 0xABCD,
  473. 0x008, 0x0004E400,
  474. 0xFF0F0204, 0xCDEF,
  475. 0x008, 0x0004E400,
  476. 0xFF0F0404, 0xCDEF,
  477. 0x008, 0x0004E400,
  478. 0xCDCDCDCD, 0xCDCD,
  479. 0x008, 0x00002000,
  480. 0xFF0F0104, 0xDEAD,
  481. 0x0EF, 0x00000000,
  482. 0x0DF, 0x000000C0,
  483. 0x01F, 0x00040064,
  484. 0xFF0F0104, 0xABCD,
  485. 0x058, 0x000A7284,
  486. 0x059, 0x000600EC,
  487. 0xFF0F0204, 0xCDEF,
  488. 0x058, 0x000A7284,
  489. 0x059, 0x000600EC,
  490. 0xFF0F0404, 0xCDEF,
  491. 0x058, 0x000A7284,
  492. 0x059, 0x000600EC,
  493. 0xCDCDCDCD, 0xCDCD,
  494. 0x058, 0x00081184,
  495. 0x059, 0x0006016C,
  496. 0xFF0F0104, 0xDEAD,
  497. 0xFF0F0104, 0xABCD,
  498. 0x061, 0x000E8D73,
  499. 0x062, 0x00093FC5,
  500. 0xFF0F0204, 0xCDEF,
  501. 0x061, 0x000E8D73,
  502. 0x062, 0x00093FC5,
  503. 0xFF0F0404, 0xCDEF,
  504. 0x061, 0x000E8D73,
  505. 0x062, 0x00093FC5,
  506. 0xCDCDCDCD, 0xCDCD,
  507. 0x061, 0x000EAD53,
  508. 0x062, 0x00093BC4,
  509. 0xFF0F0104, 0xDEAD,
  510. 0xFF0F0104, 0xABCD,
  511. 0x063, 0x000110E9,
  512. 0xFF0F0204, 0xCDEF,
  513. 0x063, 0x000110E9,
  514. 0xFF0F0404, 0xCDEF,
  515. 0x063, 0x000110E9,
  516. 0xFF0F0200, 0xCDEF,
  517. 0x063, 0x000710E9,
  518. 0xFF0F02C0, 0xCDEF,
  519. 0x063, 0x000110E9,
  520. 0xCDCDCDCD, 0xCDCD,
  521. 0x063, 0x000714E9,
  522. 0xFF0F0104, 0xDEAD,
  523. 0xFF0F0104, 0xABCD,
  524. 0x064, 0x0001C27C,
  525. 0xFF0F0204, 0xCDEF,
  526. 0x064, 0x0001C27C,
  527. 0xFF0F0404, 0xCDEF,
  528. 0x064, 0x0001C27C,
  529. 0xCDCDCDCD, 0xCDCD,
  530. 0x064, 0x0001C67C,
  531. 0xFF0F0104, 0xDEAD,
  532. 0xFF0F0200, 0xABCD,
  533. 0x065, 0x00093016,
  534. 0xFF0F02C0, 0xCDEF,
  535. 0x065, 0x00093015,
  536. 0xCDCDCDCD, 0xCDCD,
  537. 0x065, 0x00091016,
  538. 0xFF0F0200, 0xDEAD,
  539. 0x018, 0x00000006,
  540. 0x0EF, 0x00002000,
  541. 0x03B, 0x0003824B,
  542. 0x03B, 0x0003024B,
  543. 0x03B, 0x0002884B,
  544. 0x03B, 0x00020F4B,
  545. 0x03B, 0x00018F4B,
  546. 0x03B, 0x000104B2,
  547. 0x03B, 0x00008049,
  548. 0x03B, 0x00000148,
  549. 0x03B, 0x0007824B,
  550. 0x03B, 0x0007024B,
  551. 0x03B, 0x0006824B,
  552. 0x03B, 0x00060F4B,
  553. 0x03B, 0x00058F4B,
  554. 0x03B, 0x000504B2,
  555. 0x03B, 0x00048049,
  556. 0x03B, 0x00040148,
  557. 0x0EF, 0x00000000,
  558. 0x0EF, 0x00000100,
  559. 0x034, 0x0000ADF2,
  560. 0x035, 0x00004800,
  561. 0x034, 0x00009DEF,
  562. 0x035, 0x00003C00,
  563. 0x034, 0x00008DEC,
  564. 0x035, 0x00003000,
  565. 0x034, 0x00007DE9,
  566. 0x035, 0x00002400,
  567. 0x034, 0x00006CEC,
  568. 0x035, 0x00003000,
  569. 0x034, 0x00005CE9,
  570. 0x035, 0x00002400,
  571. 0x034, 0x000044EC,
  572. 0x035, 0x00003000,
  573. 0x034, 0x000034E9,
  574. 0x035, 0x00002400,
  575. 0x034, 0x0000246C,
  576. 0x035, 0x00003000,
  577. 0x034, 0x00001469,
  578. 0x035, 0x00002400,
  579. 0x034, 0x0000006C,
  580. 0x035, 0x00003000,
  581. 0x0EF, 0x00000000,
  582. 0x0ED, 0x00000010,
  583. 0x044, 0x0000ADF2,
  584. 0x044, 0x00009DEF,
  585. 0x044, 0x00008DEC,
  586. 0x044, 0x00007DE9,
  587. 0x044, 0x00006CEC,
  588. 0x044, 0x00005CE9,
  589. 0x044, 0x000044EC,
  590. 0x044, 0x000034E9,
  591. 0x044, 0x0000246C,
  592. 0x044, 0x00001469,
  593. 0x044, 0x0000006C,
  594. 0x0ED, 0x00000000,
  595. 0x0ED, 0x00000001,
  596. 0x040, 0x00038DA7,
  597. 0x040, 0x000300C2,
  598. 0x040, 0x000288E2,
  599. 0x040, 0x000200B8,
  600. 0x040, 0x000188A5,
  601. 0x040, 0x00010FBC,
  602. 0x040, 0x00008F71,
  603. 0x040, 0x00000240,
  604. 0x0ED, 0x00000000,
  605. 0x0EF, 0x000020A2,
  606. 0x0DF, 0x00000080,
  607. 0x035, 0x00000120,
  608. 0x035, 0x00008120,
  609. 0x035, 0x00010120,
  610. 0x036, 0x00000085,
  611. 0x036, 0x00008085,
  612. 0x036, 0x00010085,
  613. 0x036, 0x00018085,
  614. 0x0EF, 0x00000000,
  615. 0x051, 0x00000C31,
  616. 0x052, 0x00000622,
  617. 0x053, 0x000FC70B,
  618. 0x054, 0x0000017E,
  619. 0x056, 0x00051DF3,
  620. 0x051, 0x00000C01,
  621. 0x052, 0x000006D6,
  622. 0x053, 0x000FC649,
  623. 0x070, 0x00049661,
  624. 0x071, 0x0007843E,
  625. 0x072, 0x00000382,
  626. 0x074, 0x00051400,
  627. 0x035, 0x00000160,
  628. 0x035, 0x00008160,
  629. 0x035, 0x00010160,
  630. 0x036, 0x00000124,
  631. 0x036, 0x00008124,
  632. 0x036, 0x00010124,
  633. 0x036, 0x00018124,
  634. 0x0ED, 0x0000000C,
  635. 0x045, 0x00000140,
  636. 0x045, 0x00008140,
  637. 0x045, 0x00010140,
  638. 0x046, 0x00000124,
  639. 0x046, 0x00008124,
  640. 0x046, 0x00010124,
  641. 0x046, 0x00018124,
  642. 0x0DF, 0x00000088,
  643. 0x0B3, 0x000F0E18,
  644. 0x0B4, 0x0001214C,
  645. 0x0B7, 0x0003000C,
  646. 0x01C, 0x000539D2,
  647. 0x018, 0x0001F12A,
  648. 0x0FE, 0x00000000,
  649. 0x0FE, 0x00000000,
  650. 0x018, 0x0001712A,
  651. };
  652. void
  653. ODM_ReadAndConfig_MP_8821A_RadioA(
  654. IN PDM_ODM_T pDM_Odm
  655. )
  656. {
  657. #define READ_NEXT_PAIR(v1, v2, i) do { i += 2; v1 = Array[i]; v2 = Array[i+1]; } while(0)
  658. u4Byte hex = 0;
  659. u4Byte i = 0;
  660. u2Byte count = 0;
  661. pu4Byte ptr_array = NULL;
  662. u1Byte platform = pDM_Odm->SupportPlatform;
  663. u1Byte _interface = pDM_Odm->SupportInterface;
  664. u1Byte board = pDM_Odm->BoardType;
  665. u4Byte ArrayLen = sizeof(Array_MP_8821A_RadioA)/sizeof(u4Byte);
  666. pu4Byte Array = Array_MP_8821A_RadioA;
  667. hex += board;
  668. hex += _interface << 8;
  669. hex += platform << 16;
  670. hex += 0xFF000000;
  671. ODM_RT_TRACE(pDM_Odm, ODM_COMP_INIT, ODM_DBG_TRACE, ("===> ODM_ReadAndConfig_MP_8821A_RadioA, hex = 0x%X\n", hex));
  672. for (i = 0; i < ArrayLen; i += 2 )
  673. {
  674. u4Byte v1 = Array[i];
  675. u4Byte v2 = Array[i+1];
  676. // This (offset, data) pair meets the condition.
  677. if ( v1 < 0xCDCDCDCD )
  678. {
  679. odm_ConfigRF_RadioA_8821A(pDM_Odm, v1, v2);
  680. continue;
  681. }
  682. else
  683. { // This line is the start line of branch.
  684. if ( !CheckCondition(Array[i], hex) )
  685. { // Discard the following (offset, data) pairs.
  686. READ_NEXT_PAIR(v1, v2, i);
  687. while (v2 != 0xDEAD &&
  688. v2 != 0xCDEF &&
  689. v2 != 0xCDCD && i < ArrayLen -2)
  690. {
  691. READ_NEXT_PAIR(v1, v2, i);
  692. }
  693. i -= 2; // prevent from for-loop += 2
  694. }
  695. else // Configure matched pairs and skip to end of if-else.
  696. {
  697. READ_NEXT_PAIR(v1, v2, i);
  698. while (v2 != 0xDEAD &&
  699. v2 != 0xCDEF &&
  700. v2 != 0xCDCD && i < ArrayLen -2)
  701. {
  702. odm_ConfigRF_RadioA_8821A(pDM_Odm, v1, v2);
  703. READ_NEXT_PAIR(v1, v2, i);
  704. }
  705. while (v2 != 0xDEAD && i < ArrayLen -2)
  706. {
  707. READ_NEXT_PAIR(v1, v2, i);
  708. }
  709. }
  710. }
  711. }
  712. }
  713. /******************************************************************************
  714. * TxPowerTrack_AP.TXT
  715. ******************************************************************************/
  716. u1Byte gDeltaSwingTableIdx_MP_5GB_N_TxPowerTrack_AP_8821A[][DELTA_SWINGIDX_SIZE] = {
  717. {0, 1, 1, 2, 2, 3, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 11, 12, 12, 13, 13, 14, 14, 14, 14, 14, 14, 14},
  718. {0, 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9, 10, 11, 12, 12, 13, 14, 15, 15, 16, 17, 18, 18, 19, 19, 20, 20, 20},
  719. {0, 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9, 10, 11, 12, 12, 13, 14, 15, 15, 16, 17, 18, 18, 19, 20, 21, 21, 21},
  720. };
  721. u1Byte gDeltaSwingTableIdx_MP_5GB_P_TxPowerTrack_AP_8821A[][DELTA_SWINGIDX_SIZE] = {
  722. {0, 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9, 10, 11, 12, 12, 13, 14, 15, 15, 16, 16, 17, 17, 18, 19, 20, 20, 20},
  723. {0, 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9, 10, 11, 12, 12, 13, 14, 15, 15, 16, 17, 18, 18, 19, 19, 20, 20, 20},
  724. {0, 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9, 10, 11, 12, 12, 13, 14, 15, 15, 16, 17, 18, 18, 19, 20, 21, 21, 21},
  725. };
  726. u1Byte gDeltaSwingTableIdx_MP_5GA_N_TxPowerTrack_AP_8821A[][DELTA_SWINGIDX_SIZE] = {
  727. {0, 1, 2, 3, 3, 4, 4, 5, 5, 6, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 14, 14, 14, 14, 14},
  728. {0, 1, 2, 3, 3, 4, 5, 6, 6, 6, 7, 7, 8, 8, 9, 10, 11, 11, 12, 13, 13, 14, 15, 16, 16, 16, 16, 16, 16, 16},
  729. {0, 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9, 10, 10, 11, 11, 12, 13, 14, 14, 15, 15, 16, 16, 16, 16, 16, 16, 16},
  730. };
  731. u1Byte gDeltaSwingTableIdx_MP_5GA_P_TxPowerTrack_AP_8821A[][DELTA_SWINGIDX_SIZE] = {
  732. {0, 1, 1, 2, 2, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 11, 11, 12, 13, 14, 14, 15, 15, 16, 16, 17, 18, 19, 19, 19},
  733. {0, 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9, 10, 11, 12, 12, 13, 14, 15, 15, 16, 17, 18, 18, 19, 20, 21, 21, 21},
  734. {0, 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9, 10, 11, 12, 12, 13, 14, 15, 15, 16, 17, 18, 18, 19, 20, 21, 21, 21},
  735. };
  736. u1Byte gDeltaSwingTableIdx_MP_2GB_N_TxPowerTrack_AP_8821A[] = {0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6, 6, 7, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11};
  737. u1Byte gDeltaSwingTableIdx_MP_2GB_P_TxPowerTrack_AP_8821A[] = {0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9};
  738. u1Byte gDeltaSwingTableIdx_MP_2GA_N_TxPowerTrack_AP_8821A[] = {0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6, 6, 7, 8, 8, 9, 9, 9, 10, 10, 10, 10, 11, 11};
  739. u1Byte gDeltaSwingTableIdx_MP_2GA_P_TxPowerTrack_AP_8821A[] = {0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9};
  740. u1Byte gDeltaSwingTableIdx_MP_2GCCKB_N_TxPowerTrack_AP_8821A[] = {0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6, 6, 7, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11};
  741. u1Byte gDeltaSwingTableIdx_MP_2GCCKB_P_TxPowerTrack_AP_8821A[] = {0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9};
  742. u1Byte gDeltaSwingTableIdx_MP_2GCCKA_N_TxPowerTrack_AP_8821A[] = {0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6, 6, 7, 8, 8, 9, 9, 9, 10, 10, 10, 10, 11, 11};
  743. u1Byte gDeltaSwingTableIdx_MP_2GCCKA_P_TxPowerTrack_AP_8821A[] = {0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9};
  744. void
  745. ODM_ReadAndConfig_MP_8821A_TxPowerTrack_AP(
  746. IN PDM_ODM_T pDM_Odm
  747. )
  748. {
  749. PODM_RF_CAL_T pRFCalibrateInfo = &(pDM_Odm->RFCalibrateInfo);
  750. ODM_RT_TRACE(pDM_Odm, ODM_COMP_INIT, ODM_DBG_TRACE, ("===> ODM_ReadAndConfig_MP_MP_8821A\n"));
  751. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_2GA_P, gDeltaSwingTableIdx_MP_2GA_P_TxPowerTrack_AP_8821A, DELTA_SWINGIDX_SIZE);
  752. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_2GA_N, gDeltaSwingTableIdx_MP_2GA_N_TxPowerTrack_AP_8821A, DELTA_SWINGIDX_SIZE);
  753. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_2GB_P, gDeltaSwingTableIdx_MP_2GB_P_TxPowerTrack_AP_8821A, DELTA_SWINGIDX_SIZE);
  754. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_2GB_N, gDeltaSwingTableIdx_MP_2GB_N_TxPowerTrack_AP_8821A, DELTA_SWINGIDX_SIZE);
  755. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKA_P, gDeltaSwingTableIdx_MP_2GCCKA_P_TxPowerTrack_AP_8821A, DELTA_SWINGIDX_SIZE);
  756. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKA_N, gDeltaSwingTableIdx_MP_2GCCKA_N_TxPowerTrack_AP_8821A, DELTA_SWINGIDX_SIZE);
  757. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKB_P, gDeltaSwingTableIdx_MP_2GCCKB_P_TxPowerTrack_AP_8821A, DELTA_SWINGIDX_SIZE);
  758. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKB_N, gDeltaSwingTableIdx_MP_2GCCKB_N_TxPowerTrack_AP_8821A, DELTA_SWINGIDX_SIZE);
  759. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_5GA_P, gDeltaSwingTableIdx_MP_5GA_P_TxPowerTrack_AP_8821A, DELTA_SWINGIDX_SIZE*3);
  760. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_5GA_N, gDeltaSwingTableIdx_MP_5GA_N_TxPowerTrack_AP_8821A, DELTA_SWINGIDX_SIZE*3);
  761. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_5GB_P, gDeltaSwingTableIdx_MP_5GB_P_TxPowerTrack_AP_8821A, DELTA_SWINGIDX_SIZE*3);
  762. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_5GB_N, gDeltaSwingTableIdx_MP_5GB_N_TxPowerTrack_AP_8821A, DELTA_SWINGIDX_SIZE*3);
  763. }
  764. /******************************************************************************
  765. * TxPowerTrack_PCIE.TXT
  766. ******************************************************************************/
  767. u1Byte gDeltaSwingTableIdx_MP_5GB_N_TxPowerTrack_PCIE_8821A[][DELTA_SWINGIDX_SIZE] = {
  768. {0, 1, 1, 2, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 9, 9, 9, 10, 10, 11, 11, 12, 12, 13},
  769. {0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11},
  770. {0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11},
  771. };
  772. u1Byte gDeltaSwingTableIdx_MP_5GB_P_TxPowerTrack_PCIE_8821A[][DELTA_SWINGIDX_SIZE] = {
  773. {0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11},
  774. {0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11},
  775. {0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11},
  776. };
  777. u1Byte gDeltaSwingTableIdx_MP_5GA_N_TxPowerTrack_PCIE_8821A[][DELTA_SWINGIDX_SIZE] = {
  778. {0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13},
  779. {0, 1, 1, 2, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 8, 9, 9, 10, 10, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13},
  780. {0, 1, 1, 2, 2, 3, 3, 4, 5, 6, 7, 8, 8, 9, 10, 11, 12, 13, 14, 14, 15, 15, 15, 16, 16, 16, 17, 17, 18, 18},
  781. };
  782. u1Byte gDeltaSwingTableIdx_MP_5GA_P_TxPowerTrack_PCIE_8821A[][DELTA_SWINGIDX_SIZE] = {
  783. {0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11},
  784. {0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 6, 6, 7, 7, 8, 9, 9, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11},
  785. {0, 1, 1, 2, 3, 3, 4, 4, 5, 6, 6, 7, 7, 8, 9, 9, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11},
  786. };
  787. u1Byte gDeltaSwingTableIdx_MP_2GB_N_TxPowerTrack_PCIE_8821A[] = {0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6, 6, 7, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11};
  788. u1Byte gDeltaSwingTableIdx_MP_2GB_P_TxPowerTrack_PCIE_8821A[] = {0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9};
  789. u1Byte gDeltaSwingTableIdx_MP_2GA_N_TxPowerTrack_PCIE_8821A[] = {0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6, 6, 7, 8, 8, 9, 9, 9, 10, 10, 10, 10, 11, 11};
  790. u1Byte gDeltaSwingTableIdx_MP_2GA_P_TxPowerTrack_PCIE_8821A[] = {0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9};
  791. u1Byte gDeltaSwingTableIdx_MP_2GCCKB_N_TxPowerTrack_PCIE_8821A[] = {0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6, 6, 7, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11};
  792. u1Byte gDeltaSwingTableIdx_MP_2GCCKB_P_TxPowerTrack_PCIE_8821A[] = {0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9};
  793. u1Byte gDeltaSwingTableIdx_MP_2GCCKA_N_TxPowerTrack_PCIE_8821A[] = {0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6, 6, 7, 8, 8, 9, 9, 9, 10, 10, 10, 10, 11, 11};
  794. u1Byte gDeltaSwingTableIdx_MP_2GCCKA_P_TxPowerTrack_PCIE_8821A[] = {0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9};
  795. void
  796. ODM_ReadAndConfig_MP_8821A_TxPowerTrack_PCIE(
  797. IN PDM_ODM_T pDM_Odm
  798. )
  799. {
  800. PODM_RF_CAL_T pRFCalibrateInfo = &(pDM_Odm->RFCalibrateInfo);
  801. ODM_RT_TRACE(pDM_Odm, ODM_COMP_INIT, ODM_DBG_TRACE, ("===> ODM_ReadAndConfig_MP_MP_8821A\n"));
  802. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_2GA_P, gDeltaSwingTableIdx_MP_2GA_P_TxPowerTrack_PCIE_8821A, DELTA_SWINGIDX_SIZE);
  803. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_2GA_N, gDeltaSwingTableIdx_MP_2GA_N_TxPowerTrack_PCIE_8821A, DELTA_SWINGIDX_SIZE);
  804. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_2GB_P, gDeltaSwingTableIdx_MP_2GB_P_TxPowerTrack_PCIE_8821A, DELTA_SWINGIDX_SIZE);
  805. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_2GB_N, gDeltaSwingTableIdx_MP_2GB_N_TxPowerTrack_PCIE_8821A, DELTA_SWINGIDX_SIZE);
  806. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKA_P, gDeltaSwingTableIdx_MP_2GCCKA_P_TxPowerTrack_PCIE_8821A, DELTA_SWINGIDX_SIZE);
  807. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKA_N, gDeltaSwingTableIdx_MP_2GCCKA_N_TxPowerTrack_PCIE_8821A, DELTA_SWINGIDX_SIZE);
  808. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKB_P, gDeltaSwingTableIdx_MP_2GCCKB_P_TxPowerTrack_PCIE_8821A, DELTA_SWINGIDX_SIZE);
  809. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKB_N, gDeltaSwingTableIdx_MP_2GCCKB_N_TxPowerTrack_PCIE_8821A, DELTA_SWINGIDX_SIZE);
  810. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_5GA_P, gDeltaSwingTableIdx_MP_5GA_P_TxPowerTrack_PCIE_8821A, DELTA_SWINGIDX_SIZE*3);
  811. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_5GA_N, gDeltaSwingTableIdx_MP_5GA_N_TxPowerTrack_PCIE_8821A, DELTA_SWINGIDX_SIZE*3);
  812. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_5GB_P, gDeltaSwingTableIdx_MP_5GB_P_TxPowerTrack_PCIE_8821A, DELTA_SWINGIDX_SIZE*3);
  813. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_5GB_N, gDeltaSwingTableIdx_MP_5GB_N_TxPowerTrack_PCIE_8821A, DELTA_SWINGIDX_SIZE*3);
  814. }
  815. /******************************************************************************
  816. * TxPowerTrack_USB.TXT
  817. ******************************************************************************/
  818. u1Byte gDeltaSwingTableIdx_MP_5GB_N_TxPowerTrack_USB_8821A[][DELTA_SWINGIDX_SIZE] = {
  819. {0, 1, 1, 2, 2, 3, 4, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 14, 14, 14, 14},
  820. {0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11},
  821. {0, 1, 1, 2, 3, 3, 4, 5, 6, 7, 7, 8, 8, 9, 9, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11},
  822. };
  823. u1Byte gDeltaSwingTableIdx_MP_5GB_P_TxPowerTrack_USB_8821A[][DELTA_SWINGIDX_SIZE] = {
  824. {0, 1, 1, 2, 2, 3, 3, 4, 5, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11},
  825. {0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11},
  826. {0, 1, 1, 2, 3, 3, 4, 5, 6, 7, 7, 8, 8, 9, 9, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11},
  827. };
  828. u1Byte gDeltaSwingTableIdx_MP_5GA_N_TxPowerTrack_USB_8821A[][DELTA_SWINGIDX_SIZE] = {
  829. {0, 0, 0, 1, 2, 2, 3, 4, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 15, 15, 15, 15},
  830. {0, 0, 0, 1, 2, 2, 3, 4, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 15, 15, 15, 15},
  831. {0, 0, 0, 1, 2, 2, 3, 4, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 15, 15, 15, 15},
  832. };
  833. u1Byte gDeltaSwingTableIdx_MP_5GA_P_TxPowerTrack_USB_8821A[][DELTA_SWINGIDX_SIZE] = {
  834. {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16},
  835. {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16},
  836. {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16},
  837. };
  838. u1Byte gDeltaSwingTableIdx_MP_2GB_N_TxPowerTrack_USB_8821A[] = {0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 11, 11};
  839. u1Byte gDeltaSwingTableIdx_MP_2GB_P_TxPowerTrack_USB_8821A[] = {0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7};
  840. u1Byte gDeltaSwingTableIdx_MP_2GA_N_TxPowerTrack_USB_8821A[] = {0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 9, 10, 10, 10, 10, 10, 10};
  841. u1Byte gDeltaSwingTableIdx_MP_2GA_P_TxPowerTrack_USB_8821A[] = {0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7};
  842. u1Byte gDeltaSwingTableIdx_MP_2GCCKB_N_TxPowerTrack_USB_8821A[] = {0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 11, 11};
  843. u1Byte gDeltaSwingTableIdx_MP_2GCCKB_P_TxPowerTrack_USB_8821A[] = {0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7};
  844. u1Byte gDeltaSwingTableIdx_MP_2GCCKA_N_TxPowerTrack_USB_8821A[] = {0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 9, 10, 10, 10, 10, 10, 10};
  845. u1Byte gDeltaSwingTableIdx_MP_2GCCKA_P_TxPowerTrack_USB_8821A[] = {0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7};
  846. void
  847. ODM_ReadAndConfig_MP_8821A_TxPowerTrack_USB(
  848. IN PDM_ODM_T pDM_Odm
  849. )
  850. {
  851. PODM_RF_CAL_T pRFCalibrateInfo = &(pDM_Odm->RFCalibrateInfo);
  852. ODM_RT_TRACE(pDM_Odm, ODM_COMP_INIT, ODM_DBG_TRACE, ("===> ODM_ReadAndConfig_MP_MP_8821A\n"));
  853. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_2GA_P, gDeltaSwingTableIdx_MP_2GA_P_TxPowerTrack_USB_8821A, DELTA_SWINGIDX_SIZE);
  854. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_2GA_N, gDeltaSwingTableIdx_MP_2GA_N_TxPowerTrack_USB_8821A, DELTA_SWINGIDX_SIZE);
  855. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_2GB_P, gDeltaSwingTableIdx_MP_2GB_P_TxPowerTrack_USB_8821A, DELTA_SWINGIDX_SIZE);
  856. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_2GB_N, gDeltaSwingTableIdx_MP_2GB_N_TxPowerTrack_USB_8821A, DELTA_SWINGIDX_SIZE);
  857. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKA_P, gDeltaSwingTableIdx_MP_2GCCKA_P_TxPowerTrack_USB_8821A, DELTA_SWINGIDX_SIZE);
  858. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKA_N, gDeltaSwingTableIdx_MP_2GCCKA_N_TxPowerTrack_USB_8821A, DELTA_SWINGIDX_SIZE);
  859. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKB_P, gDeltaSwingTableIdx_MP_2GCCKB_P_TxPowerTrack_USB_8821A, DELTA_SWINGIDX_SIZE);
  860. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKB_N, gDeltaSwingTableIdx_MP_2GCCKB_N_TxPowerTrack_USB_8821A, DELTA_SWINGIDX_SIZE);
  861. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_5GA_P, gDeltaSwingTableIdx_MP_5GA_P_TxPowerTrack_USB_8821A, DELTA_SWINGIDX_SIZE*3);
  862. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_5GA_N, gDeltaSwingTableIdx_MP_5GA_N_TxPowerTrack_USB_8821A, DELTA_SWINGIDX_SIZE*3);
  863. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_5GB_P, gDeltaSwingTableIdx_MP_5GB_P_TxPowerTrack_USB_8821A, DELTA_SWINGIDX_SIZE*3);
  864. ODM_MoveMemory(pDM_Odm, pRFCalibrateInfo->DeltaSwingTableIdx_5GB_N, gDeltaSwingTableIdx_MP_5GB_N_TxPowerTrack_USB_8821A, DELTA_SWINGIDX_SIZE*3);
  865. }
  866. /******************************************************************************
  867. * TXPWR_LMT.TXT
  868. ******************************************************************************/
  869. pu1Byte Array_MP_8821A_TXPWR_LMT[] = {
  870. "FCC", "2.4G", "20M", "CCK", "1T", "01", "34",
  871. "ETSI", "2.4G", "20M", "CCK", "1T", "01", "32",
  872. "MKK", "2.4G", "20M", "CCK", "1T", "01", "32",
  873. "FCC", "2.4G", "20M", "CCK", "1T", "02", "34",
  874. "ETSI", "2.4G", "20M", "CCK", "1T", "02", "32",
  875. "MKK", "2.4G", "20M", "CCK", "1T", "02", "32",
  876. "FCC", "2.4G", "20M", "CCK", "1T", "03", "34",
  877. "ETSI", "2.4G", "20M", "CCK", "1T", "03", "32",
  878. "MKK", "2.4G", "20M", "CCK", "1T", "03", "32",
  879. "FCC", "2.4G", "20M", "CCK", "1T", "04", "34",
  880. "ETSI", "2.4G", "20M", "CCK", "1T", "04", "32",
  881. "MKK", "2.4G", "20M", "CCK", "1T", "04", "32",
  882. "FCC", "2.4G", "20M", "CCK", "1T", "05", "34",
  883. "ETSI", "2.4G", "20M", "CCK", "1T", "05", "32",
  884. "MKK", "2.4G", "20M", "CCK", "1T", "05", "32",
  885. "FCC", "2.4G", "20M", "CCK", "1T", "06", "34",
  886. "ETSI", "2.4G", "20M", "CCK", "1T", "06", "32",
  887. "MKK", "2.4G", "20M", "CCK", "1T", "06", "32",
  888. "FCC", "2.4G", "20M", "CCK", "1T", "07", "34",
  889. "ETSI", "2.4G", "20M", "CCK", "1T", "07", "32",
  890. "MKK", "2.4G", "20M", "CCK", "1T", "07", "32",
  891. "FCC", "2.4G", "20M", "CCK", "1T", "08", "34",
  892. "ETSI", "2.4G", "20M", "CCK", "1T", "08", "32",
  893. "MKK", "2.4G", "20M", "CCK", "1T", "08", "32",
  894. "FCC", "2.4G", "20M", "CCK", "1T", "09", "34",
  895. "ETSI", "2.4G", "20M", "CCK", "1T", "09", "32",
  896. "MKK", "2.4G", "20M", "CCK", "1T", "09", "32",
  897. "FCC", "2.4G", "20M", "CCK", "1T", "10", "34",
  898. "ETSI", "2.4G", "20M", "CCK", "1T", "10", "32",
  899. "MKK", "2.4G", "20M", "CCK", "1T", "10", "32",
  900. "FCC", "2.4G", "20M", "CCK", "1T", "11", "34",
  901. "ETSI", "2.4G", "20M", "CCK", "1T", "11", "32",
  902. "MKK", "2.4G", "20M", "CCK", "1T", "11", "32",
  903. "FCC", "2.4G", "20M", "CCK", "1T", "12", "63",
  904. "ETSI", "2.4G", "20M", "CCK", "1T", "12", "32",
  905. "MKK", "2.4G", "20M", "CCK", "1T", "12", "32",
  906. "FCC", "2.4G", "20M", "CCK", "1T", "13", "63",
  907. "ETSI", "2.4G", "20M", "CCK", "1T", "13", "32",
  908. "MKK", "2.4G", "20M", "CCK", "1T", "13", "32",
  909. "FCC", "2.4G", "20M", "CCK", "1T", "14", "63",
  910. "ETSI", "2.4G", "20M", "CCK", "1T", "14", "63",
  911. "MKK", "2.4G", "20M", "CCK", "1T", "14", "32",
  912. "FCC", "2.4G", "20M", "OFDM", "1T", "01", "32",
  913. "ETSI", "2.4G", "20M", "OFDM", "1T", "01", "32",
  914. "MKK", "2.4G", "20M", "OFDM", "1T", "01", "32",
  915. "FCC", "2.4G", "20M", "OFDM", "1T", "02", "34",
  916. "ETSI", "2.4G", "20M", "OFDM", "1T", "02", "32",
  917. "MKK", "2.4G", "20M", "OFDM", "1T", "02", "32",
  918. "FCC", "2.4G", "20M", "OFDM", "1T", "03", "34",
  919. "ETSI", "2.4G", "20M", "OFDM", "1T", "03", "32",
  920. "MKK", "2.4G", "20M", "OFDM", "1T", "03", "32",
  921. "FCC", "2.4G", "20M", "OFDM", "1T", "04", "34",
  922. "ETSI", "2.4G", "20M", "OFDM", "1T", "04", "32",
  923. "MKK", "2.4G", "20M", "OFDM", "1T", "04", "32",
  924. "FCC", "2.4G", "20M", "OFDM", "1T", "05", "34",
  925. "ETSI", "2.4G", "20M", "OFDM", "1T", "05", "32",
  926. "MKK", "2.4G", "20M", "OFDM", "1T", "05", "32",
  927. "FCC", "2.4G", "20M", "OFDM", "1T", "06", "34",
  928. "ETSI", "2.4G", "20M", "OFDM", "1T", "06", "32",
  929. "MKK", "2.4G", "20M", "OFDM", "1T", "06", "32",
  930. "FCC", "2.4G", "20M", "OFDM", "1T", "07", "34",
  931. "ETSI", "2.4G", "20M", "OFDM", "1T", "07", "32",
  932. "MKK", "2.4G", "20M", "OFDM", "1T", "07", "32",
  933. "FCC", "2.4G", "20M", "OFDM", "1T", "08", "34",
  934. "ETSI", "2.4G", "20M", "OFDM", "1T", "08", "32",
  935. "MKK", "2.4G", "20M", "OFDM", "1T", "08", "32",
  936. "FCC", "2.4G", "20M", "OFDM", "1T", "09", "34",
  937. "ETSI", "2.4G", "20M", "OFDM", "1T", "09", "32",
  938. "MKK", "2.4G", "20M", "OFDM", "1T", "09", "32",
  939. "FCC", "2.4G", "20M", "OFDM", "1T", "10", "34",
  940. "ETSI", "2.4G", "20M", "OFDM", "1T", "10", "32",
  941. "MKK", "2.4G", "20M", "OFDM", "1T", "10", "32",
  942. "FCC", "2.4G", "20M", "OFDM", "1T", "11", "32",
  943. "ETSI", "2.4G", "20M", "OFDM", "1T", "11", "32",
  944. "MKK", "2.4G", "20M", "OFDM", "1T", "11", "32",
  945. "FCC", "2.4G", "20M", "OFDM", "1T", "12", "63",
  946. "ETSI", "2.4G", "20M", "OFDM", "1T", "12", "32",
  947. "MKK", "2.4G", "20M", "OFDM", "1T", "12", "32",
  948. "FCC", "2.4G", "20M", "OFDM", "1T", "13", "63",
  949. "ETSI", "2.4G", "20M", "OFDM", "1T", "13", "32",
  950. "MKK", "2.4G", "20M", "OFDM", "1T", "13", "32",
  951. "FCC", "2.4G", "20M", "OFDM", "1T", "14", "63",
  952. "ETSI", "2.4G", "20M", "OFDM", "1T", "14", "63",
  953. "MKK", "2.4G", "20M", "OFDM", "1T", "14", "63",
  954. "FCC", "2.4G", "20M", "HT", "1T", "01", "32",
  955. "ETSI", "2.4G", "20M", "HT", "1T", "01", "32",
  956. "MKK", "2.4G", "20M", "HT", "1T", "01", "32",
  957. "FCC", "2.4G", "20M", "HT", "1T", "02", "34",
  958. "ETSI", "2.4G", "20M", "HT", "1T", "02", "32",
  959. "MKK", "2.4G", "20M", "HT", "1T", "02", "32",
  960. "FCC", "2.4G", "20M", "HT", "1T", "03", "34",
  961. "ETSI", "2.4G", "20M", "HT", "1T", "03", "32",
  962. "MKK", "2.4G", "20M", "HT", "1T", "03", "32",
  963. "FCC", "2.4G", "20M", "HT", "1T", "04", "34",
  964. "ETSI", "2.4G", "20M", "HT", "1T", "04", "32",
  965. "MKK", "2.4G", "20M", "HT", "1T", "04", "32",
  966. "FCC", "2.4G", "20M", "HT", "1T", "05", "34",
  967. "ETSI", "2.4G", "20M", "HT", "1T", "05", "32",
  968. "MKK", "2.4G", "20M", "HT", "1T", "05", "32",
  969. "FCC", "2.4G", "20M", "HT", "1T", "06", "34",
  970. "ETSI", "2.4G", "20M", "HT", "1T", "06", "32",
  971. "MKK", "2.4G", "20M", "HT", "1T", "06", "32",
  972. "FCC", "2.4G", "20M", "HT", "1T", "07", "34",
  973. "ETSI", "2.4G", "20M", "HT", "1T", "07", "32",
  974. "MKK", "2.4G", "20M", "HT", "1T", "07", "32",
  975. "FCC", "2.4G", "20M", "HT", "1T", "08", "34",
  976. "ETSI", "2.4G", "20M", "HT", "1T", "08", "32",
  977. "MKK", "2.4G", "20M", "HT", "1T", "08", "32",
  978. "FCC", "2.4G", "20M", "HT", "1T", "09", "34",
  979. "ETSI", "2.4G", "20M", "HT", "1T", "09", "32",
  980. "MKK", "2.4G", "20M", "HT", "1T", "09", "32",
  981. "FCC", "2.4G", "20M", "HT", "1T", "10", "34",
  982. "ETSI", "2.4G", "20M", "HT", "1T", "10", "32",
  983. "MKK", "2.4G", "20M", "HT", "1T", "10", "32",
  984. "FCC", "2.4G", "20M", "HT", "1T", "11", "32",
  985. "ETSI", "2.4G", "20M", "HT", "1T", "11", "32",
  986. "MKK", "2.4G", "20M", "HT", "1T", "11", "32",
  987. "FCC", "2.4G", "20M", "HT", "1T", "12", "63",
  988. "ETSI", "2.4G", "20M", "HT", "1T", "12", "32",
  989. "MKK", "2.4G", "20M", "HT", "1T", "12", "32",
  990. "FCC", "2.4G", "20M", "HT", "1T", "13", "63",
  991. "ETSI", "2.4G", "20M", "HT", "1T", "13", "32",
  992. "MKK", "2.4G", "20M", "HT", "1T", "13", "32",
  993. "FCC", "2.4G", "20M", "HT", "1T", "14", "63",
  994. "ETSI", "2.4G", "20M", "HT", "1T", "14", "63",
  995. "MKK", "2.4G", "20M", "HT", "1T", "14", "63",
  996. "FCC", "2.4G", "20M", "HT", "2T", "01", "30",
  997. "ETSI", "2.4G", "20M", "HT", "2T", "01", "32",
  998. "MKK", "2.4G", "20M", "HT", "2T", "01", "32",
  999. "FCC", "2.4G", "20M", "HT", "2T", "02", "32",
  1000. "ETSI", "2.4G", "20M", "HT", "2T", "02", "32",
  1001. "MKK", "2.4G", "20M", "HT", "2T", "02", "32",
  1002. "FCC", "2.4G", "20M", "HT", "2T", "03", "32",
  1003. "ETSI", "2.4G", "20M", "HT", "2T", "03", "32",
  1004. "MKK", "2.4G", "20M", "HT", "2T", "03", "32",
  1005. "FCC", "2.4G", "20M", "HT", "2T", "04", "32",
  1006. "ETSI", "2.4G", "20M", "HT", "2T", "04", "32",
  1007. "MKK", "2.4G", "20M", "HT", "2T", "04", "32",
  1008. "FCC", "2.4G", "20M", "HT", "2T", "05", "32",
  1009. "ETSI", "2.4G", "20M", "HT", "2T", "05", "32",
  1010. "MKK", "2.4G", "20M", "HT", "2T", "05", "32",
  1011. "FCC", "2.4G", "20M", "HT", "2T", "06", "32",
  1012. "ETSI", "2.4G", "20M", "HT", "2T", "06", "32",
  1013. "MKK", "2.4G", "20M", "HT", "2T", "06", "32",
  1014. "FCC", "2.4G", "20M", "HT", "2T", "07", "32",
  1015. "ETSI", "2.4G", "20M", "HT", "2T", "07", "32",
  1016. "MKK", "2.4G", "20M", "HT", "2T", "07", "32",
  1017. "FCC", "2.4G", "20M", "HT", "2T", "08", "32",
  1018. "ETSI", "2.4G", "20M", "HT", "2T", "08", "32",
  1019. "MKK", "2.4G", "20M", "HT", "2T", "08", "32",
  1020. "FCC", "2.4G", "20M", "HT", "2T", "09", "32",
  1021. "ETSI", "2.4G", "20M", "HT", "2T", "09", "32",
  1022. "MKK", "2.4G", "20M", "HT", "2T", "09", "32",
  1023. "FCC", "2.4G", "20M", "HT", "2T", "10", "32",
  1024. "ETSI", "2.4G", "20M", "HT", "2T", "10", "32",
  1025. "MKK", "2.4G", "20M", "HT", "2T", "10", "32",
  1026. "FCC", "2.4G", "20M", "HT", "2T", "11", "30",
  1027. "ETSI", "2.4G", "20M", "HT", "2T", "11", "32",
  1028. "MKK", "2.4G", "20M", "HT", "2T", "11", "32",
  1029. "FCC", "2.4G", "20M", "HT", "2T", "12", "63",
  1030. "ETSI", "2.4G", "20M", "HT", "2T", "12", "32",
  1031. "MKK", "2.4G", "20M", "HT", "2T", "12", "32",
  1032. "FCC", "2.4G", "20M", "HT", "2T", "13", "63",
  1033. "ETSI", "2.4G", "20M", "HT", "2T", "13", "32",
  1034. "MKK", "2.4G", "20M", "HT", "2T", "13", "32",
  1035. "FCC", "2.4G", "20M", "HT", "2T", "14", "63",
  1036. "ETSI", "2.4G", "20M", "HT", "2T", "14", "63",
  1037. "MKK", "2.4G", "20M", "HT", "2T", "14", "63",
  1038. "FCC", "2.4G", "40M", "HT", "1T", "01", "63",
  1039. "ETSI", "2.4G", "40M", "HT", "1T", "01", "63",
  1040. "MKK", "2.4G", "40M", "HT", "1T", "01", "63",
  1041. "FCC", "2.4G", "40M", "HT", "1T", "02", "63",
  1042. "ETSI", "2.4G", "40M", "HT", "1T", "02", "63",
  1043. "MKK", "2.4G", "40M", "HT", "1T", "02", "63",
  1044. "FCC", "2.4G", "40M", "HT", "1T", "03", "32",
  1045. "ETSI", "2.4G", "40M", "HT", "1T", "03", "32",
  1046. "MKK", "2.4G", "40M", "HT", "1T", "03", "32",
  1047. "FCC", "2.4G", "40M", "HT", "1T", "04", "34",
  1048. "ETSI", "2.4G", "40M", "HT", "1T", "04", "32",
  1049. "MKK", "2.4G", "40M", "HT", "1T", "04", "32",
  1050. "FCC", "2.4G", "40M", "HT", "1T", "05", "34",
  1051. "ETSI", "2.4G", "40M", "HT", "1T", "05", "32",
  1052. "MKK", "2.4G", "40M", "HT", "1T", "05", "32",
  1053. "FCC", "2.4G", "40M", "HT", "1T", "06", "34",
  1054. "ETSI", "2.4G", "40M", "HT", "1T", "06", "32",
  1055. "MKK", "2.4G", "40M", "HT", "1T", "06", "32",
  1056. "FCC", "2.4G", "40M", "HT", "1T", "07", "34",
  1057. "ETSI", "2.4G", "40M", "HT", "1T", "07", "32",
  1058. "MKK", "2.4G", "40M", "HT", "1T", "07", "32",
  1059. "FCC", "2.4G", "40M", "HT", "1T", "08", "34",
  1060. "ETSI", "2.4G", "40M", "HT", "1T", "08", "32",
  1061. "MKK", "2.4G", "40M", "HT", "1T", "08", "32",
  1062. "FCC", "2.4G", "40M", "HT", "1T", "09", "34",
  1063. "ETSI", "2.4G", "40M", "HT", "1T", "09", "32",
  1064. "MKK", "2.4G", "40M", "HT", "1T", "09", "32",
  1065. "FCC", "2.4G", "40M", "HT", "1T", "10", "34",
  1066. "ETSI", "2.4G", "40M", "HT", "1T", "10", "32",
  1067. "MKK", "2.4G", "40M", "HT", "1T", "10", "32",
  1068. "FCC", "2.4G", "40M", "HT", "1T", "11", "32",
  1069. "ETSI", "2.4G", "40M", "HT", "1T", "11", "32",
  1070. "MKK", "2.4G", "40M", "HT", "1T", "11", "32",
  1071. "FCC", "2.4G", "40M", "HT", "1T", "12", "63",
  1072. "ETSI", "2.4G", "40M", "HT", "1T", "12", "32",
  1073. "MKK", "2.4G", "40M", "HT", "1T", "12", "32",
  1074. "FCC", "2.4G", "40M", "HT", "1T", "13", "63",
  1075. "ETSI", "2.4G", "40M", "HT", "1T", "13", "32",
  1076. "MKK", "2.4G", "40M", "HT", "1T", "13", "32",
  1077. "FCC", "2.4G", "40M", "HT", "1T", "14", "63",
  1078. "ETSI", "2.4G", "40M", "HT", "1T", "14", "63",
  1079. "MKK", "2.4G", "40M", "HT", "1T", "14", "63",
  1080. "FCC", "2.4G", "40M", "HT", "2T", "01", "63",
  1081. "ETSI", "2.4G", "40M", "HT", "2T", "01", "63",
  1082. "MKK", "2.4G", "40M", "HT", "2T", "01", "63",
  1083. "FCC", "2.4G", "40M", "HT", "2T", "02", "63",
  1084. "ETSI", "2.4G", "40M", "HT", "2T", "02", "63",
  1085. "MKK", "2.4G", "40M", "HT", "2T", "02", "63",
  1086. "FCC", "2.4G", "40M", "HT", "2T", "03", "30",
  1087. "ETSI", "2.4G", "40M", "HT", "2T", "03", "30",
  1088. "MKK", "2.4G", "40M", "HT", "2T", "03", "30",
  1089. "FCC", "2.4G", "40M", "HT", "2T", "04", "32",
  1090. "ETSI", "2.4G", "40M", "HT", "2T", "04", "30",
  1091. "MKK", "2.4G", "40M", "HT", "2T", "04", "30",
  1092. "FCC", "2.4G", "40M", "HT", "2T", "05", "32",
  1093. "ETSI", "2.4G", "40M", "HT", "2T", "05", "30",
  1094. "MKK", "2.4G", "40M", "HT", "2T", "05", "30",
  1095. "FCC", "2.4G", "40M", "HT", "2T", "06", "32",
  1096. "ETSI", "2.4G", "40M", "HT", "2T", "06", "30",
  1097. "MKK", "2.4G", "40M", "HT", "2T", "06", "30",
  1098. "FCC", "2.4G", "40M", "HT", "2T", "07", "32",
  1099. "ETSI", "2.4G", "40M", "HT", "2T", "07", "30",
  1100. "MKK", "2.4G", "40M", "HT", "2T", "07", "30",
  1101. "FCC", "2.4G", "40M", "HT", "2T", "08", "32",
  1102. "ETSI", "2.4G", "40M", "HT", "2T", "08", "30",
  1103. "MKK", "2.4G", "40M", "HT", "2T", "08", "30",
  1104. "FCC", "2.4G", "40M", "HT", "2T", "09", "32",
  1105. "ETSI", "2.4G", "40M", "HT", "2T", "09", "30",
  1106. "MKK", "2.4G", "40M", "HT", "2T", "09", "30",
  1107. "FCC", "2.4G", "40M", "HT", "2T", "10", "32",
  1108. "ETSI", "2.4G", "40M", "HT", "2T", "10", "30",
  1109. "MKK", "2.4G", "40M", "HT", "2T", "10", "30",
  1110. "FCC", "2.4G", "40M", "HT", "2T", "11", "30",
  1111. "ETSI", "2.4G", "40M", "HT", "2T", "11", "30",
  1112. "MKK", "2.4G", "40M", "HT", "2T", "11", "30",
  1113. "FCC", "2.4G", "40M", "HT", "2T", "12", "63",
  1114. "ETSI", "2.4G", "40M", "HT", "2T", "12", "32",
  1115. "MKK", "2.4G", "40M", "HT", "2T", "12", "32",
  1116. "FCC", "2.4G", "40M", "HT", "2T", "13", "63",
  1117. "ETSI", "2.4G", "40M", "HT", "2T", "13", "32",
  1118. "MKK", "2.4G", "40M", "HT", "2T", "13", "32",
  1119. "FCC", "2.4G", "40M", "HT", "2T", "14", "63",
  1120. "ETSI", "2.4G", "40M", "HT", "2T", "14", "63",
  1121. "MKK", "2.4G", "40M", "HT", "2T", "14", "63",
  1122. "FCC", "5G", "20M", "OFDM", "1T", "36", "30",
  1123. "ETSI", "5G", "20M", "OFDM", "1T", "36", "32",
  1124. "MKK", "5G", "20M", "OFDM", "1T", "36", "32",
  1125. "FCC", "5G", "20M", "OFDM", "1T", "40", "30",
  1126. "ETSI", "5G", "20M", "OFDM", "1T", "40", "32",
  1127. "MKK", "5G", "20M", "OFDM", "1T", "40", "32",
  1128. "FCC", "5G", "20M", "OFDM", "1T", "44", "30",
  1129. "ETSI", "5G", "20M", "OFDM", "1T", "44", "32",
  1130. "MKK", "5G", "20M", "OFDM", "1T", "44", "32",
  1131. "FCC", "5G", "20M", "OFDM", "1T", "48", "30",
  1132. "ETSI", "5G", "20M", "OFDM", "1T", "48", "32",
  1133. "MKK", "5G", "20M", "OFDM", "1T", "48", "32",
  1134. "FCC", "5G", "20M", "OFDM", "1T", "52", "34",
  1135. "ETSI", "5G", "20M", "OFDM", "1T", "52", "32",
  1136. "MKK", "5G", "20M", "OFDM", "1T", "52", "32",
  1137. "FCC", "5G", "20M", "OFDM", "1T", "56", "34",
  1138. "ETSI", "5G", "20M", "OFDM", "1T", "56", "32",
  1139. "MKK", "5G", "20M", "OFDM", "1T", "56", "32",
  1140. "FCC", "5G", "20M", "OFDM", "1T", "60", "32",
  1141. "ETSI", "5G", "20M", "OFDM", "1T", "60", "32",
  1142. "MKK", "5G", "20M", "OFDM", "1T", "60", "32",
  1143. "FCC", "5G", "20M", "OFDM", "1T", "64", "28",
  1144. "ETSI", "5G", "20M", "OFDM", "1T", "64", "32",
  1145. "MKK", "5G", "20M", "OFDM", "1T", "64", "32",
  1146. "FCC", "5G", "20M", "OFDM", "1T", "100", "30",
  1147. "ETSI", "5G", "20M", "OFDM", "1T", "100", "32",
  1148. "MKK", "5G", "20M", "OFDM", "1T", "100", "32",
  1149. "FCC", "5G", "20M", "OFDM", "1T", "114", "30",
  1150. "ETSI", "5G", "20M", "OFDM", "1T", "114", "32",
  1151. "MKK", "5G", "20M", "OFDM", "1T", "114", "32",
  1152. "FCC", "5G", "20M", "OFDM", "1T", "108", "32",
  1153. "ETSI", "5G", "20M", "OFDM", "1T", "108", "32",
  1154. "MKK", "5G", "20M", "OFDM", "1T", "108", "32",
  1155. "FCC", "5G", "20M", "OFDM", "1T", "112", "34",
  1156. "ETSI", "5G", "20M", "OFDM", "1T", "112", "32",
  1157. "MKK", "5G", "20M", "OFDM", "1T", "112", "32",
  1158. "FCC", "5G", "20M", "OFDM", "1T", "116", "34",
  1159. "ETSI", "5G", "20M", "OFDM", "1T", "116", "32",
  1160. "MKK", "5G", "20M", "OFDM", "1T", "116", "32",
  1161. "FCC", "5G", "20M", "OFDM", "1T", "120", "34",
  1162. "ETSI", "5G", "20M", "OFDM", "1T", "120", "32",
  1163. "MKK", "5G", "20M", "OFDM", "1T", "120", "32",
  1164. "FCC", "5G", "20M", "OFDM", "1T", "124", "34",
  1165. "ETSI", "5G", "20M", "OFDM", "1T", "124", "32",
  1166. "MKK", "5G", "20M", "OFDM", "1T", "124", "32",
  1167. "FCC", "5G", "20M", "OFDM", "1T", "128", "32",
  1168. "ETSI", "5G", "20M", "OFDM", "1T", "128", "32",
  1169. "MKK", "5G", "20M", "OFDM", "1T", "128", "32",
  1170. "FCC", "5G", "20M", "OFDM", "1T", "132", "30",
  1171. "ETSI", "5G", "20M", "OFDM", "1T", "132", "32",
  1172. "MKK", "5G", "20M", "OFDM", "1T", "132", "32",
  1173. "FCC", "5G", "20M", "OFDM", "1T", "136", "30",
  1174. "ETSI", "5G", "20M", "OFDM", "1T", "136", "32",
  1175. "MKK", "5G", "20M", "OFDM", "1T", "136", "32",
  1176. "FCC", "5G", "20M", "OFDM", "1T", "140", "28",
  1177. "ETSI", "5G", "20M", "OFDM", "1T", "140", "32",
  1178. "MKK", "5G", "20M", "OFDM", "1T", "140", "32",
  1179. "FCC", "5G", "20M", "OFDM", "1T", "149", "34",
  1180. "ETSI", "5G", "20M", "OFDM", "1T", "149", "32",
  1181. "MKK", "5G", "20M", "OFDM", "1T", "149", "63",
  1182. "FCC", "5G", "20M", "OFDM", "1T", "153", "34",
  1183. "ETSI", "5G", "20M", "OFDM", "1T", "153", "32",
  1184. "MKK", "5G", "20M", "OFDM", "1T", "153", "63",
  1185. "FCC", "5G", "20M", "OFDM", "1T", "157", "34",
  1186. "ETSI", "5G", "20M", "OFDM", "1T", "157", "32",
  1187. "MKK", "5G", "20M", "OFDM", "1T", "157", "63",
  1188. "FCC", "5G", "20M", "OFDM", "1T", "161", "34",
  1189. "ETSI", "5G", "20M", "OFDM", "1T", "161", "32",
  1190. "MKK", "5G", "20M", "OFDM", "1T", "161", "63",
  1191. "FCC", "5G", "20M", "OFDM", "1T", "165", "34",
  1192. "ETSI", "5G", "20M", "OFDM", "1T", "165", "32",
  1193. "MKK", "5G", "20M", "OFDM", "1T", "165", "63",
  1194. "FCC", "5G", "20M", "HT", "1T", "36", "30",
  1195. "ETSI", "5G", "20M", "HT", "1T", "36", "32",
  1196. "MKK", "5G", "20M", "HT", "1T", "36", "32",
  1197. "FCC", "5G", "20M", "HT", "1T", "40", "30",
  1198. "ETSI", "5G", "20M", "HT", "1T", "40", "32",
  1199. "MKK", "5G", "20M", "HT", "1T", "40", "32",
  1200. "FCC", "5G", "20M", "HT", "1T", "44", "30",
  1201. "ETSI", "5G", "20M", "HT", "1T", "44", "32",
  1202. "MKK", "5G", "20M", "HT", "1T", "44", "32",
  1203. "FCC", "5G", "20M", "HT", "1T", "48", "30",
  1204. "ETSI", "5G", "20M", "HT", "1T", "48", "32",
  1205. "MKK", "5G", "20M", "HT", "1T", "48", "32",
  1206. "FCC", "5G", "20M", "HT", "1T", "52", "34",
  1207. "ETSI", "5G", "20M", "HT", "1T", "52", "32",
  1208. "MKK", "5G", "20M", "HT", "1T", "52", "32",
  1209. "FCC", "5G", "20M", "HT", "1T", "56", "34",
  1210. "ETSI", "5G", "20M", "HT", "1T", "56", "32",
  1211. "MKK", "5G", "20M", "HT", "1T", "56", "32",
  1212. "FCC", "5G", "20M", "HT", "1T", "60", "32",
  1213. "ETSI", "5G", "20M", "HT", "1T", "60", "32",
  1214. "MKK", "5G", "20M", "HT", "1T", "60", "32",
  1215. "FCC", "5G", "20M", "HT", "1T", "64", "28",
  1216. "ETSI", "5G", "20M", "HT", "1T", "64", "32",
  1217. "MKK", "5G", "20M", "HT", "1T", "64", "32",
  1218. "FCC", "5G", "20M", "HT", "1T", "100", "30",
  1219. "ETSI", "5G", "20M", "HT", "1T", "100", "32",
  1220. "MKK", "5G", "20M", "HT", "1T", "100", "32",
  1221. "FCC", "5G", "20M", "HT", "1T", "114", "30",
  1222. "ETSI", "5G", "20M", "HT", "1T", "114", "32",
  1223. "MKK", "5G", "20M", "HT", "1T", "114", "32",
  1224. "FCC", "5G", "20M", "HT", "1T", "108", "32",
  1225. "ETSI", "5G", "20M", "HT", "1T", "108", "32",
  1226. "MKK", "5G", "20M", "HT", "1T", "108", "32",
  1227. "FCC", "5G", "20M", "HT", "1T", "112", "34",
  1228. "ETSI", "5G", "20M", "HT", "1T", "112", "32",
  1229. "MKK", "5G", "20M", "HT", "1T", "112", "32",
  1230. "FCC", "5G", "20M", "HT", "1T", "116", "34",
  1231. "ETSI", "5G", "20M", "HT", "1T", "116", "32",
  1232. "MKK", "5G", "20M", "HT", "1T", "116", "32",
  1233. "FCC", "5G", "20M", "HT", "1T", "120", "34",
  1234. "ETSI", "5G", "20M", "HT", "1T", "120", "32",
  1235. "MKK", "5G", "20M", "HT", "1T", "120", "32",
  1236. "FCC", "5G", "20M", "HT", "1T", "124", "34",
  1237. "ETSI", "5G", "20M", "HT", "1T", "124", "32",
  1238. "MKK", "5G", "20M", "HT", "1T", "124", "32",
  1239. "FCC", "5G", "20M", "HT", "1T", "128", "32",
  1240. "ETSI", "5G", "20M", "HT", "1T", "128", "32",
  1241. "MKK", "5G", "20M", "HT", "1T", "128", "32",
  1242. "FCC", "5G", "20M", "HT", "1T", "132", "30",
  1243. "ETSI", "5G", "20M", "HT", "1T", "132", "32",
  1244. "MKK", "5G", "20M", "HT", "1T", "132", "32",
  1245. "FCC", "5G", "20M", "HT", "1T", "136", "30",
  1246. "ETSI", "5G", "20M", "HT", "1T", "136", "32",
  1247. "MKK", "5G", "20M", "HT", "1T", "136", "32",
  1248. "FCC", "5G", "20M", "HT", "1T", "140", "28",
  1249. "ETSI", "5G", "20M", "HT", "1T", "140", "32",
  1250. "MKK", "5G", "20M", "HT", "1T", "140", "32",
  1251. "FCC", "5G", "20M", "HT", "1T", "149", "34",
  1252. "ETSI", "5G", "20M", "HT", "1T", "149", "32",
  1253. "MKK", "5G", "20M", "HT", "1T", "149", "63",
  1254. "FCC", "5G", "20M", "HT", "1T", "153", "34",
  1255. "ETSI", "5G", "20M", "HT", "1T", "153", "32",
  1256. "MKK", "5G", "20M", "HT", "1T", "153", "63",
  1257. "FCC", "5G", "20M", "HT", "1T", "157", "34",
  1258. "ETSI", "5G", "20M", "HT", "1T", "157", "32",
  1259. "MKK", "5G", "20M", "HT", "1T", "157", "63",
  1260. "FCC", "5G", "20M", "HT", "1T", "161", "34",
  1261. "ETSI", "5G", "20M", "HT", "1T", "161", "32",
  1262. "MKK", "5G", "20M", "HT", "1T", "161", "63",
  1263. "FCC", "5G", "20M", "HT", "1T", "165", "34",
  1264. "ETSI", "5G", "20M", "HT", "1T", "165", "32",
  1265. "MKK", "5G", "20M", "HT", "1T", "165", "63",
  1266. "FCC", "5G", "20M", "HT", "2T", "36", "28",
  1267. "ETSI", "5G", "20M", "HT", "2T", "36", "30",
  1268. "MKK", "5G", "20M", "HT", "2T", "36", "30",
  1269. "FCC", "5G", "20M", "HT", "2T", "40", "28",
  1270. "ETSI", "5G", "20M", "HT", "2T", "40", "30",
  1271. "MKK", "5G", "20M", "HT", "2T", "40", "30",
  1272. "FCC", "5G", "20M", "HT", "2T", "44", "28",
  1273. "ETSI", "5G", "20M", "HT", "2T", "44", "30",
  1274. "MKK", "5G", "20M", "HT", "2T", "44", "30",
  1275. "FCC", "5G", "20M", "HT", "2T", "48", "28",
  1276. "ETSI", "5G", "20M", "HT", "2T", "48", "30",
  1277. "MKK", "5G", "20M", "HT", "2T", "48", "30",
  1278. "FCC", "5G", "20M", "HT", "2T", "52", "34",
  1279. "ETSI", "5G", "20M", "HT", "2T", "52", "30",
  1280. "MKK", "5G", "20M", "HT", "2T", "52", "30",
  1281. "FCC", "5G", "20M", "HT", "2T", "56", "32",
  1282. "ETSI", "5G", "20M", "HT", "2T", "56", "30",
  1283. "MKK", "5G", "20M", "HT", "2T", "56", "30",
  1284. "FCC", "5G", "20M", "HT", "2T", "60", "30",
  1285. "ETSI", "5G", "20M", "HT", "2T", "60", "30",
  1286. "MKK", "5G", "20M", "HT", "2T", "60", "30",
  1287. "FCC", "5G", "20M", "HT", "2T", "64", "26",
  1288. "ETSI", "5G", "20M", "HT", "2T", "64", "30",
  1289. "MKK", "5G", "20M", "HT", "2T", "64", "30",
  1290. "FCC", "5G", "20M", "HT", "2T", "100", "28",
  1291. "ETSI", "5G", "20M", "HT", "2T", "100", "30",
  1292. "MKK", "5G", "20M", "HT", "2T", "100", "30",
  1293. "FCC", "5G", "20M", "HT", "2T", "114", "28",
  1294. "ETSI", "5G", "20M", "HT", "2T", "114", "30",
  1295. "MKK", "5G", "20M", "HT", "2T", "114", "30",
  1296. "FCC", "5G", "20M", "HT", "2T", "108", "30",
  1297. "ETSI", "5G", "20M", "HT", "2T", "108", "30",
  1298. "MKK", "5G", "20M", "HT", "2T", "108", "30",
  1299. "FCC", "5G", "20M", "HT", "2T", "112", "32",
  1300. "ETSI", "5G", "20M", "HT", "2T", "112", "30",
  1301. "MKK", "5G", "20M", "HT", "2T", "112", "30",
  1302. "FCC", "5G", "20M", "HT", "2T", "116", "32",
  1303. "ETSI", "5G", "20M", "HT", "2T", "116", "30",
  1304. "MKK", "5G", "20M", "HT", "2T", "116", "30",
  1305. "FCC", "5G", "20M", "HT", "2T", "120", "34",
  1306. "ETSI", "5G", "20M", "HT", "2T", "120", "30",
  1307. "MKK", "5G", "20M", "HT", "2T", "120", "30",
  1308. "FCC", "5G", "20M", "HT", "2T", "124", "32",
  1309. "ETSI", "5G", "20M", "HT", "2T", "124", "30",
  1310. "MKK", "5G", "20M", "HT", "2T", "124", "30",
  1311. "FCC", "5G", "20M", "HT", "2T", "128", "30",
  1312. "ETSI", "5G", "20M", "HT", "2T", "128", "30",
  1313. "MKK", "5G", "20M", "HT", "2T", "128", "30",
  1314. "FCC", "5G", "20M", "HT", "2T", "132", "28",
  1315. "ETSI", "5G", "20M", "HT", "2T", "132", "30",
  1316. "MKK", "5G", "20M", "HT", "2T", "132", "30",
  1317. "FCC", "5G", "20M", "HT", "2T", "136", "28",
  1318. "ETSI", "5G", "20M", "HT", "2T", "136", "30",
  1319. "MKK", "5G", "20M", "HT", "2T", "136", "30",
  1320. "FCC", "5G", "20M", "HT", "2T", "140", "26",
  1321. "ETSI", "5G", "20M", "HT", "2T", "140", "30",
  1322. "MKK", "5G", "20M", "HT", "2T", "140", "30",
  1323. "FCC", "5G", "20M", "HT", "2T", "149", "34",
  1324. "ETSI", "5G", "20M", "HT", "2T", "149", "30",
  1325. "MKK", "5G", "20M", "HT", "2T", "149", "63",
  1326. "FCC", "5G", "20M", "HT", "2T", "153", "34",
  1327. "ETSI", "5G", "20M", "HT", "2T", "153", "30",
  1328. "MKK", "5G", "20M", "HT", "2T", "153", "63",
  1329. "FCC", "5G", "20M", "HT", "2T", "157", "34",
  1330. "ETSI", "5G", "20M", "HT", "2T", "157", "30",
  1331. "MKK", "5G", "20M", "HT", "2T", "157", "63",
  1332. "FCC", "5G", "20M", "HT", "2T", "161", "34",
  1333. "ETSI", "5G", "20M", "HT", "2T", "161", "30",
  1334. "MKK", "5G", "20M", "HT", "2T", "161", "63",
  1335. "FCC", "5G", "20M", "HT", "2T", "165", "34",
  1336. "ETSI", "5G", "20M", "HT", "2T", "165", "30",
  1337. "MKK", "5G", "20M", "HT", "2T", "165", "63",
  1338. "FCC", "5G", "40M", "HT", "1T", "38", "30",
  1339. "ETSI", "5G", "40M", "HT", "1T", "38", "32",
  1340. "MKK", "5G", "40M", "HT", "1T", "38", "32",
  1341. "FCC", "5G", "40M", "HT", "1T", "46", "30",
  1342. "ETSI", "5G", "40M", "HT", "1T", "46", "32",
  1343. "MKK", "5G", "40M", "HT", "1T", "46", "32",
  1344. "FCC", "5G", "40M", "HT", "1T", "54", "32",
  1345. "ETSI", "5G", "40M", "HT", "1T", "54", "32",
  1346. "MKK", "5G", "40M", "HT", "1T", "54", "32",
  1347. "FCC", "5G", "40M", "HT", "1T", "62", "32",
  1348. "ETSI", "5G", "40M", "HT", "1T", "62", "32",
  1349. "MKK", "5G", "40M", "HT", "1T", "62", "32",
  1350. "FCC", "5G", "40M", "HT", "1T", "102", "28",
  1351. "ETSI", "5G", "40M", "HT", "1T", "102", "32",
  1352. "MKK", "5G", "40M", "HT", "1T", "102", "32",
  1353. "FCC", "5G", "40M", "HT", "1T", "110", "32",
  1354. "ETSI", "5G", "40M", "HT", "1T", "110", "32",
  1355. "MKK", "5G", "40M", "HT", "1T", "110", "32",
  1356. "FCC", "5G", "40M", "HT", "1T", "118", "34",
  1357. "ETSI", "5G", "40M", "HT", "1T", "118", "32",
  1358. "MKK", "5G", "40M", "HT", "1T", "118", "32",
  1359. "FCC", "5G", "40M", "HT", "1T", "126", "34",
  1360. "ETSI", "5G", "40M", "HT", "1T", "126", "32",
  1361. "MKK", "5G", "40M", "HT", "1T", "126", "32",
  1362. "FCC", "5G", "40M", "HT", "1T", "134", "32",
  1363. "ETSI", "5G", "40M", "HT", "1T", "134", "32",
  1364. "MKK", "5G", "40M", "HT", "1T", "134", "32",
  1365. "FCC", "5G", "40M", "HT", "1T", "151", "34",
  1366. "ETSI", "5G", "40M", "HT", "1T", "151", "32",
  1367. "MKK", "5G", "40M", "HT", "1T", "151", "63",
  1368. "FCC", "5G", "40M", "HT", "1T", "159", "34",
  1369. "ETSI", "5G", "40M", "HT", "1T", "159", "32",
  1370. "MKK", "5G", "40M", "HT", "1T", "159", "63",
  1371. "FCC", "5G", "40M", "HT", "2T", "38", "28",
  1372. "ETSI", "5G", "40M", "HT", "2T", "38", "30",
  1373. "MKK", "5G", "40M", "HT", "2T", "38", "30",
  1374. "FCC", "5G", "40M", "HT", "2T", "46", "28",
  1375. "ETSI", "5G", "40M", "HT", "2T", "46", "30",
  1376. "MKK", "5G", "40M", "HT", "2T", "46", "30",
  1377. "FCC", "5G", "40M", "HT", "2T", "54", "30",
  1378. "ETSI", "5G", "40M", "HT", "2T", "54", "30",
  1379. "MKK", "5G", "40M", "HT", "2T", "54", "30",
  1380. "FCC", "5G", "40M", "HT", "2T", "62", "30",
  1381. "ETSI", "5G", "40M", "HT", "2T", "62", "30",
  1382. "MKK", "5G", "40M", "HT", "2T", "62", "30",
  1383. "FCC", "5G", "40M", "HT", "2T", "102", "26",
  1384. "ETSI", "5G", "40M", "HT", "2T", "102", "30",
  1385. "MKK", "5G", "40M", "HT", "2T", "102", "30",
  1386. "FCC", "5G", "40M", "HT", "2T", "110", "30",
  1387. "ETSI", "5G", "40M", "HT", "2T", "110", "30",
  1388. "MKK", "5G", "40M", "HT", "2T", "110", "30",
  1389. "FCC", "5G", "40M", "HT", "2T", "118", "34",
  1390. "ETSI", "5G", "40M", "HT", "2T", "118", "30",
  1391. "MKK", "5G", "40M", "HT", "2T", "118", "30",
  1392. "FCC", "5G", "40M", "HT", "2T", "126", "32",
  1393. "ETSI", "5G", "40M", "HT", "2T", "126", "30",
  1394. "MKK", "5G", "40M", "HT", "2T", "126", "30",
  1395. "FCC", "5G", "40M", "HT", "2T", "134", "30",
  1396. "ETSI", "5G", "40M", "HT", "2T", "134", "30",
  1397. "MKK", "5G", "40M", "HT", "2T", "134", "30",
  1398. "FCC", "5G", "40M", "HT", "2T", "151", "34",
  1399. "ETSI", "5G", "40M", "HT", "2T", "151", "30",
  1400. "MKK", "5G", "40M", "HT", "2T", "151", "63",
  1401. "FCC", "5G", "40M", "HT", "2T", "159", "34",
  1402. "ETSI", "5G", "40M", "HT", "2T", "159", "30",
  1403. "MKK", "5G", "40M", "HT", "2T", "159", "63",
  1404. "FCC", "5G", "80M", "VHT", "1T", "42", "30",
  1405. "ETSI", "5G", "80M", "VHT", "1T", "42", "32",
  1406. "MKK", "5G", "80M", "VHT", "1T", "42", "32",
  1407. "FCC", "5G", "80M", "VHT", "1T", "58", "28",
  1408. "ETSI", "5G", "80M", "VHT", "1T", "58", "32",
  1409. "MKK", "5G", "80M", "VHT", "1T", "58", "32",
  1410. "FCC", "5G", "80M", "VHT", "1T", "106", "30",
  1411. "ETSI", "5G", "80M", "VHT", "1T", "106", "32",
  1412. "MKK", "5G", "80M", "VHT", "1T", "106", "32",
  1413. "FCC", "5G", "80M", "VHT", "1T", "122", "34",
  1414. "ETSI", "5G", "80M", "VHT", "1T", "122", "32",
  1415. "MKK", "5G", "80M", "VHT", "1T", "122", "32",
  1416. "FCC", "5G", "80M", "VHT", "1T", "155", "34",
  1417. "ETSI", "5G", "80M", "VHT", "1T", "155", "32",
  1418. "MKK", "5G", "80M", "VHT", "1T", "155", "63",
  1419. "FCC", "5G", "80M", "VHT", "2T", "42", "28",
  1420. "ETSI", "5G", "80M", "VHT", "2T", "42", "30",
  1421. "MKK", "5G", "80M", "VHT", "2T", "42", "30",
  1422. "FCC", "5G", "80M", "VHT", "2T", "58", "26",
  1423. "ETSI", "5G", "80M", "VHT", "2T", "58", "30",
  1424. "MKK", "5G", "80M", "VHT", "2T", "58", "30",
  1425. "FCC", "5G", "80M", "VHT", "2T", "106", "28",
  1426. "ETSI", "5G", "80M", "VHT", "2T", "106", "30",
  1427. "MKK", "5G", "80M", "VHT", "2T", "106", "30",
  1428. "FCC", "5G", "80M", "VHT", "2T", "122", "32",
  1429. "ETSI", "5G", "80M", "VHT", "2T", "122", "30",
  1430. "MKK", "5G", "80M", "VHT", "2T", "122", "30",
  1431. "FCC", "5G", "80M", "VHT", "2T", "155", "34",
  1432. "ETSI", "5G", "80M", "VHT", "2T", "155", "30",
  1433. "MKK", "5G", "80M", "VHT", "2T", "155", "63"
  1434. };
  1435. void
  1436. ODM_ReadAndConfig_MP_8821A_TXPWR_LMT(
  1437. IN PDM_ODM_T pDM_Odm
  1438. )
  1439. {
  1440. u4Byte i = 0;
  1441. u4Byte ArrayLen = sizeof(Array_MP_8821A_TXPWR_LMT)/sizeof(pu1Byte);
  1442. pu1Byte *Array = Array_MP_8821A_TXPWR_LMT;
  1443. ODM_RT_TRACE(pDM_Odm, ODM_COMP_INIT, ODM_DBG_TRACE, ("===> ODM_ReadAndConfig_MP_8821A_TXPWR_LMT\n"));
  1444. for (i = 0; i < ArrayLen; i += 7 )
  1445. {
  1446. pu1Byte regulation = Array[i];
  1447. pu1Byte band = Array[i+1];
  1448. pu1Byte bandwidth = Array[i+2];
  1449. pu1Byte rate = Array[i+3];
  1450. pu1Byte rfPath = Array[i+4];
  1451. pu1Byte chnl = Array[i+5];
  1452. pu1Byte val = Array[i+6];
  1453. odm_ConfigBB_TXPWR_LMT_8821A(pDM_Odm, regulation, band, bandwidth, rate, rfPath, chnl, val);
  1454. }
  1455. }
  1456. #endif // end of HWIMG_SUPPORT