42 static const u16 b43_lcntab_0x02[] = {
43 0x014d, 0x014d, 0x014d, 0x014d, 0x014d, 0x014d,
44 0x014d, 0x014d, 0x014d, 0x014d, 0x014d, 0x014d,
45 0x014d, 0x014d, 0x014d, 0x014d, 0x014d, 0x014d,
46 0x014d, 0x014d, 0x014d, 0x014d, 0x014d, 0x014d,
47 0x014d, 0x014d, 0x014d, 0x014d, 0x014d, 0x014d,
48 0x014d, 0x014d, 0x014d, 0x014d, 0x014d, 0x014d,
49 0x014d, 0x014d, 0x014d, 0x014d, 0x014d, 0x014d,
50 0x014d, 0x014d, 0x014d, 0x014d, 0x014d, 0x014d,
51 0x014d, 0x014d, 0x014d, 0x014d, 0x014d, 0x014d,
52 0x014d, 0x014d, 0x014d, 0x014d, 0x014d, 0x014d,
53 0x014d, 0x014d, 0x014d, 0x014d,
56 static const u16 b43_lcntab_0x01[] = {
57 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
58 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
59 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
60 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
61 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
62 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
63 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
64 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
65 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
66 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
67 0x0000, 0x0000, 0x0000, 0x0000,
70 static const u32 b43_lcntab_0x0b[] = {
71 0x000141f8, 0x000021f8, 0x000021fb, 0x000041fb,
72 0x0001fedb, 0x0000217b, 0x00002133, 0x000040eb,
73 0x0001fea3, 0x0000024b,
76 static const u32 b43_lcntab_0x0c[] = {
77 0x00100001, 0x00200010, 0x00300001, 0x00400010,
78 0x00500022, 0x00600122, 0x00700222, 0x00800322,
79 0x00900422, 0x00a00522, 0x00b00622, 0x00c00722,
80 0x00d00822, 0x00f00922, 0x00100a22, 0x00200b22,
81 0x00300c22, 0x00400d22, 0x00500e22, 0x00600f22,
84 static const u32 b43_lcntab_0x0d[] = {
85 0x00000000, 0x00000000, 0x10000000, 0x00000000,
86 0x20000000, 0x00000000, 0x30000000, 0x00000000,
87 0x40000000, 0x00000000, 0x50000000, 0x00000000,
88 0x60000000, 0x00000000, 0x70000000, 0x00000000,
89 0x80000000, 0x00000000, 0x90000000, 0x00000008,
90 0xa0000000, 0x00000008, 0xb0000000, 0x00000008,
91 0xc0000000, 0x00000008, 0xd0000000, 0x00000008,
92 0xe0000000, 0x00000008, 0xf0000000, 0x00000008,
93 0x00000000, 0x00000009, 0x10000000, 0x00000009,
94 0x20000000, 0x00000019, 0x30000000, 0x00000019,
95 0x40000000, 0x00000019, 0x50000000, 0x00000019,
96 0x60000000, 0x00000019, 0x70000000, 0x00000019,
97 0x80000000, 0x00000019, 0x90000000, 0x00000019,
98 0xa0000000, 0x00000019, 0xb0000000, 0x00000019,
99 0xc0000000, 0x00000019, 0xd0000000, 0x00000019,
100 0xe0000000, 0x00000019, 0xf0000000, 0x00000019,
101 0x00000000, 0x0000001a, 0x10000000, 0x0000001a,
102 0x20000000, 0x0000001a, 0x30000000, 0x0000001a,
103 0x40000000, 0x0000001a, 0x50000000, 0x00000002,
104 0x60000000, 0x00000002, 0x70000000, 0x00000002,
105 0x80000000, 0x00000002, 0x90000000, 0x00000002,
106 0xa0000000, 0x00000002, 0xb0000000, 0x00000002,
107 0xc0000000, 0x0000000a, 0xd0000000, 0x0000000a,
108 0xe0000000, 0x0000000a, 0xf0000000, 0x0000000a,
109 0x00000000, 0x0000000b, 0x10000000, 0x0000000b,
110 0x20000000, 0x0000000b, 0x30000000, 0x0000000b,
111 0x40000000, 0x0000000b, 0x50000000, 0x0000001b,
112 0x60000000, 0x0000001b, 0x70000000, 0x0000001b,
113 0x80000000, 0x0000001b, 0x90000000, 0x0000001b,
114 0xa0000000, 0x0000001b, 0xb0000000, 0x0000001b,
115 0xc0000000, 0x0000001b, 0xd0000000, 0x0000001b,
116 0xe0000000, 0x0000001b, 0xf0000000, 0x0000001b,
117 0x00000000, 0x0000001c, 0x10000000, 0x0000001c,
118 0x20000000, 0x0000001c, 0x30000000, 0x0000001c,
119 0x40000000, 0x0000001c, 0x50000000, 0x0000001c,
120 0x60000000, 0x0000001c, 0x70000000, 0x0000001c,
121 0x80000000, 0x0000001c, 0x90000000, 0x0000001c,
124 static const u16 b43_lcntab_0x0e[] = {
125 0x0401, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406,
126 0x0407, 0x0408, 0x0409, 0x040a, 0x058b, 0x058c,
127 0x058d, 0x058e, 0x058f, 0x0090, 0x0091, 0x0092,
128 0x0193, 0x0194, 0x0195, 0x0196, 0x0197, 0x0198,
129 0x0199, 0x019a, 0x019b, 0x019c, 0x019d, 0x019e,
130 0x019f, 0x01a0, 0x01a1, 0x01a2, 0x01a3, 0x01a4,
134 static const u16 b43_lcntab_0x0f[] = {
135 0x000a, 0x0009, 0x0006, 0x0005, 0x000a, 0x0009,
136 0x0006, 0x0005, 0x000a, 0x0009, 0x0006, 0x0005,
137 0x000a, 0x0009, 0x0006, 0x0005, 0x000a, 0x0009,
138 0x0006, 0x0005, 0x000a, 0x0009, 0x0006, 0x0005,
139 0x000a, 0x0009, 0x0006, 0x0005, 0x000a, 0x0009,
140 0x0006, 0x0005, 0x000a, 0x0009, 0x0006, 0x0005,
141 0x000a, 0x0009, 0x0006, 0x0005, 0x000a, 0x0009,
142 0x0006, 0x0005, 0x000a, 0x0009, 0x0006, 0x0005,
143 0x000a, 0x0009, 0x0006, 0x0005, 0x000a, 0x0009,
144 0x0006, 0x0005, 0x000a, 0x0009, 0x0006, 0x0005,
145 0x000a, 0x0009, 0x0006, 0x0005,
148 static const u16 b43_lcntab_0x10[] = {
149 0x005f, 0x0036, 0x0029, 0x001f, 0x005f, 0x0036,
150 0x0029, 0x001f, 0x005f, 0x0036, 0x0029, 0x001f,
151 0x005f, 0x0036, 0x0029, 0x001f,
154 static const u16 b43_lcntab_0x11[] = {
155 0x0009, 0x000f, 0x0014, 0x0018, 0x00fe, 0x0007,
156 0x000b, 0x000f, 0x00fb, 0x00fe, 0x0001, 0x0005,
157 0x0008, 0x000b, 0x000e, 0x0011, 0x0014, 0x0017,
158 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
159 0x0000, 0x0003, 0x0006, 0x0009, 0x000c, 0x000f,
160 0x0012, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
161 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0003,
162 0x0006, 0x0009, 0x000c, 0x000f, 0x0012, 0x0015,
163 0x0018, 0x001b, 0x0000, 0x0000, 0x0000, 0x0000,
164 0x0000, 0x0000, 0x0003, 0x00eb, 0x0000, 0x0000,
167 static const u32 b43_lcntab_0x12[] = {
168 0x00000000, 0x00000000, 0x00000000, 0x00000000,
169 0x00000000, 0x00000000, 0x00000000, 0x00000000,
170 0x00000004, 0x00000000, 0x00000004, 0x00000008,
171 0x00000001, 0x00000005, 0x00000009, 0x0000000d,
172 0x0000004d, 0x0000008d, 0x0000000d, 0x0000004d,
173 0x0000008d, 0x000000cd, 0x0000004f, 0x0000008f,
174 0x000000cf, 0x000000d3, 0x00000113, 0x00000513,
175 0x00000913, 0x00000953, 0x00000d53, 0x00001153,
176 0x00001193, 0x00005193, 0x00009193, 0x0000d193,
177 0x00011193, 0x00000000, 0x00000000, 0x00000000,
178 0x00000000, 0x00000000, 0x00000000, 0x00000004,
179 0x00000000, 0x00000004, 0x00000008, 0x00000001,
180 0x00000005, 0x00000009, 0x0000000d, 0x0000004d,
181 0x0000008d, 0x0000000d, 0x0000004d, 0x0000008d,
182 0x000000cd, 0x0000004f, 0x0000008f, 0x000000cf,
183 0x000000d3, 0x00000113, 0x00000513, 0x00000913,
184 0x00000953, 0x00000d53, 0x00001153, 0x00005153,
185 0x00009153, 0x0000d153, 0x00011153, 0x00015153,
186 0x00019153, 0x0001d153, 0x00000000, 0x00000000,
187 0x00000000, 0x00000000, 0x00000000, 0x00000000,
188 0x00000000, 0x00000000, 0x00000000, 0x00000000,
189 0x00000000, 0x00000000, 0x00000000, 0x00000000,
190 0x00000000, 0x00000000, 0x00000000, 0x00000000,
191 0x00000000, 0x00000000, 0x00000000, 0x00000000,
194 static const u16 b43_lcntab_0x14[] = {
195 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
196 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
197 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
198 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
199 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
200 0x0002, 0x0003, 0x0001, 0x0003, 0x0002, 0x0001,
201 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
202 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
203 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
204 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
205 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
206 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
207 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
208 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
209 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
210 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0003,
211 0x0001, 0x0003, 0x0002, 0x0001, 0x0001, 0x0001,
212 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
213 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
214 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
215 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
219 static const u16 b43_lcntab_0x17[] = {
220 0x001a, 0x0034, 0x004e, 0x0068, 0x009c, 0x00d0,
221 0x00ea, 0x0104, 0x0034, 0x0068, 0x009c, 0x00d0,
222 0x0138, 0x01a0, 0x01d4, 0x0208, 0x004e, 0x009c,
223 0x00ea, 0x0138, 0x01d4, 0x0270, 0x02be, 0x030c,
224 0x0068, 0x00d0, 0x0138, 0x01a0, 0x0270, 0x0340,
225 0x03a8, 0x0410, 0x0018, 0x009c, 0x00d0, 0x0104,
226 0x00ea, 0x0138, 0x0186, 0x00d0, 0x0104, 0x0104,
227 0x0138, 0x016c, 0x016c, 0x01a0, 0x0138, 0x0186,
228 0x0186, 0x01d4, 0x0222, 0x0222, 0x0270, 0x0104,
229 0x0138, 0x016c, 0x0138, 0x016c, 0x01a0, 0x01d4,
230 0x01a0, 0x01d4, 0x0208, 0x0208, 0x023c, 0x0186,
231 0x01d4, 0x0222, 0x01d4, 0x0222, 0x0270, 0x02be,
232 0x0270, 0x02be, 0x030c, 0x030c, 0x035a, 0x0036,
233 0x006c, 0x00a2, 0x00d8, 0x0144, 0x01b0, 0x01e6,
234 0x021c, 0x006c, 0x00d8, 0x0144, 0x01b0, 0x0288,
235 0x0360, 0x03cc, 0x0438, 0x00a2, 0x0144, 0x01e6,
236 0x0288, 0x03cc, 0x0510, 0x05b2, 0x0654, 0x00d8,
237 0x01b0, 0x0288, 0x0360, 0x0510, 0x06c0, 0x0798,
238 0x0870, 0x0018, 0x0144, 0x01b0, 0x021c, 0x01e6,
239 0x0288, 0x032a, 0x01b0, 0x021c, 0x021c, 0x0288,
240 0x02f4, 0x02f4, 0x0360, 0x0288, 0x032a, 0x032a,
241 0x03cc, 0x046e, 0x046e, 0x0510, 0x021c, 0x0288,
242 0x02f4, 0x0288, 0x02f4, 0x0360, 0x03cc, 0x0360,
243 0x03cc, 0x0438, 0x0438, 0x04a4, 0x032a, 0x03cc,
244 0x046e, 0x03cc, 0x046e, 0x0510, 0x05b2, 0x0510,
245 0x05b2, 0x0654, 0x0654, 0x06f6,
248 static const u16 b43_lcntab_0x00[] = {
249 0x0200, 0x0300, 0x0400, 0x0600, 0x0800, 0x0b00,
250 0x1000, 0x1001, 0x1002, 0x1003, 0x1004, 0x1005,
251 0x1006, 0x1007, 0x1707, 0x2007, 0x2d07, 0x4007,
252 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
253 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
254 0x0000, 0x0000, 0x0200, 0x0300, 0x0400, 0x0600,
255 0x0800, 0x0b00, 0x1000, 0x1001, 0x1002, 0x1003,
256 0x1004, 0x1005, 0x1006, 0x1007, 0x1707, 0x2007,
257 0x2d07, 0x4007, 0x0000, 0x0000, 0x0000, 0x0000,
258 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
259 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
260 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
261 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
262 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
263 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000,
264 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
265 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
266 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
269 static const u32 b43_lcntab_0x18[] = {
270 0x00080000, 0x00080000, 0x00080000, 0x00080000,
271 0x00080000, 0x00080000, 0x00080000, 0x00080000,
272 0x00080000, 0x00080000, 0x00080000, 0x00080000,
273 0x00080000, 0x00080000, 0x00080000, 0x00080000,
274 0x00080000, 0x00080000, 0x00080000, 0x00080000,
275 0x00080000, 0x00080000, 0x00080000, 0x00080000,
276 0x00080000, 0x00080000, 0x00080000, 0x00080000,
277 0x00080000, 0x00080000, 0x00080000, 0x00080000,
278 0x00080000, 0x00080000, 0x00080000, 0x00080000,
279 0x00080000, 0x00080000, 0x00080000, 0x00080000,
280 0x00080000, 0x00080000, 0x00080000, 0x00080000,
281 0x00080000, 0x00080000, 0x00080000, 0x00080000,
282 0x00080000, 0x00080000, 0x00080000, 0x00080000,
283 0x00080000, 0x00080000, 0x00080000, 0x00080000,
284 0x00080000, 0x00080000, 0x00080000, 0x00080000,
285 0x00080000, 0x00080000, 0x00080000, 0x00080000,
286 0x00080000, 0x00080000, 0x00080000, 0x00080000,
287 0x00080000, 0x00080000, 0x00080000, 0x00080000,
288 0x00080000, 0x00080000, 0x00080000, 0x00080000,
289 0x00080000, 0x00080000, 0x00080000, 0x00080000,
290 0x00080000, 0x00080000, 0x00080000, 0x00080000,
291 0x00080000, 0x00080000, 0x00080000, 0x00080000,
292 0x00080000, 0x00080000, 0x00080000, 0x00080000,
293 0x00080000, 0x00080000, 0x00080000, 0x00080000,
294 0x00080000, 0x00080000, 0x00080000, 0x00080000,
295 0x00080000, 0x00080000, 0x00080000, 0x00080000,
296 0x00080000, 0x00080000, 0x00080000, 0x00080000,
297 0x00080000, 0x00080000, 0x00080000, 0x00080000,
298 0x00080000, 0x00080000, 0x00080000, 0x00080000,
299 0x00080000, 0x00080000, 0x00080000, 0x00080000,
300 0x00080000, 0x00080000, 0x00080000, 0x00080000,
301 0x00080000, 0x00080000, 0x00080000, 0x00080000,
302 0x00080000, 0x00080000, 0x00080000, 0x00080000,
303 0x00080000, 0x00080000, 0x00080000, 0x00080000,
304 0x00080000, 0x00080000, 0x00080000, 0x00080000,
305 0x00080000, 0x00080000, 0x00080000, 0x00080000,
306 0x00080000, 0x00080000, 0x00080000, 0x00080000,
307 0x00080000, 0x00080000, 0x00080000, 0x00080000,
308 0x00080000, 0x00080000, 0x00080000, 0x00080000,
309 0x00080000, 0x00080000, 0x00080000, 0x00080000,
318 { 0x03, 0x00, 0x1f, 0x0, 0x48 },
319 { 0x03, 0x00, 0x1f, 0x0, 0x46 },
320 { 0x03, 0x00, 0x1f, 0x0, 0x44 },
321 { 0x03, 0x00, 0x1e, 0x0, 0x43 },
322 { 0x03, 0x00, 0x1d, 0x0, 0x44 },
323 { 0x03, 0x00, 0x1c, 0x0, 0x44 },
324 { 0x03, 0x00, 0x1b, 0x0, 0x45 },
325 { 0x03, 0x00, 0x1a, 0x0, 0x46 },
326 { 0x03, 0x00, 0x19, 0x0, 0x46 },
327 { 0x03, 0x00, 0x18, 0x0, 0x47 },
328 { 0x03, 0x00, 0x17, 0x0, 0x48 },
329 { 0x03, 0x00, 0x17, 0x0, 0x46 },
330 { 0x03, 0x00, 0x16, 0x0, 0x47 },
331 { 0x03, 0x00, 0x15, 0x0, 0x48 },
332 { 0x03, 0x00, 0x15, 0x0, 0x46 },
333 { 0x03, 0x00, 0x15, 0x0, 0x44 },
334 { 0x03, 0x00, 0x15, 0x0, 0x42 },
335 { 0x03, 0x00, 0x15, 0x0, 0x40 },
336 { 0x03, 0x00, 0x15, 0x0, 0x3f },
337 { 0x03, 0x00, 0x14, 0x0, 0x40 },
338 { 0x03, 0x00, 0x13, 0x0, 0x41 },
339 { 0x03, 0x00, 0x13, 0x0, 0x40 },
340 { 0x03, 0x00, 0x12, 0x0, 0x41 },
341 { 0x03, 0x00, 0x12, 0x0, 0x40 },
342 { 0x03, 0x00, 0x11, 0x0, 0x41 },
343 { 0x03, 0x00, 0x11, 0x0, 0x40 },
344 { 0x03, 0x00, 0x10, 0x0, 0x41 },
345 { 0x03, 0x00, 0x10, 0x0, 0x40 },
346 { 0x03, 0x00, 0x10, 0x0, 0x3e },
347 { 0x03, 0x00, 0x10, 0x0, 0x3c },
348 { 0x03, 0x00, 0x10, 0x0, 0x3a },
349 { 0x03, 0x00, 0x0f, 0x0, 0x3d },
350 { 0x03, 0x00, 0x0f, 0x0, 0x3b },
351 { 0x03, 0x00, 0x0e, 0x0, 0x3d },
352 { 0x03, 0x00, 0x0e, 0x0, 0x3c },
353 { 0x03, 0x00, 0x0e, 0x0, 0x3a },
354 { 0x03, 0x00, 0x0d, 0x0, 0x3c },
355 { 0x03, 0x00, 0x0d, 0x0, 0x3b },
356 { 0x03, 0x00, 0x0c, 0x0, 0x3e },
357 { 0x03, 0x00, 0x0c, 0x0, 0x3c },
358 { 0x03, 0x00, 0x0c, 0x0, 0x3a },
359 { 0x03, 0x00, 0x0b, 0x0, 0x3e },
360 { 0x03, 0x00, 0x0b, 0x0, 0x3c },
361 { 0x03, 0x00, 0x0b, 0x0, 0x3b },
362 { 0x03, 0x00, 0x0b, 0x0, 0x39 },
363 { 0x03, 0x00, 0x0a, 0x0, 0x3d },
364 { 0x03, 0x00, 0x0a, 0x0, 0x3b },
365 { 0x03, 0x00, 0x0a, 0x0, 0x39 },
366 { 0x03, 0x00, 0x09, 0x0, 0x3e },
367 { 0x03, 0x00, 0x09, 0x0, 0x3c },
368 { 0x03, 0x00, 0x09, 0x0, 0x3a },
369 { 0x03, 0x00, 0x09, 0x0, 0x39 },
370 { 0x03, 0x00, 0x08, 0x0, 0x3e },
371 { 0x03, 0x00, 0x08, 0x0, 0x3c },
372 { 0x03, 0x00, 0x08, 0x0, 0x3a },
373 { 0x03, 0x00, 0x08, 0x0, 0x39 },
374 { 0x03, 0x00, 0x08, 0x0, 0x37 },
375 { 0x03, 0x00, 0x07, 0x0, 0x3d },
376 { 0x03, 0x00, 0x07, 0x0, 0x3c },
377 { 0x03, 0x00, 0x07, 0x0, 0x3a },
378 { 0x03, 0x00, 0x07, 0x0, 0x38 },
379 { 0x03, 0x00, 0x07, 0x0, 0x37 },
380 { 0x03, 0x00, 0x06, 0x0, 0x3e },
381 { 0x03, 0x00, 0x06, 0x0, 0x3c },
382 { 0x03, 0x00, 0x06, 0x0, 0x3a },
383 { 0x03, 0x00, 0x06, 0x0, 0x39 },
384 { 0x03, 0x00, 0x06, 0x0, 0x37 },
385 { 0x03, 0x00, 0x06, 0x0, 0x36 },
386 { 0x03, 0x00, 0x06, 0x0, 0x34 },
387 { 0x03, 0x00, 0x05, 0x0, 0x3d },
388 { 0x03, 0x00, 0x05, 0x0, 0x3b },
389 { 0x03, 0x00, 0x05, 0x0, 0x39 },
390 { 0x03, 0x00, 0x05, 0x0, 0x38 },
391 { 0x03, 0x00, 0x05, 0x0, 0x36 },
392 { 0x03, 0x00, 0x05, 0x0, 0x35 },
393 { 0x03, 0x00, 0x05, 0x0, 0x33 },
394 { 0x03, 0x00, 0x04, 0x0, 0x3e },
395 { 0x03, 0x00, 0x04, 0x0, 0x3c },
396 { 0x03, 0x00, 0x04, 0x0, 0x3a },
397 { 0x03, 0x00, 0x04, 0x0, 0x39 },
398 { 0x03, 0x00, 0x04, 0x0, 0x37 },
399 { 0x03, 0x00, 0x04, 0x0, 0x36 },
400 { 0x03, 0x00, 0x04, 0x0, 0x34 },
401 { 0x03, 0x00, 0x04, 0x0, 0x33 },
402 { 0x03, 0x00, 0x04, 0x0, 0x31 },
403 { 0x03, 0x00, 0x04, 0x0, 0x30 },
404 { 0x03, 0x00, 0x04, 0x0, 0x2e },
405 { 0x03, 0x00, 0x03, 0x0, 0x3c },
406 { 0x03, 0x00, 0x03, 0x0, 0x3a },
407 { 0x03, 0x00, 0x03, 0x0, 0x39 },
408 { 0x03, 0x00, 0x03, 0x0, 0x37 },
409 { 0x03, 0x00, 0x03, 0x0, 0x36 },
410 { 0x03, 0x00, 0x03, 0x0, 0x34 },
411 { 0x03, 0x00, 0x03, 0x0, 0x33 },
412 { 0x03, 0x00, 0x03, 0x0, 0x31 },
413 { 0x03, 0x00, 0x03, 0x0, 0x30 },
414 { 0x03, 0x00, 0x03, 0x0, 0x2e },
415 { 0x03, 0x00, 0x03, 0x0, 0x2d },
416 { 0x03, 0x00, 0x03, 0x0, 0x2c },
417 { 0x03, 0x00, 0x03, 0x0, 0x2b },
418 { 0x03, 0x00, 0x03, 0x0, 0x29 },
419 { 0x03, 0x00, 0x02, 0x0, 0x3d },
420 { 0x03, 0x00, 0x02, 0x0, 0x3b },
421 { 0x03, 0x00, 0x02, 0x0, 0x39 },
422 { 0x03, 0x00, 0x02, 0x0, 0x38 },
423 { 0x03, 0x00, 0x02, 0x0, 0x36 },
424 { 0x03, 0x00, 0x02, 0x0, 0x35 },
425 { 0x03, 0x00, 0x02, 0x0, 0x33 },
426 { 0x03, 0x00, 0x02, 0x0, 0x32 },
427 { 0x03, 0x00, 0x02, 0x0, 0x30 },
428 { 0x03, 0x00, 0x02, 0x0, 0x2f },
429 { 0x03, 0x00, 0x02, 0x0, 0x2e },
430 { 0x03, 0x00, 0x02, 0x0, 0x2c },
431 { 0x03, 0x00, 0x02, 0x0, 0x2b },
432 { 0x03, 0x00, 0x02, 0x0, 0x2a },
433 { 0x03, 0x00, 0x02, 0x0, 0x29 },
434 { 0x03, 0x00, 0x02, 0x0, 0x27 },
435 { 0x03, 0x00, 0x02, 0x0, 0x26 },
436 { 0x03, 0x00, 0x02, 0x0, 0x25 },
437 { 0x03, 0x00, 0x02, 0x0, 0x24 },
438 { 0x03, 0x00, 0x02, 0x0, 0x23 },
439 { 0x03, 0x00, 0x02, 0x0, 0x22 },
440 { 0x03, 0x00, 0x02, 0x0, 0x21 },
441 { 0x03, 0x00, 0x02, 0x0, 0x20 },
442 { 0x03, 0x00, 0x01, 0x0, 0x3f },
443 { 0x03, 0x00, 0x01, 0x0, 0x3d },
444 { 0x03, 0x00, 0x01, 0x0, 0x3b },
445 { 0x03, 0x00, 0x01, 0x0, 0x39 },
453 0x0002, 0x0008, 0x0004, 0x0001, 0x0002, 0x0008,
454 0x0004, 0x0001, 0x0002, 0x0008, 0x0004, 0x0001,
455 0x0002, 0x0008, 0x0004, 0x0001, 0x0002, 0x0008,
456 0x0004, 0x0001, 0x0002, 0x0008, 0x0004, 0x0001,
457 0x0002, 0x0008, 0x0004, 0x0001, 0x0002, 0x0008,
458 0x0004, 0x0001, 0x0002, 0x0008, 0x0004, 0x0001,
459 0x0002, 0x0008, 0x0004, 0x0001, 0x0002, 0x0008,
460 0x0004, 0x0001, 0x0002, 0x0008, 0x0004, 0x0001,
461 0x0002, 0x0008, 0x0004, 0x0001, 0x0002, 0x0008,
462 0x0004, 0x0001, 0x0002, 0x0008, 0x0004, 0x0001,
463 0x0002, 0x0008, 0x0004, 0x0001,
475 offset &= ~B43_LCNTAB_TYPEMASK;
501 unsigned int nr_elements,
void *_data)
508 offset &= ~B43_LCNTAB_TYPEMASK;
513 for (i = 0; i < nr_elements; i++) {
569 unsigned int nr_elements,
const void *_data)
576 offset &= ~B43_LCNTAB_TYPEMASK;
581 for (i = 0; i < nr_elements; i++) {
590 value = *((
u16 *)data);
596 value = *((
u32 *)data);
613 #define lcntab_upload(dev, offset, data) do { \
614 b43_lcntab_write_bulk(dev, offset, ARRAY_SIZE(data), data); \
616 static void b43_phy_lcn_upload_static_tables(
struct b43_wldev *
dev)
645 val = ((pa_gain << 24) |
646 (gain_table[i].
pad << 16) |
647 (gain_table[
i].
pga << 8) |
654 val |= ((gain_table[
i].
dac << 28) |
655 (gain_table[i].
bb_mult << 20));
661 static void b43_phy_lcn_load_rfpower(
struct b43_wldev *
dev)
666 for (i = 0; i < 128; i++) {
678 static void b43_phy_lcn_rewrite_rfpower_table(
struct b43_wldev *dev)
682 for (i = 0; i < 128; i++) {
689 static void b43_phy_lcn_clean_papd_comp_table(
struct b43_wldev *dev)
693 for (i = 0; i < 0x80; i++)
702 b43_phy_lcn_upload_static_tables(dev);
707 b43_lcntab_tx_gain_tbl_2ghz_ext_pa_rev0);
710 "TX gain table unknown for this card\n");
719 b43err(dev->
wl,
"SW ctl table is unknown for this card\n");
721 b43_phy_lcn_load_rfpower(dev);
722 b43_phy_lcn_rewrite_rfpower_table(dev);
723 b43_phy_lcn_clean_papd_comp_table(dev);