1 /*
2 
3   Broadcom B43 wireless driver
4   IEEE 802.11n PHY data tables
5 
6   Copyright (c) 2008 Michael Buesch <mb@bu3sch.de>
7 
8   This program is free software; you can redistribute it and/or modify
9   it under the terms of the GNU General Public License as published by
10   the Free Software Foundation; either version 2 of the License, or
11   (at your option) any later version.
12 
13   This program is distributed in the hope that it will be useful,
14   but WITHOUT ANY WARRANTY; without even the implied warranty of
15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16   GNU General Public License for more details.
17 
18   You should have received a copy of the GNU General Public License
19   along with this program; see the file COPYING.  If not, write to
20   the Free Software Foundation, Inc., 51 Franklin Steet, Fifth Floor,
21   Boston, MA 02110-1301, USA.
22 
23 */
24 
25 #include "b43.h"
26 #include "tables_nphy.h"
27 #include "phy_common.h"
28 #include "phy_n.h"
29 
30 static const u8 b43_ntab_adjustpower0[] = {
31 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
32 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
33 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
34 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
35 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
36 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
37 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
38 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
39 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
40 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
41 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
42 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
43 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
44 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
45 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
46 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
47 };
48 
49 static const u8 b43_ntab_adjustpower1[] = {
50 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
51 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
52 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
53 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
54 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
55 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
56 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
57 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
58 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
59 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
60 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
61 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
62 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
63 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
64 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
65 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
66 };
67 
68 static const u16 b43_ntab_bdi[] = {
69 	0x0070, 0x0126, 0x012C, 0x0246, 0x048D, 0x04D2,
70 };
71 
72 static const u32 b43_ntab_channelest[] = {
73 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
74 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
75 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
76 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
77 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
78 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
79 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
80 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
81 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
82 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
83 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
84 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
85 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
86 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
87 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
88 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
89 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
90 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
91 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
92 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
93 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
94 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
95 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
96 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
97 };
98 
99 static const u8 b43_ntab_estimatepowerlt0[] = {
100 	0x50, 0x4F, 0x4E, 0x4D, 0x4C, 0x4B, 0x4A, 0x49,
101 	0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41,
102 	0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3B, 0x3A, 0x39,
103 	0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31,
104 	0x30, 0x2F, 0x2E, 0x2D, 0x2C, 0x2B, 0x2A, 0x29,
105 	0x28, 0x27, 0x26, 0x25, 0x24, 0x23, 0x22, 0x21,
106 	0x20, 0x1F, 0x1E, 0x1D, 0x1C, 0x1B, 0x1A, 0x19,
107 	0x18, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x11,
108 };
109 
110 static const u8 b43_ntab_estimatepowerlt1[] = {
111 	0x50, 0x4F, 0x4E, 0x4D, 0x4C, 0x4B, 0x4A, 0x49,
112 	0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41,
113 	0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3B, 0x3A, 0x39,
114 	0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31,
115 	0x30, 0x2F, 0x2E, 0x2D, 0x2C, 0x2B, 0x2A, 0x29,
116 	0x28, 0x27, 0x26, 0x25, 0x24, 0x23, 0x22, 0x21,
117 	0x20, 0x1F, 0x1E, 0x1D, 0x1C, 0x1B, 0x1A, 0x19,
118 	0x18, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x11,
119 };
120 
121 static const u8 b43_ntab_framelookup[] = {
122 	0x02, 0x04, 0x14, 0x14, 0x03, 0x05, 0x16, 0x16,
123 	0x0A, 0x0C, 0x1C, 0x1C, 0x0B, 0x0D, 0x1E, 0x1E,
124 	0x06, 0x08, 0x18, 0x18, 0x07, 0x09, 0x1A, 0x1A,
125 	0x0E, 0x10, 0x20, 0x28, 0x0F, 0x11, 0x22, 0x2A,
126 };
127 
128 static const u32 b43_ntab_framestruct[] = {
129 	0x08004A04, 0x00100000, 0x01000A05, 0x00100020,
130 	0x09804506, 0x00100030, 0x09804507, 0x00100030,
131 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
132 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
133 	0x08004A0C, 0x00100004, 0x01000A0D, 0x00100024,
134 	0x0980450E, 0x00100034, 0x0980450F, 0x00100034,
135 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
136 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
137 	0x00000A04, 0x00100000, 0x11008A05, 0x00100020,
138 	0x1980C506, 0x00100030, 0x21810506, 0x00100030,
139 	0x21810506, 0x00100030, 0x01800504, 0x00100030,
140 	0x11808505, 0x00100030, 0x29814507, 0x01100030,
141 	0x00000A04, 0x00100000, 0x11008A05, 0x00100020,
142 	0x21810506, 0x00100030, 0x21810506, 0x00100030,
143 	0x29814507, 0x01100030, 0x00000000, 0x00000000,
144 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
145 	0x00000A0C, 0x00100008, 0x11008A0D, 0x00100028,
146 	0x1980C50E, 0x00100038, 0x2181050E, 0x00100038,
147 	0x2181050E, 0x00100038, 0x0180050C, 0x00100038,
148 	0x1180850D, 0x00100038, 0x2981450F, 0x01100038,
149 	0x00000A0C, 0x00100008, 0x11008A0D, 0x00100028,
150 	0x2181050E, 0x00100038, 0x2181050E, 0x00100038,
151 	0x2981450F, 0x01100038, 0x00000000, 0x00000000,
152 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
153 	0x08004A04, 0x00100000, 0x01000A05, 0x00100020,
154 	0x1980C506, 0x00100030, 0x1980C506, 0x00100030,
155 	0x11808504, 0x00100030, 0x3981CA05, 0x00100030,
156 	0x29814507, 0x01100030, 0x00000000, 0x00000000,
157 	0x10008A04, 0x00100000, 0x3981CA05, 0x00100030,
158 	0x1980C506, 0x00100030, 0x29814507, 0x01100030,
159 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
160 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
161 	0x08004A0C, 0x00100008, 0x01000A0D, 0x00100028,
162 	0x1980C50E, 0x00100038, 0x1980C50E, 0x00100038,
163 	0x1180850C, 0x00100038, 0x3981CA0D, 0x00100038,
164 	0x2981450F, 0x01100038, 0x00000000, 0x00000000,
165 	0x10008A0C, 0x00100008, 0x3981CA0D, 0x00100038,
166 	0x1980C50E, 0x00100038, 0x2981450F, 0x01100038,
167 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
168 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
169 	0x40021404, 0x00100000, 0x02001405, 0x00100040,
170 	0x0B004A06, 0x01900060, 0x13008A06, 0x01900060,
171 	0x13008A06, 0x01900060, 0x43020A04, 0x00100060,
172 	0x1B00CA05, 0x00100060, 0x23010A07, 0x01500060,
173 	0x40021404, 0x00100000, 0x1A00D405, 0x00100040,
174 	0x13008A06, 0x01900060, 0x13008A06, 0x01900060,
175 	0x23010A07, 0x01500060, 0x00000000, 0x00000000,
176 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
177 	0x4002140C, 0x00100010, 0x0200140D, 0x00100050,
178 	0x0B004A0E, 0x01900070, 0x13008A0E, 0x01900070,
179 	0x13008A0E, 0x01900070, 0x43020A0C, 0x00100070,
180 	0x1B00CA0D, 0x00100070, 0x23010A0F, 0x01500070,
181 	0x4002140C, 0x00100010, 0x1A00D40D, 0x00100050,
182 	0x13008A0E, 0x01900070, 0x13008A0E, 0x01900070,
183 	0x23010A0F, 0x01500070, 0x00000000, 0x00000000,
184 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
185 	0x50029404, 0x00100000, 0x32019405, 0x00100040,
186 	0x0B004A06, 0x01900060, 0x0B004A06, 0x01900060,
187 	0x5B02CA04, 0x00100060, 0x3B01D405, 0x00100060,
188 	0x23010A07, 0x01500060, 0x00000000, 0x00000000,
189 	0x5802D404, 0x00100000, 0x3B01D405, 0x00100060,
190 	0x0B004A06, 0x01900060, 0x23010A07, 0x01500060,
191 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
192 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
193 	0x5002940C, 0x00100010, 0x3201940D, 0x00100050,
194 	0x0B004A0E, 0x01900070, 0x0B004A0E, 0x01900070,
195 	0x5B02CA0C, 0x00100070, 0x3B01D40D, 0x00100070,
196 	0x23010A0F, 0x01500070, 0x00000000, 0x00000000,
197 	0x5802D40C, 0x00100010, 0x3B01D40D, 0x00100070,
198 	0x0B004A0E, 0x01900070, 0x23010A0F, 0x01500070,
199 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
200 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
201 	0x40021404, 0x000F4800, 0x62031405, 0x00100040,
202 	0x53028A06, 0x01900060, 0x53028A07, 0x01900060,
203 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
204 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
205 	0x4002140C, 0x000F4808, 0x6203140D, 0x00100048,
206 	0x53028A0E, 0x01900068, 0x53028A0F, 0x01900068,
207 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
208 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
209 	0x00000A0C, 0x00100004, 0x11008A0D, 0x00100024,
210 	0x1980C50E, 0x00100034, 0x2181050E, 0x00100034,
211 	0x2181050E, 0x00100034, 0x0180050C, 0x00100038,
212 	0x1180850D, 0x00100038, 0x1181850D, 0x00100038,
213 	0x2981450F, 0x01100038, 0x00000000, 0x00000000,
214 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
215 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
216 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
217 	0x00000A0C, 0x00100008, 0x11008A0D, 0x00100028,
218 	0x2181050E, 0x00100038, 0x2181050E, 0x00100038,
219 	0x1181850D, 0x00100038, 0x2981450F, 0x01100038,
220 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
221 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
222 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
223 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
224 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
225 	0x08004A04, 0x00100000, 0x01000A05, 0x00100020,
226 	0x0180C506, 0x00100030, 0x0180C506, 0x00100030,
227 	0x2180C50C, 0x00100030, 0x49820A0D, 0x0016A130,
228 	0x41824A0D, 0x0016A130, 0x2981450F, 0x01100030,
229 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
230 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
231 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
232 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
233 	0x2000CA0C, 0x00100000, 0x49820A0D, 0x0016A130,
234 	0x1980C50E, 0x00100030, 0x41824A0D, 0x0016A130,
235 	0x2981450F, 0x01100030, 0x00000000, 0x00000000,
236 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
237 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
238 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
239 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
240 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
241 	0x4002140C, 0x00100008, 0x0200140D, 0x00100048,
242 	0x0B004A0E, 0x01900068, 0x13008A0E, 0x01900068,
243 	0x13008A0E, 0x01900068, 0x43020A0C, 0x00100070,
244 	0x1B00CA0D, 0x00100070, 0x1B014A0D, 0x00100070,
245 	0x23010A0F, 0x01500070, 0x00000000, 0x00000000,
246 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
247 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
248 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
249 	0x4002140C, 0x00100010, 0x1A00D40D, 0x00100050,
250 	0x13008A0E, 0x01900070, 0x13008A0E, 0x01900070,
251 	0x1B014A0D, 0x00100070, 0x23010A0F, 0x01500070,
252 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
253 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
254 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
255 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
256 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
257 	0x50029404, 0x00100000, 0x32019405, 0x00100040,
258 	0x03004A06, 0x01900060, 0x03004A06, 0x01900060,
259 	0x6B030A0C, 0x00100060, 0x4B02140D, 0x0016A160,
260 	0x4302540D, 0x0016A160, 0x23010A0F, 0x01500060,
261 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
262 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
263 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
264 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
265 	0x6B03140C, 0x00100060, 0x4B02140D, 0x0016A160,
266 	0x0B004A0E, 0x01900060, 0x4302540D, 0x0016A160,
267 	0x23010A0F, 0x01500060, 0x00000000, 0x00000000,
268 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
269 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
270 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
271 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
272 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
273 	0x40021404, 0x00100000, 0x1A00D405, 0x00100040,
274 	0x53028A06, 0x01900060, 0x5B02CA06, 0x01900060,
275 	0x5B02CA06, 0x01900060, 0x43020A04, 0x00100060,
276 	0x1B00CA05, 0x00100060, 0x53028A07, 0x0190C060,
277 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
278 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
279 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
280 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
281 	0x4002140C, 0x00100010, 0x1A00D40D, 0x00100050,
282 	0x53028A0E, 0x01900070, 0x5B02CA0E, 0x01900070,
283 	0x5B02CA0E, 0x01900070, 0x43020A0C, 0x00100070,
284 	0x1B00CA0D, 0x00100070, 0x53028A0F, 0x0190C070,
285 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
286 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
287 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
288 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
289 	0x40021404, 0x00100000, 0x1A00D405, 0x00100040,
290 	0x5B02CA06, 0x01900060, 0x5B02CA06, 0x01900060,
291 	0x53028A07, 0x0190C060, 0x00000000, 0x00000000,
292 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
293 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
294 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
295 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
296 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
297 	0x4002140C, 0x00100010, 0x1A00D40D, 0x00100050,
298 	0x5B02CA0E, 0x01900070, 0x5B02CA0E, 0x01900070,
299 	0x53028A0F, 0x0190C070, 0x00000000, 0x00000000,
300 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
301 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
302 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
303 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
304 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
305 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
306 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
307 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
308 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
309 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
310 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
311 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
312 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
313 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
314 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
315 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
316 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
317 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
318 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
319 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
320 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
321 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
322 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
323 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
324 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
325 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
326 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
327 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
328 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
329 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
330 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
331 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
332 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
333 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
334 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
335 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
336 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
337 };
338 
339 static const u32 b43_ntab_gainctl0[] = {
340 	0x03CC2B44, 0x03CC2B42, 0x03CC2B40, 0x03CC2B3E,
341 	0x03CC2B3D, 0x03CC2B3B, 0x03C82B44, 0x03C82B42,
342 	0x03C82B40, 0x03C82B3E, 0x03C82B3D, 0x03C82B3B,
343 	0x03C82B39, 0x03C82B38, 0x03C82B36, 0x03C82B34,
344 	0x03C42B44, 0x03C42B42, 0x03C42B40, 0x03C42B3E,
345 	0x03C42B3D, 0x03C42B3B, 0x03C42B39, 0x03C42B38,
346 	0x03C42B36, 0x03C42B34, 0x03C42B33, 0x03C42B32,
347 	0x03C42B30, 0x03C42B2F, 0x03C42B2D, 0x03C02B44,
348 	0x03C02B42, 0x03C02B40, 0x03C02B3E, 0x03C02B3D,
349 	0x03C02B3B, 0x03C02B39, 0x03C02B38, 0x03C02B36,
350 	0x03C02B34, 0x03B02B44, 0x03B02B42, 0x03B02B40,
351 	0x03B02B3E, 0x03B02B3D, 0x03B02B3B, 0x03B02B39,
352 	0x03B02B38, 0x03B02B36, 0x03B02B34, 0x03B02B33,
353 	0x03B02B32, 0x03B02B30, 0x03B02B2F, 0x03B02B2D,
354 	0x03A02B44, 0x03A02B42, 0x03A02B40, 0x03A02B3E,
355 	0x03A02B3D, 0x03A02B3B, 0x03A02B39, 0x03A02B38,
356 	0x03A02B36, 0x03A02B34, 0x03902B44, 0x03902B42,
357 	0x03902B40, 0x03902B3E, 0x03902B3D, 0x03902B3B,
358 	0x03902B39, 0x03902B38, 0x03902B36, 0x03902B34,
359 	0x03902B33, 0x03902B32, 0x03902B30, 0x03802B44,
360 	0x03802B42, 0x03802B40, 0x03802B3E, 0x03802B3D,
361 	0x03802B3B, 0x03802B39, 0x03802B38, 0x03802B36,
362 	0x03802B34, 0x03802B33, 0x03802B32, 0x03802B30,
363 	0x03802B2F, 0x03802B2D, 0x03802B2C, 0x03802B2B,
364 	0x03802B2A, 0x03802B29, 0x03802B27, 0x03802B26,
365 	0x03802B25, 0x03802B24, 0x03802B23, 0x03802B22,
366 	0x03802B21, 0x03802B20, 0x03802B1F, 0x03802B1E,
367 	0x03802B1E, 0x03802B1D, 0x03802B1C, 0x03802B1B,
368 	0x03802B1A, 0x03802B1A, 0x03802B19, 0x03802B18,
369 	0x03802B18, 0x03802B18, 0x03802B18, 0x03802B18,
370 	0x03802B18, 0x03802B18, 0x03802B18, 0x03802B18,
371 	0x03802B18, 0x03802B18, 0x03802B18, 0x00002B00,
372 };
373 
374 static const u32 b43_ntab_gainctl1[] = {
375 	0x03CC2B44, 0x03CC2B42, 0x03CC2B40, 0x03CC2B3E,
376 	0x03CC2B3D, 0x03CC2B3B, 0x03C82B44, 0x03C82B42,
377 	0x03C82B40, 0x03C82B3E, 0x03C82B3D, 0x03C82B3B,
378 	0x03C82B39, 0x03C82B38, 0x03C82B36, 0x03C82B34,
379 	0x03C42B44, 0x03C42B42, 0x03C42B40, 0x03C42B3E,
380 	0x03C42B3D, 0x03C42B3B, 0x03C42B39, 0x03C42B38,
381 	0x03C42B36, 0x03C42B34, 0x03C42B33, 0x03C42B32,
382 	0x03C42B30, 0x03C42B2F, 0x03C42B2D, 0x03C02B44,
383 	0x03C02B42, 0x03C02B40, 0x03C02B3E, 0x03C02B3D,
384 	0x03C02B3B, 0x03C02B39, 0x03C02B38, 0x03C02B36,
385 	0x03C02B34, 0x03B02B44, 0x03B02B42, 0x03B02B40,
386 	0x03B02B3E, 0x03B02B3D, 0x03B02B3B, 0x03B02B39,
387 	0x03B02B38, 0x03B02B36, 0x03B02B34, 0x03B02B33,
388 	0x03B02B32, 0x03B02B30, 0x03B02B2F, 0x03B02B2D,
389 	0x03A02B44, 0x03A02B42, 0x03A02B40, 0x03A02B3E,
390 	0x03A02B3D, 0x03A02B3B, 0x03A02B39, 0x03A02B38,
391 	0x03A02B36, 0x03A02B34, 0x03902B44, 0x03902B42,
392 	0x03902B40, 0x03902B3E, 0x03902B3D, 0x03902B3B,
393 	0x03902B39, 0x03902B38, 0x03902B36, 0x03902B34,
394 	0x03902B33, 0x03902B32, 0x03902B30, 0x03802B44,
395 	0x03802B42, 0x03802B40, 0x03802B3E, 0x03802B3D,
396 	0x03802B3B, 0x03802B39, 0x03802B38, 0x03802B36,
397 	0x03802B34, 0x03802B33, 0x03802B32, 0x03802B30,
398 	0x03802B2F, 0x03802B2D, 0x03802B2C, 0x03802B2B,
399 	0x03802B2A, 0x03802B29, 0x03802B27, 0x03802B26,
400 	0x03802B25, 0x03802B24, 0x03802B23, 0x03802B22,
401 	0x03802B21, 0x03802B20, 0x03802B1F, 0x03802B1E,
402 	0x03802B1E, 0x03802B1D, 0x03802B1C, 0x03802B1B,
403 	0x03802B1A, 0x03802B1A, 0x03802B19, 0x03802B18,
404 	0x03802B18, 0x03802B18, 0x03802B18, 0x03802B18,
405 	0x03802B18, 0x03802B18, 0x03802B18, 0x03802B18,
406 	0x03802B18, 0x03802B18, 0x03802B18, 0x00002B00,
407 };
408 
409 static const u32 b43_ntab_intlevel[] = {
410 	0x00802070, 0x0671188D, 0x0A60192C, 0x0A300E46,
411 	0x00C1188D, 0x080024D2, 0x00000070,
412 };
413 
414 static const u32 b43_ntab_iqlt0[] = {
415 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
416 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
417 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
418 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
419 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
420 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
421 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
422 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
423 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
424 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
425 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
426 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
427 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
428 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
429 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
430 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
431 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
432 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
433 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
434 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
435 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
436 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
437 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
438 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
439 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
440 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
441 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
442 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
443 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
444 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
445 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
446 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
447 };
448 
449 static const u32 b43_ntab_iqlt1[] = {
450 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
451 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
452 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
453 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
454 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
455 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
456 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
457 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
458 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
459 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
460 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
461 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
462 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
463 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
464 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
465 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
466 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
467 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
468 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
469 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
470 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
471 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
472 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
473 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
474 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
475 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
476 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
477 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
478 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
479 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
480 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
481 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
482 };
483 
484 static const u16 b43_ntab_loftlt0[] = {
485 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
486 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
487 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
488 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
489 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
490 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
491 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
492 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
493 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
494 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
495 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
496 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
497 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
498 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
499 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
500 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
501 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
502 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
503 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
504 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
505 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
506 	0x0002, 0x0103,
507 };
508 
509 static const u16 b43_ntab_loftlt1[] = {
510 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
511 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
512 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
513 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
514 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
515 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
516 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
517 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
518 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
519 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
520 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
521 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
522 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
523 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
524 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
525 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
526 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
527 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
528 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
529 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
530 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
531 	0x0002, 0x0103,
532 };
533 
534 static const u8 b43_ntab_mcs[] = {
535 	0x00, 0x08, 0x0A, 0x10, 0x12, 0x19, 0x1A, 0x1C,
536 	0x40, 0x48, 0x4A, 0x50, 0x52, 0x59, 0x5A, 0x5C,
537 	0x80, 0x88, 0x8A, 0x90, 0x92, 0x99, 0x9A, 0x9C,
538 	0xC0, 0xC8, 0xCA, 0xD0, 0xD2, 0xD9, 0xDA, 0xDC,
539 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
540 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
541 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
542 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
543 	0x00, 0x01, 0x02, 0x04, 0x08, 0x09, 0x0A, 0x0C,
544 	0x10, 0x11, 0x12, 0x14, 0x18, 0x19, 0x1A, 0x1C,
545 	0x20, 0x21, 0x22, 0x24, 0x40, 0x41, 0x42, 0x44,
546 	0x48, 0x49, 0x4A, 0x4C, 0x50, 0x51, 0x52, 0x54,
547 	0x58, 0x59, 0x5A, 0x5C, 0x60, 0x61, 0x62, 0x64,
548 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
549 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
550 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
551 };
552 
553 static const u32 b43_ntab_noisevar10[] = {
554 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
555 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
556 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
557 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
558 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
559 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
560 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
561 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
562 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
563 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
564 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
565 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
566 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
567 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
568 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
569 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
570 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
571 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
572 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
573 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
574 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
575 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
576 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
577 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
578 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
579 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
580 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
581 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
582 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
583 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
584 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
585 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
586 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
587 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
588 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
589 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
590 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
591 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
592 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
593 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
594 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
595 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
596 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
597 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
598 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
599 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
600 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
601 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
602 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
603 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
604 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
605 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
606 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
607 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
608 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
609 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
610 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
611 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
612 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
613 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
614 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
615 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
616 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
617 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
618 };
619 
620 static const u32 b43_ntab_noisevar11[] = {
621 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
622 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
623 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
624 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
625 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
626 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
627 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
628 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
629 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
630 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
631 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
632 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
633 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
634 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
635 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
636 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
637 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
638 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
639 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
640 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
641 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
642 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
643 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
644 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
645 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
646 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
647 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
648 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
649 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
650 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
651 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
652 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
653 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
654 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
655 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
656 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
657 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
658 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
659 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
660 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
661 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
662 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
663 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
664 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
665 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
666 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
667 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
668 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
669 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
670 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
671 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
672 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
673 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
674 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
675 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
676 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
677 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
678 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
679 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
680 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
681 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
682 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
683 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
684 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
685 };
686 
687 static const u16 b43_ntab_pilot[] = {
688 	0xFF08, 0xFF08, 0xFF08, 0xFF08, 0xFF08, 0xFF08,
689 	0xFF08, 0xFF08, 0x80D5, 0x80D5, 0x80D5, 0x80D5,
690 	0x80D5, 0x80D5, 0x80D5, 0x80D5, 0xFF0A, 0xFF82,
691 	0xFFA0, 0xFF28, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
692 	0xFF82, 0xFFA0, 0xFF28, 0xFF0A, 0xFFFF, 0xFFFF,
693 	0xFFFF, 0xFFFF, 0xF83F, 0xFA1F, 0xFA97, 0xFAB5,
694 	0xF2BD, 0xF0BF, 0xFFFF, 0xFFFF, 0xF017, 0xF815,
695 	0xF215, 0xF095, 0xF035, 0xF01D, 0xFFFF, 0xFFFF,
696 	0xFF08, 0xFF02, 0xFF80, 0xFF20, 0xFF08, 0xFF02,
697 	0xFF80, 0xFF20, 0xF01F, 0xF817, 0xFA15, 0xF295,
698 	0xF0B5, 0xF03D, 0xFFFF, 0xFFFF, 0xF82A, 0xFA0A,
699 	0xFA82, 0xFAA0, 0xF2A8, 0xF0AA, 0xFFFF, 0xFFFF,
700 	0xF002, 0xF800, 0xF200, 0xF080, 0xF020, 0xF008,
701 	0xFFFF, 0xFFFF, 0xF00A, 0xF802, 0xFA00, 0xF280,
702 	0xF0A0, 0xF028, 0xFFFF, 0xFFFF,
703 };
704 
705 static const u32 b43_ntab_pilotlt[] = {
706 	0x76540123, 0x62407351, 0x76543201, 0x76540213,
707 	0x76540123, 0x76430521,
708 };
709 
710 static const u32 b43_ntab_tdi20a0[] = {
711 	0x00091226, 0x000A1429, 0x000B56AD, 0x000C58B0,
712 	0x000D5AB3, 0x000E9CB6, 0x000F9EBA, 0x0000C13D,
713 	0x00020301, 0x00030504, 0x00040708, 0x0005090B,
714 	0x00064B8E, 0x00095291, 0x000A5494, 0x000B9718,
715 	0x000C9927, 0x000D9B2A, 0x000EDD2E, 0x000FDF31,
716 	0x000101B4, 0x000243B7, 0x000345BB, 0x000447BE,
717 	0x00058982, 0x00068C05, 0x00099309, 0x000A950C,
718 	0x000BD78F, 0x000CD992, 0x000DDB96, 0x000F1D99,
719 	0x00005FA8, 0x0001422C, 0x0002842F, 0x00038632,
720 	0x00048835, 0x0005CA38, 0x0006CCBC, 0x0009D3BF,
721 	0x000B1603, 0x000C1806, 0x000D1A0A, 0x000E1C0D,
722 	0x000F5E10, 0x00008093, 0x00018297, 0x0002C49A,
723 	0x0003C680, 0x0004C880, 0x00060B00, 0x00070D00,
724 	0x00000000, 0x00000000, 0x00000000,
725 };
726 
727 static const u32 b43_ntab_tdi20a1[] = {
728 	0x00014B26, 0x00028D29, 0x000393AD, 0x00049630,
729 	0x0005D833, 0x0006DA36, 0x00099C3A, 0x000A9E3D,
730 	0x000BC081, 0x000CC284, 0x000DC488, 0x000F068B,
731 	0x0000488E, 0x00018B91, 0x0002D214, 0x0003D418,
732 	0x0004D6A7, 0x000618AA, 0x00071AAE, 0x0009DCB1,
733 	0x000B1EB4, 0x000C0137, 0x000D033B, 0x000E053E,
734 	0x000F4702, 0x00008905, 0x00020C09, 0x0003128C,
735 	0x0004148F, 0x00051712, 0x00065916, 0x00091B19,
736 	0x000A1D28, 0x000B5F2C, 0x000C41AF, 0x000D43B2,
737 	0x000E85B5, 0x000F87B8, 0x0000C9BC, 0x00024CBF,
738 	0x00035303, 0x00045506, 0x0005978A, 0x0006998D,
739 	0x00095B90, 0x000A5D93, 0x000B9F97, 0x000C821A,
740 	0x000D8400, 0x000EC600, 0x000FC800, 0x00010A00,
741 	0x00000000, 0x00000000, 0x00000000,
742 };
743 
744 static const u32 b43_ntab_tdi40a0[] = {
745 	0x0011A346, 0x00136CCF, 0x0014F5D9, 0x001641E2,
746 	0x0017CB6B, 0x00195475, 0x001B2383, 0x001CAD0C,
747 	0x001E7616, 0x0000821F, 0x00020BA8, 0x0003D4B2,
748 	0x00056447, 0x00072DD0, 0x0008B6DA, 0x000A02E3,
749 	0x000B8C6C, 0x000D15F6, 0x0011E484, 0x0013AE0D,
750 	0x00153717, 0x00168320, 0x00180CA9, 0x00199633,
751 	0x001B6548, 0x001CEED1, 0x001EB7DB, 0x0000C3E4,
752 	0x00024D6D, 0x000416F7, 0x0005A585, 0x00076F0F,
753 	0x0008F818, 0x000A4421, 0x000BCDAB, 0x000D9734,
754 	0x00122649, 0x0013EFD2, 0x001578DC, 0x0016C4E5,
755 	0x00184E6E, 0x001A17F8, 0x001BA686, 0x001D3010,
756 	0x001EF999, 0x00010522, 0x00028EAC, 0x00045835,
757 	0x0005E74A, 0x0007B0D3, 0x00093A5D, 0x000A85E6,
758 	0x000C0F6F, 0x000DD8F9, 0x00126787, 0x00143111,
759 	0x0015BA9A, 0x00170623, 0x00188FAD, 0x001A5936,
760 	0x001BE84B, 0x001DB1D4, 0x001F3B5E, 0x000146E7,
761 	0x00031070, 0x000499FA, 0x00062888, 0x0007F212,
762 	0x00097B9B, 0x000AC7A4, 0x000C50AE, 0x000E1A37,
763 	0x0012A94C, 0x001472D5, 0x0015FC5F, 0x00174868,
764 	0x0018D171, 0x001A9AFB, 0x001C2989, 0x001DF313,
765 	0x001F7C9C, 0x000188A5, 0x000351AF, 0x0004DB38,
766 	0x0006AA4D, 0x000833D7, 0x0009BD60, 0x000B0969,
767 	0x000C9273, 0x000E5BFC, 0x00132A8A, 0x0014B414,
768 	0x00163D9D, 0x001789A6, 0x001912B0, 0x001ADC39,
769 	0x001C6BCE, 0x001E34D8, 0x001FBE61, 0x0001CA6A,
770 	0x00039374, 0x00051CFD, 0x0006EC0B, 0x00087515,
771 	0x0009FE9E, 0x000B4AA7, 0x000CD3B1, 0x000E9D3A,
772 	0x00000000, 0x00000000,
773 };
774 
775 static const u32 b43_ntab_tdi40a1[] = {
776 	0x001EDB36, 0x000129CA, 0x0002B353, 0x00047CDD,
777 	0x0005C8E6, 0x000791EF, 0x00091BF9, 0x000AAA07,
778 	0x000C3391, 0x000DFD1A, 0x00120923, 0x0013D22D,
779 	0x00155C37, 0x0016EACB, 0x00187454, 0x001A3DDE,
780 	0x001B89E7, 0x001D12F0, 0x001F1CFA, 0x00016B88,
781 	0x00033492, 0x0004BE1B, 0x00060A24, 0x0007D32E,
782 	0x00095D38, 0x000AEC4C, 0x000C7555, 0x000E3EDF,
783 	0x00124AE8, 0x001413F1, 0x0015A37B, 0x00172C89,
784 	0x0018B593, 0x001A419C, 0x001BCB25, 0x001D942F,
785 	0x001F63B9, 0x0001AD4D, 0x00037657, 0x0004C260,
786 	0x00068BE9, 0x000814F3, 0x0009A47C, 0x000B2D8A,
787 	0x000CB694, 0x000E429D, 0x00128C26, 0x001455B0,
788 	0x0015E4BA, 0x00176E4E, 0x0018F758, 0x001A8361,
789 	0x001C0CEA, 0x001DD674, 0x001FA57D, 0x0001EE8B,
790 	0x0003B795, 0x0005039E, 0x0006CD27, 0x000856B1,
791 	0x0009E5C6, 0x000B6F4F, 0x000CF859, 0x000E8462,
792 	0x00130DEB, 0x00149775, 0x00162603, 0x0017AF8C,
793 	0x00193896, 0x001AC49F, 0x001C4E28, 0x001E17B2,
794 	0x0000A6C7, 0x00023050, 0x0003F9DA, 0x00054563,
795 	0x00070EEC, 0x00089876, 0x000A2704, 0x000BB08D,
796 	0x000D3A17, 0x001185A0, 0x00134F29, 0x0014D8B3,
797 	0x001667C8, 0x0017F151, 0x00197ADB, 0x001B0664,
798 	0x001C8FED, 0x001E5977, 0x0000E805, 0x0002718F,
799 	0x00043B18, 0x000586A1, 0x0007502B, 0x0008D9B4,
800 	0x000A68C9, 0x000BF252, 0x000DBBDC, 0x0011C7E5,
801 	0x001390EE, 0x00151A78, 0x0016A906, 0x00183290,
802 	0x0019BC19, 0x001B4822, 0x001CD12C, 0x001E9AB5,
803 	0x00000000, 0x00000000,
804 };
805 
806 static const u32 b43_ntab_tdtrn[] = {
807 	0x061C061C, 0x0050EE68, 0xF592FE36, 0xFE5212F6,
808 	0x00000C38, 0xFE5212F6, 0xF592FE36, 0x0050EE68,
809 	0x061C061C, 0xEE680050, 0xFE36F592, 0x12F6FE52,
810 	0x0C380000, 0x12F6FE52, 0xFE36F592, 0xEE680050,
811 	0x061C061C, 0x0050EE68, 0xF592FE36, 0xFE5212F6,
812 	0x00000C38, 0xFE5212F6, 0xF592FE36, 0x0050EE68,
813 	0x061C061C, 0xEE680050, 0xFE36F592, 0x12F6FE52,
814 	0x0C380000, 0x12F6FE52, 0xFE36F592, 0xEE680050,
815 	0x05E305E3, 0x004DEF0C, 0xF5F3FE47, 0xFE611246,
816 	0x00000BC7, 0xFE611246, 0xF5F3FE47, 0x004DEF0C,
817 	0x05E305E3, 0xEF0C004D, 0xFE47F5F3, 0x1246FE61,
818 	0x0BC70000, 0x1246FE61, 0xFE47F5F3, 0xEF0C004D,
819 	0x05E305E3, 0x004DEF0C, 0xF5F3FE47, 0xFE611246,
820 	0x00000BC7, 0xFE611246, 0xF5F3FE47, 0x004DEF0C,
821 	0x05E305E3, 0xEF0C004D, 0xFE47F5F3, 0x1246FE61,
822 	0x0BC70000, 0x1246FE61, 0xFE47F5F3, 0xEF0C004D,
823 	0xFA58FA58, 0xF895043B, 0xFF4C09C0, 0xFBC6FFA8,
824 	0xFB84F384, 0x0798F6F9, 0x05760122, 0x058409F6,
825 	0x0B500000, 0x05B7F542, 0x08860432, 0x06DDFEE7,
826 	0xFB84F384, 0xF9D90664, 0xF7E8025C, 0x00FFF7BD,
827 	0x05A805A8, 0xF7BD00FF, 0x025CF7E8, 0x0664F9D9,
828 	0xF384FB84, 0xFEE706DD, 0x04320886, 0xF54205B7,
829 	0x00000B50, 0x09F60584, 0x01220576, 0xF6F90798,
830 	0xF384FB84, 0xFFA8FBC6, 0x09C0FF4C, 0x043BF895,
831 	0x02D402D4, 0x07DE0270, 0xFC96079C, 0xF90AFE94,
832 	0xFE00FF2C, 0x02D4065D, 0x092A0096, 0x0014FBB8,
833 	0xFD2CFD2C, 0x076AFB3C, 0x0096F752, 0xF991FD87,
834 	0xFB2C0200, 0xFEB8F960, 0x08E0FC96, 0x049802A8,
835 	0xFD2CFD2C, 0x02A80498, 0xFC9608E0, 0xF960FEB8,
836 	0x0200FB2C, 0xFD87F991, 0xF7520096, 0xFB3C076A,
837 	0xFD2CFD2C, 0xFBB80014, 0x0096092A, 0x065D02D4,
838 	0xFF2CFE00, 0xFE94F90A, 0x079CFC96, 0x027007DE,
839 	0x02D402D4, 0x027007DE, 0x079CFC96, 0xFE94F90A,
840 	0xFF2CFE00, 0x065D02D4, 0x0096092A, 0xFBB80014,
841 	0xFD2CFD2C, 0xFB3C076A, 0xF7520096, 0xFD87F991,
842 	0x0200FB2C, 0xF960FEB8, 0xFC9608E0, 0x02A80498,
843 	0xFD2CFD2C, 0x049802A8, 0x08E0FC96, 0xFEB8F960,
844 	0xFB2C0200, 0xF991FD87, 0x0096F752, 0x076AFB3C,
845 	0xFD2CFD2C, 0x0014FBB8, 0x092A0096, 0x02D4065D,
846 	0xFE00FF2C, 0xF90AFE94, 0xFC96079C, 0x07DE0270,
847 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
848 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
849 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
850 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
851 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
852 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
853 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
854 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
855 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
856 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
857 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
858 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
859 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
860 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
861 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
862 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
863 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
864 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
865 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
866 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
867 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
868 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
869 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
870 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
871 	0x062A0000, 0xFEFA0759, 0x08B80908, 0xF396FC2D,
872 	0xF9D6045C, 0xFC4EF608, 0xF748F596, 0x07B207BF,
873 	0x062A062A, 0xF84EF841, 0xF748F596, 0x03B209F8,
874 	0xF9D6045C, 0x0C6A03D3, 0x08B80908, 0x0106F8A7,
875 	0x062A0000, 0xFEFAF8A7, 0x08B8F6F8, 0xF39603D3,
876 	0xF9D6FBA4, 0xFC4E09F8, 0xF7480A6A, 0x07B2F841,
877 	0x062AF9D6, 0xF84E07BF, 0xF7480A6A, 0x03B2F608,
878 	0xF9D6FBA4, 0x0C6AFC2D, 0x08B8F6F8, 0x01060759,
879 	0x062A0000, 0xFEFA0759, 0x08B80908, 0xF396FC2D,
880 	0xF9D6045C, 0xFC4EF608, 0xF748F596, 0x07B207BF,
881 	0x062A062A, 0xF84EF841, 0xF748F596, 0x03B209F8,
882 	0xF9D6045C, 0x0C6A03D3, 0x08B80908, 0x0106F8A7,
883 	0x062A0000, 0xFEFAF8A7, 0x08B8F6F8, 0xF39603D3,
884 	0xF9D6FBA4, 0xFC4E09F8, 0xF7480A6A, 0x07B2F841,
885 	0x062AF9D6, 0xF84E07BF, 0xF7480A6A, 0x03B2F608,
886 	0xF9D6FBA4, 0x0C6AFC2D, 0x08B8F6F8, 0x01060759,
887 	0x061C061C, 0xFF30009D, 0xFFB21141, 0xFD87FB54,
888 	0xF65DFE59, 0x02EEF99E, 0x0166F03C, 0xFFF809B6,
889 	0x000008A4, 0x000AF42B, 0x00EFF577, 0xFA840BF2,
890 	0xFC02FF51, 0x08260F67, 0xFFF0036F, 0x0842F9C3,
891 	0x00000000, 0x063DF7BE, 0xFC910010, 0xF099F7DA,
892 	0x00AF03FE, 0xF40E057C, 0x0A89FF11, 0x0BD5FFF6,
893 	0xF75C0000, 0xF64A0008, 0x0FC4FE9A, 0x0662FD12,
894 	0x01A709A3, 0x04AC0279, 0xEEBF004E, 0xFF6300D0,
895 	0xF9E4F9E4, 0x00D0FF63, 0x004EEEBF, 0x027904AC,
896 	0x09A301A7, 0xFD120662, 0xFE9A0FC4, 0x0008F64A,
897 	0x0000F75C, 0xFFF60BD5, 0xFF110A89, 0x057CF40E,
898 	0x03FE00AF, 0xF7DAF099, 0x0010FC91, 0xF7BE063D,
899 	0x00000000, 0xF9C30842, 0x036FFFF0, 0x0F670826,
900 	0xFF51FC02, 0x0BF2FA84, 0xF57700EF, 0xF42B000A,
901 	0x08A40000, 0x09B6FFF8, 0xF03C0166, 0xF99E02EE,
902 	0xFE59F65D, 0xFB54FD87, 0x1141FFB2, 0x009DFF30,
903 	0x05E30000, 0xFF060705, 0x085408A0, 0xF425FC59,
904 	0xFA1D042A, 0xFC78F67A, 0xF7ACF60E, 0x075A0766,
905 	0x05E305E3, 0xF8A6F89A, 0xF7ACF60E, 0x03880986,
906 	0xFA1D042A, 0x0BDB03A7, 0x085408A0, 0x00FAF8FB,
907 	0x05E30000, 0xFF06F8FB, 0x0854F760, 0xF42503A7,
908 	0xFA1DFBD6, 0xFC780986, 0xF7AC09F2, 0x075AF89A,
909 	0x05E3FA1D, 0xF8A60766, 0xF7AC09F2, 0x0388F67A,
910 	0xFA1DFBD6, 0x0BDBFC59, 0x0854F760, 0x00FA0705,
911 	0x05E30000, 0xFF060705, 0x085408A0, 0xF425FC59,
912 	0xFA1D042A, 0xFC78F67A, 0xF7ACF60E, 0x075A0766,
913 	0x05E305E3, 0xF8A6F89A, 0xF7ACF60E, 0x03880986,
914 	0xFA1D042A, 0x0BDB03A7, 0x085408A0, 0x00FAF8FB,
915 	0x05E30000, 0xFF06F8FB, 0x0854F760, 0xF42503A7,
916 	0xFA1DFBD6, 0xFC780986, 0xF7AC09F2, 0x075AF89A,
917 	0x05E3FA1D, 0xF8A60766, 0xF7AC09F2, 0x0388F67A,
918 	0xFA1DFBD6, 0x0BDBFC59, 0x0854F760, 0x00FA0705,
919 	0xFA58FA58, 0xF8F0FE00, 0x0448073D, 0xFDC9FE46,
920 	0xF9910258, 0x089D0407, 0xFD5CF71A, 0x02AFFDE0,
921 	0x083E0496, 0xFF5A0740, 0xFF7AFD97, 0x00FE01F1,
922 	0x0009082E, 0xFA94FF75, 0xFECDF8EA, 0xFFB0F693,
923 	0xFD2CFA58, 0x0433FF16, 0xFBA405DD, 0xFA610341,
924 	0x06A606CB, 0x0039FD2D, 0x0677FA97, 0x01FA05E0,
925 	0xF896003E, 0x075A068B, 0x012CFC3E, 0xFA23F98D,
926 	0xFC7CFD43, 0xFF90FC0D, 0x01C10982, 0x00C601D6,
927 	0xFD2CFD2C, 0x01D600C6, 0x098201C1, 0xFC0DFF90,
928 	0xFD43FC7C, 0xF98DFA23, 0xFC3E012C, 0x068B075A,
929 	0x003EF896, 0x05E001FA, 0xFA970677, 0xFD2D0039,
930 	0x06CB06A6, 0x0341FA61, 0x05DDFBA4, 0xFF160433,
931 	0xFA58FD2C, 0xF693FFB0, 0xF8EAFECD, 0xFF75FA94,
932 	0x082E0009, 0x01F100FE, 0xFD97FF7A, 0x0740FF5A,
933 	0x0496083E, 0xFDE002AF, 0xF71AFD5C, 0x0407089D,
934 	0x0258F991, 0xFE46FDC9, 0x073D0448, 0xFE00F8F0,
935 	0xFD2CFD2C, 0xFCE00500, 0xFC09FDDC, 0xFE680157,
936 	0x04C70571, 0xFC3AFF21, 0xFCD70228, 0x056D0277,
937 	0x0200FE00, 0x0022F927, 0xFE3C032B, 0xFC44FF3C,
938 	0x03E9FBDB, 0x04570313, 0x04C9FF5C, 0x000D03B8,
939 	0xFA580000, 0xFBE900D2, 0xF9D0FE0B, 0x0125FDF9,
940 	0x042501BF, 0x0328FA2B, 0xFFA902F0, 0xFA250157,
941 	0x0200FE00, 0x03740438, 0xFF0405FD, 0x030CFE52,
942 	0x0037FB39, 0xFF6904C5, 0x04F8FD23, 0xFD31FC1B,
943 	0xFD2CFD2C, 0xFC1BFD31, 0xFD2304F8, 0x04C5FF69,
944 	0xFB390037, 0xFE52030C, 0x05FDFF04, 0x04380374,
945 	0xFE000200, 0x0157FA25, 0x02F0FFA9, 0xFA2B0328,
946 	0x01BF0425, 0xFDF90125, 0xFE0BF9D0, 0x00D2FBE9,
947 	0x0000FA58, 0x03B8000D, 0xFF5C04C9, 0x03130457,
948 	0xFBDB03E9, 0xFF3CFC44, 0x032BFE3C, 0xF9270022,
949 	0xFE000200, 0x0277056D, 0x0228FCD7, 0xFF21FC3A,
950 	0x057104C7, 0x0157FE68, 0xFDDCFC09, 0x0500FCE0,
951 	0xFD2CFD2C, 0x0500FCE0, 0xFDDCFC09, 0x0157FE68,
952 	0x057104C7, 0xFF21FC3A, 0x0228FCD7, 0x0277056D,
953 	0xFE000200, 0xF9270022, 0x032BFE3C, 0xFF3CFC44,
954 	0xFBDB03E9, 0x03130457, 0xFF5C04C9, 0x03B8000D,
955 	0x0000FA58, 0x00D2FBE9, 0xFE0BF9D0, 0xFDF90125,
956 	0x01BF0425, 0xFA2B0328, 0x02F0FFA9, 0x0157FA25,
957 	0xFE000200, 0x04380374, 0x05FDFF04, 0xFE52030C,
958 	0xFB390037, 0x04C5FF69, 0xFD2304F8, 0xFC1BFD31,
959 	0xFD2CFD2C, 0xFD31FC1B, 0x04F8FD23, 0xFF6904C5,
960 	0x0037FB39, 0x030CFE52, 0xFF0405FD, 0x03740438,
961 	0x0200FE00, 0xFA250157, 0xFFA902F0, 0x0328FA2B,
962 	0x042501BF, 0x0125FDF9, 0xF9D0FE0B, 0xFBE900D2,
963 	0xFA580000, 0x000D03B8, 0x04C9FF5C, 0x04570313,
964 	0x03E9FBDB, 0xFC44FF3C, 0xFE3C032B, 0x0022F927,
965 	0x0200FE00, 0x056D0277, 0xFCD70228, 0xFC3AFF21,
966 	0x04C70571, 0xFE680157, 0xFC09FDDC, 0xFCE00500,
967 	0x05A80000, 0xFF1006BE, 0x0800084A, 0xF49CFC7E,
968 	0xFA580400, 0xFC9CF6DA, 0xF800F672, 0x0710071C,
969 	0x05A805A8, 0xF8F0F8E4, 0xF800F672, 0x03640926,
970 	0xFA580400, 0x0B640382, 0x0800084A, 0x00F0F942,
971 	0x05A80000, 0xFF10F942, 0x0800F7B6, 0xF49C0382,
972 	0xFA58FC00, 0xFC9C0926, 0xF800098E, 0x0710F8E4,
973 	0x05A8FA58, 0xF8F0071C, 0xF800098E, 0x0364F6DA,
974 	0xFA58FC00, 0x0B64FC7E, 0x0800F7B6, 0x00F006BE,
975 	0x05A80000, 0xFF1006BE, 0x0800084A, 0xF49CFC7E,
976 	0xFA580400, 0xFC9CF6DA, 0xF800F672, 0x0710071C,
977 	0x05A805A8, 0xF8F0F8E4, 0xF800F672, 0x03640926,
978 	0xFA580400, 0x0B640382, 0x0800084A, 0x00F0F942,
979 	0x05A80000, 0xFF10F942, 0x0800F7B6, 0xF49C0382,
980 	0xFA58FC00, 0xFC9C0926, 0xF800098E, 0x0710F8E4,
981 	0x05A8FA58, 0xF8F0071C, 0xF800098E, 0x0364F6DA,
982 	0xFA58FC00, 0x0B64FC7E, 0x0800F7B6, 0x00F006BE,
983 };
984 
985 static const u32 b43_ntab_tmap[] = {
986 	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888,
987 	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
988 	0xF1111110, 0x11111111, 0x11F11111, 0x00000111,
989 	0x11000000, 0x1111F111, 0x11111111, 0x111111F1,
990 	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x000AA888,
991 	0x88880000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
992 	0xA1111110, 0x11111111, 0x11C11111, 0x00000111,
993 	0x11000000, 0x1111A111, 0x11111111, 0x111111A1,
994 	0xA2222220, 0x22222222, 0x22C22222, 0x00000222,
995 	0x22000000, 0x2222A222, 0x22222222, 0x222222A2,
996 	0xF1111110, 0x11111111, 0x11F11111, 0x00011111,
997 	0x11110000, 0x1111F111, 0x11111111, 0x111111F1,
998 	0xA8AA88A0, 0xA88888A8, 0xA8A8A88A, 0x00088AAA,
999 	0xAAAA0000, 0xA8A8AA88, 0xA88AAAAA, 0xAAAA8A8A,
1000 	0xAAA8AAA0, 0x8AAA8AAA, 0xAA8A8A8A, 0x000AAA88,
1001 	0x8AAA0000, 0xAAA8A888, 0x8AA88A8A, 0x8A88A888,
1002 	0x08080A00, 0x0A08080A, 0x080A0A08, 0x00080808,
1003 	0x080A0000, 0x080A0808, 0x080A0808, 0x0A0A0A08,
1004 	0xA0A0A0A0, 0x80A0A080, 0x8080A0A0, 0x00008080,
1005 	0x80A00000, 0x80A080A0, 0xA080A0A0, 0x8080A0A0,
1006 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1007 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1008 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1009 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1010 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1011 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1012 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1013 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1014 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1015 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1016 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1017 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1018 	0x99999000, 0x9B9B99BB, 0x9BB99999, 0x9999B9B9,
1019 	0x9B99BB90, 0x9BBBBB9B, 0x9B9B9BB9, 0x00000999,
1020 	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
1021 	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00AAA888,
1022 	0x22000000, 0x2222B222, 0x22222222, 0x222222B2,
1023 	0xB2222220, 0x22222222, 0x22D22222, 0x00000222,
1024 	0x11000000, 0x1111A111, 0x11111111, 0x111111A1,
1025 	0xA1111110, 0x11111111, 0x11C11111, 0x00000111,
1026 	0x33000000, 0x3333B333, 0x33333333, 0x333333B3,
1027 	0xB3333330, 0x33333333, 0x33D33333, 0x00000333,
1028 	0x22000000, 0x2222A222, 0x22222222, 0x222222A2,
1029 	0xA2222220, 0x22222222, 0x22C22222, 0x00000222,
1030 	0x99B99B00, 0x9B9B99BB, 0x9BB99999, 0x9999B9B9,
1031 	0x9B99BB99, 0x9BBBBB9B, 0x9B9B9BB9, 0x00000999,
1032 	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
1033 	0x8A88AA88, 0x8AAAAA8A, 0x8A8A8AA8, 0x08AAA888,
1034 	0x22222200, 0x2222F222, 0x22222222, 0x222222F2,
1035 	0x22222222, 0x22222222, 0x22F22222, 0x00000222,
1036 	0x11000000, 0x1111F111, 0x11111111, 0x11111111,
1037 	0xF1111111, 0x11111111, 0x11F11111, 0x01111111,
1038 	0xBB9BB900, 0xB9B9BB99, 0xB99BBBBB, 0xBBBB9B9B,
1039 	0xB9BB99BB, 0xB99999B9, 0xB9B9B99B, 0x00000BBB,
1040 	0xAA000000, 0xA8A8AA88, 0xA88AAAAA, 0xAAAA8A8A,
1041 	0xA8AA88AA, 0xA88888A8, 0xA8A8A88A, 0x0A888AAA,
1042 	0xAA000000, 0xA8A8AA88, 0xA88AAAAA, 0xAAAA8A8A,
1043 	0xA8AA88A0, 0xA88888A8, 0xA8A8A88A, 0x00000AAA,
1044 	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
1045 	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888,
1046 	0xBBBBBB00, 0x999BBBBB, 0x9BB99B9B, 0xB9B9B9BB,
1047 	0xB9B99BBB, 0xB9B9B9BB, 0xB9BB9B99, 0x00000999,
1048 	0x8A000000, 0xAA88A888, 0xA88888AA, 0xA88A8A88,
1049 	0xA88AA88A, 0x88A8AAAA, 0xA8AA8AAA, 0x0888A88A,
1050 	0x0B0B0B00, 0x090B0B0B, 0x0B090B0B, 0x0909090B,
1051 	0x09090B0B, 0x09090B0B, 0x09090B09, 0x00000909,
1052 	0x0A000000, 0x0A080808, 0x080A080A, 0x080A0A08,
1053 	0x080A080A, 0x0808080A, 0x0A0A0A08, 0x0808080A,
1054 	0xB0B0B000, 0x9090B0B0, 0x90B09090, 0xB0B0B090,
1055 	0xB0B090B0, 0x90B0B0B0, 0xB0B09090, 0x00000090,
1056 	0x80000000, 0xA080A080, 0xA08080A0, 0xA0808080,
1057 	0xA080A080, 0x80A0A0A0, 0xA0A080A0, 0x00A0A0A0,
1058 	0x22000000, 0x2222F222, 0x22222222, 0x222222F2,
1059 	0xF2222220, 0x22222222, 0x22F22222, 0x00000222,
1060 	0x11000000, 0x1111F111, 0x11111111, 0x111111F1,
1061 	0xF1111110, 0x11111111, 0x11F11111, 0x00000111,
1062 	0x33000000, 0x3333F333, 0x33333333, 0x333333F3,
1063 	0xF3333330, 0x33333333, 0x33F33333, 0x00000333,
1064 	0x22000000, 0x2222F222, 0x22222222, 0x222222F2,
1065 	0xF2222220, 0x22222222, 0x22F22222, 0x00000222,
1066 	0x99000000, 0x9B9B99BB, 0x9BB99999, 0x9999B9B9,
1067 	0x9B99BB90, 0x9BBBBB9B, 0x9B9B9BB9, 0x00000999,
1068 	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
1069 	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888,
1070 	0x88888000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
1071 	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888,
1072 	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
1073 	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00AAA888,
1074 	0x88A88A00, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
1075 	0x8A88AA88, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888,
1076 	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
1077 	0x8A88AA88, 0x8AAAAA8A, 0x8A8A8AA8, 0x08AAA888,
1078 	0x11000000, 0x1111A111, 0x11111111, 0x111111A1,
1079 	0xA1111110, 0x11111111, 0x11C11111, 0x00000111,
1080 	0x11000000, 0x1111A111, 0x11111111, 0x111111A1,
1081 	0xA1111110, 0x11111111, 0x11C11111, 0x00000111,
1082 	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
1083 	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888,
1084 	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
1085 	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888,
1086 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1087 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1088 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1089 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1090 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1091 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1092 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1093 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1094 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1095 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1096 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1097 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1098 };
1099 
1100 /* static tables, PHY revision >= 3 */
1101 static const u32 b43_ntab_framestruct_r3[] = {
1102 	0x08004a04, 0x00100000, 0x01000a05, 0x00100020,
1103 	0x09804506, 0x00100030, 0x09804507, 0x00100030,
1104 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1105 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1106 	0x08004a0c, 0x00100004, 0x01000a0d, 0x00100024,
1107 	0x0980450e, 0x00100034, 0x0980450f, 0x00100034,
1108 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1109 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1110 	0x00000a04, 0x00100000, 0x11008a05, 0x00100020,
1111 	0x1980c506, 0x00100030, 0x21810506, 0x00100030,
1112 	0x21810506, 0x00100030, 0x01800504, 0x00100030,
1113 	0x11808505, 0x00100030, 0x29814507, 0x01100030,
1114 	0x00000a04, 0x00100000, 0x11008a05, 0x00100020,
1115 	0x21810506, 0x00100030, 0x21810506, 0x00100030,
1116 	0x29814507, 0x01100030, 0x00000000, 0x00000000,
1117 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1118 	0x00000a0c, 0x00100008, 0x11008a0d, 0x00100028,
1119 	0x1980c50e, 0x00100038, 0x2181050e, 0x00100038,
1120 	0x2181050e, 0x00100038, 0x0180050c, 0x00100038,
1121 	0x1180850d, 0x00100038, 0x2981450f, 0x01100038,
1122 	0x00000a0c, 0x00100008, 0x11008a0d, 0x00100028,
1123 	0x2181050e, 0x00100038, 0x2181050e, 0x00100038,
1124 	0x2981450f, 0x01100038, 0x00000000, 0x00000000,
1125 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1126 	0x08004a04, 0x00100000, 0x01000a05, 0x00100020,
1127 	0x1980c506, 0x00100030, 0x1980c506, 0x00100030,
1128 	0x11808504, 0x00100030, 0x3981ca05, 0x00100030,
1129 	0x29814507, 0x01100030, 0x00000000, 0x00000000,
1130 	0x10008a04, 0x00100000, 0x3981ca05, 0x00100030,
1131 	0x1980c506, 0x00100030, 0x29814507, 0x01100030,
1132 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1133 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1134 	0x08004a0c, 0x00100008, 0x01000a0d, 0x00100028,
1135 	0x1980c50e, 0x00100038, 0x1980c50e, 0x00100038,
1136 	0x1180850c, 0x00100038, 0x3981ca0d, 0x00100038,
1137 	0x2981450f, 0x01100038, 0x00000000, 0x00000000,
1138 	0x10008a0c, 0x00100008, 0x3981ca0d, 0x00100038,
1139 	0x1980c50e, 0x00100038, 0x2981450f, 0x01100038,
1140 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1141 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1142 	0x40021404, 0x00100000, 0x02001405, 0x00100040,
1143 	0x0b004a06, 0x01900060, 0x13008a06, 0x01900060,
1144 	0x13008a06, 0x01900060, 0x43020a04, 0x00100060,
1145 	0x1b00ca05, 0x00100060, 0x23010a07, 0x01500060,
1146 	0x40021404, 0x00100000, 0x1a00d405, 0x00100040,
1147 	0x13008a06, 0x01900060, 0x13008a06, 0x01900060,
1148 	0x23010a07, 0x01500060, 0x00000000, 0x00000000,
1149 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1150 	0x4002140c, 0x00100010, 0x0200140d, 0x00100050,
1151 	0x0b004a0e, 0x01900070, 0x13008a0e, 0x01900070,
1152 	0x13008a0e, 0x01900070, 0x43020a0c, 0x00100070,
1153 	0x1b00ca0d, 0x00100070, 0x23010a0f, 0x01500070,
1154 	0x4002140c, 0x00100010, 0x1a00d40d, 0x00100050,
1155 	0x13008a0e, 0x01900070, 0x13008a0e, 0x01900070,
1156 	0x23010a0f, 0x01500070, 0x00000000, 0x00000000,
1157 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1158 	0x50029404, 0x00100000, 0x32019405, 0x00100040,
1159 	0x0b004a06, 0x01900060, 0x0b004a06, 0x01900060,
1160 	0x5b02ca04, 0x00100060, 0x3b01d405, 0x00100060,
1161 	0x23010a07, 0x01500060, 0x00000000, 0x00000000,
1162 	0x5802d404, 0x00100000, 0x3b01d405, 0x00100060,
1163 	0x0b004a06, 0x01900060, 0x23010a07, 0x01500060,
1164 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1165 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1166 	0x5002940c, 0x00100010, 0x3201940d, 0x00100050,
1167 	0x0b004a0e, 0x01900070, 0x0b004a0e, 0x01900070,
1168 	0x5b02ca0c, 0x00100070, 0x3b01d40d, 0x00100070,
1169 	0x23010a0f, 0x01500070, 0x00000000, 0x00000000,
1170 	0x5802d40c, 0x00100010, 0x3b01d40d, 0x00100070,
1171 	0x0b004a0e, 0x01900070, 0x23010a0f, 0x01500070,
1172 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1173 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1174 	0x40021404, 0x000f4800, 0x62031405, 0x00100040,
1175 	0x53028a06, 0x01900060, 0x53028a07, 0x01900060,
1176 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1177 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1178 	0x4002140c, 0x000f4808, 0x6203140d, 0x00100048,
1179 	0x53028a0e, 0x01900068, 0x53028a0f, 0x01900068,
1180 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1181 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1182 	0x00000a0c, 0x00100004, 0x11008a0d, 0x00100024,
1183 	0x1980c50e, 0x00100034, 0x2181050e, 0x00100034,
1184 	0x2181050e, 0x00100034, 0x0180050c, 0x00100038,
1185 	0x1180850d, 0x00100038, 0x1181850d, 0x00100038,
1186 	0x2981450f, 0x01100038, 0x00000000, 0x00000000,
1187 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1188 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1189 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1190 	0x00000a0c, 0x00100008, 0x11008a0d, 0x00100028,
1191 	0x2181050e, 0x00100038, 0x2181050e, 0x00100038,
1192 	0x1181850d, 0x00100038, 0x2981450f, 0x01100038,
1193 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1194 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1195 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1196 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1197 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1198 	0x08004a04, 0x00100000, 0x01000a05, 0x00100020,
1199 	0x0180c506, 0x00100030, 0x0180c506, 0x00100030,
1200 	0x2180c50c, 0x00100030, 0x49820a0d, 0x0016a130,
1201 	0x41824a0d, 0x0016a130, 0x2981450f, 0x01100030,
1202 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1203 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1204 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1205 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1206 	0x2000ca0c, 0x00100000, 0x49820a0d, 0x0016a130,
1207 	0x1980c50e, 0x00100030, 0x41824a0d, 0x0016a130,
1208 	0x2981450f, 0x01100030, 0x00000000, 0x00000000,
1209 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1210 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1211 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1212 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1213 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1214 	0x4002140c, 0x00100008, 0x0200140d, 0x00100048,
1215 	0x0b004a0e, 0x01900068, 0x13008a0e, 0x01900068,
1216 	0x13008a0e, 0x01900068, 0x43020a0c, 0x00100070,
1217 	0x1b00ca0d, 0x00100070, 0x1b014a0d, 0x00100070,
1218 	0x23010a0f, 0x01500070, 0x00000000, 0x00000000,
1219 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1220 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1221 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1222 	0x4002140c, 0x00100010, 0x1a00d40d, 0x00100050,
1223 	0x13008a0e, 0x01900070, 0x13008a0e, 0x01900070,
1224 	0x1b014a0d, 0x00100070, 0x23010a0f, 0x01500070,
1225 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1226 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1227 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1228 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1229 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1230 	0x50029404, 0x00100000, 0x32019405, 0x00100040,
1231 	0x03004a06, 0x01900060, 0x03004a06, 0x01900060,
1232 	0x6b030a0c, 0x00100060, 0x4b02140d, 0x0016a160,
1233 	0x4302540d, 0x0016a160, 0x23010a0f, 0x01500060,
1234 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1235 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1236 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1237 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1238 	0x6b03140c, 0x00100060, 0x4b02140d, 0x0016a160,
1239 	0x0b004a0e, 0x01900060, 0x4302540d, 0x0016a160,
1240 	0x23010a0f, 0x01500060, 0x00000000, 0x00000000,
1241 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1242 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1243 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1244 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1245 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1246 	0x40021404, 0x00100000, 0x1a00d405, 0x00100040,
1247 	0x53028a06, 0x01900060, 0x5b02ca06, 0x01900060,
1248 	0x5b02ca06, 0x01900060, 0x43020a04, 0x00100060,
1249 	0x1b00ca05, 0x00100060, 0x53028a07, 0x0190c060,
1250 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1251 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1252 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1253 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1254 	0x4002140c, 0x00100010, 0x1a00d40d, 0x00100050,
1255 	0x53028a0e, 0x01900070, 0x5b02ca0e, 0x01900070,
1256 	0x5b02ca0e, 0x01900070, 0x43020a0c, 0x00100070,
1257 	0x1b00ca0d, 0x00100070, 0x53028a0f, 0x0190c070,
1258 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1259 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1260 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1261 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1262 	0x40021404, 0x00100000, 0x1a00d405, 0x00100040,
1263 	0x5b02ca06, 0x01900060, 0x5b02ca06, 0x01900060,
1264 	0x53028a07, 0x0190c060, 0x00000000, 0x00000000,
1265 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1266 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1267 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1268 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1269 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1270 	0x4002140c, 0x00100010, 0x1a00d40d, 0x00100050,
1271 	0x5b02ca0e, 0x01900070, 0x5b02ca0e, 0x01900070,
1272 	0x53028a0f, 0x0190c070, 0x00000000, 0x00000000,
1273 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1274 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1275 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1276 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1277 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1278 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1279 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1280 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1281 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1282 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1283 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1284 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1285 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1286 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1287 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1288 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1289 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1290 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1291 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1292 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1293 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1294 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1295 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1296 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1297 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1298 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1299 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1300 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1301 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1302 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1303 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1304 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1305 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1306 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1307 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1308 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1309 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1310 };
1311 
1312 static const u16 b43_ntab_pilot_r3[] = {
1313 	0xff08, 0xff08, 0xff08, 0xff08, 0xff08, 0xff08,
1314 	0xff08, 0xff08, 0x80d5, 0x80d5, 0x80d5, 0x80d5,
1315 	0x80d5, 0x80d5, 0x80d5, 0x80d5, 0xff0a, 0xff82,
1316 	0xffa0, 0xff28, 0xffff, 0xffff, 0xffff, 0xffff,
1317 	0xff82, 0xffa0, 0xff28, 0xff0a, 0xffff, 0xffff,
1318 	0xffff, 0xffff, 0xf83f, 0xfa1f, 0xfa97, 0xfab5,
1319 	0xf2bd, 0xf0bf, 0xffff, 0xffff, 0xf017, 0xf815,
1320 	0xf215, 0xf095, 0xf035, 0xf01d, 0xffff, 0xffff,
1321 	0xff08, 0xff02, 0xff80, 0xff20, 0xff08, 0xff02,
1322 	0xff80, 0xff20, 0xf01f, 0xf817, 0xfa15, 0xf295,
1323 	0xf0b5, 0xf03d, 0xffff, 0xffff, 0xf82a, 0xfa0a,
1324 	0xfa82, 0xfaa0, 0xf2a8, 0xf0aa, 0xffff, 0xffff,
1325 	0xf002, 0xf800, 0xf200, 0xf080, 0xf020, 0xf008,
1326 	0xffff, 0xffff, 0xf00a, 0xf802, 0xfa00, 0xf280,
1327 	0xf0a0, 0xf028, 0xffff, 0xffff,
1328 };
1329 
1330 static const u32 b43_ntab_tmap_r3[] = {
1331 	0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888,
1332 	0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8,
1333 	0xf1111110, 0x11111111, 0x11f11111, 0x00000111,
1334 	0x11000000, 0x1111f111, 0x11111111, 0x111111f1,
1335 	0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x000aa888,
1336 	0x88880000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8,
1337 	0xa1111110, 0x11111111, 0x11c11111, 0x00000111,
1338 	0x11000000, 0x1111a111, 0x11111111, 0x111111a1,
1339 	0xa2222220, 0x22222222, 0x22c22222, 0x00000222,
1340 	0x22000000, 0x2222a222, 0x22222222, 0x222222a2,
1341 	0xf1111110, 0x11111111, 0x11f11111, 0x00011111,
1342 	0x11110000, 0x1111f111, 0x11111111, 0x111111f1,
1343 	0xa8aa88a0, 0xa88888a8, 0xa8a8a88a, 0x00088aaa,
1344 	0xaaaa0000, 0xa8a8aa88, 0xa88aaaaa, 0xaaaa8a8a,
1345 	0xaaa8aaa0, 0x8aaa8aaa, 0xaa8a8a8a, 0x000aaa88,
1346 	0x8aaa0000, 0xaaa8a888, 0x8aa88a8a, 0x8a88a888,
1347 	0x08080a00, 0x0a08080a, 0x080a0a08, 0x00080808,
1348 	0x080a0000, 0x080a0808, 0x080a0808, 0x0a0a0a08,
1349 	0xa0a0a0a0, 0x80a0a080, 0x8080a0a0, 0x00008080,
1350 	0x80a00000, 0x80a080a0, 0xa080a0a0, 0x8080a0a0,
1351 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1352 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1353 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1354 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1355 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1356 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1357 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1358 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1359 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1360 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1361 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1362 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1363 	0x99999000, 0x9b9b99bb, 0x9bb99999, 0x9999b9b9,
1364 	0x9b99bb90, 0x9bbbbb9b, 0x9b9b9bb9, 0x00000999,
1365 	0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8,
1366 	0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00aaa888,
1367 	0x22000000, 0x2222b222, 0x22222222, 0x222222b2,
1368 	0xb2222220, 0x22222222, 0x22d22222, 0x00000222,
1369 	0x11000000, 0x1111a111, 0x11111111, 0x111111a1,
1370 	0xa1111110, 0x11111111, 0x11c11111, 0x00000111,
1371 	0x33000000, 0x3333b333, 0x33333333, 0x333333b3,
1372 	0xb3333330, 0x33333333, 0x33d33333, 0x00000333,
1373 	0x22000000, 0x2222a222, 0x22222222, 0x222222a2,
1374 	0xa2222220, 0x22222222, 0x22c22222, 0x00000222,
1375 	0x99b99b00, 0x9b9b99bb, 0x9bb99999, 0x9999b9b9,
1376 	0x9b99bb99, 0x9bbbbb9b, 0x9b9b9bb9, 0x00000999,
1377 	0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8,
1378 	0x8a88aa88, 0x8aaaaa8a, 0x8a8a8aa8, 0x08aaa888,
1379 	0x22222200, 0x2222f222, 0x22222222, 0x222222f2,
1380 	0x22222222, 0x22222222, 0x22f22222, 0x00000222,
1381 	0x11000000, 0x1111f111, 0x11111111, 0x11111111,
1382 	0xf1111111, 0x11111111, 0x11f11111, 0x01111111,
1383 	0xbb9bb900, 0xb9b9bb99, 0xb99bbbbb, 0xbbbb9b9b,
1384 	0xb9bb99bb, 0xb99999b9, 0xb9b9b99b, 0x00000bbb,
1385 	0xaa000000, 0xa8a8aa88, 0xa88aaaaa, 0xaaaa8a8a,
1386 	0xa8aa88aa, 0xa88888a8, 0xa8a8a88a, 0x0a888aaa,
1387 	0xaa000000, 0xa8a8aa88, 0xa88aaaaa, 0xaaaa8a8a,
1388 	0xa8aa88a0, 0xa88888a8, 0xa8a8a88a, 0x00000aaa,
1389 	0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8,
1390 	0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888,
1391 	0xbbbbbb00, 0x999bbbbb, 0x9bb99b9b, 0xb9b9b9bb,
1392 	0xb9b99bbb, 0xb9b9b9bb, 0xb9bb9b99, 0x00000999,
1393 	0x8a000000, 0xaa88a888, 0xa88888aa, 0xa88a8a88,
1394 	0xa88aa88a, 0x88a8aaaa, 0xa8aa8aaa, 0x0888a88a,
1395 	0x0b0b0b00, 0x090b0b0b, 0x0b090b0b, 0x0909090b,
1396 	0x09090b0b, 0x09090b0b, 0x09090b09, 0x00000909,
1397 	0x0a000000, 0x0a080808, 0x080a080a, 0x080a0a08,
1398 	0x080a080a, 0x0808080a, 0x0a0a0a08, 0x0808080a,
1399 	0xb0b0b000, 0x9090b0b0, 0x90b09090, 0xb0b0b090,
1400 	0xb0b090b0, 0x90b0b0b0, 0xb0b09090, 0x00000090,
1401 	0x80000000, 0xa080a080, 0xa08080a0, 0xa0808080,
1402 	0xa080a080, 0x80a0a0a0, 0xa0a080a0, 0x00a0a0a0,
1403 	0x22000000, 0x2222f222, 0x22222222, 0x222222f2,
1404 	0xf2222220, 0x22222222, 0x22f22222, 0x00000222,
1405 	0x11000000, 0x1111f111, 0x11111111, 0x111111f1,
1406 	0xf1111110, 0x11111111, 0x11f11111, 0x00000111,
1407 	0x33000000, 0x3333f333, 0x33333333, 0x333333f3,
1408 	0xf3333330, 0x33333333, 0x33f33333, 0x00000333,
1409 	0x22000000, 0x2222f222, 0x22222222, 0x222222f2,
1410 	0xf2222220, 0x22222222, 0x22f22222, 0x00000222,
1411 	0x99000000, 0x9b9b99bb, 0x9bb99999, 0x9999b9b9,
1412 	0x9b99bb90, 0x9bbbbb9b, 0x9b9b9bb9, 0x00000999,
1413 	0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8,
1414 	0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888,
1415 	0x88888000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8,
1416 	0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888,
1417 	0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8,
1418 	0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00aaa888,
1419 	0x88a88a00, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8,
1420 	0x8a88aa88, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888,
1421 	0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8,
1422 	0x8a88aa88, 0x8aaaaa8a, 0x8a8a8aa8, 0x08aaa888,
1423 	0x11000000, 0x1111a111, 0x11111111, 0x111111a1,
1424 	0xa1111110, 0x11111111, 0x11c11111, 0x00000111,
1425 	0x11000000, 0x1111a111, 0x11111111, 0x111111a1,
1426 	0xa1111110, 0x11111111, 0x11c11111, 0x00000111,
1427 	0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8,
1428 	0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888,
1429 	0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8,
1430 	0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888,
1431 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1432 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1433 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1434 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1435 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1436 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1437 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1438 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1439 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1440 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1441 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1442 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1443 };
1444 
1445 static const u32 b43_ntab_intlevel_r3[] = {
1446 	0x00802070, 0x0671188d, 0x0a60192c, 0x0a300e46,
1447 	0x00c1188d, 0x080024d2, 0x00000070,
1448 };
1449 
1450 static const u32 b43_ntab_tdtrn_r3[] = {
1451 	0x061c061c, 0x0050ee68, 0xf592fe36, 0xfe5212f6,
1452 	0x00000c38, 0xfe5212f6, 0xf592fe36, 0x0050ee68,
1453 	0x061c061c, 0xee680050, 0xfe36f592, 0x12f6fe52,
1454 	0x0c380000, 0x12f6fe52, 0xfe36f592, 0xee680050,
1455 	0x061c061c, 0x0050ee68, 0xf592fe36, 0xfe5212f6,
1456 	0x00000c38, 0xfe5212f6, 0xf592fe36, 0x0050ee68,
1457 	0x061c061c, 0xee680050, 0xfe36f592, 0x12f6fe52,
1458 	0x0c380000, 0x12f6fe52, 0xfe36f592, 0xee680050,
1459 	0x05e305e3, 0x004def0c, 0xf5f3fe47, 0xfe611246,
1460 	0x00000bc7, 0xfe611246, 0xf5f3fe47, 0x004def0c,
1461 	0x05e305e3, 0xef0c004d, 0xfe47f5f3, 0x1246fe61,
1462 	0x0bc70000, 0x1246fe61, 0xfe47f5f3, 0xef0c004d,
1463 	0x05e305e3, 0x004def0c, 0xf5f3fe47, 0xfe611246,
1464 	0x00000bc7, 0xfe611246, 0xf5f3fe47, 0x004def0c,
1465 	0x05e305e3, 0xef0c004d, 0xfe47f5f3, 0x1246fe61,
1466 	0x0bc70000, 0x1246fe61, 0xfe47f5f3, 0xef0c004d,
1467 	0xfa58fa58, 0xf895043b, 0xff4c09c0, 0xfbc6ffa8,
1468 	0xfb84f384, 0x0798f6f9, 0x05760122, 0x058409f6,
1469 	0x0b500000, 0x05b7f542, 0x08860432, 0x06ddfee7,
1470 	0xfb84f384, 0xf9d90664, 0xf7e8025c, 0x00fff7bd,
1471 	0x05a805a8, 0xf7bd00ff, 0x025cf7e8, 0x0664f9d9,
1472 	0xf384fb84, 0xfee706dd, 0x04320886, 0xf54205b7,
1473 	0x00000b50, 0x09f60584, 0x01220576, 0xf6f90798,
1474 	0xf384fb84, 0xffa8fbc6, 0x09c0ff4c, 0x043bf895,
1475 	0x02d402d4, 0x07de0270, 0xfc96079c, 0xf90afe94,
1476 	0xfe00ff2c, 0x02d4065d, 0x092a0096, 0x0014fbb8,
1477 	0xfd2cfd2c, 0x076afb3c, 0x0096f752, 0xf991fd87,
1478 	0xfb2c0200, 0xfeb8f960, 0x08e0fc96, 0x049802a8,
1479 	0xfd2cfd2c, 0x02a80498, 0xfc9608e0, 0xf960feb8,
1480 	0x0200fb2c, 0xfd87f991, 0xf7520096, 0xfb3c076a,
1481 	0xfd2cfd2c, 0xfbb80014, 0x0096092a, 0x065d02d4,
1482 	0xff2cfe00, 0xfe94f90a, 0x079cfc96, 0x027007de,
1483 	0x02d402d4, 0x027007de, 0x079cfc96, 0xfe94f90a,
1484 	0xff2cfe00, 0x065d02d4, 0x0096092a, 0xfbb80014,
1485 	0xfd2cfd2c, 0xfb3c076a, 0xf7520096, 0xfd87f991,
1486 	0x0200fb2c, 0xf960feb8, 0xfc9608e0, 0x02a80498,
1487 	0xfd2cfd2c, 0x049802a8, 0x08e0fc96, 0xfeb8f960,
1488 	0xfb2c0200, 0xf991fd87, 0x0096f752, 0x076afb3c,
1489 	0xfd2cfd2c, 0x0014fbb8, 0x092a0096, 0x02d4065d,
1490 	0xfe00ff2c, 0xf90afe94, 0xfc96079c, 0x07de0270,
1491 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1492 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1493 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1494 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1495 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1496 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1497 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1498 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1499 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1500 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1501 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1502 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1503 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1504 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1505 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1506 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1507 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1508 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1509 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1510 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1511 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1512 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1513 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1514 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1515 	0x062a0000, 0xfefa0759, 0x08b80908, 0xf396fc2d,
1516 	0xf9d6045c, 0xfc4ef608, 0xf748f596, 0x07b207bf,
1517 	0x062a062a, 0xf84ef841, 0xf748f596, 0x03b209f8,
1518 	0xf9d6045c, 0x0c6a03d3, 0x08b80908, 0x0106f8a7,
1519 	0x062a0000, 0xfefaf8a7, 0x08b8f6f8, 0xf39603d3,
1520 	0xf9d6fba4, 0xfc4e09f8, 0xf7480a6a, 0x07b2f841,
1521 	0x062af9d6, 0xf84e07bf, 0xf7480a6a, 0x03b2f608,
1522 	0xf9d6fba4, 0x0c6afc2d, 0x08b8f6f8, 0x01060759,
1523 	0x062a0000, 0xfefa0759, 0x08b80908, 0xf396fc2d,
1524 	0xf9d6045c, 0xfc4ef608, 0xf748f596, 0x07b207bf,
1525 	0x062a062a, 0xf84ef841, 0xf748f596, 0x03b209f8,
1526 	0xf9d6045c, 0x0c6a03d3, 0x08b80908, 0x0106f8a7,
1527 	0x062a0000, 0xfefaf8a7, 0x08b8f6f8, 0xf39603d3,
1528 	0xf9d6fba4, 0xfc4e09f8, 0xf7480a6a, 0x07b2f841,
1529 	0x062af9d6, 0xf84e07bf, 0xf7480a6a, 0x03b2f608,
1530 	0xf9d6fba4, 0x0c6afc2d, 0x08b8f6f8, 0x01060759,
1531 	0x061c061c, 0xff30009d, 0xffb21141, 0xfd87fb54,
1532 	0xf65dfe59, 0x02eef99e, 0x0166f03c, 0xfff809b6,
1533 	0x000008a4, 0x000af42b, 0x00eff577, 0xfa840bf2,
1534 	0xfc02ff51, 0x08260f67, 0xfff0036f, 0x0842f9c3,
1535 	0x00000000, 0x063df7be, 0xfc910010, 0xf099f7da,
1536 	0x00af03fe, 0xf40e057c, 0x0a89ff11, 0x0bd5fff6,
1537 	0xf75c0000, 0xf64a0008, 0x0fc4fe9a, 0x0662fd12,
1538 	0x01a709a3, 0x04ac0279, 0xeebf004e, 0xff6300d0,
1539 	0xf9e4f9e4, 0x00d0ff63, 0x004eeebf, 0x027904ac,
1540 	0x09a301a7, 0xfd120662, 0xfe9a0fc4, 0x0008f64a,
1541 	0x0000f75c, 0xfff60bd5, 0xff110a89, 0x057cf40e,
1542 	0x03fe00af, 0xf7daf099, 0x0010fc91, 0xf7be063d,
1543 	0x00000000, 0xf9c30842, 0x036ffff0, 0x0f670826,
1544 	0xff51fc02, 0x0bf2fa84, 0xf57700ef, 0xf42b000a,
1545 	0x08a40000, 0x09b6fff8, 0xf03c0166, 0xf99e02ee,
1546 	0xfe59f65d, 0xfb54fd87, 0x1141ffb2, 0x009dff30,
1547 	0x05e30000, 0xff060705, 0x085408a0, 0xf425fc59,
1548 	0xfa1d042a, 0xfc78f67a, 0xf7acf60e, 0x075a0766,
1549 	0x05e305e3, 0xf8a6f89a, 0xf7acf60e, 0x03880986,
1550 	0xfa1d042a, 0x0bdb03a7, 0x085408a0, 0x00faf8fb,
1551 	0x05e30000, 0xff06f8fb, 0x0854f760, 0xf42503a7,
1552 	0xfa1dfbd6, 0xfc780986, 0xf7ac09f2, 0x075af89a,
1553 	0x05e3fa1d, 0xf8a60766, 0xf7ac09f2, 0x0388f67a,
1554 	0xfa1dfbd6, 0x0bdbfc59, 0x0854f760, 0x00fa0705,
1555 	0x05e30000, 0xff060705, 0x085408a0, 0xf425fc59,
1556 	0xfa1d042a, 0xfc78f67a, 0xf7acf60e, 0x075a0766,
1557 	0x05e305e3, 0xf8a6f89a, 0xf7acf60e, 0x03880986,
1558 	0xfa1d042a, 0x0bdb03a7, 0x085408a0, 0x00faf8fb,
1559 	0x05e30000, 0xff06f8fb, 0x0854f760, 0xf42503a7,
1560 	0xfa1dfbd6, 0xfc780986, 0xf7ac09f2, 0x075af89a,
1561 	0x05e3fa1d, 0xf8a60766, 0xf7ac09f2, 0x0388f67a,
1562 	0xfa1dfbd6, 0x0bdbfc59, 0x0854f760, 0x00fa0705,
1563 	0xfa58fa58, 0xf8f0fe00, 0x0448073d, 0xfdc9fe46,
1564 	0xf9910258, 0x089d0407, 0xfd5cf71a, 0x02affde0,
1565 	0x083e0496, 0xff5a0740, 0xff7afd97, 0x00fe01f1,
1566 	0x0009082e, 0xfa94ff75, 0xfecdf8ea, 0xffb0f693,
1567 	0xfd2cfa58, 0x0433ff16, 0xfba405dd, 0xfa610341,
1568 	0x06a606cb, 0x0039fd2d, 0x0677fa97, 0x01fa05e0,
1569 	0xf896003e, 0x075a068b, 0x012cfc3e, 0xfa23f98d,
1570 	0xfc7cfd43, 0xff90fc0d, 0x01c10982, 0x00c601d6,
1571 	0xfd2cfd2c, 0x01d600c6, 0x098201c1, 0xfc0dff90,
1572 	0xfd43fc7c, 0xf98dfa23, 0xfc3e012c, 0x068b075a,
1573 	0x003ef896, 0x05e001fa, 0xfa970677, 0xfd2d0039,
1574 	0x06cb06a6, 0x0341fa61, 0x05ddfba4, 0xff160433,
1575 	0xfa58fd2c, 0xf693ffb0, 0xf8eafecd, 0xff75fa94,
1576 	0x082e0009, 0x01f100fe, 0xfd97ff7a, 0x0740ff5a,
1577 	0x0496083e, 0xfde002af, 0xf71afd5c, 0x0407089d,
1578 	0x0258f991, 0xfe46fdc9, 0x073d0448, 0xfe00f8f0,
1579 	0xfd2cfd2c, 0xfce00500, 0xfc09fddc, 0xfe680157,
1580 	0x04c70571, 0xfc3aff21, 0xfcd70228, 0x056d0277,
1581 	0x0200fe00, 0x0022f927, 0xfe3c032b, 0xfc44ff3c,
1582 	0x03e9fbdb, 0x04570313, 0x04c9ff5c, 0x000d03b8,
1583 	0xfa580000, 0xfbe900d2, 0xf9d0fe0b, 0x0125fdf9,
1584 	0x042501bf, 0x0328fa2b, 0xffa902f0, 0xfa250157,
1585 	0x0200fe00, 0x03740438, 0xff0405fd, 0x030cfe52,
1586 	0x0037fb39, 0xff6904c5, 0x04f8fd23, 0xfd31fc1b,
1587 	0xfd2cfd2c, 0xfc1bfd31, 0xfd2304f8, 0x04c5ff69,
1588 	0xfb390037, 0xfe52030c, 0x05fdff04, 0x04380374,
1589 	0xfe000200, 0x0157fa25, 0x02f0ffa9, 0xfa2b0328,
1590 	0x01bf0425, 0xfdf90125, 0xfe0bf9d0, 0x00d2fbe9,
1591 	0x0000fa58, 0x03b8000d, 0xff5c04c9, 0x03130457,
1592 	0xfbdb03e9, 0xff3cfc44, 0x032bfe3c, 0xf9270022,
1593 	0xfe000200, 0x0277056d, 0x0228fcd7, 0xff21fc3a,
1594 	0x057104c7, 0x0157fe68, 0xfddcfc09, 0x0500fce0,
1595 	0xfd2cfd2c, 0x0500fce0, 0xfddcfc09, 0x0157fe68,
1596 	0x057104c7, 0xff21fc3a, 0x0228fcd7, 0x0277056d,
1597 	0xfe000200, 0xf9270022, 0x032bfe3c, 0xff3cfc44,
1598 	0xfbdb03e9, 0x03130457, 0xff5c04c9, 0x03b8000d,
1599 	0x0000fa58, 0x00d2fbe9, 0xfe0bf9d0, 0xfdf90125,
1600 	0x01bf0425, 0xfa2b0328, 0x02f0ffa9, 0x0157fa25,
1601 	0xfe000200, 0x04380374, 0x05fdff04, 0xfe52030c,
1602 	0xfb390037, 0x04c5ff69, 0xfd2304f8, 0xfc1bfd31,
1603 	0xfd2cfd2c, 0xfd31fc1b, 0x04f8fd23, 0xff6904c5,
1604 	0x0037fb39, 0x030cfe52, 0xff0405fd, 0x03740438,
1605 	0x0200fe00, 0xfa250157, 0xffa902f0, 0x0328fa2b,
1606 	0x042501bf, 0x0125fdf9, 0xf9d0fe0b, 0xfbe900d2,
1607 	0xfa580000, 0x000d03b8, 0x04c9ff5c, 0x04570313,
1608 	0x03e9fbdb, 0xfc44ff3c, 0xfe3c032b, 0x0022f927,
1609 	0x0200fe00, 0x056d0277, 0xfcd70228, 0xfc3aff21,
1610 	0x04c70571, 0xfe680157, 0xfc09fddc, 0xfce00500,
1611 	0x05a80000, 0xff1006be, 0x0800084a, 0xf49cfc7e,
1612 	0xfa580400, 0xfc9cf6da, 0xf800f672, 0x0710071c,
1613 	0x05a805a8, 0xf8f0f8e4, 0xf800f672, 0x03640926,
1614 	0xfa580400, 0x0b640382, 0x0800084a, 0x00f0f942,
1615 	0x05a80000, 0xff10f942, 0x0800f7b6, 0xf49c0382,
1616 	0xfa58fc00, 0xfc9c0926, 0xf800098e, 0x0710f8e4,
1617 	0x05a8fa58, 0xf8f0071c, 0xf800098e, 0x0364f6da,
1618 	0xfa58fc00, 0x0b64fc7e, 0x0800f7b6, 0x00f006be,
1619 	0x05a80000, 0xff1006be, 0x0800084a, 0xf49cfc7e,
1620 	0xfa580400, 0xfc9cf6da, 0xf800f672, 0x0710071c,
1621 	0x05a805a8, 0xf8f0f8e4, 0xf800f672, 0x03640926,
1622 	0xfa580400, 0x0b640382, 0x0800084a, 0x00f0f942,
1623 	0x05a80000, 0xff10f942, 0x0800f7b6, 0xf49c0382,
1624 	0xfa58fc00, 0xfc9c0926, 0xf800098e, 0x0710f8e4,
1625 	0x05a8fa58, 0xf8f0071c, 0xf800098e, 0x0364f6da,
1626 	0xfa58fc00, 0x0b64fc7e, 0x0800f7b6, 0x00f006be,
1627 };
1628 
1629 static const u32 b43_ntab_noisevar0_r3[] = {
1630 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1631 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1632 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1633 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1634 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1635 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1636 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1637 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1638 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1639 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1640 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1641 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1642 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1643 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1644 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1645 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1646 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1647 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1648 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1649 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1650 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1651 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1652 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1653 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1654 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1655 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1656 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1657 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1658 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1659 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1660 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1661 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1662 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1663 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1664 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1665 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1666 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1667 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1668 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1669 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1670 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1671 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1672 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1673 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1674 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1675 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1676 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1677 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1678 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1679 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1680 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1681 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1682 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1683 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1684 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1685 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1686 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1687 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1688 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1689 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1690 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1691 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1692 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1693 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1694 };
1695 
1696 static const u32 b43_ntab_noisevar1_r3[] = {
1697 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1698 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1699 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1700 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1701 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1702 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1703 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1704 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1705 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1706 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1707 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1708 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1709 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1710 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1711 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1712 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1713 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1714 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1715 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1716 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1717 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1718 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1719 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1720 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1721 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1722 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1723 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1724 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1725 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1726 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1727 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1728 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1729 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1730 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1731 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1732 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1733 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1734 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1735 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1736 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1737 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1738 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1739 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1740 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1741 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1742 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1743 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1744 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1745 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1746 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1747 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1748 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1749 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1750 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1751 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1752 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1753 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1754 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1755 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1756 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1757 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1758 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1759 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1760 	0x02110211, 0x0000014d, 0x02110211, 0x0000014d,
1761 };
1762 
1763 static const u16 b43_ntab_mcs_r3[] = {
1764 	0x0000, 0x0008, 0x000a, 0x0010, 0x0012, 0x0019,
1765 	0x001a, 0x001c, 0x0080, 0x0088, 0x008a, 0x0090,
1766 	0x0092, 0x0099, 0x009a, 0x009c, 0x0100, 0x0108,
1767 	0x010a, 0x0110, 0x0112, 0x0119, 0x011a, 0x011c,
1768 	0x0180, 0x0188, 0x018a, 0x0190, 0x0192, 0x0199,
1769 	0x019a, 0x019c, 0x0000, 0x0098, 0x00a0, 0x00a8,
1770 	0x009a, 0x00a2, 0x00aa, 0x0120, 0x0128, 0x0128,
1771 	0x0130, 0x0138, 0x0138, 0x0140, 0x0122, 0x012a,
1772 	0x012a, 0x0132, 0x013a, 0x013a, 0x0142, 0x01a8,
1773 	0x01b0, 0x01b8, 0x01b0, 0x01b8, 0x01c0, 0x01c8,
1774 	0x01c0, 0x01c8, 0x01d0, 0x01d0, 0x01d8, 0x01aa,
1775 	0x01b2, 0x01ba, 0x01b2, 0x01ba, 0x01c2, 0x01ca,
1776 	0x01c2, 0x01ca, 0x01d2, 0x01d2, 0x01da, 0x0001,
1777 	0x0002, 0x0004, 0x0009, 0x000c, 0x0011, 0x0014,
1778 	0x0018, 0x0020, 0x0021, 0x0022, 0x0024, 0x0081,
1779 	0x0082, 0x0084, 0x0089, 0x008c, 0x0091, 0x0094,
1780 	0x0098, 0x00a0, 0x00a1, 0x00a2, 0x00a4, 0x0007,
1781 	0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007,
1782 	0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007,
1783 	0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007,
1784 	0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007,
1785 	0x0007, 0x0007,
1786 };
1787 
1788 static const u32 b43_ntab_tdi20a0_r3[] = {
1789 	0x00091226, 0x000a1429, 0x000b56ad, 0x000c58b0,
1790 	0x000d5ab3, 0x000e9cb6, 0x000f9eba, 0x0000c13d,
1791 	0x00020301, 0x00030504, 0x00040708, 0x0005090b,
1792 	0x00064b8e, 0x00095291, 0x000a5494, 0x000b9718,
1793 	0x000c9927, 0x000d9b2a, 0x000edd2e, 0x000fdf31,
1794 	0x000101b4, 0x000243b7, 0x000345bb, 0x000447be,
1795 	0x00058982, 0x00068c05, 0x00099309, 0x000a950c,
1796 	0x000bd78f, 0x000cd992, 0x000ddb96, 0x000f1d99,
1797 	0x00005fa8, 0x0001422c, 0x0002842f, 0x00038632,
1798 	0x00048835, 0x0005ca38, 0x0006ccbc, 0x0009d3bf,
1799 	0x000b1603, 0x000c1806, 0x000d1a0a, 0x000e1c0d,
1800 	0x000f5e10, 0x00008093, 0x00018297, 0x0002c49a,
1801 	0x0003c680, 0x0004c880, 0x00060b00, 0x00070d00,
1802 	0x00000000, 0x00000000, 0x00000000,
1803 };
1804 
1805 static const u32 b43_ntab_tdi20a1_r3[] = {
1806 	0x00014b26, 0x00028d29, 0x000393ad, 0x00049630,
1807 	0x0005d833, 0x0006da36, 0x00099c3a, 0x000a9e3d,
1808 	0x000bc081, 0x000cc284, 0x000dc488, 0x000f068b,
1809 	0x0000488e, 0x00018b91, 0x0002d214, 0x0003d418,
1810 	0x0004d6a7, 0x000618aa, 0x00071aae, 0x0009dcb1,
1811 	0x000b1eb4, 0x000c0137, 0x000d033b, 0x000e053e,
1812 	0x000f4702, 0x00008905, 0x00020c09, 0x0003128c,
1813 	0x0004148f, 0x00051712, 0x00065916, 0x00091b19,
1814 	0x000a1d28, 0x000b5f2c, 0x000c41af, 0x000d43b2,
1815 	0x000e85b5, 0x000f87b8, 0x0000c9bc, 0x00024cbf,
1816 	0x00035303, 0x00045506, 0x0005978a, 0x0006998d,
1817 	0x00095b90, 0x000a5d93, 0x000b9f97, 0x000c821a,
1818 	0x000d8400, 0x000ec600, 0x000fc800, 0x00010a00,
1819 	0x00000000, 0x00000000, 0x00000000,
1820 };
1821 
1822 static const u32 b43_ntab_tdi40a0_r3[] = {
1823 	0x0011a346, 0x00136ccf, 0x0014f5d9, 0x001641e2,
1824 	0x0017cb6b, 0x00195475, 0x001b2383, 0x001cad0c,
1825 	0x001e7616, 0x0000821f, 0x00020ba8, 0x0003d4b2,
1826 	0x00056447, 0x00072dd0, 0x0008b6da, 0x000a02e3,
1827 	0x000b8c6c, 0x000d15f6, 0x0011e484, 0x0013ae0d,
1828 	0x00153717, 0x00168320, 0x00180ca9, 0x00199633,
1829 	0x001b6548, 0x001ceed1, 0x001eb7db, 0x0000c3e4,
1830 	0x00024d6d, 0x000416f7, 0x0005a585, 0x00076f0f,
1831 	0x0008f818, 0x000a4421, 0x000bcdab, 0x000d9734,
1832 	0x00122649, 0x0013efd2, 0x001578dc, 0x0016c4e5,
1833 	0x00184e6e, 0x001a17f8, 0x001ba686, 0x001d3010,
1834 	0x001ef999, 0x00010522, 0x00028eac, 0x00045835,
1835 	0x0005e74a, 0x0007b0d3, 0x00093a5d, 0x000a85e6,
1836 	0x000c0f6f, 0x000dd8f9, 0x00126787, 0x00143111,
1837 	0x0015ba9a, 0x00170623, 0x00188fad, 0x001a5936,
1838 	0x001be84b, 0x001db1d4, 0x001f3b5e, 0x000146e7,
1839 	0x00031070, 0x000499fa, 0x00062888, 0x0007f212,
1840 	0x00097b9b, 0x000ac7a4, 0x000c50ae, 0x000e1a37,
1841 	0x0012a94c, 0x001472d5, 0x0015fc5f, 0x00174868,
1842 	0x0018d171, 0x001a9afb, 0x001c2989, 0x001df313,
1843 	0x001f7c9c, 0x000188a5, 0x000351af, 0x0004db38,
1844 	0x0006aa4d, 0x000833d7, 0x0009bd60, 0x000b0969,
1845 	0x000c9273, 0x000e5bfc, 0x00132a8a, 0x0014b414,
1846 	0x00163d9d, 0x001789a6, 0x001912b0, 0x001adc39,
1847 	0x001c6bce, 0x001e34d8, 0x001fbe61, 0x0001ca6a,
1848 	0x00039374, 0x00051cfd, 0x0006ec0b, 0x00087515,
1849 	0x0009fe9e, 0x000b4aa7, 0x000cd3b1, 0x000e9d3a,
1850 	0x00000000, 0x00000000,
1851 };
1852 
1853 static const u32 b43_ntab_tdi40a1_r3[] = {
1854 	0x001edb36, 0x000129ca, 0x0002b353, 0x00047cdd,
1855 	0x0005c8e6, 0x000791ef, 0x00091bf9, 0x000aaa07,
1856 	0x000c3391, 0x000dfd1a, 0x00120923, 0x0013d22d,
1857 	0x00155c37, 0x0016eacb, 0x00187454, 0x001a3dde,
1858 	0x001b89e7, 0x001d12f0, 0x001f1cfa, 0x00016b88,
1859 	0x00033492, 0x0004be1b, 0x00060a24, 0x0007d32e,
1860 	0x00095d38, 0x000aec4c, 0x000c7555, 0x000e3edf,
1861 	0x00124ae8, 0x001413f1, 0x0015a37b, 0x00172c89,
1862 	0x0018b593, 0x001a419c, 0x001bcb25, 0x001d942f,
1863 	0x001f63b9, 0x0001ad4d, 0x00037657, 0x0004c260,
1864 	0x00068be9, 0x000814f3, 0x0009a47c, 0x000b2d8a,
1865 	0x000cb694, 0x000e429d, 0x00128c26, 0x001455b0,
1866 	0x0015e4ba, 0x00176e4e, 0x0018f758, 0x001a8361,
1867 	0x001c0cea, 0x001dd674, 0x001fa57d, 0x0001ee8b,
1868 	0x0003b795, 0x0005039e, 0x0006cd27, 0x000856b1,
1869 	0x0009e5c6, 0x000b6f4f, 0x000cf859, 0x000e8462,
1870 	0x00130deb, 0x00149775, 0x00162603, 0x0017af8c,
1871 	0x00193896, 0x001ac49f, 0x001c4e28, 0x001e17b2,
1872 	0x0000a6c7, 0x00023050, 0x0003f9da, 0x00054563,
1873 	0x00070eec, 0x00089876, 0x000a2704, 0x000bb08d,
1874 	0x000d3a17, 0x001185a0, 0x00134f29, 0x0014d8b3,
1875 	0x001667c8, 0x0017f151, 0x00197adb, 0x001b0664,
1876 	0x001c8fed, 0x001e5977, 0x0000e805, 0x0002718f,
1877 	0x00043b18, 0x000586a1, 0x0007502b, 0x0008d9b4,
1878 	0x000a68c9, 0x000bf252, 0x000dbbdc, 0x0011c7e5,
1879 	0x001390ee, 0x00151a78, 0x0016a906, 0x00183290,
1880 	0x0019bc19, 0x001b4822, 0x001cd12c, 0x001e9ab5,
1881 	0x00000000, 0x00000000,
1882 };
1883 
1884 static const u32 b43_ntab_pilotlt_r3[] = {
1885 	0x76540213, 0x62407351, 0x76543210, 0x76540213,
1886 	0x76540213, 0x76430521,
1887 };
1888 
1889 static const u32 b43_ntab_channelest_r3[] = {
1890 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1891 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1892 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1893 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1894 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1895 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1896 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1897 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1898 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1899 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1900 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1901 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1902 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1903 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1904 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1905 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1906 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1907 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1908 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1909 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1910 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1911 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1912 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1913 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1914 };
1915 
1916 static const u8 b43_ntab_framelookup_r3[] = {
1917 	0x02, 0x04, 0x14, 0x14, 0x03, 0x05, 0x16, 0x16,
1918 	0x0a, 0x0c, 0x1c, 0x1c, 0x0b, 0x0d, 0x1e, 0x1e,
1919 	0x06, 0x08, 0x18, 0x18, 0x07, 0x09, 0x1a, 0x1a,
1920 	0x0e, 0x10, 0x20, 0x28, 0x0f, 0x11, 0x22, 0x2a,
1921 };
1922 
1923 static const u8 b43_ntab_estimatepowerlt0_r3[] = {
1924 	0x55, 0x54, 0x54, 0x53, 0x52, 0x52, 0x51, 0x51,
1925 	0x50, 0x4f, 0x4f, 0x4e, 0x4e, 0x4d, 0x4c, 0x4c,
1926 	0x4b, 0x4a, 0x49, 0x49, 0x48, 0x47, 0x46, 0x46,
1927 	0x45, 0x44, 0x43, 0x42, 0x41, 0x40, 0x40, 0x3f,
1928 	0x3e, 0x3d, 0x3c, 0x3a, 0x39, 0x38, 0x37, 0x36,
1929 	0x35, 0x33, 0x32, 0x31, 0x2f, 0x2e, 0x2c, 0x2b,
1930 	0x29, 0x27, 0x25, 0x23, 0x21, 0x1f, 0x1d, 0x1a,
1931 	0x18, 0x15, 0x12, 0x0e, 0x0b, 0x07, 0x02, 0xfd,
1932 };
1933 
1934 static const u8 b43_ntab_estimatepowerlt1_r3[] = {
1935 	0x55, 0x54, 0x54, 0x53, 0x52, 0x52, 0x51, 0x51,
1936 	0x50, 0x4f, 0x4f, 0x4e, 0x4e, 0x4d, 0x4c, 0x4c,
1937 	0x4b, 0x4a, 0x49, 0x49, 0x48, 0x47, 0x46, 0x46,
1938 	0x45, 0x44, 0x43, 0x42, 0x41, 0x40, 0x40, 0x3f,
1939 	0x3e, 0x3d, 0x3c, 0x3a, 0x39, 0x38, 0x37, 0x36,
1940 	0x35, 0x33, 0x32, 0x31, 0x2f, 0x2e, 0x2c, 0x2b,
1941 	0x29, 0x27, 0x25, 0x23, 0x21, 0x1f, 0x1d, 0x1a,
1942 	0x18, 0x15, 0x12, 0x0e, 0x0b, 0x07, 0x02, 0xfd,
1943 };
1944 
1945 static const u8 b43_ntab_adjustpower0_r3[] = {
1946 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1947 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1948 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1949 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1950 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1951 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1952 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1953 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1954 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1955 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1956 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1957 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1958 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1959 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1960 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1961 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1962 };
1963 
1964 static const u8 b43_ntab_adjustpower1_r3[] = {
1965 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1966 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1967 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1968 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1969 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1970 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1971 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1972 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1973 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1974 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1975 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1976 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1977 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1978 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1979 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1980 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1981 };
1982 
1983 static const u32 b43_ntab_gainctl0_r3[] = {
1984 	0x5bf70044, 0x5bf70042, 0x5bf70040, 0x5bf7003e,
1985 	0x5bf7003c, 0x5bf7003b, 0x5bf70039, 0x5bf70037,
1986 	0x5bf70036, 0x5bf70034, 0x5bf70033, 0x5bf70031,
1987 	0x5bf70030, 0x5ba70044, 0x5ba70042, 0x5ba70040,
1988 	0x5ba7003e, 0x5ba7003c, 0x5ba7003b, 0x5ba70039,
1989 	0x5ba70037, 0x5ba70036, 0x5ba70034, 0x5ba70033,
1990 	0x5b770044, 0x5b770042, 0x5b770040, 0x5b77003e,
1991 	0x5b77003c, 0x5b77003b, 0x5b770039, 0x5b770037,
1992 	0x5b770036, 0x5b770034, 0x5b770033, 0x5b770031,
1993 	0x5b770030, 0x5b77002f, 0x5b77002d, 0x5b77002c,
1994 	0x5b470044, 0x5b470042, 0x5b470040, 0x5b47003e,
1995 	0x5b47003c, 0x5b47003b, 0x5b470039, 0x5b470037,
1996 	0x5b470036, 0x5b470034, 0x5b470033, 0x5b470031,
1997 	0x5b470030, 0x5b47002f, 0x5b47002d, 0x5b47002c,
1998 	0x5b47002b, 0x5b47002a, 0x5b270044, 0x5b270042,
1999 	0x5b270040, 0x5b27003e, 0x5b27003c, 0x5b27003b,
2000 	0x5b270039, 0x5b270037, 0x5b270036, 0x5b270034,
2001 	0x5b270033, 0x5b270031, 0x5b270030, 0x5b27002f,
2002 	0x5b170044, 0x5b170042, 0x5b170040, 0x5b17003e,
2003 	0x5b17003c, 0x5b17003b, 0x5b170039, 0x5b170037,
2004 	0x5b170036, 0x5b170034, 0x5b170033, 0x5b170031,
2005 	0x5b170030, 0x5b17002f, 0x5b17002d, 0x5b17002c,
2006 	0x5b17002b, 0x5b17002a, 0x5b170028, 0x5b170027,
2007 	0x5b170026, 0x5b170025, 0x5b170024, 0x5b170023,
2008 	0x5b070044, 0x5b070042, 0x5b070040, 0x5b07003e,
2009 	0x5b07003c, 0x5b07003b, 0x5b070039, 0x5b070037,
2010 	0x5b070036, 0x5b070034, 0x5b070033, 0x5b070031,
2011 	0x5b070030, 0x5b07002f, 0x5b07002d, 0x5b07002c,
2012 	0x5b07002b, 0x5b07002a, 0x5b070028, 0x5b070027,
2013 	0x5b070026, 0x5b070025, 0x5b070024, 0x5b070023,
2014 	0x5b070022, 0x5b070021, 0x5b070020, 0x5b07001f,
2015 	0x5b07001e, 0x5b07001d, 0x5b07001d, 0x5b07001c,
2016 };
2017 
2018 static const u32 b43_ntab_gainctl1_r3[] = {
2019 	0x5bf70044, 0x5bf70042, 0x5bf70040, 0x5bf7003e,
2020 	0x5bf7003c, 0x5bf7003b, 0x5bf70039, 0x5bf70037,
2021 	0x5bf70036, 0x5bf70034, 0x5bf70033, 0x5bf70031,
2022 	0x5bf70030, 0x5ba70044, 0x5ba70042, 0x5ba70040,
2023 	0x5ba7003e, 0x5ba7003c, 0x5ba7003b, 0x5ba70039,
2024 	0x5ba70037, 0x5ba70036, 0x5ba70034, 0x5ba70033,
2025 	0x5b770044, 0x5b770042, 0x5b770040, 0x5b77003e,
2026 	0x5b77003c, 0x5b77003b, 0x5b770039, 0x5b770037,
2027 	0x5b770036, 0x5b770034, 0x5b770033, 0x5b770031,
2028 	0x5b770030, 0x5b77002f, 0x5b77002d, 0x5b77002c,
2029 	0x5b470044, 0x5b470042, 0x5b470040, 0x5b47003e,
2030 	0x5b47003c, 0x5b47003b, 0x5b470039, 0x5b470037,
2031 	0x5b470036, 0x5b470034, 0x5b470033, 0x5b470031,
2032 	0x5b470030, 0x5b47002f, 0x5b47002d, 0x5b47002c,
2033 	0x5b47002b, 0x5b47002a, 0x5b270044, 0x5b270042,
2034 	0x5b270040, 0x5b27003e, 0x5b27003c, 0x5b27003b,
2035 	0x5b270039, 0x5b270037, 0x5b270036, 0x5b270034,
2036 	0x5b270033, 0x5b270031, 0x5b270030, 0x5b27002f,
2037 	0x5b170044, 0x5b170042, 0x5b170040, 0x5b17003e,
2038 	0x5b17003c, 0x5b17003b, 0x5b170039, 0x5b170037,
2039 	0x5b170036, 0x5b170034, 0x5b170033, 0x5b170031,
2040 	0x5b170030, 0x5b17002f, 0x5b17002d, 0x5b17002c,
2041 	0x5b17002b, 0x5b17002a, 0x5b170028, 0x5b170027,
2042 	0x5b170026, 0x5b170025, 0x5b170024, 0x5b170023,
2043 	0x5b070044, 0x5b070042, 0x5b070040, 0x5b07003e,
2044 	0x5b07003c, 0x5b07003b, 0x5b070039, 0x5b070037,
2045 	0x5b070036, 0x5b070034, 0x5b070033, 0x5b070031,
2046 	0x5b070030, 0x5b07002f, 0x5b07002d, 0x5b07002c,
2047 	0x5b07002b, 0x5b07002a, 0x5b070028, 0x5b070027,
2048 	0x5b070026, 0x5b070025, 0x5b070024, 0x5b070023,
2049 	0x5b070022, 0x5b070021, 0x5b070020, 0x5b07001f,
2050 	0x5b07001e, 0x5b07001d, 0x5b07001d, 0x5b07001c,
2051 };
2052 
2053 static const u32 b43_ntab_iqlt0_r3[] = {
2054 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2055 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2056 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2057 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2058 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2059 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2060 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2061 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2062 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2063 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2064 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2065 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2066 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2067 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2068 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2069 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2070 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2071 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2072 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2073 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2074 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2075 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2076 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2077 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2078 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2079 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2080 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2081 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2082 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2083 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2084 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2085 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2086 };
2087 
2088 static const u32 b43_ntab_iqlt1_r3[] = {
2089 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2090 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2091 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2092 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2093 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2094 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2095 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2096 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2097 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2098 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2099 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2100 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2101 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2102 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2103 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2104 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2105 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2106 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2107 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2108 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2109 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2110 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2111 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2112 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2113 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2114 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2115 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2116 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2117 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2118 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2119 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2120 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2121 };
2122 
2123 static const u16 b43_ntab_loftlt0_r3[] = {
2124 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2125 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2126 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2127 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2128 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2129 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2130 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2131 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2132 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2133 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2134 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2135 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2136 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2137 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2138 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2139 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2140 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2141 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2142 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2143 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2144 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2145 	0x0000, 0x0000,
2146 };
2147 
2148 static const u16 b43_ntab_loftlt1_r3[] = {
2149 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2150 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2151 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2152 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2153 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2154 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2155 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2156 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2157 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2158 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2159 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2160 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2161 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2162 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2163 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2164 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2165 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2166 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2167 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2168 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2169 	0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2170 	0x0000, 0x0000,
2171 };
2172 
2173 /* TX gain tables */
2174 const u32 b43_ntab_tx_gain_rev0_1_2[] = {
2175 	0x03cc2b44, 0x03cc2b42, 0x03cc2a44, 0x03cc2a42,
2176 	0x03cc2944, 0x03c82b44, 0x03c82b42, 0x03c82a44,
2177 	0x03c82a42, 0x03c82944, 0x03c82942, 0x03c82844,
2178 	0x03c82842, 0x03c42b44, 0x03c42b42, 0x03c42a44,
2179 	0x03c42a42, 0x03c42944, 0x03c42942, 0x03c42844,
2180 	0x03c42842, 0x03c42744, 0x03c42742, 0x03c42644,
2181 	0x03c42642, 0x03c42544, 0x03c42542, 0x03c42444,
2182 	0x03c42442, 0x03c02b44, 0x03c02b42, 0x03c02a44,
2183 	0x03c02a42, 0x03c02944, 0x03c02942, 0x03c02844,
2184 	0x03c02842, 0x03c02744, 0x03c02742, 0x03b02b44,
2185 	0x03b02b42, 0x03b02a44, 0x03b02a42, 0x03b02944,
2186 	0x03b02942, 0x03b02844, 0x03b02842, 0x03b02744,
2187 	0x03b02742, 0x03b02644, 0x03b02642, 0x03b02544,
2188 	0x03b02542, 0x03a02b44, 0x03a02b42, 0x03a02a44,
2189 	0x03a02a42, 0x03a02944, 0x03a02942, 0x03a02844,
2190 	0x03a02842, 0x03a02744, 0x03a02742, 0x03902b44,
2191 	0x03902b42, 0x03902a44, 0x03902a42, 0x03902944,
2192 	0x03902942, 0x03902844, 0x03902842, 0x03902744,
2193 	0x03902742, 0x03902644, 0x03902642, 0x03902544,
2194 	0x03902542, 0x03802b44, 0x03802b42, 0x03802a44,
2195 	0x03802a42, 0x03802944, 0x03802942, 0x03802844,
2196 	0x03802842, 0x03802744, 0x03802742, 0x03802644,
2197 	0x03802642, 0x03802544, 0x03802542, 0x03802444,
2198 	0x03802442, 0x03802344, 0x03802342, 0x03802244,
2199 	0x03802242, 0x03802144, 0x03802142, 0x03802044,
2200 	0x03802042, 0x03801f44, 0x03801f42, 0x03801e44,
2201 	0x03801e42, 0x03801d44, 0x03801d42, 0x03801c44,
2202 	0x03801c42, 0x03801b44, 0x03801b42, 0x03801a44,
2203 	0x03801a42, 0x03801944, 0x03801942, 0x03801844,
2204 	0x03801842, 0x03801744, 0x03801742, 0x03801644,
2205 	0x03801642, 0x03801544, 0x03801542, 0x03801444,
2206 	0x03801442, 0x03801344, 0x03801342, 0x00002b00,
2207 };
2208 
2209 const u32 b43_ntab_tx_gain_rev3plus_2ghz[] = {
2210 	0x1f410044, 0x1f410042, 0x1f410040, 0x1f41003e,
2211 	0x1f41003c, 0x1f41003b, 0x1f410039, 0x1f410037,
2212 	0x1e410044, 0x1e410042, 0x1e410040, 0x1e41003e,
2213 	0x1e41003c, 0x1e41003b, 0x1e410039, 0x1e410037,
2214 	0x1d410044, 0x1d410042, 0x1d410040, 0x1d41003e,
2215 	0x1d41003c, 0x1d41003b, 0x1d410039, 0x1d410037,
2216 	0x1c410044, 0x1c410042, 0x1c410040, 0x1c41003e,
2217 	0x1c41003c, 0x1c41003b, 0x1c410039, 0x1c410037,
2218 	0x1b410044, 0x1b410042, 0x1b410040, 0x1b41003e,
2219 	0x1b41003c, 0x1b41003b, 0x1b410039, 0x1b410037,
2220 	0x1a410044, 0x1a410042, 0x1a410040, 0x1a41003e,
2221 	0x1a41003c, 0x1a41003b, 0x1a410039, 0x1a410037,
2222 	0x19410044, 0x19410042, 0x19410040, 0x1941003e,
2223 	0x1941003c, 0x1941003b, 0x19410039, 0x19410037,
2224 	0x18410044, 0x18410042, 0x18410040, 0x1841003e,
2225 	0x1841003c, 0x1841003b, 0x18410039, 0x18410037,
2226 	0x17410044, 0x17410042, 0x17410040, 0x1741003e,
2227 	0x1741003c, 0x1741003b, 0x17410039, 0x17410037,
2228 	0x16410044, 0x16410042, 0x16410040, 0x1641003e,
2229 	0x1641003c, 0x1641003b, 0x16410039, 0x16410037,
2230 	0x15410044, 0x15410042, 0x15410040, 0x1541003e,
2231 	0x1541003c, 0x1541003b, 0x15410039, 0x15410037,
2232 	0x14410044, 0x14410042, 0x14410040, 0x1441003e,
2233 	0x1441003c, 0x1441003b, 0x14410039, 0x14410037,
2234 	0x13410044, 0x13410042, 0x13410040, 0x1341003e,
2235 	0x1341003c, 0x1341003b, 0x13410039, 0x13410037,
2236 	0x12410044, 0x12410042, 0x12410040, 0x1241003e,
2237 	0x1241003c, 0x1241003b, 0x12410039, 0x12410037,
2238 	0x11410044, 0x11410042, 0x11410040, 0x1141003e,
2239 	0x1141003c, 0x1141003b, 0x11410039, 0x11410037,
2240 	0x10410044, 0x10410042, 0x10410040, 0x1041003e,
2241 	0x1041003c, 0x1041003b, 0x10410039, 0x10410037,
2242 };
2243 
2244 const u32 b43_ntab_tx_gain_rev3_5ghz[] = {
2245 	0xcff70044, 0xcff70042, 0xcff70040, 0xcff7003e,
2246 	0xcff7003c, 0xcff7003b, 0xcff70039, 0xcff70037,
2247 	0xcef70044, 0xcef70042, 0xcef70040, 0xcef7003e,
2248 	0xcef7003c, 0xcef7003b, 0xcef70039, 0xcef70037,
2249 	0xcdf70044, 0xcdf70042, 0xcdf70040, 0xcdf7003e,
2250 	0xcdf7003c, 0xcdf7003b, 0xcdf70039, 0xcdf70037,
2251 	0xccf70044, 0xccf70042, 0xccf70040, 0xccf7003e,
2252 	0xccf7003c, 0xccf7003b, 0xccf70039, 0xccf70037,
2253 	0xcbf70044, 0xcbf70042, 0xcbf70040, 0xcbf7003e,
2254 	0xcbf7003c, 0xcbf7003b, 0xcbf70039, 0xcbf70037,
2255 	0xcaf70044, 0xcaf70042, 0xcaf70040, 0xcaf7003e,
2256 	0xcaf7003c, 0xcaf7003b, 0xcaf70039, 0xcaf70037,
2257 	0xc9f70044, 0xc9f70042, 0xc9f70040, 0xc9f7003e,
2258 	0xc9f7003c, 0xc9f7003b, 0xc9f70039, 0xc9f70037,
2259 	0xc8f70044, 0xc8f70042, 0xc8f70040, 0xc8f7003e,
2260 	0xc8f7003c, 0xc8f7003b, 0xc8f70039, 0xc8f70037,
2261 	0xc7f70044, 0xc7f70042, 0xc7f70040, 0xc7f7003e,
2262 	0xc7f7003c, 0xc7f7003b, 0xc7f70039, 0xc7f70037,
2263 	0xc6f70044, 0xc6f70042, 0xc6f70040, 0xc6f7003e,
2264 	0xc6f7003c, 0xc6f7003b, 0xc6f70039, 0xc6f70037,
2265 	0xc5f70044, 0xc5f70042, 0xc5f70040, 0xc5f7003e,
2266 	0xc5f7003c, 0xc5f7003b, 0xc5f70039, 0xc5f70037,
2267 	0xc4f70044, 0xc4f70042, 0xc4f70040, 0xc4f7003e,
2268 	0xc4f7003c, 0xc4f7003b, 0xc4f70039, 0xc4f70037,
2269 	0xc3f70044, 0xc3f70042, 0xc3f70040, 0xc3f7003e,
2270 	0xc3f7003c, 0xc3f7003b, 0xc3f70039, 0xc3f70037,
2271 	0xc2f70044, 0xc2f70042, 0xc2f70040, 0xc2f7003e,
2272 	0xc2f7003c, 0xc2f7003b, 0xc2f70039, 0xc2f70037,
2273 	0xc1f70044, 0xc1f70042, 0xc1f70040, 0xc1f7003e,
2274 	0xc1f7003c, 0xc1f7003b, 0xc1f70039, 0xc1f70037,
2275 	0xc0f70044, 0xc0f70042, 0xc0f70040, 0xc0f7003e,
2276 	0xc0f7003c, 0xc0f7003b, 0xc0f70039, 0xc0f70037,
2277 };
2278 
2279 const u32 b43_ntab_tx_gain_rev4_5ghz[] = {
2280 	0x2ff20044, 0x2ff20042, 0x2ff20040, 0x2ff2003e,
2281 	0x2ff2003c, 0x2ff2003b, 0x2ff20039, 0x2ff20037,
2282 	0x2ef20044, 0x2ef20042, 0x2ef20040, 0x2ef2003e,
2283 	0x2ef2003c, 0x2ef2003b, 0x2ef20039, 0x2ef20037,
2284 	0x2df20044, 0x2df20042, 0x2df20040, 0x2df2003e,
2285 	0x2df2003c, 0x2df2003b, 0x2df20039, 0x2df20037,
2286 	0x2cf20044, 0x2cf20042, 0x2cf20040, 0x2cf2003e,
2287 	0x2cf2003c, 0x2cf2003b, 0x2cf20039, 0x2cf20037,
2288 	0x2bf20044, 0x2bf20042, 0x2bf20040, 0x2bf2003e,
2289 	0x2bf2003c, 0x2bf2003b, 0x2bf20039, 0x2bf20037,
2290 	0x2af20044, 0x2af20042, 0x2af20040, 0x2af2003e,
2291 	0x2af2003c, 0x2af2003b, 0x2af20039, 0x2af20037,
2292 	0x29f20044, 0x29f20042, 0x29f20040, 0x29f2003e,
2293 	0x29f2003c, 0x29f2003b, 0x29f20039, 0x29f20037,
2294 	0x28f20044, 0x28f20042, 0x28f20040, 0x28f2003e,
2295 	0x28f2003c, 0x28f2003b, 0x28f20039, 0x28f20037,
2296 	0x27f20044, 0x27f20042, 0x27f20040, 0x27f2003e,
2297 	0x27f2003c, 0x27f2003b, 0x27f20039, 0x27f20037,
2298 	0x26f20044, 0x26f20042, 0x26f20040, 0x26f2003e,
2299 	0x26f2003c, 0x26f2003b, 0x26f20039, 0x26f20037,
2300 	0x25f20044, 0x25f20042, 0x25f20040, 0x25f2003e,
2301 	0x25f2003c, 0x25f2003b, 0x25f20039, 0x25f20037,
2302 	0x24f20044, 0x24f20042, 0x24f20040, 0x24f2003e,
2303 	0x24f2003c, 0x24f2003b, 0x24f20039, 0x24f20038,
2304 	0x23f20041, 0x23f20040, 0x23f2003f, 0x23f2003e,
2305 	0x23f2003c, 0x23f2003b, 0x23f20039, 0x23f20037,
2306 	0x22f20044, 0x22f20042, 0x22f20040, 0x22f2003e,
2307 	0x22f2003c, 0x22f2003b, 0x22f20039, 0x22f20037,
2308 	0x21f20044, 0x21f20042, 0x21f20040, 0x21f2003e,
2309 	0x21f2003c, 0x21f2003b, 0x21f20039, 0x21f20037,
2310 	0x20d20043, 0x20d20041, 0x20d2003e, 0x20d2003c,
2311 	0x20d2003a, 0x20d20038, 0x20d20036, 0x20d20034,
2312 };
2313 
2314 const u32 b43_ntab_tx_gain_rev5plus_5ghz[] = {
2315 	0x0f62004a, 0x0f620048, 0x0f620046, 0x0f620044,
2316 	0x0f620042, 0x0f620040, 0x0f62003e, 0x0f62003c,
2317 	0x0e620044, 0x0e620042, 0x0e620040, 0x0e62003e,
2318 	0x0e62003c, 0x0e62003d, 0x0e62003b, 0x0e62003a,
2319 	0x0d620043, 0x0d620041, 0x0d620040, 0x0d62003e,
2320 	0x0d62003d, 0x0d62003c, 0x0d62003b, 0x0d62003a,
2321 	0x0c620041, 0x0c620040, 0x0c62003f, 0x0c62003e,
2322 	0x0c62003c, 0x0c62003b, 0x0c620039, 0x0c620037,
2323 	0x0b620046, 0x0b620044, 0x0b620042, 0x0b620040,
2324 	0x0b62003e, 0x0b62003c, 0x0b62003b, 0x0b62003a,
2325 	0x0a620041, 0x0a620040, 0x0a62003e, 0x0a62003c,
2326 	0x0a62003b, 0x0a62003a, 0x0a620039, 0x0a620038,
2327 	0x0962003e, 0x0962003d, 0x0962003c, 0x0962003b,
2328 	0x09620039, 0x09620037, 0x09620035, 0x09620033,
2329 	0x08620044, 0x08620042, 0x08620040, 0x0862003e,
2330 	0x0862003c, 0x0862003b, 0x0862003a, 0x08620039,
2331 	0x07620043, 0x07620042, 0x07620040, 0x0762003f,
2332 	0x0762003d, 0x0762003b, 0x0762003a, 0x07620039,
2333 	0x0662003e, 0x0662003d, 0x0662003c, 0x0662003b,
2334 	0x06620039, 0x06620037, 0x06620035, 0x06620033,
2335 	0x05620046, 0x05620044, 0x05620042, 0x05620040,
2336 	0x0562003e, 0x0562003c, 0x0562003b, 0x05620039,
2337 	0x04620044, 0x04620042, 0x04620040, 0x0462003e,
2338 	0x0462003c, 0x0462003b, 0x04620039, 0x04620038,
2339 	0x0362003c, 0x0362003b, 0x0362003a, 0x03620039,
2340 	0x03620038, 0x03620037, 0x03620035, 0x03620033,
2341 	0x0262004c, 0x0262004a, 0x02620048, 0x02620047,
2342 	0x02620046, 0x02620044, 0x02620043, 0x02620042,
2343 	0x0162004a, 0x01620048, 0x01620046, 0x01620044,
2344 	0x01620043, 0x01620042, 0x01620041, 0x01620040,
2345 	0x00620042, 0x00620040, 0x0062003e, 0x0062003c,
2346 	0x0062003b, 0x00620039, 0x00620037, 0x00620035,
2347 };
2348 
2349 const u32 txpwrctrl_tx_gain_ipa[] = {
2350 	0x5ff7002d, 0x5ff7002b, 0x5ff7002a, 0x5ff70029,
2351 	0x5ff70028, 0x5ff70027, 0x5ff70026, 0x5ff70025,
2352 	0x5ef7002d, 0x5ef7002b, 0x5ef7002a, 0x5ef70029,
2353 	0x5ef70028, 0x5ef70027, 0x5ef70026, 0x5ef70025,
2354 	0x5df7002d, 0x5df7002b, 0x5df7002a, 0x5df70029,
2355 	0x5df70028, 0x5df70027, 0x5df70026, 0x5df70025,
2356 	0x5cf7002d, 0x5cf7002b, 0x5cf7002a, 0x5cf70029,
2357 	0x5cf70028, 0x5cf70027, 0x5cf70026, 0x5cf70025,
2358 	0x5bf7002d, 0x5bf7002b, 0x5bf7002a, 0x5bf70029,
2359 	0x5bf70028, 0x5bf70027, 0x5bf70026, 0x5bf70025,
2360 	0x5af7002d, 0x5af7002b, 0x5af7002a, 0x5af70029,
2361 	0x5af70028, 0x5af70027, 0x5af70026, 0x5af70025,
2362 	0x59f7002d, 0x59f7002b, 0x59f7002a, 0x59f70029,
2363 	0x59f70028, 0x59f70027, 0x59f70026, 0x59f70025,
2364 	0x58f7002d, 0x58f7002b, 0x58f7002a, 0x58f70029,
2365 	0x58f70028, 0x58f70027, 0x58f70026, 0x58f70025,
2366 	0x57f7002d, 0x57f7002b, 0x57f7002a, 0x57f70029,
2367 	0x57f70028, 0x57f70027, 0x57f70026, 0x57f70025,
2368 	0x56f7002d, 0x56f7002b, 0x56f7002a, 0x56f70029,
2369 	0x56f70028, 0x56f70027, 0x56f70026, 0x56f70025,
2370 	0x55f7002d, 0x55f7002b, 0x55f7002a, 0x55f70029,
2371 	0x55f70028, 0x55f70027, 0x55f70026, 0x55f70025,
2372 	0x54f7002d, 0x54f7002b, 0x54f7002a, 0x54f70029,
2373 	0x54f70028, 0x54f70027, 0x54f70026, 0x54f70025,
2374 	0x53f7002d, 0x53f7002b, 0x53f7002a, 0x53f70029,
2375 	0x53f70028, 0x53f70027, 0x53f70026, 0x53f70025,
2376 	0x52f7002d, 0x52f7002b, 0x52f7002a, 0x52f70029,
2377 	0x52f70028, 0x52f70027, 0x52f70026, 0x52f70025,
2378 	0x51f7002d, 0x51f7002b, 0x51f7002a, 0x51f70029,
2379 	0x51f70028, 0x51f70027, 0x51f70026, 0x51f70025,
2380 	0x50f7002d, 0x50f7002b, 0x50f7002a, 0x50f70029,
2381 	0x50f70028, 0x50f70027, 0x50f70026, 0x50f70025,
2382 };
2383 
2384 const u32 txpwrctrl_tx_gain_ipa_rev5[] = {
2385 	0x1ff7002d, 0x1ff7002b, 0x1ff7002a, 0x1ff70029,
2386 	0x1ff70028, 0x1ff70027, 0x1ff70026, 0x1ff70025,
2387 	0x1ef7002d, 0x1ef7002b, 0x1ef7002a, 0x1ef70029,
2388 	0x1ef70028, 0x1ef70027, 0x1ef70026, 0x1ef70025,
2389 	0x1df7002d, 0x1df7002b, 0x1df7002a, 0x1df70029,
2390 	0x1df70028, 0x1df70027, 0x1df70026, 0x1df70025,
2391 	0x1cf7002d, 0x1cf7002b, 0x1cf7002a, 0x1cf70029,
2392 	0x1cf70028, 0x1cf70027, 0x1cf70026, 0x1cf70025,
2393 	0x1bf7002d, 0x1bf7002b, 0x1bf7002a, 0x1bf70029,
2394 	0x1bf70028, 0x1bf70027, 0x1bf70026, 0x1bf70025,
2395 	0x1af7002d, 0x1af7002b, 0x1af7002a, 0x1af70029,
2396 	0x1af70028, 0x1af70027, 0x1af70026, 0x1af70025,
2397 	0x19f7002d, 0x19f7002b, 0x19f7002a, 0x19f70029,
2398 	0x19f70028, 0x19f70027, 0x19f70026, 0x19f70025,
2399 	0x18f7002d, 0x18f7002b, 0x18f7002a, 0x18f70029,
2400 	0x18f70028, 0x18f70027, 0x18f70026, 0x18f70025,
2401 	0x17f7002d, 0x17f7002b, 0x17f7002a, 0x17f70029,
2402 	0x17f70028, 0x17f70027, 0x17f70026, 0x17f70025,
2403 	0x16f7002d, 0x16f7002b, 0x16f7002a, 0x16f70029,
2404 	0x16f70028, 0x16f70027, 0x16f70026, 0x16f70025,
2405 	0x15f7002d, 0x15f7002b, 0x15f7002a, 0x15f70029,
2406 	0x15f70028, 0x15f70027, 0x15f70026, 0x15f70025,
2407 	0x14f7002d, 0x14f7002b, 0x14f7002a, 0x14f70029,
2408 	0x14f70028, 0x14f70027, 0x14f70026, 0x14f70025,
2409 	0x13f7002d, 0x13f7002b, 0x13f7002a, 0x13f70029,
2410 	0x13f70028, 0x13f70027, 0x13f70026, 0x13f70025,
2411 	0x12f7002d, 0x12f7002b, 0x12f7002a, 0x12f70029,
2412 	0x12f70028, 0x12f70027, 0x12f70026, 0x12f70025,
2413 	0x11f7002d, 0x11f7002b, 0x11f7002a, 0x11f70029,
2414 	0x11f70028, 0x11f70027, 0x11f70026, 0x11f70025,
2415 	0x10f7002d, 0x10f7002b, 0x10f7002a, 0x10f70029,
2416 	0x10f70028, 0x10f70027, 0x10f70026, 0x10f70025,
2417 };
2418 
2419 const u32 txpwrctrl_tx_gain_ipa_rev6[] = {
2420 	0x0ff7002d, 0x0ff7002b, 0x0ff7002a, 0x0ff70029,
2421 	0x0ff70028, 0x0ff70027, 0x0ff70026, 0x0ff70025,
2422 	0x0ef7002d, 0x0ef7002b, 0x0ef7002a, 0x0ef70029,
2423 	0x0ef70028, 0x0ef70027, 0x0ef70026, 0x0ef70025,
2424 	0x0df7002d, 0x0df7002b, 0x0df7002a, 0x0df70029,
2425 	0x0df70028, 0x0df70027, 0x0df70026, 0x0df70025,
2426 	0x0cf7002d, 0x0cf7002b, 0x0cf7002a, 0x0cf70029,
2427 	0x0cf70028, 0x0cf70027, 0x0cf70026, 0x0cf70025,
2428 	0x0bf7002d, 0x0bf7002b, 0x0bf7002a, 0x0bf70029,
2429 	0x0bf70028, 0x0bf70027, 0x0bf70026, 0x0bf70025,
2430 	0x0af7002d, 0x0af7002b, 0x0af7002a, 0x0af70029,
2431 	0x0af70028, 0x0af70027, 0x0af70026, 0x0af70025,
2432 	0x09f7002d, 0x09f7002b, 0x09f7002a, 0x09f70029,
2433 	0x09f70028, 0x09f70027, 0x09f70026, 0x09f70025,
2434 	0x08f7002d, 0x08f7002b, 0x08f7002a, 0x08f70029,
2435 	0x08f70028, 0x08f70027, 0x08f70026, 0x08f70025,
2436 	0x07f7002d, 0x07f7002b, 0x07f7002a, 0x07f70029,
2437 	0x07f70028, 0x07f70027, 0x07f70026, 0x07f70025,
2438 	0x06f7002d, 0x06f7002b, 0x06f7002a, 0x06f70029,
2439 	0x06f70028, 0x06f70027, 0x06f70026, 0x06f70025,
2440 	0x05f7002d, 0x05f7002b, 0x05f7002a, 0x05f70029,
2441 	0x05f70028, 0x05f70027, 0x05f70026, 0x05f70025,
2442 	0x04f7002d, 0x04f7002b, 0x04f7002a, 0x04f70029,
2443 	0x04f70028, 0x04f70027, 0x04f70026, 0x04f70025,
2444 	0x03f7002d, 0x03f7002b, 0x03f7002a, 0x03f70029,
2445 	0x03f70028, 0x03f70027, 0x03f70026, 0x03f70025,
2446 	0x02f7002d, 0x02f7002b, 0x02f7002a, 0x02f70029,
2447 	0x02f70028, 0x02f70027, 0x02f70026, 0x02f70025,
2448 	0x01f7002d, 0x01f7002b, 0x01f7002a, 0x01f70029,
2449 	0x01f70028, 0x01f70027, 0x01f70026, 0x01f70025,
2450 	0x00f7002d, 0x00f7002b, 0x00f7002a, 0x00f70029,
2451 	0x00f70028, 0x00f70027, 0x00f70026, 0x00f70025,
2452 };
2453 
2454 const u32 txpwrctrl_tx_gain_ipa_5g[] = {
2455 	0x7ff70035, 0x7ff70033, 0x7ff70032, 0x7ff70031,
2456 	0x7ff7002f, 0x7ff7002e, 0x7ff7002d, 0x7ff7002b,
2457 	0x7ff7002a, 0x7ff70029, 0x7ff70028, 0x7ff70027,
2458 	0x7ff70026, 0x7ff70024, 0x7ff70023, 0x7ff70022,
2459 	0x7ef70028, 0x7ef70027, 0x7ef70026, 0x7ef70025,
2460 	0x7ef70024, 0x7ef70023, 0x7df70028, 0x7df70027,
2461 	0x7df70026, 0x7df70025, 0x7df70024, 0x7df70023,
2462 	0x7df70022, 0x7cf70029, 0x7cf70028, 0x7cf70027,
2463 	0x7cf70026, 0x7cf70025, 0x7cf70023, 0x7cf70022,
2464 	0x7bf70029, 0x7bf70028, 0x7bf70026, 0x7bf70025,
2465 	0x7bf70024, 0x7bf70023, 0x7bf70022, 0x7bf70021,
2466 	0x7af70029, 0x7af70028, 0x7af70027, 0x7af70026,
2467 	0x7af70025, 0x7af70024, 0x7af70023, 0x7af70022,
2468 	0x79f70029, 0x79f70028, 0x79f70027, 0x79f70026,
2469 	0x79f70025, 0x79f70024, 0x79f70023, 0x79f70022,
2470 	0x78f70029, 0x78f70028, 0x78f70027, 0x78f70026,
2471 	0x78f70025, 0x78f70024, 0x78f70023, 0x78f70022,
2472 	0x77f70029, 0x77f70028, 0x77f70027, 0x77f70026,
2473 	0x77f70025, 0x77f70024, 0x77f70023, 0x77f70022,
2474 	0x76f70029, 0x76f70028, 0x76f70027, 0x76f70026,
2475 	0x76f70024, 0x76f70023, 0x76f70022, 0x76f70021,
2476 	0x75f70029, 0x75f70028, 0x75f70027, 0x75f70026,
2477 	0x75f70025, 0x75f70024, 0x75f70023, 0x74f70029,
2478 	0x74f70028, 0x74f70026, 0x74f70025, 0x74f70024,
2479 	0x74f70023, 0x74f70022, 0x73f70029, 0x73f70027,
2480 	0x73f70026, 0x73f70025, 0x73f70024, 0x73f70023,
2481 	0x73f70022, 0x72f70028, 0x72f70027, 0x72f70026,
2482 	0x72f70025, 0x72f70024, 0x72f70023, 0x72f70022,
2483 	0x71f70028, 0x71f70027, 0x71f70026, 0x71f70025,
2484 	0x71f70024, 0x71f70023, 0x70f70028, 0x70f70027,
2485 	0x70f70026, 0x70f70024, 0x70f70023, 0x70f70022,
2486 	0x70f70021, 0x70f70020, 0x70f70020, 0x70f7001f,
2487 };
2488 
2489 const u16 tbl_iqcal_gainparams[2][9][8] = {
2490 	{
2491 		{ 0x000, 0, 0, 2, 0x69, 0x69, 0x69, 0x69 },
2492 		{ 0x700, 7, 0, 0, 0x69, 0x69, 0x69, 0x69 },
2493 		{ 0x710, 7, 1, 0, 0x68, 0x68, 0x68, 0x68 },
2494 		{ 0x720, 7, 2, 0, 0x67, 0x67, 0x67, 0x67 },
2495 		{ 0x730, 7, 3, 0, 0x66, 0x66, 0x66, 0x66 },
2496 		{ 0x740, 7, 4, 0, 0x65, 0x65, 0x65, 0x65 },
2497 		{ 0x741, 7, 4, 1, 0x65, 0x65, 0x65, 0x65 },
2498 		{ 0x742, 7, 4, 2, 0x65, 0x65, 0x65, 0x65 },
2499 		{ 0x743, 7, 4, 3, 0x65, 0x65, 0x65, 0x65 }
2500 	},
2501 	{
2502 		{ 0x000, 7, 0, 0, 0x79, 0x79, 0x79, 0x79 },
2503 		{ 0x700, 7, 0, 0, 0x79, 0x79, 0x79, 0x79 },
2504 		{ 0x710, 7, 1, 0, 0x79, 0x79, 0x79, 0x79 },
2505 		{ 0x720, 7, 2, 0, 0x78, 0x78, 0x78, 0x78 },
2506 		{ 0x730, 7, 3, 0, 0x78, 0x78, 0x78, 0x78 },
2507 		{ 0x740, 7, 4, 0, 0x78, 0x78, 0x78, 0x78 },
2508 		{ 0x741, 7, 4, 1, 0x78, 0x78, 0x78, 0x78 },
2509 		{ 0x742, 7, 4, 2, 0x78, 0x78, 0x78, 0x78 },
2510 		{ 0x743, 7, 4, 3, 0x78, 0x78, 0x78, 0x78 }
2511 	}
2512 };
2513 
2514 const struct nphy_txiqcal_ladder ladder_lo[] = {
2515 	{ 3, 0 },
2516 	{ 4, 0 },
2517 	{ 6, 0 },
2518 	{ 9, 0 },
2519 	{ 13, 0 },
2520 	{ 18, 0 },
2521 	{ 25, 0 },
2522 	{ 25, 1 },
2523 	{ 25, 2 },
2524 	{ 25, 3 },
2525 	{ 25, 4 },
2526 	{ 25, 5 },
2527 	{ 25, 6 },
2528 	{ 25, 7 },
2529 	{ 35, 7 },
2530 	{ 50, 7 },
2531 	{ 71, 7 },
2532 	{ 100, 7 }
2533 };
2534 
2535 const struct nphy_txiqcal_ladder ladder_iq[] = {
2536 	{ 3, 0 },
2537 	{ 4, 0 },
2538 	{ 6, 0 },
2539 	{ 9, 0 },
2540 	{ 13, 0 },
2541 	{ 18, 0 },
2542 	{ 25, 0 },
2543 	{ 35, 0 },
2544 	{ 50, 0 },
2545 	{ 71, 0 },
2546 	{ 100, 0 },
2547 	{ 100, 1 },
2548 	{ 100, 2 },
2549 	{ 100, 3 },
2550 	{ 100, 4 },
2551 	{ 100, 5 },
2552 	{ 100, 6 },
2553 	{ 100, 7 }
2554 };
2555 
2556 const u16 loscale[] = {
2557 	256, 256, 271, 271,
2558 	287, 256, 256, 271,
2559 	271, 287, 287, 304,
2560 	304, 256, 256, 271,
2561 	271, 287, 287, 304,
2562 	304, 322, 322, 341,
2563 	341, 362, 362, 383,
2564 	383, 256, 256, 271,
2565 	271, 287, 287, 304,
2566 	304, 322, 322, 256,
2567 	256, 271, 271, 287,
2568 	287, 304, 304, 322,
2569 	322, 341, 341, 362,
2570 	362, 256, 256, 271,
2571 	271, 287, 287, 304,
2572 	304, 322, 322, 256,
2573 	256, 271, 271, 287,
2574 	287, 304, 304, 322,
2575 	322, 341, 341, 362,
2576 	362, 256, 256, 271,
2577 	271, 287, 287, 304,
2578 	304, 322, 322, 341,
2579 	341, 362, 362, 383,
2580 	383, 406, 406, 430,
2581 	430, 455, 455, 482,
2582 	482, 511, 511, 541,
2583 	541, 573, 573, 607,
2584 	607, 643, 643, 681,
2585 	681, 722, 722, 764,
2586 	764, 810, 810, 858,
2587 	858, 908, 908, 962,
2588 	962, 1019, 1019, 256
2589 };
2590 
2591 const u16 tbl_tx_iqlo_cal_loft_ladder_40[] = {
2592 	0x0200, 0x0300, 0x0400, 0x0700,
2593 	0x0900, 0x0c00, 0x1200, 0x1201,
2594 	0x1202, 0x1203, 0x1204, 0x1205,
2595 	0x1206, 0x1207, 0x1907, 0x2307,
2596 	0x3207, 0x4707
2597 };
2598 
2599 const u16 tbl_tx_iqlo_cal_loft_ladder_20[] = {
2600 	0x0300, 0x0500, 0x0700, 0x0900,
2601 	0x0d00, 0x1100, 0x1900, 0x1901,
2602 	0x1902, 0x1903, 0x1904, 0x1905,
2603 	0x1906, 0x1907, 0x2407, 0x3207,
2604 	0x4607, 0x6407
2605 };
2606 
2607 const u16 tbl_tx_iqlo_cal_iqimb_ladder_40[] = {
2608 	0x0100, 0x0200, 0x0400, 0x0700,
2609 	0x0900, 0x0c00, 0x1200, 0x1900,
2610 	0x2300, 0x3200, 0x4700, 0x4701,
2611 	0x4702, 0x4703, 0x4704, 0x4705,
2612 	0x4706, 0x4707
2613 };
2614 
2615 const u16 tbl_tx_iqlo_cal_iqimb_ladder_20[] = {
2616 	0x0200, 0x0300, 0x0600, 0x0900,
2617 	0x0d00, 0x1100, 0x1900, 0x2400,
2618 	0x3200, 0x4600, 0x6400, 0x6401,
2619 	0x6402, 0x6403, 0x6404, 0x6405,
2620 	0x6406, 0x6407
2621 };
2622 
2623 const u16 tbl_tx_iqlo_cal_startcoefs_nphyrev3[B43_NTAB_TX_IQLO_CAL_STARTCOEFS_REV3] = { };
2624 
2625 const u16 tbl_tx_iqlo_cal_startcoefs[B43_NTAB_TX_IQLO_CAL_STARTCOEFS] = { };
2626 
2627 const u16 tbl_tx_iqlo_cal_cmds_recal_nphyrev3[] = {
2628 	0x8423, 0x8323, 0x8073, 0x8256,
2629 	0x8045, 0x8223, 0x9423, 0x9323,
2630 	0x9073, 0x9256, 0x9045, 0x9223
2631 };
2632 
2633 const u16 tbl_tx_iqlo_cal_cmds_recal[] = {
2634 	0x8101, 0x8253, 0x8053, 0x8234,
2635 	0x8034, 0x9101, 0x9253, 0x9053,
2636 	0x9234, 0x9034
2637 };
2638 
2639 const u16 tbl_tx_iqlo_cal_cmds_fullcal[] = {
2640 	0x8123, 0x8264, 0x8086, 0x8245,
2641 	0x8056, 0x9123, 0x9264, 0x9086,
2642 	0x9245, 0x9056
2643 };
2644 
2645 const u16 tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3[] = {
2646 	0x8434, 0x8334, 0x8084, 0x8267,
2647 	0x8056, 0x8234, 0x9434, 0x9334,
2648 	0x9084, 0x9267, 0x9056, 0x9234
2649 };
2650 
2651 const s16 tbl_tx_filter_coef_rev4[7][15] = {
2652 	{  -377,   137,  -407,   208, -1527,
2653 	    956,    93,   186,    93,   230,
2654 	    -44,   230,    20,  -191,   201 },
2655 	{   -77,    20,   -98,    49,   -93,
2656 	     60,    56,   111,    56,    26,
2657 	     -5,    26,    34,   -32,    34 },
2658 	{  -360,   164,  -376,   164, -1533,
2659 	    576,   308,  -314,   308,   121,
2660 	    -73,   121,    91,   124,    91 },
2661 	{  -295,   200,  -363,   142, -1391,
2662 	    826,   151,   301,   151,   151,
2663 	    301,   151,   602,  -752,   602 },
2664 	{   -92,    58,   -96,    49,  -104,
2665 	     44,    17,    35,    17,    12,
2666 	     25,    12,    13,    27,    13 },
2667 	{  -375,   136,  -399,   209, -1479,
2668 	    949,   130,   260,   130,   230,
2669 	    -44,   230,   201,  -191,   201 },
2670 	{ 0xed9,  0xc8, 0xe95,  0x8e, 0xa91,
2671 	  0x33a,  0x97, 0x12d,  0x97,  0x97,
2672 	  0x12d,  0x97, 0x25a, 0xd10, 0x25a }
2673 };
2674 
2675 /* addr0,  addr1,  bmask,  shift */
2676 const struct nphy_rf_control_override_rev2 tbl_rf_control_override_rev2[] = {
2677 	{ 0x78, 0x78, 0x0038,  3 }, /* for field == 0x0002 (fls == 2) */
2678 	{ 0x7A, 0x7D, 0x0001,  0 }, /* for field == 0x0004 (fls == 3) */
2679 	{ 0x7A, 0x7D, 0x0002,  1 }, /* for field == 0x0008 (fls == 4) */
2680 	{ 0x7A, 0x7D, 0x0004,  2 }, /* for field == 0x0010 (fls == 5) */
2681 	{ 0x7A, 0x7D, 0x0030,  4 }, /* for field == 0x0020 (fls == 6) */
2682 	{ 0x7A, 0x7D, 0x00C0,  6 }, /* for field == 0x0040 (fls == 7) */
2683 	{ 0x7A, 0x7D, 0x0100,  8 }, /* for field == 0x0080 (fls == 8) */
2684 	{ 0x7A, 0x7D, 0x0200,  9 }, /* for field == 0x0100 (fls == 9) */
2685 	{ 0x78, 0x78, 0x0004,  2 }, /* for field == 0x0200 (fls == 10) */
2686 	{ 0x7B, 0x7E, 0x01FF,  0 }, /* for field == 0x0400 (fls == 11) */
2687 	{ 0x7C, 0x7F, 0x01FF,  0 }, /* for field == 0x0800 (fls == 12) */
2688 	{ 0x78, 0x78, 0x0100,  8 }, /* for field == 0x1000 (fls == 13) */
2689 	{ 0x78, 0x78, 0x0200,  9 }, /* for field == 0x2000 (fls == 14) */
2690 	{ 0x78, 0x78, 0xF000, 12 }  /* for field == 0x4000 (fls == 15) */
2691 };
2692 
2693 /* val_mask, val_shift, en_addr0, val_addr0, en_addr1, val_addr1 */
2694 const struct nphy_rf_control_override_rev3 tbl_rf_control_override_rev3[] = {
2695 	{ 0x8000, 15, 0xE5, 0xF9, 0xE6, 0xFB }, /* field == 0x0001 (fls 1) */
2696 	{ 0x0001,  0, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0002 (fls 2) */
2697 	{ 0x0002,  1, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0004 (fls 3) */
2698 	{ 0x0004,  2, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0008 (fls 4) */
2699 	{ 0x0016,  4, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0010 (fls 5) */
2700 	{ 0x0020,  5, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0020 (fls 6) */
2701 	{ 0x0040,  6, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0040 (fls 7) */
2702 	{ 0x0080,  6, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0080 (fls 8) */
2703 	{ 0x0100,  7, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0100 (fls 9) */
2704 	{ 0x0007,  0, 0xE7, 0xF8, 0xEC, 0xFA }, /* field == 0x0200 (fls 10) */
2705 	{ 0x0070,  4, 0xE7, 0xF8, 0xEC, 0xFA }, /* field == 0x0400 (fls 11) */
2706 	{ 0xE000, 13, 0xE7, 0x7A, 0xEC, 0x7D }, /* field == 0x0800 (fls 12) */
2707 	{ 0xFFFF,  0, 0xE7, 0x7B, 0xEC, 0x7E }, /* field == 0x1000 (fls 13) */
2708 	{ 0xFFFF,  0, 0xE7, 0x7C, 0xEC, 0x7F }, /* field == 0x2000 (fls 14) */
2709 	{ 0x00C0,  6, 0xE7, 0xF9, 0xEC, 0xFB }  /* field == 0x4000 (fls 15) */
2710 };
2711 
2712 struct nphy_gain_ctl_workaround_entry nphy_gain_ctl_workaround[2][3] = {
2713 	{ /* 2GHz */
2714 		{ /* PHY rev 3 */
2715 			{ 7, 11, 16, 23 },
2716 			{ -5, 6, 10, 14 },
2717 			{ 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA },
2718 			{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 },
2719 			0x627E,
2720 			{ 0x613F, 0x613F, 0x613F, 0x613F },
2721 			0x107E, 0x0066, 0x0074,
2722 			0x18, 0x18, 0x18,
2723 			0x020D, 0x5,
2724 		},
2725 		{ /* PHY rev 4 */
2726 			{ 8, 12, 17, 25 },
2727 			{ -5, 6, 10, 14 },
2728 			{ 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA },
2729 			{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 },
2730 			0x527E,
2731 			{ 0x513F, 0x513F, 0x513F, 0x513F },
2732 			0x007E, 0x0066, 0x0074,
2733 			0x18, 0x18, 0x18,
2734 			0x01A1, 0x5,
2735 		},
2736 		{ /* PHY rev 5+ */
2737 			{ 9, 13, 18, 26 },
2738 			{ -3, 7, 11, 16 },
2739 			{ 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA },
2740 			{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 },
2741 			0x427E, /* invalid for external LNA! */
2742 			{ 0x413F, 0x413F, 0x413F, 0x413F }, /* invalid for external LNA! */
2743 			0x1076, 0x0066, 0x106A,
2744 			0xC, 0xC, 0xC,
2745 			0x01D0, 0x5,
2746 		},
2747 	},
2748 	{ /* 5GHz */
2749 		{ /* PHY rev 3 */
2750 			{ 7, 11, 17, 23 },
2751 			{ -6, 2, 6, 10 },
2752 			{ 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13 },
2753 			{ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 },
2754 			0x52DE,
2755 			{ 0x516F, 0x516F, 0x516F, 0x516F },
2756 			0x00DE, 0x00CA, 0x00CC,
2757 			0x1E, 0x1E, 0x1E,
2758 			0x01A1, 25,
2759 		},
2760 		{ /* PHY rev 4 */
2761 			{ 8, 12, 18, 23 },
2762 			{ -5, 2, 6, 10 },
2763 			{ 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD },
2764 			{ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 },
2765 			0x629E,
2766 			{ 0x614F, 0x614F, 0x614F, 0x614F },
2767 			0x029E, 0x1084, 0x0086,
2768 			0x24, 0x24, 0x24,
2769 			0x0107, 25,
2770 		},
2771 		{ /* PHY rev 5+ */
2772 			{ 6, 10, 16, 21 },
2773 			{ -7, 0, 4, 8 },
2774 			{ 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD },
2775 			{ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 },
2776 			0x729E,
2777 			{ 0x714F, 0x714F, 0x714F, 0x714F },
2778 			0x029E, 0x2084, 0x2086,
2779 			0x24, 0x24, 0x24,
2780 			0x00A9, 25,
2781 		},
2782 	},
2783 };
2784 
assert_ntab_array_sizes(void)2785 static inline void assert_ntab_array_sizes(void)
2786 {
2787 #undef check
2788 #define check(table, size)	\
2789 	BUILD_BUG_ON(ARRAY_SIZE(b43_ntab_##table) != B43_NTAB_##size##_SIZE)
2790 
2791 	check(adjustpower0, C0_ADJPLT);
2792 	check(adjustpower1, C1_ADJPLT);
2793 	check(bdi, BDI);
2794 	check(channelest, CHANEST);
2795 	check(estimatepowerlt0, C0_ESTPLT);
2796 	check(estimatepowerlt1, C1_ESTPLT);
2797 	check(framelookup, FRAMELT);
2798 	check(framestruct, FRAMESTRUCT);
2799 	check(gainctl0, C0_GAINCTL);
2800 	check(gainctl1, C1_GAINCTL);
2801 	check(intlevel, INTLEVEL);
2802 	check(iqlt0, C0_IQLT);
2803 	check(iqlt1, C1_IQLT);
2804 	check(loftlt0, C0_LOFEEDTH);
2805 	check(loftlt1, C1_LOFEEDTH);
2806 	check(mcs, MCS);
2807 	check(noisevar10, NOISEVAR10);
2808 	check(noisevar11, NOISEVAR11);
2809 	check(pilot, PILOT);
2810 	check(pilotlt, PILOTLT);
2811 	check(tdi20a0, TDI20A0);
2812 	check(tdi20a1, TDI20A1);
2813 	check(tdi40a0, TDI40A0);
2814 	check(tdi40a1, TDI40A1);
2815 	check(tdtrn, TDTRN);
2816 	check(tmap, TMAP);
2817 
2818 #undef check
2819 }
2820 
b43_ntab_read(struct b43_wldev * dev,u32 offset)2821 u32 b43_ntab_read(struct b43_wldev *dev, u32 offset)
2822 {
2823 	u32 type, value;
2824 
2825 	type = offset & B43_NTAB_TYPEMASK;
2826 	offset &= ~B43_NTAB_TYPEMASK;
2827 	B43_WARN_ON(offset > 0xFFFF);
2828 
2829 	switch (type) {
2830 	case B43_NTAB_8BIT:
2831 		b43_phy_write(dev, B43_NPHY_TABLE_ADDR, offset);
2832 		value = b43_phy_read(dev, B43_NPHY_TABLE_DATALO) & 0xFF;
2833 		break;
2834 	case B43_NTAB_16BIT:
2835 		b43_phy_write(dev, B43_NPHY_TABLE_ADDR, offset);
2836 		value = b43_phy_read(dev, B43_NPHY_TABLE_DATALO);
2837 		break;
2838 	case B43_NTAB_32BIT:
2839 		b43_phy_write(dev, B43_NPHY_TABLE_ADDR, offset);
2840 		value = b43_phy_read(dev, B43_NPHY_TABLE_DATAHI);
2841 		value <<= 16;
2842 		value |= b43_phy_read(dev, B43_NPHY_TABLE_DATALO);
2843 		break;
2844 	default:
2845 		B43_WARN_ON(1);
2846 		value = 0;
2847 	}
2848 
2849 	return value;
2850 }
2851 
b43_ntab_read_bulk(struct b43_wldev * dev,u32 offset,unsigned int nr_elements,void * _data)2852 void b43_ntab_read_bulk(struct b43_wldev *dev, u32 offset,
2853 			 unsigned int nr_elements, void *_data)
2854 {
2855 	u32 type;
2856 	u8 *data = _data;
2857 	unsigned int i;
2858 
2859 	type = offset & B43_NTAB_TYPEMASK;
2860 	offset &= ~B43_NTAB_TYPEMASK;
2861 	B43_WARN_ON(offset > 0xFFFF);
2862 
2863 	b43_phy_write(dev, B43_NPHY_TABLE_ADDR, offset);
2864 
2865 	for (i = 0; i < nr_elements; i++) {
2866 		switch (type) {
2867 		case B43_NTAB_8BIT:
2868 			*data = b43_phy_read(dev, B43_NPHY_TABLE_DATALO) & 0xFF;
2869 			data++;
2870 			break;
2871 		case B43_NTAB_16BIT:
2872 			*((u16 *)data) = b43_phy_read(dev, B43_NPHY_TABLE_DATALO);
2873 			data += 2;
2874 			break;
2875 		case B43_NTAB_32BIT:
2876 			*((u32 *)data) = b43_phy_read(dev, B43_NPHY_TABLE_DATAHI);
2877 			*((u32 *)data) <<= 16;
2878 			*((u32 *)data) |= b43_phy_read(dev, B43_NPHY_TABLE_DATALO);
2879 			data += 4;
2880 			break;
2881 		default:
2882 			B43_WARN_ON(1);
2883 		}
2884 	}
2885 }
2886 
b43_ntab_write(struct b43_wldev * dev,u32 offset,u32 value)2887 void b43_ntab_write(struct b43_wldev *dev, u32 offset, u32 value)
2888 {
2889 	u32 type;
2890 
2891 	type = offset & B43_NTAB_TYPEMASK;
2892 	offset &= 0xFFFF;
2893 
2894 	switch (type) {
2895 	case B43_NTAB_8BIT:
2896 		B43_WARN_ON(value & ~0xFF);
2897 		b43_phy_write(dev, B43_NPHY_TABLE_ADDR, offset);
2898 		b43_phy_write(dev, B43_NPHY_TABLE_DATALO, value);
2899 		break;
2900 	case B43_NTAB_16BIT:
2901 		B43_WARN_ON(value & ~0xFFFF);
2902 		b43_phy_write(dev, B43_NPHY_TABLE_ADDR, offset);
2903 		b43_phy_write(dev, B43_NPHY_TABLE_DATALO, value);
2904 		break;
2905 	case B43_NTAB_32BIT:
2906 		b43_phy_write(dev, B43_NPHY_TABLE_ADDR, offset);
2907 		b43_phy_write(dev, B43_NPHY_TABLE_DATAHI, value >> 16);
2908 		b43_phy_write(dev, B43_NPHY_TABLE_DATALO, value & 0xFFFF);
2909 		break;
2910 	default:
2911 		B43_WARN_ON(1);
2912 	}
2913 
2914 	return;
2915 
2916 	/* Some compiletime assertions... */
2917 	assert_ntab_array_sizes();
2918 }
2919 
b43_ntab_write_bulk(struct b43_wldev * dev,u32 offset,unsigned int nr_elements,const void * _data)2920 void b43_ntab_write_bulk(struct b43_wldev *dev, u32 offset,
2921 			  unsigned int nr_elements, const void *_data)
2922 {
2923 	u32 type, value;
2924 	const u8 *data = _data;
2925 	unsigned int i;
2926 
2927 	type = offset & B43_NTAB_TYPEMASK;
2928 	offset &= ~B43_NTAB_TYPEMASK;
2929 	B43_WARN_ON(offset > 0xFFFF);
2930 
2931 	b43_phy_write(dev, B43_NPHY_TABLE_ADDR, offset);
2932 
2933 	for (i = 0; i < nr_elements; i++) {
2934 		switch (type) {
2935 		case B43_NTAB_8BIT:
2936 			value = *data;
2937 			data++;
2938 			B43_WARN_ON(value & ~0xFF);
2939 			b43_phy_write(dev, B43_NPHY_TABLE_DATALO, value);
2940 			break;
2941 		case B43_NTAB_16BIT:
2942 			value = *((u16 *)data);
2943 			data += 2;
2944 			B43_WARN_ON(value & ~0xFFFF);
2945 			b43_phy_write(dev, B43_NPHY_TABLE_DATALO, value);
2946 			break;
2947 		case B43_NTAB_32BIT:
2948 			value = *((u32 *)data);
2949 			data += 4;
2950 			b43_phy_write(dev, B43_NPHY_TABLE_DATAHI, value >> 16);
2951 			b43_phy_write(dev, B43_NPHY_TABLE_DATALO,
2952 					value & 0xFFFF);
2953 			break;
2954 		default:
2955 			B43_WARN_ON(1);
2956 		}
2957 	}
2958 }
2959 
2960 #define ntab_upload(dev, offset, data) do { \
2961 		b43_ntab_write_bulk(dev, offset, offset##_SIZE, data);	\
2962 	} while (0)
b43_nphy_rev0_1_2_tables_init(struct b43_wldev * dev)2963 void b43_nphy_rev0_1_2_tables_init(struct b43_wldev *dev)
2964 {
2965 	/* Static tables */
2966 	ntab_upload(dev, B43_NTAB_FRAMESTRUCT, b43_ntab_framestruct);
2967 	ntab_upload(dev, B43_NTAB_FRAMELT, b43_ntab_framelookup);
2968 	ntab_upload(dev, B43_NTAB_TMAP, b43_ntab_tmap);
2969 	ntab_upload(dev, B43_NTAB_TDTRN, b43_ntab_tdtrn);
2970 	ntab_upload(dev, B43_NTAB_INTLEVEL, b43_ntab_intlevel);
2971 	ntab_upload(dev, B43_NTAB_PILOT, b43_ntab_pilot);
2972 	ntab_upload(dev, B43_NTAB_TDI20A0, b43_ntab_tdi20a0);
2973 	ntab_upload(dev, B43_NTAB_TDI20A1, b43_ntab_tdi20a1);
2974 	ntab_upload(dev, B43_NTAB_TDI40A0, b43_ntab_tdi40a0);
2975 	ntab_upload(dev, B43_NTAB_TDI40A1, b43_ntab_tdi40a1);
2976 	ntab_upload(dev, B43_NTAB_CHANEST, b43_ntab_channelest);
2977 	ntab_upload(dev, B43_NTAB_MCS, b43_ntab_mcs);
2978 	ntab_upload(dev, B43_NTAB_NOISEVAR10, b43_ntab_noisevar10);
2979 	ntab_upload(dev, B43_NTAB_NOISEVAR11, b43_ntab_noisevar11);
2980 
2981 	/* Volatile tables */
2982 	ntab_upload(dev, B43_NTAB_BDI, b43_ntab_bdi);
2983 	ntab_upload(dev, B43_NTAB_PILOTLT, b43_ntab_pilotlt);
2984 	ntab_upload(dev, B43_NTAB_C0_GAINCTL, b43_ntab_gainctl0);
2985 	ntab_upload(dev, B43_NTAB_C1_GAINCTL, b43_ntab_gainctl1);
2986 	ntab_upload(dev, B43_NTAB_C0_ESTPLT, b43_ntab_estimatepowerlt0);
2987 	ntab_upload(dev, B43_NTAB_C1_ESTPLT, b43_ntab_estimatepowerlt1);
2988 	ntab_upload(dev, B43_NTAB_C0_ADJPLT, b43_ntab_adjustpower0);
2989 	ntab_upload(dev, B43_NTAB_C1_ADJPLT, b43_ntab_adjustpower1);
2990 	ntab_upload(dev, B43_NTAB_C0_IQLT, b43_ntab_iqlt0);
2991 	ntab_upload(dev, B43_NTAB_C1_IQLT, b43_ntab_iqlt1);
2992 	ntab_upload(dev, B43_NTAB_C0_LOFEEDTH, b43_ntab_loftlt0);
2993 	ntab_upload(dev, B43_NTAB_C1_LOFEEDTH, b43_ntab_loftlt1);
2994 }
2995 
2996 #define ntab_upload_r3(dev, offset, data) do { \
2997 		b43_ntab_write_bulk(dev, offset, ARRAY_SIZE(data), data); \
2998 	} while (0)
b43_nphy_rev3plus_tables_init(struct b43_wldev * dev)2999 void b43_nphy_rev3plus_tables_init(struct b43_wldev *dev)
3000 {
3001 	/* Static tables */
3002 	ntab_upload_r3(dev, B43_NTAB_FRAMESTRUCT_R3, b43_ntab_framestruct_r3);
3003 	ntab_upload_r3(dev, B43_NTAB_PILOT_R3, b43_ntab_pilot_r3);
3004 	ntab_upload_r3(dev, B43_NTAB_TMAP_R3, b43_ntab_tmap_r3);
3005 	ntab_upload_r3(dev, B43_NTAB_INTLEVEL_R3, b43_ntab_intlevel_r3);
3006 	ntab_upload_r3(dev, B43_NTAB_TDTRN_R3, b43_ntab_tdtrn_r3);
3007 	ntab_upload_r3(dev, B43_NTAB_NOISEVAR0_R3, b43_ntab_noisevar0_r3);
3008 	ntab_upload_r3(dev, B43_NTAB_NOISEVAR1_R3, b43_ntab_noisevar1_r3);
3009 	ntab_upload_r3(dev, B43_NTAB_MCS_R3, b43_ntab_mcs_r3);
3010 	ntab_upload_r3(dev, B43_NTAB_TDI20A0_R3, b43_ntab_tdi20a0_r3);
3011 	ntab_upload_r3(dev, B43_NTAB_TDI20A1_R3, b43_ntab_tdi20a1_r3);
3012 	ntab_upload_r3(dev, B43_NTAB_TDI40A0_R3, b43_ntab_tdi40a0_r3);
3013 	ntab_upload_r3(dev, B43_NTAB_TDI40A1_R3, b43_ntab_tdi40a1_r3);
3014 	ntab_upload_r3(dev, B43_NTAB_PILOTLT_R3, b43_ntab_pilotlt_r3);
3015 	ntab_upload_r3(dev, B43_NTAB_CHANEST_R3, b43_ntab_channelest_r3);
3016 	ntab_upload_r3(dev, B43_NTAB_FRAMELT_R3, b43_ntab_framelookup_r3);
3017 	ntab_upload_r3(dev, B43_NTAB_C0_ESTPLT_R3,
3018 		       b43_ntab_estimatepowerlt0_r3);
3019 	ntab_upload_r3(dev, B43_NTAB_C1_ESTPLT_R3,
3020 		       b43_ntab_estimatepowerlt1_r3);
3021 	ntab_upload_r3(dev, B43_NTAB_C0_ADJPLT_R3, b43_ntab_adjustpower0_r3);
3022 	ntab_upload_r3(dev, B43_NTAB_C1_ADJPLT_R3, b43_ntab_adjustpower1_r3);
3023 	ntab_upload_r3(dev, B43_NTAB_C0_GAINCTL_R3, b43_ntab_gainctl0_r3);
3024 	ntab_upload_r3(dev, B43_NTAB_C1_GAINCTL_R3, b43_ntab_gainctl1_r3);
3025 	ntab_upload_r3(dev, B43_NTAB_C0_IQLT_R3, b43_ntab_iqlt0_r3);
3026 	ntab_upload_r3(dev, B43_NTAB_C1_IQLT_R3, b43_ntab_iqlt1_r3);
3027 	ntab_upload_r3(dev, B43_NTAB_C0_LOFEEDTH_R3, b43_ntab_loftlt0_r3);
3028 	ntab_upload_r3(dev, B43_NTAB_C1_LOFEEDTH_R3, b43_ntab_loftlt1_r3);
3029 
3030 	/* Volatile tables */
3031 	/* TODO */
3032 }
3033 
b43_nphy_get_gain_ctl_workaround_ent(struct b43_wldev * dev,bool ghz5,bool ext_lna)3034 struct nphy_gain_ctl_workaround_entry *b43_nphy_get_gain_ctl_workaround_ent(
3035 	struct b43_wldev *dev, bool ghz5, bool ext_lna)
3036 {
3037 	struct nphy_gain_ctl_workaround_entry *e;
3038 	u8 phy_idx;
3039 
3040 	B43_WARN_ON(dev->phy.rev < 3);
3041 	if (dev->phy.rev >= 5)
3042 		phy_idx = 2;
3043 	else if (dev->phy.rev == 4)
3044 		phy_idx = 1;
3045 	else
3046 		phy_idx = 0;
3047 
3048 	e = &nphy_gain_ctl_workaround[ghz5][phy_idx];
3049 
3050 	/* Only one entry differs for external LNA, so instead making whole
3051 	 * table 2 times bigger, hack is here
3052 	 */
3053 	if (!ghz5 && dev->phy.rev >= 5 && ext_lna) {
3054 		e->rfseq_init[0] &= 0x0FFF;
3055 		e->rfseq_init[1] &= 0x0FFF;
3056 		e->rfseq_init[2] &= 0x0FFF;
3057 		e->rfseq_init[3] &= 0x0FFF;
3058 		e->init_gain &= 0x0FFF;
3059 	}
3060 
3061 	return e;
3062 }
3063