ar956x_initvals.h 35 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046
  1. /*
  2. * Copyright (c) 2010-2011 Atheros Communications Inc.
  3. * Copyright (c) 2011-2012 Qualcomm Atheros Inc.
  4. *
  5. * Permission to use, copy, modify, and/or distribute this software for any
  6. * purpose with or without fee is hereby granted, provided that the above
  7. * copyright notice and this permission notice appear in all copies.
  8. *
  9. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  10. * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  11. * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  12. * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  13. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  14. * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  15. * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  16. */
  17. #ifndef INITVALS_956X_H
  18. #define INITVALS_956X_H
  19. #define qca956x_1p0_mac_core ar955x_1p0_mac_core
  20. #define qca956x_1p0_mac_postamble ar9331_1p1_mac_postamble
  21. #define qca956x_1p0_soc_preamble ar955x_1p0_soc_preamble
  22. #define qca956x_1p0_soc_postamble ar9300_2p2_soc_postamble
  23. #define qca956x_1p0_common_wo_xlna_rx_gain_table ar9300Common_wo_xlna_rx_gain_table_2p2
  24. #define qca956x_1p0_baseband_postamble_dfs_channel ar9300_2p2_baseband_postamble_dfs_channel
  25. #define qca956x_1p0_common_wo_xlna_rx_gain_bounds ar955x_1p0_common_wo_xlna_rx_gain_bounds
  26. #define qca956x_1p0_common_rx_gain_bounds ar955x_1p0_common_rx_gain_bounds
  27. #define qca956x_1p0_modes_fast_clock ar9462_2p0_modes_fast_clock
  28. static const u32 qca956x_1p0_baseband_core[][2] = {
  29. /* Addr allmodes */
  30. {0x00009800, 0xafe68e30},
  31. {0x00009804, 0xfd14e000},
  32. {0x00009808, 0x9c0a9f6b},
  33. {0x0000980c, 0x04900000},
  34. {0x00009814, 0x0280c00a},
  35. {0x00009818, 0x00000000},
  36. {0x0000981c, 0x00020028},
  37. {0x00009834, 0x6400a190},
  38. {0x00009838, 0x0108ecff},
  39. {0x0000983c, 0x14000600},
  40. {0x00009880, 0x201fff00},
  41. {0x00009884, 0x00001042},
  42. {0x000098a4, 0x00200400},
  43. {0x000098b0, 0x32840cbf},
  44. {0x000098bc, 0x00000002},
  45. {0x000098d0, 0x004b6a8e},
  46. {0x000098d4, 0x00000820},
  47. {0x000098dc, 0x00000000},
  48. {0x000098f0, 0x00000000},
  49. {0x000098f4, 0x00000000},
  50. {0x00009c04, 0xff55ff55},
  51. {0x00009c08, 0x0320ff55},
  52. {0x00009c0c, 0x00000000},
  53. {0x00009c10, 0x00000000},
  54. {0x00009c14, 0x00046384},
  55. {0x00009c18, 0x05b6b440},
  56. {0x00009c1c, 0x00b6b440},
  57. {0x00009d00, 0xc080a333},
  58. {0x00009d04, 0x40206c10},
  59. {0x00009d08, 0x009c4060},
  60. {0x00009d0c, 0x9883800a},
  61. {0x00009d10, 0x01834061},
  62. {0x00009d14, 0x00c0040b},
  63. {0x00009d18, 0x00000000},
  64. {0x00009e08, 0x0038230c},
  65. {0x00009e24, 0x990bb514},
  66. {0x00009e28, 0x0c6f0000},
  67. {0x00009e30, 0x06336f77},
  68. {0x00009e34, 0x6af6532f},
  69. {0x00009e38, 0x0cc80c00},
  70. {0x00009e40, 0x0d261820},
  71. {0x00009e4c, 0x00001004},
  72. {0x00009e50, 0x00ff03f1},
  73. {0x00009fc0, 0x813e4789},
  74. {0x00009fc4, 0x0001efb5},
  75. {0x00009fcc, 0x40000014},
  76. {0x00009fd0, 0x02993b93},
  77. {0x0000a20c, 0x00000000},
  78. {0x0000a218, 0x00000000},
  79. {0x0000a21c, 0x00000000},
  80. {0x0000a228, 0x10002310},
  81. {0x0000a23c, 0x00000000},
  82. {0x0000a244, 0x0c000000},
  83. {0x0000a248, 0x00000140},
  84. {0x0000a2a0, 0x00000007},
  85. {0x0000a2c0, 0x00000007},
  86. {0x0000a2c8, 0x00000000},
  87. {0x0000a2d4, 0x00000000},
  88. {0x0000a2ec, 0x00000000},
  89. {0x0000a2f0, 0x00000000},
  90. {0x0000a2f4, 0x00000000},
  91. {0x0000a2f8, 0x00000000},
  92. {0x0000a344, 0x00000000},
  93. {0x0000a34c, 0x00000000},
  94. {0x0000a350, 0x0000a000},
  95. {0x0000a360, 0x00000000},
  96. {0x0000a36c, 0x00000000},
  97. {0x0000a384, 0x00000001},
  98. {0x0000a388, 0x00000444},
  99. {0x0000a38c, 0x00000000},
  100. {0x0000a390, 0x210d0401},
  101. {0x0000a394, 0xab9a7144},
  102. {0x0000a398, 0x00000201},
  103. {0x0000a39c, 0x42424848},
  104. {0x0000a3a0, 0x3c466478},
  105. {0x0000a3a4, 0x3a363600},
  106. {0x0000a3a8, 0x0000003a},
  107. {0x0000a3ac, 0x00000000},
  108. {0x0000a3b0, 0x009011fe},
  109. {0x0000a3b4, 0x00000034},
  110. {0x0000a3b8, 0x00b3ec0a},
  111. {0x0000a3bc, 0x00000036},
  112. {0x0000a3c0, 0x20202020},
  113. {0x0000a3c4, 0x22222220},
  114. {0x0000a3c8, 0x20200020},
  115. {0x0000a3cc, 0x20202020},
  116. {0x0000a3d0, 0x20202020},
  117. {0x0000a3d4, 0x20202020},
  118. {0x0000a3d8, 0x20202020},
  119. {0x0000a3dc, 0x20202020},
  120. {0x0000a3e0, 0x20202020},
  121. {0x0000a3e4, 0x20202020},
  122. {0x0000a3e8, 0x20202020},
  123. {0x0000a3ec, 0x20202020},
  124. {0x0000a3f0, 0x00000000},
  125. {0x0000a3f4, 0x00000000},
  126. {0x0000a3f8, 0x0c9bd380},
  127. {0x0000a3fc, 0x000f0f01},
  128. {0x0000a400, 0x8fa91f01},
  129. {0x0000a404, 0x00000000},
  130. {0x0000a408, 0x0e79e5c6},
  131. {0x0000a40c, 0x00820820},
  132. {0x0000a414, 0x1ce739ce},
  133. {0x0000a418, 0x2d0019ce},
  134. {0x0000a41c, 0x1ce739ce},
  135. {0x0000a420, 0x000001ce},
  136. {0x0000a424, 0x1ce739ce},
  137. {0x0000a428, 0x000001ce},
  138. {0x0000a42c, 0x1ce739ce},
  139. {0x0000a430, 0x1ce739ce},
  140. {0x0000a434, 0x00000000},
  141. {0x0000a438, 0x00001801},
  142. {0x0000a43c, 0x00100000},
  143. {0x0000a444, 0x00000000},
  144. {0x0000a448, 0x05000080},
  145. {0x0000a44c, 0x00000001},
  146. {0x0000a450, 0x00010000},
  147. {0x0000a454, 0x05000000},
  148. {0x0000a458, 0x00000000},
  149. {0x0000a644, 0xbfad9fee},
  150. {0x0000a648, 0x0048660d},
  151. {0x0000a64c, 0x00003c37},
  152. {0x0000a670, 0x03020100},
  153. {0x0000a674, 0x21200504},
  154. {0x0000a678, 0x61602322},
  155. {0x0000a67c, 0x65646362},
  156. {0x0000a680, 0x6b6a6968},
  157. {0x0000a684, 0xe2706d6c},
  158. {0x0000a688, 0x000000e3},
  159. {0x0000a690, 0x00000838},
  160. {0x0000a7cc, 0x00000000},
  161. {0x0000a7d0, 0x00000000},
  162. {0x0000a7d4, 0x00000004},
  163. {0x0000a7dc, 0x00000000},
  164. {0x0000a8d0, 0x004b6a8e},
  165. {0x0000a8d4, 0x00000820},
  166. {0x0000a8dc, 0x00000000},
  167. {0x0000a8f0, 0x00000000},
  168. {0x0000a8f4, 0x00000000},
  169. {0x0000b2d0, 0x00000080},
  170. {0x0000b2d4, 0x00000000},
  171. {0x0000b2ec, 0x00000000},
  172. {0x0000b2f0, 0x00000000},
  173. {0x0000b2f4, 0x00000000},
  174. {0x0000b2f8, 0x00000000},
  175. {0x0000b408, 0x0e79e5c0},
  176. {0x0000b40c, 0x00820820},
  177. {0x0000b420, 0x00000000},
  178. {0x0000b8d0, 0x004b6a8e},
  179. {0x0000b8d4, 0x00000820},
  180. {0x0000b8dc, 0x00000000},
  181. {0x0000b8f0, 0x00000000},
  182. {0x0000b8f4, 0x00000000},
  183. {0x0000c2d0, 0x00000080},
  184. {0x0000c2d4, 0x00000000},
  185. {0x0000c2ec, 0x00000000},
  186. {0x0000c2f0, 0x00000000},
  187. {0x0000c2f4, 0x00000000},
  188. {0x0000c2f8, 0x00000000},
  189. {0x0000c408, 0x0e79e5c0},
  190. {0x0000c40c, 0x00820820},
  191. {0x0000c420, 0x00000000},
  192. };
  193. static const u32 qca956x_1p0_baseband_postamble[][5] = {
  194. /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
  195. {0x00009810, 0xd00a8005, 0xd00a8005, 0xd00a8011, 0xd00a8011},
  196. {0x00009820, 0x206a022e, 0x206a022e, 0x206a01ae, 0x206a01ae},
  197. {0x00009824, 0x5ac640d0, 0x5ac640d0, 0x5ac621f1, 0x5ac621f1},
  198. {0x00009828, 0x06903081, 0x06903081, 0x07d43881, 0x07d43881},
  199. {0x0000982c, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4},
  200. {0x00009830, 0x0000059c, 0x0000059c, 0x0000119c, 0x0000119c},
  201. {0x00009c00, 0x000000c4, 0x000000c4, 0x000000c4, 0x000000c4},
  202. {0x00009e00, 0x0372111a, 0x0372111a, 0x037216a0, 0x037216a0},
  203. {0x00009e04, 0x001c2020, 0x001c2020, 0x001c2020, 0x001c2020},
  204. {0x00009e0c, 0x6c4000e2, 0x6d4000e2, 0x6d4000de, 0x6c4000de},
  205. {0x00009e10, 0x7ec88d2e, 0x7ec88d2e, 0x7ec84d2e, 0x7ec86d2e},
  206. {0x00009e14, 0x37b95d5e, 0x37b9605e, 0x337d605e, 0x337d5d5e},
  207. {0x00009e18, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
  208. {0x00009e1c, 0x0001cf9c, 0x0001cf9c, 0x00021f9c, 0x00021f9c},
  209. {0x00009e20, 0x000003b5, 0x000003b5, 0x000003a6, 0x000003a6},
  210. {0x00009e2c, 0x0000001c, 0x0000001c, 0x00000021, 0x00000021},
  211. {0x00009e3c, 0xcfa10820, 0xcfa10820, 0xcf946222, 0xcf946222},
  212. {0x00009e44, 0xfe321e27, 0xfe321e27, 0xfe291e27, 0xfe291e27},
  213. {0x00009e48, 0x5030201a, 0x5030201a, 0x50302012, 0x50302012},
  214. {0x00009fc8, 0x0003f000, 0x0003f000, 0x0001a000, 0x0001a000},
  215. {0x0000a204, 0x005c0ec0, 0x005c0ec4, 0x045c0cc4, 0x045c0cc0},
  216. {0x0000a208, 0x00000104, 0x00000104, 0x00000004, 0x00000004},
  217. {0x0000a22c, 0x07e26a2f, 0x07e26a2f, 0x01026a2f, 0x01026a2f},
  218. {0x0000a230, 0x0000400a, 0x00004014, 0x00004016, 0x0000400b},
  219. {0x0000a234, 0x00000fff, 0x10000fff, 0x10000fff, 0x00000fff},
  220. {0x0000a238, 0xffb01018, 0xffb01018, 0xffb01018, 0xffb01018},
  221. {0x0000a250, 0x00000000, 0x00000000, 0x00000210, 0x00000108},
  222. {0x0000a254, 0x000007d0, 0x00000fa0, 0x00001130, 0x00000898},
  223. {0x0000a258, 0x02020002, 0x02020002, 0x02020002, 0x02020002},
  224. {0x0000a25c, 0x01000e0e, 0x01000e0e, 0x01010e0e, 0x01010e0e},
  225. {0x0000a260, 0x0a021501, 0x0a021501, 0x3a021501, 0x3a021501},
  226. {0x0000a264, 0x00000e0e, 0x00000e0e, 0x01000e0e, 0x01000e0e},
  227. {0x0000a280, 0x00000007, 0x00000007, 0x0000000b, 0x0000000b},
  228. {0x0000a284, 0x00000000, 0x00000000, 0x00000010, 0x00000010},
  229. {0x0000a288, 0x00000110, 0x00000110, 0x00000110, 0x00000110},
  230. {0x0000a28c, 0x00022222, 0x00022222, 0x00022222, 0x00022222},
  231. {0x0000a2c4, 0x00058d18, 0x00058d18, 0x00058d18, 0x00058d18},
  232. {0x0000a2cc, 0x18c50033, 0x18c43433, 0x18c41033, 0x18c44c33},
  233. {0x0000a2d0, 0x00041982, 0x00041982, 0x00041982, 0x00041982},
  234. {0x0000a2d8, 0x7999a83b, 0x7999a83b, 0x7999a83b, 0x7999a83b},
  235. {0x0000a358, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
  236. {0x0000a830, 0x0000019c, 0x0000019c, 0x0000019c, 0x0000019c},
  237. {0x0000ae04, 0x001c0000, 0x001c0000, 0x001c0000, 0x001c0000},
  238. {0x0000ae18, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
  239. {0x0000ae1c, 0x0000019c, 0x0000019c, 0x0000019c, 0x0000019c},
  240. {0x0000ae20, 0x000001b5, 0x000001b5, 0x000001a6, 0x000001a6},
  241. {0x0000b284, 0x00000000, 0x00000000, 0x00000010, 0x00000010},
  242. {0x0000b830, 0x0000019c, 0x0000019c, 0x0000019c, 0x0000019c},
  243. {0x0000be04, 0x001c0000, 0x001c0000, 0x001c0000, 0x001c0000},
  244. {0x0000be18, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
  245. {0x0000be1c, 0x0000019c, 0x0000019c, 0x0000019c, 0x0000019c},
  246. {0x0000be20, 0x000001b5, 0x000001b5, 0x000001a6, 0x000001a6},
  247. {0x0000c284, 0x00000000, 0x00000000, 0x00000010, 0x00000010},
  248. };
  249. static const u32 qca956x_1p0_radio_core[][2] = {
  250. /* Addr allmodes */
  251. {0x00016000, 0x36db6db6},
  252. {0x00016004, 0x6db6db40},
  253. {0x00016008, 0x73f00000},
  254. {0x0001600c, 0x00000000},
  255. {0x00016040, 0x3f80fff8},
  256. {0x0001604c, 0x000f0278},
  257. {0x00016050, 0x8036db6c},
  258. {0x00016054, 0x6db60000},
  259. {0x00016080, 0x00080000},
  260. {0x00016084, 0x0e48048c},
  261. {0x00016088, 0x14214514},
  262. {0x0001608c, 0x119f080a},
  263. {0x00016090, 0x24926490},
  264. {0x00016094, 0x00000000},
  265. {0x000160a0, 0xc2108ffe},
  266. {0x000160a4, 0x812fc370},
  267. {0x000160a8, 0x423c8000},
  268. {0x000160b4, 0x92480000},
  269. {0x000160c0, 0x006db6d8},
  270. {0x000160c4, 0x24b6db6c},
  271. {0x000160c8, 0x6db6db6c},
  272. {0x000160cc, 0x6db6fb7c},
  273. {0x000160d0, 0x6db6da44},
  274. {0x00016100, 0x07ff8001},
  275. {0x00016108, 0x00080010},
  276. {0x00016144, 0x01884080},
  277. {0x00016148, 0x00008058},
  278. {0x00016288, 0x001c6000},
  279. {0x0001628c, 0x50000000},
  280. {0x000162c0, 0x4b962100},
  281. {0x000162c4, 0x00000480},
  282. {0x000162c8, 0x04000144},
  283. {0x00016380, 0x00000000},
  284. {0x00016384, 0x00000000},
  285. {0x00016388, 0x00800700},
  286. {0x0001638c, 0x00800700},
  287. {0x00016390, 0x00800700},
  288. {0x00016394, 0x00000000},
  289. {0x00016398, 0x00000000},
  290. {0x0001639c, 0x00000000},
  291. {0x000163a0, 0x00000001},
  292. {0x000163a4, 0x00000001},
  293. {0x000163a8, 0x00000000},
  294. {0x000163ac, 0x00000000},
  295. {0x000163b0, 0x00000000},
  296. {0x000163b4, 0x00000000},
  297. {0x000163b8, 0x00000000},
  298. {0x000163bc, 0x00000000},
  299. {0x000163c0, 0x000000a0},
  300. {0x000163c4, 0x000c0000},
  301. {0x000163c8, 0x14021402},
  302. {0x000163cc, 0x00001402},
  303. {0x000163d0, 0x00000000},
  304. {0x000163d4, 0x00000000},
  305. {0x00016400, 0x36db6db6},
  306. {0x00016404, 0x6db6db40},
  307. {0x00016408, 0x73f00000},
  308. {0x0001640c, 0x00000000},
  309. {0x00016440, 0x3f80fff8},
  310. {0x0001644c, 0x000f0278},
  311. {0x00016450, 0x8036db6c},
  312. {0x00016454, 0x6db60000},
  313. {0x00016500, 0x07ff8001},
  314. {0x00016508, 0x00080010},
  315. {0x00016544, 0x01884080},
  316. {0x00016548, 0x00008058},
  317. {0x00016780, 0x00000000},
  318. {0x00016784, 0x00000000},
  319. {0x00016788, 0x00800700},
  320. {0x0001678c, 0x00800700},
  321. {0x00016790, 0x00800700},
  322. {0x00016794, 0x00000000},
  323. {0x00016798, 0x00000000},
  324. {0x0001679c, 0x00000000},
  325. {0x000167a0, 0x00000001},
  326. {0x000167a4, 0x00000001},
  327. {0x000167a8, 0x00000000},
  328. {0x000167ac, 0x00000000},
  329. {0x000167b0, 0x00000000},
  330. {0x000167b4, 0x00000000},
  331. {0x000167b8, 0x00000000},
  332. {0x000167bc, 0x00000000},
  333. {0x000167c0, 0x000000a0},
  334. {0x000167c4, 0x000c0000},
  335. {0x000167c8, 0x14021402},
  336. {0x000167cc, 0x00001402},
  337. {0x000167d0, 0x00000000},
  338. {0x000167d4, 0x00000000},
  339. {0x00016800, 0x36db6db6},
  340. {0x00016804, 0x6db6db40},
  341. {0x00016808, 0x73f00000},
  342. {0x0001680c, 0x00000000},
  343. {0x00016840, 0x3f80fff8},
  344. {0x0001684c, 0x000f0278},
  345. {0x00016850, 0x8036db6c},
  346. {0x00016854, 0x6db60000},
  347. {0x00016900, 0x07ff8001},
  348. {0x00016908, 0x00080010},
  349. {0x00016944, 0x01884080},
  350. {0x00016948, 0x00008058},
  351. {0x00016b80, 0x00000000},
  352. {0x00016b84, 0x00000000},
  353. {0x00016b88, 0x00800700},
  354. {0x00016b8c, 0x00800700},
  355. {0x00016b90, 0x00800700},
  356. {0x00016b94, 0x00000000},
  357. {0x00016b98, 0x00000000},
  358. {0x00016b9c, 0x00000000},
  359. {0x00016ba0, 0x00000001},
  360. {0x00016ba4, 0x00000001},
  361. {0x00016ba8, 0x00000000},
  362. {0x00016bac, 0x00000000},
  363. {0x00016bb0, 0x00000000},
  364. {0x00016bb4, 0x00000000},
  365. {0x00016bb8, 0x00000000},
  366. {0x00016bbc, 0x00000000},
  367. {0x00016bc0, 0x000000a0},
  368. {0x00016bc4, 0x000c0000},
  369. {0x00016bc8, 0x14021402},
  370. {0x00016bcc, 0x00001402},
  371. {0x00016bd0, 0x00000000},
  372. {0x00016bd4, 0x00000000},
  373. };
  374. static const u32 qca956x_1p0_radio_postamble[][5] = {
  375. /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
  376. {0x00016098, 0xd2dd5554, 0xd2dd5554, 0xc4128f5c, 0xc4128f5c},
  377. {0x0001609c, 0x0a566f3a, 0x0a566f3a, 0x0fd08f25, 0x0fd08f25},
  378. {0x000160ac, 0xa4647c00, 0xa4647c00, 0x24646800, 0x24646800},
  379. {0x000160b0, 0x01885f52, 0x01885f52, 0x00fe7f46, 0x00fe7f46},
  380. {0x00016104, 0xb7a00000, 0xb7a00000, 0xfff80001, 0xfff80001},
  381. {0x0001610c, 0xc0000000, 0xc0000000, 0x00000000, 0x00000000},
  382. {0x00016140, 0x10804008, 0x10804008, 0x50804000, 0x50804000},
  383. {0x00016504, 0xb7a00000, 0xb7a00000, 0xfff80001, 0xfff80001},
  384. {0x0001650c, 0xc0000000, 0xc0000000, 0x00000000, 0x00000000},
  385. {0x00016540, 0x10804008, 0x10804008, 0x50804000, 0x50804000},
  386. {0x00016904, 0xb7a00000, 0xb7a00000, 0xfff80001, 0xfff80001},
  387. {0x0001690c, 0xc0000000, 0xc0000000, 0x00000000, 0x00000000},
  388. {0x00016940, 0x10804008, 0x10804008, 0x50804000, 0x50804000},
  389. };
  390. static const u32 qca956x_1p0_baseband_core_txfir_coeff_japan_2484[][2] = {
  391. /* Addr allmodes */
  392. {0x0000a38c, 0x00000000},
  393. {0x0000a390, 0x6f7f0301},
  394. {0x0000a394, 0xca9228ee},
  395. };
  396. static const u32 qca956x_1p0_modes_no_xpa_tx_gain_table[][3] = {
  397. /* Addr 5G 2G */
  398. {0x0000a2dc, 0xffa9ac94, 0xffa9ac94},
  399. {0x0000a2e0, 0xff323118, 0xff323118},
  400. {0x0000a2e4, 0xff3ffe00, 0xff3ffe00},
  401. {0x0000a2e8, 0xffc00000, 0xffc00000},
  402. {0x0000a39c, 0x42424242, 0x42424242},
  403. {0x0000a3a4, 0x3a3e3e00, 0x3a3e3e00},
  404. {0x0000a3b0, 0x00a01404, 0x00a01404},
  405. {0x0000a3b4, 0x00000034, 0x00000034},
  406. {0x0000a3b8, 0x00800408, 0x00800408},
  407. {0x0000a3bc, 0x00000036, 0x00000036},
  408. {0x0000a410, 0x000050dc, 0x000050dc},
  409. {0x0000a500, 0x09000040, 0x09000040},
  410. {0x0000a504, 0x0b000041, 0x0b000041},
  411. {0x0000a508, 0x0d000042, 0x0d000042},
  412. {0x0000a50c, 0x11000044, 0x11000044},
  413. {0x0000a510, 0x15000046, 0x15000046},
  414. {0x0000a514, 0x1d000440, 0x1d000440},
  415. {0x0000a518, 0x1f000441, 0x1f000441},
  416. {0x0000a51c, 0x23000443, 0x23000443},
  417. {0x0000a520, 0x25000444, 0x25000444},
  418. {0x0000a524, 0x280004e0, 0x280004e0},
  419. {0x0000a528, 0x2c0004e2, 0x2c0004e2},
  420. {0x0000a52c, 0x2e0004e3, 0x2e0004e3},
  421. {0x0000a530, 0x300004e4, 0x300004e4},
  422. {0x0000a534, 0x340004e6, 0x340004e6},
  423. {0x0000a538, 0x37000ce0, 0x37000ce0},
  424. {0x0000a53c, 0x3b000ce2, 0x3b000ce2},
  425. {0x0000a540, 0x3d000ce3, 0x3d000ce3},
  426. {0x0000a544, 0x3f000ce4, 0x3f000ce4},
  427. {0x0000a548, 0x45001ee0, 0x45001ee0},
  428. {0x0000a54c, 0x49001ee2, 0x49001ee2},
  429. {0x0000a550, 0x4d001ee4, 0x4d001ee4},
  430. {0x0000a554, 0x51001ee6, 0x51001ee6},
  431. {0x0000a558, 0x55001eea, 0x55001eea},
  432. {0x0000a55c, 0x59001eec, 0x59001eec},
  433. {0x0000a560, 0x5d001ef0, 0x5d001ef0},
  434. {0x0000a564, 0x5f001ef1, 0x5f001ef1},
  435. {0x0000a568, 0x60001ef2, 0x60001ef2},
  436. {0x0000a56c, 0x61001ef3, 0x61001ef3},
  437. {0x0000a570, 0x62001ef4, 0x62001ef4},
  438. {0x0000a574, 0x63001ef5, 0x63001ef5},
  439. {0x0000a578, 0x64001ffc, 0x64001ffc},
  440. {0x0000a57c, 0x64001ffc, 0x64001ffc},
  441. {0x0000a600, 0x00000000, 0x00000000},
  442. {0x0000a604, 0x00000000, 0x00000000},
  443. {0x0000a608, 0x00000000, 0x00000000},
  444. {0x0000a60c, 0x00000000, 0x00000000},
  445. {0x0000a610, 0x00804000, 0x00804000},
  446. {0x0000a614, 0x00804201, 0x00804201},
  447. {0x0000a618, 0x00804201, 0x00804201},
  448. {0x0000a61c, 0x00804201, 0x00804201},
  449. {0x0000a620, 0x00804201, 0x00804201},
  450. {0x0000a624, 0x00804201, 0x00804201},
  451. {0x0000a628, 0x00804201, 0x00804201},
  452. {0x0000a62c, 0x02808a02, 0x02808a02},
  453. {0x0000a630, 0x0340cd03, 0x0340cd03},
  454. {0x0000a634, 0x0340cd03, 0x0340cd03},
  455. {0x0000a638, 0x0340cd03, 0x0340cd03},
  456. {0x0000a63c, 0x05011404, 0x05011404},
  457. {0x0000b2dc, 0xffa9ac94, 0xffa9ac94},
  458. {0x0000b2e0, 0xff323118, 0xff323118},
  459. {0x0000b2e4, 0xff3ffe00, 0xff3ffe00},
  460. {0x0000b2e8, 0xffc00000, 0xffc00000},
  461. {0x0000c2dc, 0xffa9ac94, 0xffa9ac94},
  462. {0x0000c2e0, 0xff323118, 0xff323118},
  463. {0x0000c2e4, 0xff3ffe00, 0xff3ffe00},
  464. {0x0000c2e8, 0xffc00000, 0xffc00000},
  465. {0x00016044, 0x049242db, 0x049242db},
  466. {0x00016048, 0x64925a70, 0x64925a70},
  467. {0x00016148, 0x00008050, 0x00008050},
  468. {0x00016280, 0x41110005, 0x41110005},
  469. {0x00016284, 0x453a6000, 0x453a6000},
  470. {0x00016444, 0x049242db, 0x049242db},
  471. {0x00016448, 0x6c925a70, 0x6c925a70},
  472. {0x00016548, 0x00008050, 0x00008050},
  473. {0x00016844, 0x049242db, 0x049242db},
  474. {0x00016848, 0x6c925a70, 0x6c925a70},
  475. {0x00016948, 0x00008050, 0x00008050},
  476. };
  477. static const u32 qca956x_1p0_modes_xpa_tx_gain_table[][3] = {
  478. /* Addr 5G 2G */
  479. {0x0000a2dc, 0xcc69ac94, 0xcc69ac94},
  480. {0x0000a2e0, 0xf0b23118, 0xf0b23118},
  481. {0x0000a2e4, 0xffffc000, 0xffffc000},
  482. {0x0000a2e8, 0xc0000000, 0xc0000000},
  483. {0x0000a410, 0x000050d2, 0x000050d2},
  484. {0x0000a500, 0x0a000040, 0x0a000040},
  485. {0x0000a504, 0x0c000041, 0x0c000041},
  486. {0x0000a508, 0x0e000042, 0x0e000042},
  487. {0x0000a50c, 0x12000044, 0x12000044},
  488. {0x0000a510, 0x16000046, 0x16000046},
  489. {0x0000a514, 0x1d000440, 0x1d000440},
  490. {0x0000a518, 0x1f000441, 0x1f000441},
  491. {0x0000a51c, 0x23000443, 0x23000443},
  492. {0x0000a520, 0x25000444, 0x25000444},
  493. {0x0000a524, 0x29000a40, 0x29000a40},
  494. {0x0000a528, 0x2d000a42, 0x2d000a42},
  495. {0x0000a52c, 0x2f000a43, 0x2f000a43},
  496. {0x0000a530, 0x31000a44, 0x31000a44},
  497. {0x0000a534, 0x35000a46, 0x35000a46},
  498. {0x0000a538, 0x38000ce0, 0x38000ce0},
  499. {0x0000a53c, 0x3c000ce2, 0x3c000ce2},
  500. {0x0000a540, 0x3e000ce3, 0x3e000ce3},
  501. {0x0000a544, 0x40000ce4, 0x40000ce4},
  502. {0x0000a548, 0x46001ee0, 0x46001ee0},
  503. {0x0000a54c, 0x4a001ee2, 0x4a001ee2},
  504. {0x0000a550, 0x4e001ee4, 0x4e001ee4},
  505. {0x0000a554, 0x52001ee6, 0x52001ee6},
  506. {0x0000a558, 0x56001eea, 0x56001eea},
  507. {0x0000a55c, 0x5a001eec, 0x5a001eec},
  508. {0x0000a560, 0x5e001ef0, 0x5e001ef0},
  509. {0x0000a564, 0x60001ef1, 0x60001ef1},
  510. {0x0000a568, 0x61001ef2, 0x61001ef2},
  511. {0x0000a56c, 0x62001ef3, 0x62001ef3},
  512. {0x0000a570, 0x63001ef4, 0x63001ef4},
  513. {0x0000a574, 0x64001ef5, 0x64001ef5},
  514. {0x0000a578, 0x65001ffc, 0x65001ffc},
  515. {0x0000a57c, 0x65001ffc, 0x65001ffc},
  516. {0x0000a600, 0x00000000, 0x00000000},
  517. {0x0000a604, 0x00000000, 0x00000000},
  518. {0x0000a608, 0x00000000, 0x00000000},
  519. {0x0000a60c, 0x00000000, 0x00000000},
  520. {0x0000a610, 0x00000000, 0x00000000},
  521. {0x0000a614, 0x00000000, 0x00000000},
  522. {0x0000a618, 0x00000000, 0x00000000},
  523. {0x0000a61c, 0x00804201, 0x00804201},
  524. {0x0000a620, 0x00804201, 0x00804201},
  525. {0x0000a624, 0x00804201, 0x00804201},
  526. {0x0000a628, 0x00804201, 0x00804201},
  527. {0x0000a62c, 0x02808a02, 0x02808a02},
  528. {0x0000a630, 0x0340cd03, 0x0340cd03},
  529. {0x0000a634, 0x0340cd03, 0x0340cd03},
  530. {0x0000a638, 0x0340cd03, 0x0340cd03},
  531. {0x0000a63c, 0x05011404, 0x05011404},
  532. {0x0000b2dc, 0xcc69ac94, 0xcc69ac94},
  533. {0x0000b2e0, 0xf0b23118, 0xf0b23118},
  534. {0x0000b2e4, 0xffffc000, 0xffffc000},
  535. {0x0000b2e8, 0xc0000000, 0xc0000000},
  536. {0x0000c2dc, 0xcc69ac94, 0xcc69ac94},
  537. {0x0000c2e0, 0xf0b23118, 0xf0b23118},
  538. {0x0000c2e4, 0xffffc000, 0xffffc000},
  539. {0x0000c2e8, 0xc0000000, 0xc0000000},
  540. {0x00016044, 0x012492db, 0x012492db},
  541. {0x00016048, 0x6c927a70, 0x6c927a70},
  542. {0x00016050, 0x8036d36c, 0x8036d36c},
  543. {0x00016280, 0x41110005, 0x41110005},
  544. {0x00016284, 0x453a7e00, 0x453a7e00},
  545. {0x00016444, 0x012492db, 0x012492db},
  546. {0x00016448, 0x6c927a70, 0x6c927a70},
  547. {0x00016450, 0x8036d36c, 0x8036d36c},
  548. {0x00016844, 0x012492db, 0x012492db},
  549. {0x00016848, 0x6c927a70, 0x6c927a70},
  550. {0x00016850, 0x8036d36c, 0x8036d36c},
  551. };
  552. static const u32 qca956x_1p0_modes_no_xpa_low_ob_db_tx_gain_table[][3] = {
  553. /* Addr 5G 2G */
  554. {0x0000a2dc, 0xffa9ac94, 0xffa9ac94},
  555. {0x0000a2e0, 0xff323118, 0xff323118},
  556. {0x0000a2e4, 0xff3ffe00, 0xff3ffe00},
  557. {0x0000a2e8, 0xffc00000, 0xffc00000},
  558. {0x0000a39c, 0x42424242, 0x42424242},
  559. {0x0000a3a4, 0x3a3e3e00, 0x3a3e3e00},
  560. {0x0000a3b0, 0x00a01404, 0x00a01404},
  561. {0x0000a3b4, 0x00000034, 0x00000034},
  562. {0x0000a3b8, 0x00800408, 0x00800408},
  563. {0x0000a3bc, 0x00000036, 0x00000036},
  564. {0x0000a410, 0x000050dc, 0x000050dc},
  565. {0x0000a414, 0x16b739ce, 0x16b739ce},
  566. {0x0000a418, 0x2d00198b, 0x2d00198b},
  567. {0x0000a41c, 0x16b5adce, 0x16b5adce},
  568. {0x0000a420, 0x0000014a, 0x0000014a},
  569. {0x0000a424, 0x14a525cc, 0x14a525cc},
  570. {0x0000a428, 0x0000012a, 0x0000012a},
  571. {0x0000a42c, 0x14a5294a, 0x14a5294a},
  572. {0x0000a430, 0x1294a929, 0x1294a929},
  573. {0x0000a500, 0x09000040, 0x09000040},
  574. {0x0000a504, 0x0b000041, 0x0b000041},
  575. {0x0000a508, 0x0d000042, 0x0d000042},
  576. {0x0000a50c, 0x11000044, 0x11000044},
  577. {0x0000a510, 0x15000046, 0x15000046},
  578. {0x0000a514, 0x1d000440, 0x1d000440},
  579. {0x0000a518, 0x1f000441, 0x1f000441},
  580. {0x0000a51c, 0x23000443, 0x23000443},
  581. {0x0000a520, 0x25000444, 0x25000444},
  582. {0x0000a524, 0x280004e0, 0x280004e0},
  583. {0x0000a528, 0x2c0004e2, 0x2c0004e2},
  584. {0x0000a52c, 0x2e0004e3, 0x2e0004e3},
  585. {0x0000a530, 0x300004e4, 0x300004e4},
  586. {0x0000a534, 0x340004e6, 0x340004e6},
  587. {0x0000a538, 0x37000ce0, 0x37000ce0},
  588. {0x0000a53c, 0x3b000ce2, 0x3b000ce2},
  589. {0x0000a540, 0x3d000ce3, 0x3d000ce3},
  590. {0x0000a544, 0x3f000ce4, 0x3f000ce4},
  591. {0x0000a548, 0x45001ee0, 0x45001ee0},
  592. {0x0000a54c, 0x49001ee2, 0x49001ee2},
  593. {0x0000a550, 0x4d001ee4, 0x4d001ee4},
  594. {0x0000a554, 0x51001ee6, 0x51001ee6},
  595. {0x0000a558, 0x55001eea, 0x55001eea},
  596. {0x0000a55c, 0x59001eec, 0x59001eec},
  597. {0x0000a560, 0x5d001ef0, 0x5d001ef0},
  598. {0x0000a564, 0x5f001ef1, 0x5f001ef1},
  599. {0x0000a568, 0x60001ef2, 0x60001ef2},
  600. {0x0000a56c, 0x61001ef3, 0x61001ef3},
  601. {0x0000a570, 0x62001ef4, 0x62001ef4},
  602. {0x0000a574, 0x63001ef5, 0x63001ef5},
  603. {0x0000a578, 0x64001ffc, 0x64001ffc},
  604. {0x0000a57c, 0x64001ffc, 0x64001ffc},
  605. {0x0000a600, 0x00000000, 0x00000000},
  606. {0x0000a604, 0x00000000, 0x00000000},
  607. {0x0000a608, 0x00000000, 0x00000000},
  608. {0x0000a60c, 0x00000000, 0x00000000},
  609. {0x0000a610, 0x00804000, 0x00804000},
  610. {0x0000a614, 0x00804201, 0x00804201},
  611. {0x0000a618, 0x00804201, 0x00804201},
  612. {0x0000a61c, 0x00804201, 0x00804201},
  613. {0x0000a620, 0x00804201, 0x00804201},
  614. {0x0000a624, 0x00804201, 0x00804201},
  615. {0x0000a628, 0x00804201, 0x00804201},
  616. {0x0000a62c, 0x02808a02, 0x02808a02},
  617. {0x0000a630, 0x0340cd03, 0x0340cd03},
  618. {0x0000a634, 0x0340cd03, 0x0340cd03},
  619. {0x0000a638, 0x0340cd03, 0x0340cd03},
  620. {0x0000a63c, 0x05011404, 0x05011404},
  621. {0x0000b2dc, 0xffa9ac94, 0xffa9ac94},
  622. {0x0000b2e0, 0xff323118, 0xff323118},
  623. {0x0000b2e4, 0xff3ffe00, 0xff3ffe00},
  624. {0x0000b2e8, 0xffc00000, 0xffc00000},
  625. {0x0000c2dc, 0xffa9ac94, 0xffa9ac94},
  626. {0x0000c2e0, 0xff323118, 0xff323118},
  627. {0x0000c2e4, 0xff3ffe00, 0xff3ffe00},
  628. {0x0000c2e8, 0xffc00000, 0xffc00000},
  629. {0x00016044, 0x046e42db, 0x046e42db},
  630. {0x00016048, 0x64925a70, 0x64925a70},
  631. {0x00016148, 0x00008050, 0x00008050},
  632. {0x00016280, 0x41110005, 0x41110005},
  633. {0x00016284, 0x453a6000, 0x453a6000},
  634. {0x00016444, 0x046e42db, 0x046e42db},
  635. {0x00016448, 0x6c925a70, 0x6c925a70},
  636. {0x00016548, 0x00008050, 0x00008050},
  637. {0x00016844, 0x046e42db, 0x046e42db},
  638. {0x00016848, 0x6c925a70, 0x6c925a70},
  639. {0x00016948, 0x00008050, 0x00008050},
  640. };
  641. static const u32 qca956x_1p0_modes_no_xpa_green_tx_gain_table[][3] = {
  642. /* Addr 5G 2G */
  643. {0x000098bc, 0x00000001, 0x00000001},
  644. {0x0000a2dc, 0xd3555284, 0xd3555284},
  645. {0x0000a2e0, 0x1c666318, 0x1c666318},
  646. {0x0000a2e4, 0xe07bbc00, 0xe07bbc00},
  647. {0x0000a2e8, 0xff800000, 0xff800000},
  648. {0x0000a3a4, 0x3a3e3e00, 0x3a3e3e00},
  649. {0x0000a410, 0x000050dc, 0x000050dc},
  650. {0x0000a500, 0x02000040, 0x02000040},
  651. {0x0000a504, 0x04000041, 0x04000041},
  652. {0x0000a508, 0x06000042, 0x06000042},
  653. {0x0000a50c, 0x0a000044, 0x0a000044},
  654. {0x0000a510, 0x0c000045, 0x0c000045},
  655. {0x0000a514, 0x13000440, 0x13000440},
  656. {0x0000a518, 0x15000441, 0x15000441},
  657. {0x0000a51c, 0x19000443, 0x19000443},
  658. {0x0000a520, 0x1b000444, 0x1b000444},
  659. {0x0000a524, 0x1e0004e0, 0x1e0004e0},
  660. {0x0000a528, 0x220004e2, 0x220004e2},
  661. {0x0000a52c, 0x240004e3, 0x240004e3},
  662. {0x0000a530, 0x260004e4, 0x260004e4},
  663. {0x0000a534, 0x2a0004e6, 0x2a0004e6},
  664. {0x0000a538, 0x32000ce0, 0x32000ce0},
  665. {0x0000a53c, 0x36000ce2, 0x36000ce2},
  666. {0x0000a540, 0x3a000ce4, 0x3a000ce4},
  667. {0x0000a544, 0x3e000ce6, 0x3e000ce6},
  668. {0x0000a548, 0x45001ee0, 0x45001ee0},
  669. {0x0000a54c, 0x49001ee2, 0x49001ee2},
  670. {0x0000a550, 0x4d001ee4, 0x4d001ee4},
  671. {0x0000a554, 0x51001ee6, 0x51001ee6},
  672. {0x0000a558, 0x55001eea, 0x55001eea},
  673. {0x0000a55c, 0x59001eec, 0x59001eec},
  674. {0x0000a560, 0x5d001ef0, 0x5d001ef0},
  675. {0x0000a564, 0x5f001ef1, 0x5f001ef1},
  676. {0x0000a568, 0x60001ef2, 0x60001ef2},
  677. {0x0000a56c, 0x61001ef3, 0x61001ef3},
  678. {0x0000a570, 0x62001ef4, 0x62001ef4},
  679. {0x0000a574, 0x63001ff5, 0x63001ff5},
  680. {0x0000a578, 0x64001ffc, 0x64001ffc},
  681. {0x0000a57c, 0x64001ffc, 0x64001ffc},
  682. {0x0000a600, 0x00000000, 0x00000000},
  683. {0x0000a604, 0x00000000, 0x00000000},
  684. {0x0000a608, 0x00000000, 0x00000000},
  685. {0x0000a60c, 0x00000000, 0x00000000},
  686. {0x0000a610, 0x00804000, 0x00804000},
  687. {0x0000a614, 0x00804201, 0x00804201},
  688. {0x0000a618, 0x00804201, 0x00804201},
  689. {0x0000a61c, 0x00804201, 0x00804201},
  690. {0x0000a620, 0x00804201, 0x00804201},
  691. {0x0000a624, 0x00804201, 0x00804201},
  692. {0x0000a628, 0x00804201, 0x00804201},
  693. {0x0000a62c, 0x02808a02, 0x02808a02},
  694. {0x0000a630, 0x0340cd03, 0x0340cd03},
  695. {0x0000a634, 0x0340cd03, 0x0340cd03},
  696. {0x0000a638, 0x0340cd03, 0x0340cd03},
  697. {0x0000a63c, 0x05011404, 0x05011404},
  698. {0x0000b2dc, 0xd3555284, 0xd3555284},
  699. {0x0000b2e0, 0x1c666318, 0x1c666318},
  700. {0x0000b2e4, 0xe07bbc00, 0xe07bbc00},
  701. {0x0000b2e8, 0xff800000, 0xff800000},
  702. {0x0000c2dc, 0xd3555284, 0xd3555284},
  703. {0x0000c2e0, 0x1c666318, 0x1c666318},
  704. {0x0000c2e4, 0xe07bbc00, 0xe07bbc00},
  705. {0x0000c2e8, 0xff800000, 0xff800000},
  706. {0x00016044, 0x849242db, 0x849242db},
  707. {0x00016048, 0x64925a70, 0x64925a70},
  708. {0x00016280, 0x41110005, 0x41110005},
  709. {0x00016284, 0x453a6000, 0x453a6000},
  710. {0x00016444, 0x849242db, 0x849242db},
  711. {0x00016448, 0x6c925a70, 0x6c925a70},
  712. {0x00016844, 0x849242db, 0x849242db},
  713. {0x00016848, 0x6c925a70, 0x6c925a70},
  714. {0x0000a7f0, 0x800002cc, 0x800002cc},
  715. {0x0000a7f4, 0x00000018, 0x00000018},
  716. {0x0000a7f4, 0x00000018, 0x00000018},
  717. {0x0000a7f4, 0x00000018, 0x00000018},
  718. {0x0000a7f4, 0x00000018, 0x00000018},
  719. {0x0000a7f4, 0x00000018, 0x00000018},
  720. {0x0000a7f4, 0x00000018, 0x00000018},
  721. {0x0000a7f4, 0x00000018, 0x00000018},
  722. {0x0000a7f4, 0x00000018, 0x00000018},
  723. {0x0000a7f4, 0x00000018, 0x00000018},
  724. {0x0000a7f4, 0x00000018, 0x00000018},
  725. {0x0000a7f4, 0x00000018, 0x00000018},
  726. {0x0000a7f4, 0x00000018, 0x00000018},
  727. {0x0000a7f4, 0x00000018, 0x00000018},
  728. {0x0000a7f4, 0x00000018, 0x00000018},
  729. {0x0000a7f4, 0x00000028, 0x00000028},
  730. {0x0000a7f4, 0x00000028, 0x00000028},
  731. {0x0000a7f4, 0x00000028, 0x00000028},
  732. {0x0000a7f4, 0x00000028, 0x00000028},
  733. {0x0000a7f4, 0x00000048, 0x00000048},
  734. {0x0000a7f4, 0x00000048, 0x00000048},
  735. {0x0000a7f4, 0x00000048, 0x00000048},
  736. {0x0000a7f4, 0x00000048, 0x00000048},
  737. {0x0000a7f4, 0x00000048, 0x00000048},
  738. {0x0000a7f4, 0x00000048, 0x00000048},
  739. {0x0000a7f4, 0x00000048, 0x00000048},
  740. {0x0000a7f4, 0x00000048, 0x00000048},
  741. {0x0000a7f4, 0x00000048, 0x00000048},
  742. {0x0000a7f4, 0x00000048, 0x00000048},
  743. {0x0000a7f4, 0x00000048, 0x00000048},
  744. {0x0000a7f4, 0x00000048, 0x00000048},
  745. {0x0000a7f4, 0x00000048, 0x00000048},
  746. {0x0000a7f4, 0x00000048, 0x00000048},
  747. };
  748. static const u32 qca956x_1p0_common_rx_gain_table[][2] = {
  749. /* Addr allmodes */
  750. {0x0000a000, 0x00010000},
  751. {0x0000a004, 0x00030002},
  752. {0x0000a008, 0x00050004},
  753. {0x0000a00c, 0x00810080},
  754. {0x0000a010, 0x00830082},
  755. {0x0000a014, 0x01810180},
  756. {0x0000a018, 0x01830182},
  757. {0x0000a01c, 0x01850184},
  758. {0x0000a020, 0x01890188},
  759. {0x0000a024, 0x018b018a},
  760. {0x0000a028, 0x018d018c},
  761. {0x0000a02c, 0x01910190},
  762. {0x0000a030, 0x01930192},
  763. {0x0000a034, 0x01950194},
  764. {0x0000a038, 0x038a0196},
  765. {0x0000a03c, 0x038c038b},
  766. {0x0000a040, 0x0390038d},
  767. {0x0000a044, 0x03920391},
  768. {0x0000a048, 0x03940393},
  769. {0x0000a04c, 0x03960395},
  770. {0x0000a050, 0x00000000},
  771. {0x0000a054, 0x00000000},
  772. {0x0000a058, 0x00000000},
  773. {0x0000a05c, 0x00000000},
  774. {0x0000a060, 0x00000000},
  775. {0x0000a064, 0x00000000},
  776. {0x0000a068, 0x00000000},
  777. {0x0000a06c, 0x00000000},
  778. {0x0000a070, 0x00000000},
  779. {0x0000a074, 0x00000000},
  780. {0x0000a078, 0x00000000},
  781. {0x0000a07c, 0x00000000},
  782. {0x0000a080, 0x22222222},
  783. {0x0000a084, 0x1d1d1d1d},
  784. {0x0000a088, 0x1d1d1d1d},
  785. {0x0000a08c, 0x1d1d1d1d},
  786. {0x0000a090, 0x17171717},
  787. {0x0000a094, 0x11111717},
  788. {0x0000a098, 0x00030311},
  789. {0x0000a09c, 0x00000000},
  790. {0x0000a0a0, 0x00000000},
  791. {0x0000a0a4, 0x00000000},
  792. {0x0000a0a8, 0x00000000},
  793. {0x0000a0ac, 0x00000000},
  794. {0x0000a0b0, 0x00000000},
  795. {0x0000a0b4, 0x00000000},
  796. {0x0000a0b8, 0x00000000},
  797. {0x0000a0bc, 0x00000000},
  798. {0x0000a0c0, 0x001f0000},
  799. {0x0000a0c4, 0x01000101},
  800. {0x0000a0c8, 0x011e011f},
  801. {0x0000a0cc, 0x011c011d},
  802. {0x0000a0d0, 0x02030204},
  803. {0x0000a0d4, 0x02010202},
  804. {0x0000a0d8, 0x021f0200},
  805. {0x0000a0dc, 0x0302021e},
  806. {0x0000a0e0, 0x03000301},
  807. {0x0000a0e4, 0x031e031f},
  808. {0x0000a0e8, 0x0402031d},
  809. {0x0000a0ec, 0x04000401},
  810. {0x0000a0f0, 0x041e041f},
  811. {0x0000a0f4, 0x0502041d},
  812. {0x0000a0f8, 0x05000501},
  813. {0x0000a0fc, 0x051e051f},
  814. {0x0000a100, 0x06010602},
  815. {0x0000a104, 0x061f0600},
  816. {0x0000a108, 0x061d061e},
  817. {0x0000a10c, 0x07020703},
  818. {0x0000a110, 0x07000701},
  819. {0x0000a114, 0x00000000},
  820. {0x0000a118, 0x00000000},
  821. {0x0000a11c, 0x00000000},
  822. {0x0000a120, 0x00000000},
  823. {0x0000a124, 0x00000000},
  824. {0x0000a128, 0x00000000},
  825. {0x0000a12c, 0x00000000},
  826. {0x0000a130, 0x00000000},
  827. {0x0000a134, 0x00000000},
  828. {0x0000a138, 0x00000000},
  829. {0x0000a13c, 0x00000000},
  830. {0x0000a140, 0x001f0000},
  831. {0x0000a144, 0x01000101},
  832. {0x0000a148, 0x011e011f},
  833. {0x0000a14c, 0x011c011d},
  834. {0x0000a150, 0x02030204},
  835. {0x0000a154, 0x02010202},
  836. {0x0000a158, 0x021f0200},
  837. {0x0000a15c, 0x0302021e},
  838. {0x0000a160, 0x03000301},
  839. {0x0000a164, 0x031e031f},
  840. {0x0000a168, 0x0402031d},
  841. {0x0000a16c, 0x04000401},
  842. {0x0000a170, 0x041e041f},
  843. {0x0000a174, 0x0502041d},
  844. {0x0000a178, 0x05000501},
  845. {0x0000a17c, 0x051e051f},
  846. {0x0000a180, 0x06010602},
  847. {0x0000a184, 0x061f0600},
  848. {0x0000a188, 0x061d061e},
  849. {0x0000a18c, 0x07020703},
  850. {0x0000a190, 0x07000701},
  851. {0x0000a194, 0x00000000},
  852. {0x0000a198, 0x00000000},
  853. {0x0000a19c, 0x00000000},
  854. {0x0000a1a0, 0x00000000},
  855. {0x0000a1a4, 0x00000000},
  856. {0x0000a1a8, 0x00000000},
  857. {0x0000a1ac, 0x00000000},
  858. {0x0000a1b0, 0x00000000},
  859. {0x0000a1b4, 0x00000000},
  860. {0x0000a1b8, 0x00000000},
  861. {0x0000a1bc, 0x00000000},
  862. {0x0000a1c0, 0x00000000},
  863. {0x0000a1c4, 0x00000000},
  864. {0x0000a1c8, 0x00000000},
  865. {0x0000a1cc, 0x00000000},
  866. {0x0000a1d0, 0x00000000},
  867. {0x0000a1d4, 0x00000000},
  868. {0x0000a1d8, 0x00000000},
  869. {0x0000a1dc, 0x00000000},
  870. {0x0000a1e0, 0x00000000},
  871. {0x0000a1e4, 0x00000000},
  872. {0x0000a1e8, 0x00000000},
  873. {0x0000a1ec, 0x00000000},
  874. {0x0000a1f0, 0x00000396},
  875. {0x0000a1f4, 0x00000396},
  876. {0x0000a1f8, 0x00000396},
  877. {0x0000a1fc, 0x00000196},
  878. {0x0000b000, 0x00010000},
  879. {0x0000b004, 0x00030002},
  880. {0x0000b008, 0x00050004},
  881. {0x0000b00c, 0x00810080},
  882. {0x0000b010, 0x00830082},
  883. {0x0000b014, 0x01810180},
  884. {0x0000b018, 0x01830182},
  885. {0x0000b01c, 0x01850184},
  886. {0x0000b020, 0x02810280},
  887. {0x0000b024, 0x02830282},
  888. {0x0000b028, 0x02850284},
  889. {0x0000b02c, 0x02890288},
  890. {0x0000b030, 0x028b028a},
  891. {0x0000b034, 0x0388028c},
  892. {0x0000b038, 0x038a0389},
  893. {0x0000b03c, 0x038c038b},
  894. {0x0000b040, 0x0390038d},
  895. {0x0000b044, 0x03920391},
  896. {0x0000b048, 0x03940393},
  897. {0x0000b04c, 0x03960395},
  898. {0x0000b050, 0x00000000},
  899. {0x0000b054, 0x00000000},
  900. {0x0000b058, 0x00000000},
  901. {0x0000b05c, 0x00000000},
  902. {0x0000b060, 0x00000000},
  903. {0x0000b064, 0x00000000},
  904. {0x0000b068, 0x00000000},
  905. {0x0000b06c, 0x00000000},
  906. {0x0000b070, 0x00000000},
  907. {0x0000b074, 0x00000000},
  908. {0x0000b078, 0x00000000},
  909. {0x0000b07c, 0x00000000},
  910. {0x0000b080, 0x23232323},
  911. {0x0000b084, 0x21232323},
  912. {0x0000b088, 0x19191c1e},
  913. {0x0000b08c, 0x12141417},
  914. {0x0000b090, 0x07070e0e},
  915. {0x0000b094, 0x03030305},
  916. {0x0000b098, 0x00000003},
  917. {0x0000b09c, 0x00000000},
  918. {0x0000b0a0, 0x00000000},
  919. {0x0000b0a4, 0x00000000},
  920. {0x0000b0a8, 0x00000000},
  921. {0x0000b0ac, 0x00000000},
  922. {0x0000b0b0, 0x00000000},
  923. {0x0000b0b4, 0x00000000},
  924. {0x0000b0b8, 0x00000000},
  925. {0x0000b0bc, 0x00000000},
  926. {0x0000b0c0, 0x003f0020},
  927. {0x0000b0c4, 0x00400041},
  928. {0x0000b0c8, 0x0140005f},
  929. {0x0000b0cc, 0x0160015f},
  930. {0x0000b0d0, 0x017e017f},
  931. {0x0000b0d4, 0x02410242},
  932. {0x0000b0d8, 0x025f0240},
  933. {0x0000b0dc, 0x027f0260},
  934. {0x0000b0e0, 0x0341027e},
  935. {0x0000b0e4, 0x035f0340},
  936. {0x0000b0e8, 0x037f0360},
  937. {0x0000b0ec, 0x04400441},
  938. {0x0000b0f0, 0x0460045f},
  939. {0x0000b0f4, 0x0541047f},
  940. {0x0000b0f8, 0x055f0540},
  941. {0x0000b0fc, 0x057f0560},
  942. {0x0000b100, 0x06400641},
  943. {0x0000b104, 0x0660065f},
  944. {0x0000b108, 0x067e067f},
  945. {0x0000b10c, 0x07410742},
  946. {0x0000b110, 0x075f0740},
  947. {0x0000b114, 0x077f0760},
  948. {0x0000b118, 0x07800781},
  949. {0x0000b11c, 0x07a0079f},
  950. {0x0000b120, 0x07c107bf},
  951. {0x0000b124, 0x000007c0},
  952. {0x0000b128, 0x00000000},
  953. {0x0000b12c, 0x00000000},
  954. {0x0000b130, 0x00000000},
  955. {0x0000b134, 0x00000000},
  956. {0x0000b138, 0x00000000},
  957. {0x0000b13c, 0x00000000},
  958. {0x0000b140, 0x003f0020},
  959. {0x0000b144, 0x00400041},
  960. {0x0000b148, 0x0140005f},
  961. {0x0000b14c, 0x0160015f},
  962. {0x0000b150, 0x017e017f},
  963. {0x0000b154, 0x02410242},
  964. {0x0000b158, 0x025f0240},
  965. {0x0000b15c, 0x027f0260},
  966. {0x0000b160, 0x0341027e},
  967. {0x0000b164, 0x035f0340},
  968. {0x0000b168, 0x037f0360},
  969. {0x0000b16c, 0x04400441},
  970. {0x0000b170, 0x0460045f},
  971. {0x0000b174, 0x0541047f},
  972. {0x0000b178, 0x055f0540},
  973. {0x0000b17c, 0x057f0560},
  974. {0x0000b180, 0x06400641},
  975. {0x0000b184, 0x0660065f},
  976. {0x0000b188, 0x067e067f},
  977. {0x0000b18c, 0x07410742},
  978. {0x0000b190, 0x075f0740},
  979. {0x0000b194, 0x077f0760},
  980. {0x0000b198, 0x07800781},
  981. {0x0000b19c, 0x07a0079f},
  982. {0x0000b1a0, 0x07c107bf},
  983. {0x0000b1a4, 0x000007c0},
  984. {0x0000b1a8, 0x00000000},
  985. {0x0000b1ac, 0x00000000},
  986. {0x0000b1b0, 0x00000000},
  987. {0x0000b1b4, 0x00000000},
  988. {0x0000b1b8, 0x00000000},
  989. {0x0000b1bc, 0x00000000},
  990. {0x0000b1c0, 0x00000000},
  991. {0x0000b1c4, 0x00000000},
  992. {0x0000b1c8, 0x00000000},
  993. {0x0000b1cc, 0x00000000},
  994. {0x0000b1d0, 0x00000000},
  995. {0x0000b1d4, 0x00000000},
  996. {0x0000b1d8, 0x00000000},
  997. {0x0000b1dc, 0x00000000},
  998. {0x0000b1e0, 0x00000000},
  999. {0x0000b1e4, 0x00000000},
  1000. {0x0000b1e8, 0x00000000},
  1001. {0x0000b1ec, 0x00000000},
  1002. {0x0000b1f0, 0x00000396},
  1003. {0x0000b1f4, 0x00000396},
  1004. {0x0000b1f8, 0x00000396},
  1005. {0x0000b1fc, 0x00000196},
  1006. };
  1007. static const u32 qca956x_1p0_xlna_only[][5] = {
  1008. /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */
  1009. {0x00009820, 0x206a022e, 0x206a022e, 0x206a01ae, 0x206a01ae},
  1010. {0x00009824, 0x5ac640d0, 0x5ac640d0, 0x5ac621f1, 0x5ac621f1},
  1011. {0x00009828, 0x06903081, 0x06903081, 0x07d43881, 0x07d43881},
  1012. {0x00009e00, 0x0372111a, 0x0372111a, 0x037216a0, 0x03721720},
  1013. {0x00009e0c, 0x6c4000e2, 0x6d4000e2, 0x6d4000de, 0x6c4000da},
  1014. {0x00009e10, 0x7ec88d2e, 0x7ec88d2e, 0x7ec86d2e, 0x7ec8ad2e},
  1015. {0x00009e14, 0x37b95d5e, 0x37b9605e, 0x317a6062, 0x317a5ae2},
  1016. {0x00009e18, 0x00000000, 0x00000000, 0x03c00000, 0x03c00000},
  1017. {0x00009e20, 0x000003b5, 0x000003b5, 0x000003b2, 0x000003b2},
  1018. {0x00009fc0, 0x813e4788, 0x813e4788, 0x813e4789, 0x813e4789},
  1019. {0x0000ae18, 0x00000000, 0x00000000, 0x03c00000, 0x03c00000},
  1020. {0x0000ae20, 0x000001b5, 0x000001b5, 0x000001b2, 0x000001b2},
  1021. {0x0000be18, 0x00000000, 0x00000000, 0x03c00000, 0x03c00000},
  1022. {0x0000be20, 0x000001b5, 0x000001b5, 0x000001b2, 0x000001b2},
  1023. };
  1024. #endif /* INITVALS_956X_H */