ar5008_initvals.h 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674
  1. /*
  2. * Copyright (c) 2010-2011 Atheros Communications Inc.
  3. *
  4. * Permission to use, copy, modify, and/or distribute this software for any
  5. * purpose with or without fee is hereby granted, provided that the above
  6. * copyright notice and this permission notice appear in all copies.
  7. *
  8. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  9. * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  10. * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  11. * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  12. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  13. * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  14. * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  15. */
  16. static const u32 ar5416Modes[][5] = {
  17. /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
  18. {0x00001030, 0x00000230, 0x00000460, 0x000002c0, 0x00000160},
  19. {0x00001070, 0x00000168, 0x000002d0, 0x00000318, 0x0000018c},
  20. {0x000010b0, 0x00000e60, 0x00001cc0, 0x00007c70, 0x00003e38},
  21. {0x000010f0, 0x0000a000, 0x00014000, 0x00016000, 0x0000b000},
  22. {0x00008014, 0x03e803e8, 0x07d007d0, 0x10801600, 0x08400b00},
  23. {0x0000801c, 0x128d93a7, 0x128d93cf, 0x12e013d7, 0x12e013ab},
  24. {0x00008120, 0x08f04800, 0x08f04800, 0x08f04810, 0x08f04810},
  25. {0x000081d0, 0x00003210, 0x00003210, 0x0000320a, 0x0000320a},
  26. {0x00009804, 0x00000300, 0x000003c4, 0x000003c4, 0x00000300},
  27. {0x00009820, 0x02020200, 0x02020200, 0x02020200, 0x02020200},
  28. {0x00009824, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e},
  29. {0x00009828, 0x0a020001, 0x0a020001, 0x0a020001, 0x0a020001},
  30. {0x00009834, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e},
  31. {0x00009838, 0x00000007, 0x00000007, 0x00000007, 0x00000007},
  32. {0x00009844, 0x1372161e, 0x1372161e, 0x137216a0, 0x137216a0},
  33. {0x00009848, 0x001a6a65, 0x001a6a65, 0x00197a68, 0x00197a68},
  34. {0x0000a848, 0x001a6a65, 0x001a6a65, 0x00197a68, 0x00197a68},
  35. {0x0000b848, 0x001a6a65, 0x001a6a65, 0x00197a68, 0x00197a68},
  36. {0x00009850, 0x6c48b4e0, 0x6d48b4e0, 0x6d48b0de, 0x6c48b0de},
  37. {0x00009858, 0x7ec82d2e, 0x7ec82d2e, 0x7ec82d2e, 0x7ec82d2e},
  38. {0x0000985c, 0x31395d5e, 0x3139605e, 0x3139605e, 0x31395d5e},
  39. {0x00009860, 0x00049d18, 0x00049d18, 0x00049d18, 0x00049d18},
  40. {0x00009864, 0x0001ce00, 0x0001ce00, 0x0001ce00, 0x0001ce00},
  41. {0x00009868, 0x409a4190, 0x409a4190, 0x409a4190, 0x409a4190},
  42. {0x0000986c, 0x050cb081, 0x050cb081, 0x050cb081, 0x050cb081},
  43. {0x00009914, 0x000007d0, 0x00000fa0, 0x00001130, 0x00000898},
  44. {0x00009918, 0x000001b8, 0x00000370, 0x00000268, 0x00000134},
  45. {0x00009924, 0xd0058a0b, 0xd0058a0b, 0xd0058a0b, 0xd0058a0b},
  46. {0x00009944, 0xffb81020, 0xffb81020, 0xffb81020, 0xffb81020},
  47. {0x00009960, 0x00000900, 0x00000900, 0x00012d80, 0x00012d80},
  48. {0x0000a960, 0x00000900, 0x00000900, 0x00012d80, 0x00012d80},
  49. {0x0000b960, 0x00000900, 0x00000900, 0x00012d80, 0x00012d80},
  50. {0x00009964, 0x00000000, 0x00000000, 0x00001120, 0x00001120},
  51. {0x000099bc, 0x001a0a00, 0x001a0a00, 0x001a0a00, 0x001a0a00},
  52. {0x000099c0, 0x038919be, 0x038919be, 0x038919be, 0x038919be},
  53. {0x000099c4, 0x06336f77, 0x06336f77, 0x06336f77, 0x06336f77},
  54. {0x000099c8, 0x6af6532c, 0x6af6532c, 0x6af6532c, 0x6af6532c},
  55. {0x000099cc, 0x08f186c8, 0x08f186c8, 0x08f186c8, 0x08f186c8},
  56. {0x000099d0, 0x00046384, 0x00046384, 0x00046384, 0x00046384},
  57. {0x000099d4, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
  58. {0x000099d8, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
  59. {0x0000a204, 0x00000880, 0x00000880, 0x00000880, 0x00000880},
  60. {0x0000a208, 0xd6be4788, 0xd6be4788, 0xd03e4788, 0xd03e4788},
  61. {0x0000a20c, 0x002ec1e0, 0x002ec1e0, 0x002ac120, 0x002ac120},
  62. {0x0000b20c, 0x002ec1e0, 0x002ec1e0, 0x002ac120, 0x002ac120},
  63. {0x0000c20c, 0x002ec1e0, 0x002ec1e0, 0x002ac120, 0x002ac120},
  64. {0x0000a21c, 0x1883800a, 0x1883800a, 0x1883800a, 0x1883800a},
  65. {0x0000a230, 0x00000000, 0x00000000, 0x00000210, 0x00000108},
  66. {0x0000a274, 0x0a1a9caa, 0x0a1a9caa, 0x0a1a7caa, 0x0a1a7caa},
  67. {0x0000a300, 0x18010000, 0x18010000, 0x18010000, 0x18010000},
  68. {0x0000a304, 0x30032602, 0x30032602, 0x2e032402, 0x2e032402},
  69. {0x0000a308, 0x48073e06, 0x48073e06, 0x4a0a3c06, 0x4a0a3c06},
  70. {0x0000a30c, 0x560b4c0a, 0x560b4c0a, 0x621a540b, 0x621a540b},
  71. {0x0000a310, 0x641a600f, 0x641a600f, 0x764f6c1b, 0x764f6c1b},
  72. {0x0000a314, 0x7a4f6e1b, 0x7a4f6e1b, 0x845b7a5a, 0x845b7a5a},
  73. {0x0000a318, 0x8c5b7e5a, 0x8c5b7e5a, 0x950f8ccf, 0x950f8ccf},
  74. {0x0000a31c, 0x9d0f96cf, 0x9d0f96cf, 0xa5cf9b4f, 0xa5cf9b4f},
  75. {0x0000a320, 0xb51fa69f, 0xb51fa69f, 0xbddfaf1f, 0xbddfaf1f},
  76. {0x0000a324, 0xcb3fbd07, 0xcb3fbcbf, 0xd1ffc93f, 0xd1ffc93f},
  77. {0x0000a328, 0x0000d7bf, 0x0000d7bf, 0x00000000, 0x00000000},
  78. {0x0000a32c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
  79. {0x0000a330, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
  80. {0x0000a334, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
  81. };
  82. static const u32 ar5416Common[][2] = {
  83. /* Addr allmodes */
  84. {0x0000000c, 0x00000000},
  85. {0x00000030, 0x00020015},
  86. {0x00000034, 0x00000005},
  87. {0x00000040, 0x00000000},
  88. {0x00000044, 0x00000008},
  89. {0x00000048, 0x00000008},
  90. {0x0000004c, 0x00000010},
  91. {0x00000050, 0x00000000},
  92. {0x00000054, 0x0000001f},
  93. {0x00000800, 0x00000000},
  94. {0x00000804, 0x00000000},
  95. {0x00000808, 0x00000000},
  96. {0x0000080c, 0x00000000},
  97. {0x00000810, 0x00000000},
  98. {0x00000814, 0x00000000},
  99. {0x00000818, 0x00000000},
  100. {0x0000081c, 0x00000000},
  101. {0x00000820, 0x00000000},
  102. {0x00000824, 0x00000000},
  103. {0x00001040, 0x002ffc0f},
  104. {0x00001044, 0x002ffc0f},
  105. {0x00001048, 0x002ffc0f},
  106. {0x0000104c, 0x002ffc0f},
  107. {0x00001050, 0x002ffc0f},
  108. {0x00001054, 0x002ffc0f},
  109. {0x00001058, 0x002ffc0f},
  110. {0x0000105c, 0x002ffc0f},
  111. {0x00001060, 0x002ffc0f},
  112. {0x00001064, 0x002ffc0f},
  113. {0x00001230, 0x00000000},
  114. {0x00001270, 0x00000000},
  115. {0x00001038, 0x00000000},
  116. {0x00001078, 0x00000000},
  117. {0x000010b8, 0x00000000},
  118. {0x000010f8, 0x00000000},
  119. {0x00001138, 0x00000000},
  120. {0x00001178, 0x00000000},
  121. {0x000011b8, 0x00000000},
  122. {0x000011f8, 0x00000000},
  123. {0x00001238, 0x00000000},
  124. {0x00001278, 0x00000000},
  125. {0x000012b8, 0x00000000},
  126. {0x000012f8, 0x00000000},
  127. {0x00001338, 0x00000000},
  128. {0x00001378, 0x00000000},
  129. {0x000013b8, 0x00000000},
  130. {0x000013f8, 0x00000000},
  131. {0x00001438, 0x00000000},
  132. {0x00001478, 0x00000000},
  133. {0x000014b8, 0x00000000},
  134. {0x000014f8, 0x00000000},
  135. {0x00001538, 0x00000000},
  136. {0x00001578, 0x00000000},
  137. {0x000015b8, 0x00000000},
  138. {0x000015f8, 0x00000000},
  139. {0x00001638, 0x00000000},
  140. {0x00001678, 0x00000000},
  141. {0x000016b8, 0x00000000},
  142. {0x000016f8, 0x00000000},
  143. {0x00001738, 0x00000000},
  144. {0x00001778, 0x00000000},
  145. {0x000017b8, 0x00000000},
  146. {0x000017f8, 0x00000000},
  147. {0x0000103c, 0x00000000},
  148. {0x0000107c, 0x00000000},
  149. {0x000010bc, 0x00000000},
  150. {0x000010fc, 0x00000000},
  151. {0x0000113c, 0x00000000},
  152. {0x0000117c, 0x00000000},
  153. {0x000011bc, 0x00000000},
  154. {0x000011fc, 0x00000000},
  155. {0x0000123c, 0x00000000},
  156. {0x0000127c, 0x00000000},
  157. {0x000012bc, 0x00000000},
  158. {0x000012fc, 0x00000000},
  159. {0x0000133c, 0x00000000},
  160. {0x0000137c, 0x00000000},
  161. {0x000013bc, 0x00000000},
  162. {0x000013fc, 0x00000000},
  163. {0x0000143c, 0x00000000},
  164. {0x0000147c, 0x00000000},
  165. {0x00004030, 0x00000002},
  166. {0x0000403c, 0x00000002},
  167. {0x00007010, 0x00000000},
  168. {0x00007038, 0x000004c2},
  169. {0x00008004, 0x00000000},
  170. {0x00008008, 0x00000000},
  171. {0x0000800c, 0x00000000},
  172. {0x00008018, 0x00000700},
  173. {0x00008020, 0x00000000},
  174. {0x00008038, 0x00000000},
  175. {0x0000803c, 0x00000000},
  176. {0x00008048, 0x40000000},
  177. {0x00008054, 0x00000000},
  178. {0x00008058, 0x00000000},
  179. {0x0000805c, 0x000fc78f},
  180. {0x00008060, 0x0000000f},
  181. {0x00008064, 0x00000000},
  182. {0x000080c0, 0x2a82301a},
  183. {0x000080c4, 0x05dc01e0},
  184. {0x000080c8, 0x1f402710},
  185. {0x000080cc, 0x01f40000},
  186. {0x000080d0, 0x00001e00},
  187. {0x000080d4, 0x00000000},
  188. {0x000080d8, 0x00400000},
  189. {0x000080e0, 0xffffffff},
  190. {0x000080e4, 0x0000ffff},
  191. {0x000080e8, 0x003f3f3f},
  192. {0x000080ec, 0x00000000},
  193. {0x000080f0, 0x00000000},
  194. {0x000080f4, 0x00000000},
  195. {0x000080f8, 0x00000000},
  196. {0x000080fc, 0x00020000},
  197. {0x00008100, 0x00020000},
  198. {0x00008104, 0x00000001},
  199. {0x00008108, 0x00000052},
  200. {0x0000810c, 0x00000000},
  201. {0x00008110, 0x00000168},
  202. {0x00008118, 0x000100aa},
  203. {0x0000811c, 0x00003210},
  204. {0x00008124, 0x00000000},
  205. {0x00008128, 0x00000000},
  206. {0x0000812c, 0x00000000},
  207. {0x00008130, 0x00000000},
  208. {0x00008134, 0x00000000},
  209. {0x00008138, 0x00000000},
  210. {0x0000813c, 0x00000000},
  211. {0x00008144, 0xffffffff},
  212. {0x00008168, 0x00000000},
  213. {0x0000816c, 0x00000000},
  214. {0x00008170, 0x32143320},
  215. {0x00008174, 0xfaa4fa50},
  216. {0x00008178, 0x00000100},
  217. {0x0000817c, 0x00000000},
  218. {0x000081c4, 0x00000000},
  219. {0x000081ec, 0x00000000},
  220. {0x000081f0, 0x00000000},
  221. {0x000081f4, 0x00000000},
  222. {0x000081f8, 0x00000000},
  223. {0x000081fc, 0x00000000},
  224. {0x00008200, 0x00000000},
  225. {0x00008204, 0x00000000},
  226. {0x00008208, 0x00000000},
  227. {0x0000820c, 0x00000000},
  228. {0x00008210, 0x00000000},
  229. {0x00008214, 0x00000000},
  230. {0x00008218, 0x00000000},
  231. {0x0000821c, 0x00000000},
  232. {0x00008220, 0x00000000},
  233. {0x00008224, 0x00000000},
  234. {0x00008228, 0x00000000},
  235. {0x0000822c, 0x00000000},
  236. {0x00008230, 0x00000000},
  237. {0x00008234, 0x00000000},
  238. {0x00008238, 0x00000000},
  239. {0x0000823c, 0x00000000},
  240. {0x00008240, 0x00100000},
  241. {0x00008244, 0x0010f400},
  242. {0x00008248, 0x00000100},
  243. {0x0000824c, 0x0001e800},
  244. {0x00008250, 0x00000000},
  245. {0x00008254, 0x00000000},
  246. {0x00008258, 0x00000000},
  247. {0x0000825c, 0x400000ff},
  248. {0x00008260, 0x00080922},
  249. {0x00008264, 0x88000010},
  250. {0x00008270, 0x00000000},
  251. {0x00008274, 0x40000000},
  252. {0x00008278, 0x003e4180},
  253. {0x0000827c, 0x00000000},
  254. {0x00008284, 0x0000002c},
  255. {0x00008288, 0x0000002c},
  256. {0x0000828c, 0x00000000},
  257. {0x00008294, 0x00000000},
  258. {0x00008298, 0x00000000},
  259. {0x00008300, 0x00000000},
  260. {0x00008304, 0x00000000},
  261. {0x00008308, 0x00000000},
  262. {0x0000830c, 0x00000000},
  263. {0x00008310, 0x00000000},
  264. {0x00008314, 0x00000000},
  265. {0x00008318, 0x00000000},
  266. {0x00008328, 0x00000000},
  267. {0x0000832c, 0x00000007},
  268. {0x00008330, 0x00000302},
  269. {0x00008334, 0x00000e00},
  270. {0x00008338, 0x00070000},
  271. {0x0000833c, 0x00000000},
  272. {0x00008340, 0x000107ff},
  273. {0x00009808, 0x00000000},
  274. {0x0000980c, 0xad848e19},
  275. {0x00009810, 0x7d14e000},
  276. {0x00009814, 0x9c0a9f6b},
  277. {0x0000981c, 0x00000000},
  278. {0x0000982c, 0x0000a000},
  279. {0x00009830, 0x00000000},
  280. {0x0000983c, 0x00200400},
  281. {0x00009840, 0x206a002e},
  282. {0x0000984c, 0x1284233c},
  283. {0x00009854, 0x00000859},
  284. {0x00009900, 0x00000000},
  285. {0x00009904, 0x00000000},
  286. {0x00009908, 0x00000000},
  287. {0x0000990c, 0x00000000},
  288. {0x0000991c, 0x10000fff},
  289. {0x00009920, 0x05100000},
  290. {0x0000a920, 0x05100000},
  291. {0x0000b920, 0x05100000},
  292. {0x00009928, 0x00000001},
  293. {0x0000992c, 0x00000004},
  294. {0x00009934, 0x1e1f2022},
  295. {0x00009938, 0x0a0b0c0d},
  296. {0x0000993c, 0x00000000},
  297. {0x00009948, 0x9280b212},
  298. {0x0000994c, 0x00020028},
  299. {0x00009954, 0x5d50e188},
  300. {0x00009958, 0x00081fff},
  301. {0x0000c95c, 0x004b6a8e},
  302. {0x0000c968, 0x000003ce},
  303. {0x00009970, 0x190fb515},
  304. {0x00009974, 0x00000000},
  305. {0x00009978, 0x00000001},
  306. {0x0000997c, 0x00000000},
  307. {0x00009980, 0x00000000},
  308. {0x00009984, 0x00000000},
  309. {0x00009988, 0x00000000},
  310. {0x0000998c, 0x00000000},
  311. {0x00009990, 0x00000000},
  312. {0x00009994, 0x00000000},
  313. {0x00009998, 0x00000000},
  314. {0x0000999c, 0x00000000},
  315. {0x000099a0, 0x00000000},
  316. {0x000099a4, 0x00000001},
  317. {0x000099a8, 0x001fff00},
  318. {0x000099ac, 0x00000000},
  319. {0x000099b0, 0x03051000},
  320. {0x000099dc, 0x00000000},
  321. {0x000099e0, 0x00000200},
  322. {0x000099e4, 0xaaaaaaaa},
  323. {0x000099e8, 0x3c466478},
  324. {0x000099ec, 0x000000aa},
  325. {0x000099fc, 0x00001042},
  326. {0x00009b00, 0x00000000},
  327. {0x00009b04, 0x00000001},
  328. {0x00009b08, 0x00000002},
  329. {0x00009b0c, 0x00000003},
  330. {0x00009b10, 0x00000004},
  331. {0x00009b14, 0x00000005},
  332. {0x00009b18, 0x00000008},
  333. {0x00009b1c, 0x00000009},
  334. {0x00009b20, 0x0000000a},
  335. {0x00009b24, 0x0000000b},
  336. {0x00009b28, 0x0000000c},
  337. {0x00009b2c, 0x0000000d},
  338. {0x00009b30, 0x00000010},
  339. {0x00009b34, 0x00000011},
  340. {0x00009b38, 0x00000012},
  341. {0x00009b3c, 0x00000013},
  342. {0x00009b40, 0x00000014},
  343. {0x00009b44, 0x00000015},
  344. {0x00009b48, 0x00000018},
  345. {0x00009b4c, 0x00000019},
  346. {0x00009b50, 0x0000001a},
  347. {0x00009b54, 0x0000001b},
  348. {0x00009b58, 0x0000001c},
  349. {0x00009b5c, 0x0000001d},
  350. {0x00009b60, 0x00000020},
  351. {0x00009b64, 0x00000021},
  352. {0x00009b68, 0x00000022},
  353. {0x00009b6c, 0x00000023},
  354. {0x00009b70, 0x00000024},
  355. {0x00009b74, 0x00000025},
  356. {0x00009b78, 0x00000028},
  357. {0x00009b7c, 0x00000029},
  358. {0x00009b80, 0x0000002a},
  359. {0x00009b84, 0x0000002b},
  360. {0x00009b88, 0x0000002c},
  361. {0x00009b8c, 0x0000002d},
  362. {0x00009b90, 0x00000030},
  363. {0x00009b94, 0x00000031},
  364. {0x00009b98, 0x00000032},
  365. {0x00009b9c, 0x00000033},
  366. {0x00009ba0, 0x00000034},
  367. {0x00009ba4, 0x00000035},
  368. {0x00009ba8, 0x00000035},
  369. {0x00009bac, 0x00000035},
  370. {0x00009bb0, 0x00000035},
  371. {0x00009bb4, 0x00000035},
  372. {0x00009bb8, 0x00000035},
  373. {0x00009bbc, 0x00000035},
  374. {0x00009bc0, 0x00000035},
  375. {0x00009bc4, 0x00000035},
  376. {0x00009bc8, 0x00000035},
  377. {0x00009bcc, 0x00000035},
  378. {0x00009bd0, 0x00000035},
  379. {0x00009bd4, 0x00000035},
  380. {0x00009bd8, 0x00000035},
  381. {0x00009bdc, 0x00000035},
  382. {0x00009be0, 0x00000035},
  383. {0x00009be4, 0x00000035},
  384. {0x00009be8, 0x00000035},
  385. {0x00009bec, 0x00000035},
  386. {0x00009bf0, 0x00000035},
  387. {0x00009bf4, 0x00000035},
  388. {0x00009bf8, 0x00000010},
  389. {0x00009bfc, 0x0000001a},
  390. {0x0000a210, 0x40806333},
  391. {0x0000a214, 0x00106c10},
  392. {0x0000a218, 0x009c4060},
  393. {0x0000a220, 0x018830c6},
  394. {0x0000a224, 0x00000400},
  395. {0x0000a228, 0x00000bb5},
  396. {0x0000a22c, 0x00000011},
  397. {0x0000a234, 0x20202020},
  398. {0x0000a238, 0x20202020},
  399. {0x0000a23c, 0x13c889af},
  400. {0x0000a240, 0x38490a20},
  401. {0x0000a244, 0x00007bb6},
  402. {0x0000a248, 0x0fff3ffc},
  403. {0x0000a24c, 0x00000001},
  404. {0x0000a250, 0x0000a000},
  405. {0x0000a254, 0x00000000},
  406. {0x0000a258, 0x0cc75380},
  407. {0x0000a25c, 0x0f0f0f01},
  408. {0x0000a260, 0xdfa91f01},
  409. {0x0000a268, 0x00000000},
  410. {0x0000a26c, 0x0e79e5c6},
  411. {0x0000b26c, 0x0e79e5c6},
  412. {0x0000c26c, 0x0e79e5c6},
  413. {0x0000d270, 0x00820820},
  414. {0x0000a278, 0x1ce739ce},
  415. {0x0000a27c, 0x051701ce},
  416. {0x0000a338, 0x00000000},
  417. {0x0000a33c, 0x00000000},
  418. {0x0000a340, 0x00000000},
  419. {0x0000a344, 0x00000000},
  420. {0x0000a348, 0x3fffffff},
  421. {0x0000a34c, 0x3fffffff},
  422. {0x0000a350, 0x3fffffff},
  423. {0x0000a354, 0x0003ffff},
  424. {0x0000a358, 0x79a8aa1f},
  425. {0x0000d35c, 0x07ffffef},
  426. {0x0000d360, 0x0fffffe7},
  427. {0x0000d364, 0x17ffffe5},
  428. {0x0000d368, 0x1fffffe4},
  429. {0x0000d36c, 0x37ffffe3},
  430. {0x0000d370, 0x3fffffe3},
  431. {0x0000d374, 0x57ffffe3},
  432. {0x0000d378, 0x5fffffe2},
  433. {0x0000d37c, 0x7fffffe2},
  434. {0x0000d380, 0x7f3c7bba},
  435. {0x0000d384, 0xf3307ff0},
  436. {0x0000a388, 0x08000000},
  437. {0x0000a38c, 0x20202020},
  438. {0x0000a390, 0x20202020},
  439. {0x0000a394, 0x1ce739ce},
  440. {0x0000a398, 0x000001ce},
  441. {0x0000a39c, 0x00000001},
  442. {0x0000a3a0, 0x00000000},
  443. {0x0000a3a4, 0x00000000},
  444. {0x0000a3a8, 0x00000000},
  445. {0x0000a3ac, 0x00000000},
  446. {0x0000a3b0, 0x00000000},
  447. {0x0000a3b4, 0x00000000},
  448. {0x0000a3b8, 0x00000000},
  449. {0x0000a3bc, 0x00000000},
  450. {0x0000a3c0, 0x00000000},
  451. {0x0000a3c4, 0x00000000},
  452. {0x0000a3c8, 0x00000246},
  453. {0x0000a3cc, 0x20202020},
  454. {0x0000a3d0, 0x20202020},
  455. {0x0000a3d4, 0x20202020},
  456. {0x0000a3dc, 0x1ce739ce},
  457. {0x0000a3e0, 0x000001ce},
  458. };
  459. static const u32 ar5416Bank0[][2] = {
  460. /* Addr allmodes */
  461. {0x000098b0, 0x1e5795e5},
  462. {0x000098e0, 0x02008020},
  463. };
  464. static const u32 ar5416BB_RfGain[][3] = {
  465. /* Addr 5G 2G */
  466. {0x00009a00, 0x00000000, 0x00000000},
  467. {0x00009a04, 0x00000040, 0x00000040},
  468. {0x00009a08, 0x00000080, 0x00000080},
  469. {0x00009a0c, 0x000001a1, 0x00000141},
  470. {0x00009a10, 0x000001e1, 0x00000181},
  471. {0x00009a14, 0x00000021, 0x000001c1},
  472. {0x00009a18, 0x00000061, 0x00000001},
  473. {0x00009a1c, 0x00000168, 0x00000041},
  474. {0x00009a20, 0x000001a8, 0x000001a8},
  475. {0x00009a24, 0x000001e8, 0x000001e8},
  476. {0x00009a28, 0x00000028, 0x00000028},
  477. {0x00009a2c, 0x00000068, 0x00000068},
  478. {0x00009a30, 0x00000189, 0x000000a8},
  479. {0x00009a34, 0x000001c9, 0x00000169},
  480. {0x00009a38, 0x00000009, 0x000001a9},
  481. {0x00009a3c, 0x00000049, 0x000001e9},
  482. {0x00009a40, 0x00000089, 0x00000029},
  483. {0x00009a44, 0x00000170, 0x00000069},
  484. {0x00009a48, 0x000001b0, 0x00000190},
  485. {0x00009a4c, 0x000001f0, 0x000001d0},
  486. {0x00009a50, 0x00000030, 0x00000010},
  487. {0x00009a54, 0x00000070, 0x00000050},
  488. {0x00009a58, 0x00000191, 0x00000090},
  489. {0x00009a5c, 0x000001d1, 0x00000151},
  490. {0x00009a60, 0x00000011, 0x00000191},
  491. {0x00009a64, 0x00000051, 0x000001d1},
  492. {0x00009a68, 0x00000091, 0x00000011},
  493. {0x00009a6c, 0x000001b8, 0x00000051},
  494. {0x00009a70, 0x000001f8, 0x00000198},
  495. {0x00009a74, 0x00000038, 0x000001d8},
  496. {0x00009a78, 0x00000078, 0x00000018},
  497. {0x00009a7c, 0x00000199, 0x00000058},
  498. {0x00009a80, 0x000001d9, 0x00000098},
  499. {0x00009a84, 0x00000019, 0x00000159},
  500. {0x00009a88, 0x00000059, 0x00000199},
  501. {0x00009a8c, 0x00000099, 0x000001d9},
  502. {0x00009a90, 0x000000d9, 0x00000019},
  503. {0x00009a94, 0x000000f9, 0x00000059},
  504. {0x00009a98, 0x000000f9, 0x00000099},
  505. {0x00009a9c, 0x000000f9, 0x000000d9},
  506. {0x00009aa0, 0x000000f9, 0x000000f9},
  507. {0x00009aa4, 0x000000f9, 0x000000f9},
  508. {0x00009aa8, 0x000000f9, 0x000000f9},
  509. {0x00009aac, 0x000000f9, 0x000000f9},
  510. {0x00009ab0, 0x000000f9, 0x000000f9},
  511. {0x00009ab4, 0x000000f9, 0x000000f9},
  512. {0x00009ab8, 0x000000f9, 0x000000f9},
  513. {0x00009abc, 0x000000f9, 0x000000f9},
  514. {0x00009ac0, 0x000000f9, 0x000000f9},
  515. {0x00009ac4, 0x000000f9, 0x000000f9},
  516. {0x00009ac8, 0x000000f9, 0x000000f9},
  517. {0x00009acc, 0x000000f9, 0x000000f9},
  518. {0x00009ad0, 0x000000f9, 0x000000f9},
  519. {0x00009ad4, 0x000000f9, 0x000000f9},
  520. {0x00009ad8, 0x000000f9, 0x000000f9},
  521. {0x00009adc, 0x000000f9, 0x000000f9},
  522. {0x00009ae0, 0x000000f9, 0x000000f9},
  523. {0x00009ae4, 0x000000f9, 0x000000f9},
  524. {0x00009ae8, 0x000000f9, 0x000000f9},
  525. {0x00009aec, 0x000000f9, 0x000000f9},
  526. {0x00009af0, 0x000000f9, 0x000000f9},
  527. {0x00009af4, 0x000000f9, 0x000000f9},
  528. {0x00009af8, 0x000000f9, 0x000000f9},
  529. {0x00009afc, 0x000000f9, 0x000000f9},
  530. };
  531. static const u32 ar5416Bank1[][2] = {
  532. /* Addr allmodes */
  533. {0x000098b0, 0x02108421},
  534. {0x000098ec, 0x00000008},
  535. };
  536. static const u32 ar5416Bank2[][2] = {
  537. /* Addr allmodes */
  538. {0x000098b0, 0x0e73ff17},
  539. {0x000098e0, 0x00000420},
  540. };
  541. static const u32 ar5416Bank3[][3] = {
  542. /* Addr 5G 2G */
  543. {0x000098f0, 0x01400018, 0x01c00018},
  544. };
  545. static const u32 ar5416Bank6[][3] = {
  546. /* Addr 5G 2G */
  547. {0x0000989c, 0x00000000, 0x00000000},
  548. {0x0000989c, 0x00000000, 0x00000000},
  549. {0x0000989c, 0x00000000, 0x00000000},
  550. {0x0000989c, 0x00e00000, 0x00e00000},
  551. {0x0000989c, 0x005e0000, 0x005e0000},
  552. {0x0000989c, 0x00120000, 0x00120000},
  553. {0x0000989c, 0x00620000, 0x00620000},
  554. {0x0000989c, 0x00020000, 0x00020000},
  555. {0x0000989c, 0x00ff0000, 0x00ff0000},
  556. {0x0000989c, 0x00ff0000, 0x00ff0000},
  557. {0x0000989c, 0x00ff0000, 0x00ff0000},
  558. {0x0000989c, 0x40ff0000, 0x40ff0000},
  559. {0x0000989c, 0x005f0000, 0x005f0000},
  560. {0x0000989c, 0x00870000, 0x00870000},
  561. {0x0000989c, 0x00f90000, 0x00f90000},
  562. {0x0000989c, 0x007b0000, 0x007b0000},
  563. {0x0000989c, 0x00ff0000, 0x00ff0000},
  564. {0x0000989c, 0x00f50000, 0x00f50000},
  565. {0x0000989c, 0x00dc0000, 0x00dc0000},
  566. {0x0000989c, 0x00110000, 0x00110000},
  567. {0x0000989c, 0x006100a8, 0x006100a8},
  568. {0x0000989c, 0x004210a2, 0x004210a2},
  569. {0x0000989c, 0x0014008f, 0x0014008f},
  570. {0x0000989c, 0x00c40003, 0x00c40003},
  571. {0x0000989c, 0x003000f2, 0x003000f2},
  572. {0x0000989c, 0x00440016, 0x00440016},
  573. {0x0000989c, 0x00410040, 0x00410040},
  574. {0x0000989c, 0x0001805e, 0x0001805e},
  575. {0x0000989c, 0x0000c0ab, 0x0000c0ab},
  576. {0x0000989c, 0x000000f1, 0x000000f1},
  577. {0x0000989c, 0x00002081, 0x00002081},
  578. {0x0000989c, 0x000000d4, 0x000000d4},
  579. {0x000098d0, 0x0000000f, 0x0010000f},
  580. };
  581. static const u32 ar5416Bank6TPC[][3] = {
  582. /* Addr 5G 2G */
  583. {0x0000989c, 0x00000000, 0x00000000},
  584. {0x0000989c, 0x00000000, 0x00000000},
  585. {0x0000989c, 0x00000000, 0x00000000},
  586. {0x0000989c, 0x00e00000, 0x00e00000},
  587. {0x0000989c, 0x005e0000, 0x005e0000},
  588. {0x0000989c, 0x00120000, 0x00120000},
  589. {0x0000989c, 0x00620000, 0x00620000},
  590. {0x0000989c, 0x00020000, 0x00020000},
  591. {0x0000989c, 0x00ff0000, 0x00ff0000},
  592. {0x0000989c, 0x00ff0000, 0x00ff0000},
  593. {0x0000989c, 0x00ff0000, 0x00ff0000},
  594. {0x0000989c, 0x40ff0000, 0x40ff0000},
  595. {0x0000989c, 0x005f0000, 0x005f0000},
  596. {0x0000989c, 0x00870000, 0x00870000},
  597. {0x0000989c, 0x00f90000, 0x00f90000},
  598. {0x0000989c, 0x007b0000, 0x007b0000},
  599. {0x0000989c, 0x00ff0000, 0x00ff0000},
  600. {0x0000989c, 0x00f50000, 0x00f50000},
  601. {0x0000989c, 0x00dc0000, 0x00dc0000},
  602. {0x0000989c, 0x00110000, 0x00110000},
  603. {0x0000989c, 0x006100a8, 0x006100a8},
  604. {0x0000989c, 0x00423022, 0x00423022},
  605. {0x0000989c, 0x201400df, 0x201400df},
  606. {0x0000989c, 0x00c40002, 0x00c40002},
  607. {0x0000989c, 0x003000f2, 0x003000f2},
  608. {0x0000989c, 0x00440016, 0x00440016},
  609. {0x0000989c, 0x00410040, 0x00410040},
  610. {0x0000989c, 0x0001805e, 0x0001805e},
  611. {0x0000989c, 0x0000c0ab, 0x0000c0ab},
  612. {0x0000989c, 0x000000e1, 0x000000e1},
  613. {0x0000989c, 0x00007081, 0x00007081},
  614. {0x0000989c, 0x000000d4, 0x000000d4},
  615. {0x000098d0, 0x0000000f, 0x0010000f},
  616. };
  617. static const u32 ar5416Bank7[][2] = {
  618. /* Addr allmodes */
  619. {0x0000989c, 0x00000500},
  620. {0x0000989c, 0x00000800},
  621. {0x000098cc, 0x0000000e},
  622. };
  623. static const u32 ar5416Addac[][2] = {
  624. /* Addr allmodes */
  625. {0x0000989c, 0x00000000},
  626. {0x0000989c, 0x00000003},
  627. {0x0000989c, 0x00000000},
  628. {0x0000989c, 0x0000000c},
  629. {0x0000989c, 0x00000000},
  630. {0x0000989c, 0x00000030},
  631. {0x0000989c, 0x00000000},
  632. {0x0000989c, 0x00000000},
  633. {0x0000989c, 0x00000000},
  634. {0x0000989c, 0x00000000},
  635. {0x0000989c, 0x00000000},
  636. {0x0000989c, 0x00000000},
  637. {0x0000989c, 0x00000000},
  638. {0x0000989c, 0x00000000},
  639. {0x0000989c, 0x00000000},
  640. {0x0000989c, 0x00000000},
  641. {0x0000989c, 0x00000000},
  642. {0x0000989c, 0x00000000},
  643. {0x0000989c, 0x00000060},
  644. {0x0000989c, 0x00000000},
  645. {0x0000989c, 0x00000000},
  646. {0x0000989c, 0x00000000},
  647. {0x0000989c, 0x00000000},
  648. {0x0000989c, 0x00000000},
  649. {0x0000989c, 0x00000000},
  650. {0x0000989c, 0x00000000},
  651. {0x0000989c, 0x00000000},
  652. {0x0000989c, 0x00000000},
  653. {0x0000989c, 0x00000000},
  654. {0x0000989c, 0x00000000},
  655. {0x0000989c, 0x00000000},
  656. {0x0000989c, 0x00000058},
  657. {0x0000989c, 0x00000000},
  658. {0x0000989c, 0x00000000},
  659. {0x0000989c, 0x00000000},
  660. {0x0000989c, 0x00000000},
  661. {0x000098c4, 0x00000000},
  662. };