Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
phytbl_lcn.c
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2010 Broadcom Corporation
3  *
4  * Permission to use, copy, modify, and/or distribute this software for any
5  * purpose with or without fee is hereby granted, provided that the above
6  * copyright notice and this permission notice appear in all copies.
7  *
8  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
11  * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
13  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
14  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15  */
16 
17 #include <types.h>
18 #include "phytbl_lcn.h"
19 
20 static const u32 dot11lcn_gain_tbl_rev0[] = {
21  0x00000000,
22  0x00000000,
23  0x00000000,
24  0x00000000,
25  0x00000000,
26  0x00000000,
27  0x00000000,
28  0x00000000,
29  0x00000004,
30  0x00000000,
31  0x00000004,
32  0x00000008,
33  0x00000001,
34  0x00000005,
35  0x00000009,
36  0x0000000d,
37  0x0000004d,
38  0x0000008d,
39  0x0000000d,
40  0x0000004d,
41  0x0000008d,
42  0x000000cd,
43  0x0000004f,
44  0x0000008f,
45  0x000000cf,
46  0x000000d3,
47  0x00000113,
48  0x00000513,
49  0x00000913,
50  0x00000953,
51  0x00000d53,
52  0x00001153,
53  0x00001193,
54  0x00005193,
55  0x00009193,
56  0x0000d193,
57  0x00011193,
58  0x00000000,
59  0x00000000,
60  0x00000000,
61  0x00000000,
62  0x00000000,
63  0x00000000,
64  0x00000004,
65  0x00000000,
66  0x00000004,
67  0x00000008,
68  0x00000001,
69  0x00000005,
70  0x00000009,
71  0x0000000d,
72  0x0000004d,
73  0x0000008d,
74  0x0000000d,
75  0x0000004d,
76  0x0000008d,
77  0x000000cd,
78  0x0000004f,
79  0x0000008f,
80  0x000000cf,
81  0x000000d3,
82  0x00000113,
83  0x00000513,
84  0x00000913,
85  0x00000953,
86  0x00000d53,
87  0x00001153,
88  0x00005153,
89  0x00009153,
90  0x0000d153,
91  0x00011153,
92  0x00015153,
93  0x00019153,
94  0x0001d153,
95  0x00000000,
96  0x00000000,
97  0x00000000,
98  0x00000000,
99  0x00000000,
100  0x00000000,
101  0x00000000,
102  0x00000000,
103  0x00000000,
104  0x00000000,
105  0x00000000,
106  0x00000000,
107  0x00000000,
108  0x00000000,
109  0x00000000,
110  0x00000000,
111  0x00000000,
112  0x00000000,
113  0x00000000,
114  0x00000000,
115  0x00000000,
116  0x00000000,
117 };
118 
119 static const u32 dot11lcn_gain_tbl_rev1[] = {
120  0x00000000,
121  0x00000000,
122  0x00000000,
123  0x00000000,
124  0x00000000,
125  0x00000000,
126  0x00000000,
127  0x00000000,
128  0x00000008,
129  0x00000004,
130  0x00000008,
131  0x00000001,
132  0x00000005,
133  0x00000009,
134  0x0000000D,
135  0x00000011,
136  0x00000051,
137  0x00000091,
138  0x00000011,
139  0x00000051,
140  0x00000091,
141  0x000000d1,
142  0x00000053,
143  0x00000093,
144  0x000000d3,
145  0x000000d7,
146  0x00000117,
147  0x00000517,
148  0x00000917,
149  0x00000957,
150  0x00000d57,
151  0x00001157,
152  0x00001197,
153  0x00005197,
154  0x00009197,
155  0x0000d197,
156  0x00011197,
157  0x00000000,
158  0x00000000,
159  0x00000000,
160  0x00000000,
161  0x00000000,
162  0x00000000,
163  0x00000008,
164  0x00000004,
165  0x00000008,
166  0x00000001,
167  0x00000005,
168  0x00000009,
169  0x0000000D,
170  0x00000011,
171  0x00000051,
172  0x00000091,
173  0x00000011,
174  0x00000051,
175  0x00000091,
176  0x000000d1,
177  0x00000053,
178  0x00000093,
179  0x000000d3,
180  0x000000d7,
181  0x00000117,
182  0x00000517,
183  0x00000917,
184  0x00000957,
185  0x00000d57,
186  0x00001157,
187  0x00005157,
188  0x00009157,
189  0x0000d157,
190  0x00011157,
191  0x00015157,
192  0x00019157,
193  0x0001d157,
194  0x00000000,
195  0x00000000,
196  0x00000000,
197  0x00000000,
198  0x00000000,
199  0x00000000,
200  0x00000000,
201  0x00000000,
202  0x00000000,
203  0x00000000,
204  0x00000000,
205  0x00000000,
206  0x00000000,
207  0x00000000,
208  0x00000000,
209  0x00000000,
210  0x00000000,
211  0x00000000,
212  0x00000000,
213  0x00000000,
214  0x00000000,
215  0x00000000,
216 };
217 
218 static const u16 dot11lcn_aux_gain_idx_tbl_rev0[] = {
219  0x0401,
220  0x0402,
221  0x0403,
222  0x0404,
223  0x0405,
224  0x0406,
225  0x0407,
226  0x0408,
227  0x0409,
228  0x040a,
229  0x058b,
230  0x058c,
231  0x058d,
232  0x058e,
233  0x058f,
234  0x0090,
235  0x0091,
236  0x0092,
237  0x0193,
238  0x0194,
239  0x0195,
240  0x0196,
241  0x0197,
242  0x0198,
243  0x0199,
244  0x019a,
245  0x019b,
246  0x019c,
247  0x019d,
248  0x019e,
249  0x019f,
250  0x01a0,
251  0x01a1,
252  0x01a2,
253  0x01a3,
254  0x01a4,
255  0x01a5,
256  0x0000,
257 };
258 
259 static const u32 dot11lcn_gain_idx_tbl_rev0[] = {
260  0x00000000,
261  0x00000000,
262  0x10000000,
263  0x00000000,
264  0x20000000,
265  0x00000000,
266  0x30000000,
267  0x00000000,
268  0x40000000,
269  0x00000000,
270  0x50000000,
271  0x00000000,
272  0x60000000,
273  0x00000000,
274  0x70000000,
275  0x00000000,
276  0x80000000,
277  0x00000000,
278  0x90000000,
279  0x00000008,
280  0xa0000000,
281  0x00000008,
282  0xb0000000,
283  0x00000008,
284  0xc0000000,
285  0x00000008,
286  0xd0000000,
287  0x00000008,
288  0xe0000000,
289  0x00000008,
290  0xf0000000,
291  0x00000008,
292  0x00000000,
293  0x00000009,
294  0x10000000,
295  0x00000009,
296  0x20000000,
297  0x00000019,
298  0x30000000,
299  0x00000019,
300  0x40000000,
301  0x00000019,
302  0x50000000,
303  0x00000019,
304  0x60000000,
305  0x00000019,
306  0x70000000,
307  0x00000019,
308  0x80000000,
309  0x00000019,
310  0x90000000,
311  0x00000019,
312  0xa0000000,
313  0x00000019,
314  0xb0000000,
315  0x00000019,
316  0xc0000000,
317  0x00000019,
318  0xd0000000,
319  0x00000019,
320  0xe0000000,
321  0x00000019,
322  0xf0000000,
323  0x00000019,
324  0x00000000,
325  0x0000001a,
326  0x10000000,
327  0x0000001a,
328  0x20000000,
329  0x0000001a,
330  0x30000000,
331  0x0000001a,
332  0x40000000,
333  0x0000001a,
334  0x50000000,
335  0x00000002,
336  0x60000000,
337  0x00000002,
338  0x70000000,
339  0x00000002,
340  0x80000000,
341  0x00000002,
342  0x90000000,
343  0x00000002,
344  0xa0000000,
345  0x00000002,
346  0xb0000000,
347  0x00000002,
348  0xc0000000,
349  0x0000000a,
350  0xd0000000,
351  0x0000000a,
352  0xe0000000,
353  0x0000000a,
354  0xf0000000,
355  0x0000000a,
356  0x00000000,
357  0x0000000b,
358  0x10000000,
359  0x0000000b,
360  0x20000000,
361  0x0000000b,
362  0x30000000,
363  0x0000000b,
364  0x40000000,
365  0x0000000b,
366  0x50000000,
367  0x0000001b,
368  0x60000000,
369  0x0000001b,
370  0x70000000,
371  0x0000001b,
372  0x80000000,
373  0x0000001b,
374  0x90000000,
375  0x0000001b,
376  0xa0000000,
377  0x0000001b,
378  0xb0000000,
379  0x0000001b,
380  0xc0000000,
381  0x0000001b,
382  0xd0000000,
383  0x0000001b,
384  0xe0000000,
385  0x0000001b,
386  0xf0000000,
387  0x0000001b,
388  0x00000000,
389  0x0000001c,
390  0x10000000,
391  0x0000001c,
392  0x20000000,
393  0x0000001c,
394  0x30000000,
395  0x0000001c,
396  0x40000000,
397  0x0000001c,
398  0x50000000,
399  0x0000001c,
400  0x60000000,
401  0x0000001c,
402  0x70000000,
403  0x0000001c,
404  0x80000000,
405  0x0000001c,
406  0x90000000,
407  0x0000001c,
408 };
409 
410 static const u16 dot11lcn_aux_gain_idx_tbl_2G[] = {
411  0x0000,
412  0x0000,
413  0x0000,
414  0x0000,
415  0x0001,
416  0x0080,
417  0x0081,
418  0x0100,
419  0x0101,
420  0x0180,
421  0x0181,
422  0x0182,
423  0x0183,
424  0x0184,
425  0x0185,
426  0x0186,
427  0x0187,
428  0x0188,
429  0x0285,
430  0x0289,
431  0x028a,
432  0x028b,
433  0x028c,
434  0x028d,
435  0x028e,
436  0x028f,
437  0x0290,
438  0x0291,
439  0x0292,
440  0x0293,
441  0x0294,
442  0x0295,
443  0x0296,
444  0x0297,
445  0x0298,
446  0x0299,
447  0x029a,
448  0x0000
449 };
450 
451 static const u8 dot11lcn_gain_val_tbl_2G[] = {
452  0xfc,
453  0x02,
454  0x08,
455  0x0e,
456  0x13,
457  0x1b,
458  0xfc,
459  0x02,
460  0x08,
461  0x0e,
462  0x13,
463  0x1b,
464  0xfc,
465  0x00,
466  0x0c,
467  0x03,
468  0xeb,
469  0xfe,
470  0x07,
471  0x0b,
472  0x0f,
473  0xfb,
474  0xfe,
475  0x01,
476  0x05,
477  0x08,
478  0x0b,
479  0x0e,
480  0x11,
481  0x14,
482  0x17,
483  0x00,
484  0x00,
485  0x00,
486  0x00,
487  0x00,
488  0x00,
489  0x00,
490  0x03,
491  0x06,
492  0x09,
493  0x0c,
494  0x0f,
495  0x12,
496  0x00,
497  0x00,
498  0x00,
499  0x00,
500  0x00,
501  0x00,
502  0x00,
503  0x00,
504  0x00,
505  0x00,
506  0x03,
507  0x06,
508  0x09,
509  0x0c,
510  0x0f,
511  0x12,
512  0x15,
513  0x18,
514  0x1b,
515  0x00,
516  0x00,
517  0x00,
518  0x00,
519  0x00
520 };
521 
522 static const u32 dot11lcn_gain_idx_tbl_2G[] = {
523  0x00000000,
524  0x00000000,
525  0x00000000,
526  0x00000000,
527  0x00000000,
528  0x00000000,
529  0x00000000,
530  0x00000000,
531  0x10000000,
532  0x00000000,
533  0x00000000,
534  0x00000008,
535  0x10000000,
536  0x00000008,
537  0x00000000,
538  0x00000010,
539  0x10000000,
540  0x00000010,
541  0x00000000,
542  0x00000018,
543  0x10000000,
544  0x00000018,
545  0x20000000,
546  0x00000018,
547  0x30000000,
548  0x00000018,
549  0x40000000,
550  0x00000018,
551  0x50000000,
552  0x00000018,
553  0x60000000,
554  0x00000018,
555  0x70000000,
556  0x00000018,
557  0x80000000,
558  0x00000018,
559  0x50000000,
560  0x00000028,
561  0x90000000,
562  0x00000028,
563  0xa0000000,
564  0x00000028,
565  0xb0000000,
566  0x00000028,
567  0xc0000000,
568  0x00000028,
569  0xd0000000,
570  0x00000028,
571  0xe0000000,
572  0x00000028,
573  0xf0000000,
574  0x00000028,
575  0x00000000,
576  0x00000029,
577  0x10000000,
578  0x00000029,
579  0x20000000,
580  0x00000029,
581  0x30000000,
582  0x00000029,
583  0x40000000,
584  0x00000029,
585  0x50000000,
586  0x00000029,
587  0x60000000,
588  0x00000029,
589  0x70000000,
590  0x00000029,
591  0x80000000,
592  0x00000029,
593  0x90000000,
594  0x00000029,
595  0xa0000000,
596  0x00000029,
597  0x00000000,
598  0x00000000,
599  0x00000000,
600  0x00000000,
601  0x10000000,
602  0x00000000,
603  0x00000000,
604  0x00000008,
605  0x10000000,
606  0x00000008,
607  0x00000000,
608  0x00000010,
609  0x10000000,
610  0x00000010,
611  0x00000000,
612  0x00000018,
613  0x10000000,
614  0x00000018,
615  0x20000000,
616  0x00000018,
617  0x30000000,
618  0x00000018,
619  0x40000000,
620  0x00000018,
621  0x50000000,
622  0x00000018,
623  0x60000000,
624  0x00000018,
625  0x70000000,
626  0x00000018,
627  0x80000000,
628  0x00000018,
629  0x50000000,
630  0x00000028,
631  0x90000000,
632  0x00000028,
633  0xa0000000,
634  0x00000028,
635  0xb0000000,
636  0x00000028,
637  0xc0000000,
638  0x00000028,
639  0xd0000000,
640  0x00000028,
641  0xe0000000,
642  0x00000028,
643  0xf0000000,
644  0x00000028,
645  0x00000000,
646  0x00000029,
647  0x10000000,
648  0x00000029,
649  0x20000000,
650  0x00000029,
651  0x30000000,
652  0x00000029,
653  0x40000000,
654  0x00000029,
655  0x50000000,
656  0x00000029,
657  0x60000000,
658  0x00000029,
659  0x70000000,
660  0x00000029,
661  0x80000000,
662  0x00000029,
663  0x90000000,
664  0x00000029,
665  0xa0000000,
666  0x00000029,
667  0xb0000000,
668  0x00000029,
669  0xc0000000,
670  0x00000029,
671  0x00000000,
672  0x00000000,
673  0x00000000,
674  0x00000000
675 };
676 
677 static const u32 dot11lcn_gain_tbl_2G[] = {
678  0x00000000,
679  0x00000004,
680  0x00000008,
681  0x00000001,
682  0x00000005,
683  0x00000009,
684  0x0000000d,
685  0x0000004d,
686  0x0000008d,
687  0x00000049,
688  0x00000089,
689  0x000000c9,
690  0x0000004b,
691  0x0000008b,
692  0x000000cb,
693  0x000000cf,
694  0x0000010f,
695  0x0000050f,
696  0x0000090f,
697  0x0000094f,
698  0x00000d4f,
699  0x0000114f,
700  0x0000118f,
701  0x0000518f,
702  0x0000918f,
703  0x0000d18f,
704  0x0001118f,
705  0x0001518f,
706  0x0001918f,
707  0x00000000,
708  0x00000000,
709  0x00000000,
710  0x00000000,
711  0x00000000,
712  0x00000000,
713  0x00000000,
714  0x00000000,
715  0x00000000,
716  0x00000000,
717  0x00000000,
718  0x00000000,
719  0x00000000,
720  0x00000000,
721  0x00000000,
722  0x00000000,
723  0x00000000,
724  0x00000000,
725  0x00000000,
726  0x00000000,
727  0x00000000,
728  0x00000000,
729  0x00000000,
730  0x00000000,
731  0x00000000,
732  0x00000000,
733  0x00000000,
734  0x00000000,
735  0x00000000,
736  0x00000000,
737  0x00000000,
738  0x00000000,
739  0x00000000,
740  0x00000000,
741  0x00000000,
742  0x00000000,
743  0x00000000,
744  0x00000000,
745  0x00000000,
746  0x00000000,
747  0x00000000,
748  0x00000000,
749  0x00000000,
750  0x00000000,
751  0x00000000,
752  0x00000000,
753  0x00000000,
754  0x00000000,
755  0x00000000,
756  0x00000000,
757  0x00000000,
758  0x00000000,
759  0x00000000,
760  0x00000000,
761  0x00000000,
762  0x00000000,
763  0x00000000,
764  0x00000000,
765  0x00000000,
766  0x00000000,
767  0x00000000,
768  0x00000000,
769  0x00000000,
770  0x00000000,
771  0x00000000,
772  0x00000000,
773  0x00000000
774 };
775 
776 static const u32 dot11lcn_gain_tbl_extlna_2G[] = {
777  0x00000000,
778  0x00000004,
779  0x00000008,
780  0x00000001,
781  0x00000005,
782  0x00000009,
783  0x0000000d,
784  0x00000003,
785  0x00000007,
786  0x0000000b,
787  0x0000000f,
788  0x0000004f,
789  0x0000008f,
790  0x000000cf,
791  0x0000010f,
792  0x0000014f,
793  0x0000018f,
794  0x0000058f,
795  0x0000098f,
796  0x00000d8f,
797  0x00008000,
798  0x00008004,
799  0x00008008,
800  0x00008001,
801  0x00008005,
802  0x00008009,
803  0x0000800d,
804  0x00008003,
805  0x00008007,
806  0x0000800b,
807  0x0000800f,
808  0x0000804f,
809  0x0000808f,
810  0x000080cf,
811  0x0000810f,
812  0x0000814f,
813  0x0000818f,
814  0x0000858f,
815  0x0000898f,
816  0x00008d8f,
817  0x00000000,
818  0x00000000,
819  0x00000000,
820  0x00000000,
821  0x00000000,
822  0x00000000,
823  0x00000000,
824  0x00000000,
825  0x00000000,
826  0x00000000,
827  0x00000000,
828  0x00000000,
829  0x00000000,
830  0x00000000,
831  0x00000000,
832  0x00000000,
833  0x00000000,
834  0x00000000,
835  0x00000000,
836  0x00000000,
837  0x00000000,
838  0x00000000,
839  0x00000000,
840  0x00000000,
841  0x00000000,
842  0x00000000,
843  0x00000000,
844  0x00000000,
845  0x00000000,
846  0x00000000,
847  0x00000000,
848  0x00000000,
849  0x00000000,
850  0x00000000,
851  0x00000000,
852  0x00000000,
853  0x00000000,
854  0x00000000,
855  0x00000000,
856  0x00000000,
857  0x00000000,
858  0x00000000,
859  0x00000000,
860  0x00000000,
861  0x00000000,
862  0x00000000,
863  0x00000000,
864  0x00000000,
865  0x00000000,
866  0x00000000,
867  0x00000000,
868  0x00000000,
869  0x00000000,
870  0x00000000,
871  0x00000000,
872  0x00000000
873 };
874 
875 static const u16 dot11lcn_aux_gain_idx_tbl_extlna_2G[] = {
876  0x0400,
877  0x0400,
878  0x0400,
879  0x0400,
880  0x0400,
881  0x0400,
882  0x0400,
883  0x0400,
884  0x0400,
885  0x0401,
886  0x0402,
887  0x0403,
888  0x0404,
889  0x0483,
890  0x0484,
891  0x0485,
892  0x0486,
893  0x0583,
894  0x0584,
895  0x0585,
896  0x0587,
897  0x0588,
898  0x0589,
899  0x058a,
900  0x0687,
901  0x0688,
902  0x0689,
903  0x068a,
904  0x068b,
905  0x068c,
906  0x068d,
907  0x068e,
908  0x068f,
909  0x0690,
910  0x0691,
911  0x0692,
912  0x0693,
913  0x0000
914 };
915 
916 static const u8 dot11lcn_gain_val_tbl_extlna_2G[] = {
917  0xfc,
918  0x02,
919  0x08,
920  0x0e,
921  0x13,
922  0x1b,
923  0xfc,
924  0x02,
925  0x08,
926  0x0e,
927  0x13,
928  0x1b,
929  0xfc,
930  0x00,
931  0x0f,
932  0x03,
933  0xeb,
934  0xfe,
935  0x07,
936  0x0b,
937  0x0f,
938  0xfb,
939  0xfe,
940  0x01,
941  0x05,
942  0x08,
943  0x0b,
944  0x0e,
945  0x11,
946  0x14,
947  0x17,
948  0x00,
949  0x00,
950  0x00,
951  0x00,
952  0x00,
953  0x00,
954  0x00,
955  0x03,
956  0x06,
957  0x09,
958  0x0c,
959  0x0f,
960  0x12,
961  0x00,
962  0x00,
963  0x00,
964  0x00,
965  0x00,
966  0x00,
967  0x00,
968  0x00,
969  0x00,
970  0x00,
971  0x03,
972  0x06,
973  0x09,
974  0x0c,
975  0x0f,
976  0x12,
977  0x15,
978  0x18,
979  0x1b,
980  0x00,
981  0x00,
982  0x00,
983  0x00,
984  0x00
985 };
986 
987 static const u32 dot11lcn_gain_idx_tbl_extlna_2G[] = {
988  0x00000000,
989  0x00000040,
990  0x00000000,
991  0x00000040,
992  0x00000000,
993  0x00000040,
994  0x00000000,
995  0x00000040,
996  0x00000000,
997  0x00000040,
998  0x00000000,
999  0x00000040,
1000  0x00000000,
1001  0x00000040,
1002  0x00000000,
1003  0x00000040,
1004  0x00000000,
1005  0x00000040,
1006  0x10000000,
1007  0x00000040,
1008  0x20000000,
1009  0x00000040,
1010  0x30000000,
1011  0x00000040,
1012  0x40000000,
1013  0x00000040,
1014  0x30000000,
1015  0x00000048,
1016  0x40000000,
1017  0x00000048,
1018  0x50000000,
1019  0x00000048,
1020  0x60000000,
1021  0x00000048,
1022  0x30000000,
1023  0x00000058,
1024  0x40000000,
1025  0x00000058,
1026  0x50000000,
1027  0x00000058,
1028  0x70000000,
1029  0x00000058,
1030  0x80000000,
1031  0x00000058,
1032  0x90000000,
1033  0x00000058,
1034  0xa0000000,
1035  0x00000058,
1036  0x70000000,
1037  0x00000068,
1038  0x80000000,
1039  0x00000068,
1040  0x90000000,
1041  0x00000068,
1042  0xa0000000,
1043  0x00000068,
1044  0xb0000000,
1045  0x00000068,
1046  0xc0000000,
1047  0x00000068,
1048  0xd0000000,
1049  0x00000068,
1050  0xe0000000,
1051  0x00000068,
1052  0xf0000000,
1053  0x00000068,
1054  0x00000000,
1055  0x00000069,
1056  0x10000000,
1057  0x00000069,
1058  0x20000000,
1059  0x00000069,
1060  0x30000000,
1061  0x00000069,
1062  0x40000000,
1063  0x00000041,
1064  0x40000000,
1065  0x00000041,
1066  0x40000000,
1067  0x00000041,
1068  0x40000000,
1069  0x00000041,
1070  0x40000000,
1071  0x00000041,
1072  0x40000000,
1073  0x00000041,
1074  0x40000000,
1075  0x00000041,
1076  0x40000000,
1077  0x00000041,
1078  0x40000000,
1079  0x00000041,
1080  0x50000000,
1081  0x00000041,
1082  0x60000000,
1083  0x00000041,
1084  0x70000000,
1085  0x00000041,
1086  0x80000000,
1087  0x00000041,
1088  0x70000000,
1089  0x00000049,
1090  0x80000000,
1091  0x00000049,
1092  0x90000000,
1093  0x00000049,
1094  0xa0000000,
1095  0x00000049,
1096  0x70000000,
1097  0x00000059,
1098  0x80000000,
1099  0x00000059,
1100  0x90000000,
1101  0x00000059,
1102  0xb0000000,
1103  0x00000059,
1104  0xc0000000,
1105  0x00000059,
1106  0xd0000000,
1107  0x00000059,
1108  0xe0000000,
1109  0x00000059,
1110  0xb0000000,
1111  0x00000069,
1112  0xc0000000,
1113  0x00000069,
1114  0xd0000000,
1115  0x00000069,
1116  0xe0000000,
1117  0x00000069,
1118  0xf0000000,
1119  0x00000069,
1120  0x00000000,
1121  0x0000006a,
1122  0x10000000,
1123  0x0000006a,
1124  0x20000000,
1125  0x0000006a,
1126  0x30000000,
1127  0x0000006a,
1128  0x40000000,
1129  0x0000006a,
1130  0x50000000,
1131  0x0000006a,
1132  0x60000000,
1133  0x0000006a,
1134  0x70000000,
1135  0x0000006a,
1136  0x00000000,
1137  0x00000000,
1138  0x00000000,
1139  0x00000000
1140 };
1141 
1142 static const u32 dot11lcn_aux_gain_idx_tbl_5G[] = {
1143  0x0000,
1144  0x0000,
1145  0x0000,
1146  0x0000,
1147  0x0001,
1148  0x0002,
1149  0x0003,
1150  0x0004,
1151  0x0083,
1152  0x0084,
1153  0x0085,
1154  0x0086,
1155  0x0087,
1156  0x0186,
1157  0x0187,
1158  0x0188,
1159  0x0189,
1160  0x018a,
1161  0x018b,
1162  0x018c,
1163  0x018d,
1164  0x018e,
1165  0x018f,
1166  0x0190,
1167  0x0191,
1168  0x0192,
1169  0x0193,
1170  0x0194,
1171  0x0195,
1172  0x0196,
1173  0x0197,
1174  0x0198,
1175  0x0199,
1176  0x019a,
1177  0x019b,
1178  0x019c,
1179  0x019d,
1180  0x0000
1181 };
1182 
1183 static const u32 dot11lcn_gain_val_tbl_5G[] = {
1184  0xf7,
1185  0xfd,
1186  0x00,
1187  0x04,
1188  0x04,
1189  0x04,
1190  0xf7,
1191  0xfd,
1192  0x00,
1193  0x04,
1194  0x04,
1195  0x04,
1196  0xf6,
1197  0x00,
1198  0x0c,
1199  0x03,
1200  0xeb,
1201  0xfe,
1202  0x06,
1203  0x0a,
1204  0x10,
1205  0x00,
1206  0x03,
1207  0x06,
1208  0x09,
1209  0x0c,
1210  0x0f,
1211  0x12,
1212  0x15,
1213  0x18,
1214  0x1b,
1215  0x00,
1216  0x00,
1217  0x00,
1218  0x00,
1219  0x00,
1220  0x00,
1221  0x00,
1222  0x03,
1223  0x06,
1224  0x09,
1225  0x0c,
1226  0x0f,
1227  0x12,
1228  0x00,
1229  0x00,
1230  0x00,
1231  0x00,
1232  0x00,
1233  0x00,
1234  0x00,
1235  0x00,
1236  0x00,
1237  0x00,
1238  0x03,
1239  0x06,
1240  0x09,
1241  0x0c,
1242  0x0f,
1243  0x12,
1244  0x15,
1245  0x18,
1246  0x1b,
1247  0x00,
1248  0x00,
1249  0x00,
1250  0x00,
1251  0x00
1252 };
1253 
1254 static const u32 dot11lcn_gain_idx_tbl_5G[] = {
1255  0x00000000,
1256  0x00000000,
1257  0x00000000,
1258  0x00000000,
1259  0x00000000,
1260  0x00000000,
1261  0x00000000,
1262  0x00000000,
1263  0x10000000,
1264  0x00000000,
1265  0x20000000,
1266  0x00000000,
1267  0x30000000,
1268  0x00000000,
1269  0x40000000,
1270  0x00000000,
1271  0x30000000,
1272  0x00000008,
1273  0x40000000,
1274  0x00000008,
1275  0x50000000,
1276  0x00000008,
1277  0x60000000,
1278  0x00000008,
1279  0x70000000,
1280  0x00000008,
1281  0x60000000,
1282  0x00000018,
1283  0x70000000,
1284  0x00000018,
1285  0x80000000,
1286  0x00000018,
1287  0x90000000,
1288  0x00000018,
1289  0xa0000000,
1290  0x00000018,
1291  0xb0000000,
1292  0x00000018,
1293  0xc0000000,
1294  0x00000018,
1295  0xd0000000,
1296  0x00000018,
1297  0xe0000000,
1298  0x00000018,
1299  0xf0000000,
1300  0x00000018,
1301  0x00000000,
1302  0x00000019,
1303  0x10000000,
1304  0x00000019,
1305  0x20000000,
1306  0x00000019,
1307  0x30000000,
1308  0x00000019,
1309  0x40000000,
1310  0x00000019,
1311  0x50000000,
1312  0x00000019,
1313  0x60000000,
1314  0x00000019,
1315  0x70000000,
1316  0x00000019,
1317  0x80000000,
1318  0x00000019,
1319  0x90000000,
1320  0x00000019,
1321  0xa0000000,
1322  0x00000019,
1323  0xb0000000,
1324  0x00000019,
1325  0xc0000000,
1326  0x00000019,
1327  0xd0000000,
1328  0x00000019,
1329  0x00000000,
1330  0x00000000,
1331  0x00000000,
1332  0x00000000,
1333  0x00000000,
1334  0x00000000,
1335  0x00000000,
1336  0x00000000,
1337  0x00000000,
1338  0x00000000,
1339  0x00000000,
1340  0x00000000,
1341  0x00000000,
1342  0x00000000,
1343  0x00000000,
1344  0x00000000,
1345  0x00000000,
1346  0x00000000,
1347  0x00000000,
1348  0x00000000,
1349  0x00000000,
1350  0x00000000,
1351  0x00000000,
1352  0x00000000,
1353  0x00000000,
1354  0x00000000,
1355  0x00000000,
1356  0x00000000,
1357  0x00000000,
1358  0x00000000,
1359  0x00000000,
1360  0x00000000,
1361  0x00000000,
1362  0x00000000,
1363  0x00000000,
1364  0x00000000,
1365  0x00000000,
1366  0x00000000,
1367  0x00000000,
1368  0x00000000,
1369  0x00000000,
1370  0x00000000,
1371  0x00000000,
1372  0x00000000,
1373  0x00000000,
1374  0x00000000,
1375  0x00000000,
1376  0x00000000,
1377  0x00000000,
1378  0x00000000,
1379  0x00000000,
1380  0x00000000,
1381  0x00000000,
1382  0x00000000,
1383  0x00000000,
1384  0x00000000,
1385  0x00000000,
1386  0x00000000,
1387  0x00000000,
1388  0x00000000,
1389  0x00000000,
1390  0x00000000,
1391  0x00000000,
1392  0x00000000,
1393  0x00000000,
1394  0x00000000,
1395  0x00000000,
1396  0x00000000,
1397  0x00000000,
1398  0x00000000,
1399  0x00000000,
1400  0x00000000,
1401  0x00000000,
1402  0x00000000,
1403  0x00000000,
1404  0x00000000,
1405  0x00000000,
1406  0x00000000
1407 };
1408 
1409 static const u32 dot11lcn_gain_tbl_5G[] = {
1410  0x00000000,
1411  0x00000040,
1412  0x00000080,
1413  0x00000001,
1414  0x00000005,
1415  0x00000009,
1416  0x0000000d,
1417  0x00000011,
1418  0x00000015,
1419  0x00000055,
1420  0x00000095,
1421  0x00000017,
1422  0x0000001b,
1423  0x0000005b,
1424  0x0000009b,
1425  0x000000db,
1426  0x0000011b,
1427  0x0000015b,
1428  0x0000019b,
1429  0x0000059b,
1430  0x0000099b,
1431  0x00000d9b,
1432  0x0000119b,
1433  0x0000519b,
1434  0x0000919b,
1435  0x0000d19b,
1436  0x0001119b,
1437  0x0001519b,
1438  0x0001919b,
1439  0x0001d19b,
1440  0x00000000,
1441  0x00000000,
1442  0x00000000,
1443  0x00000000,
1444  0x00000000,
1445  0x00000000,
1446  0x00000000,
1447  0x00000000,
1448  0x00000000,
1449  0x00000000,
1450  0x00000000,
1451  0x00000000,
1452  0x00000000,
1453  0x00000000,
1454  0x00000000,
1455  0x00000000,
1456  0x00000000,
1457  0x00000000,
1458  0x00000000,
1459  0x00000000,
1460  0x00000000,
1461  0x00000000,
1462  0x00000000,
1463  0x00000000,
1464  0x00000000,
1465  0x00000000,
1466  0x00000000,
1467  0x00000000,
1468  0x00000000,
1469  0x00000000,
1470  0x00000000,
1471  0x00000000,
1472  0x00000000,
1473  0x00000000,
1474  0x00000000,
1475  0x00000000,
1476  0x00000000,
1477  0x00000000,
1478  0x00000000,
1479  0x00000000,
1480  0x00000000,
1481  0x00000000,
1482  0x00000000,
1483  0x00000000,
1484  0x00000000,
1485  0x00000000,
1486  0x00000000,
1487  0x00000000,
1488  0x00000000,
1489  0x00000000,
1490  0x00000000,
1491  0x00000000,
1492  0x00000000,
1493  0x00000000,
1494  0x00000000,
1495  0x00000000,
1496  0x00000000,
1497  0x00000000,
1498  0x00000000,
1499  0x00000000,
1500  0x00000000,
1501  0x00000000,
1502  0x00000000,
1503  0x00000000,
1504  0x00000000,
1505  0x00000000
1506 };
1507 
1509  {&dot11lcn_gain_tbl_rev0,
1510  sizeof(dot11lcn_gain_tbl_rev0) / sizeof(dot11lcn_gain_tbl_rev0[0]), 18,
1511  0, 32}
1512  ,
1513  {&dot11lcn_aux_gain_idx_tbl_rev0,
1514  sizeof(dot11lcn_aux_gain_idx_tbl_rev0) /
1515  sizeof(dot11lcn_aux_gain_idx_tbl_rev0[0]), 14, 0, 16}
1516  ,
1517  {&dot11lcn_gain_idx_tbl_rev0,
1518  sizeof(dot11lcn_gain_idx_tbl_rev0) /
1519  sizeof(dot11lcn_gain_idx_tbl_rev0[0]), 13, 0, 32}
1520  ,
1521 };
1522 
1523 static const struct phytbl_info dot11lcnphytbl_rx_gain_info_rev1[] = {
1524  {&dot11lcn_gain_tbl_rev1,
1525  sizeof(dot11lcn_gain_tbl_rev1) / sizeof(dot11lcn_gain_tbl_rev1[0]), 18,
1526  0, 32}
1527  ,
1528  {&dot11lcn_aux_gain_idx_tbl_rev0,
1529  sizeof(dot11lcn_aux_gain_idx_tbl_rev0) /
1530  sizeof(dot11lcn_aux_gain_idx_tbl_rev0[0]), 14, 0, 16}
1531  ,
1532  {&dot11lcn_gain_idx_tbl_rev0,
1533  sizeof(dot11lcn_gain_idx_tbl_rev0) /
1534  sizeof(dot11lcn_gain_idx_tbl_rev0[0]), 13, 0, 32}
1535  ,
1536 };
1537 
1539  {&dot11lcn_gain_tbl_2G,
1540  sizeof(dot11lcn_gain_tbl_2G) / sizeof(dot11lcn_gain_tbl_2G[0]), 18, 0,
1541  32}
1542  ,
1543  {&dot11lcn_aux_gain_idx_tbl_2G,
1544  sizeof(dot11lcn_aux_gain_idx_tbl_2G) /
1545  sizeof(dot11lcn_aux_gain_idx_tbl_2G[0]), 14, 0, 16}
1546  ,
1547  {&dot11lcn_gain_idx_tbl_2G,
1548  sizeof(dot11lcn_gain_idx_tbl_2G) / sizeof(dot11lcn_gain_idx_tbl_2G[0]),
1549  13, 0, 32}
1550  ,
1551  {&dot11lcn_gain_val_tbl_2G,
1552  sizeof(dot11lcn_gain_val_tbl_2G) / sizeof(dot11lcn_gain_val_tbl_2G[0]),
1553  17, 0, 8}
1554 };
1555 
1557  {&dot11lcn_gain_tbl_5G,
1558  sizeof(dot11lcn_gain_tbl_5G) / sizeof(dot11lcn_gain_tbl_5G[0]), 18, 0,
1559  32}
1560  ,
1561  {&dot11lcn_aux_gain_idx_tbl_5G,
1562  sizeof(dot11lcn_aux_gain_idx_tbl_5G) /
1563  sizeof(dot11lcn_aux_gain_idx_tbl_5G[0]), 14, 0, 16}
1564  ,
1565  {&dot11lcn_gain_idx_tbl_5G,
1566  sizeof(dot11lcn_gain_idx_tbl_5G) / sizeof(dot11lcn_gain_idx_tbl_5G[0]),
1567  13, 0, 32}
1568  ,
1569  {&dot11lcn_gain_val_tbl_5G,
1570  sizeof(dot11lcn_gain_val_tbl_5G) / sizeof(dot11lcn_gain_val_tbl_5G[0]),
1571  17, 0, 8}
1572 };
1573 
1575  {&dot11lcn_gain_tbl_extlna_2G,
1576  sizeof(dot11lcn_gain_tbl_extlna_2G) /
1577  sizeof(dot11lcn_gain_tbl_extlna_2G[0]), 18, 0, 32}
1578  ,
1579  {&dot11lcn_aux_gain_idx_tbl_extlna_2G,
1580  sizeof(dot11lcn_aux_gain_idx_tbl_extlna_2G) /
1581  sizeof(dot11lcn_aux_gain_idx_tbl_extlna_2G[0]), 14, 0, 16}
1582  ,
1583  {&dot11lcn_gain_idx_tbl_extlna_2G,
1584  sizeof(dot11lcn_gain_idx_tbl_extlna_2G) /
1585  sizeof(dot11lcn_gain_idx_tbl_extlna_2G[0]), 13, 0, 32}
1586  ,
1587  {&dot11lcn_gain_val_tbl_extlna_2G,
1588  sizeof(dot11lcn_gain_val_tbl_extlna_2G) /
1589  sizeof(dot11lcn_gain_val_tbl_extlna_2G[0]), 17, 0, 8}
1590 };
1591 
1593  {&dot11lcn_gain_tbl_5G,
1594  sizeof(dot11lcn_gain_tbl_5G) / sizeof(dot11lcn_gain_tbl_5G[0]), 18, 0,
1595  32}
1596  ,
1597  {&dot11lcn_aux_gain_idx_tbl_5G,
1598  sizeof(dot11lcn_aux_gain_idx_tbl_5G) /
1599  sizeof(dot11lcn_aux_gain_idx_tbl_5G[0]), 14, 0, 16}
1600  ,
1601  {&dot11lcn_gain_idx_tbl_5G,
1602  sizeof(dot11lcn_gain_idx_tbl_5G) / sizeof(dot11lcn_gain_idx_tbl_5G[0]),
1603  13, 0, 32}
1604  ,
1605  {&dot11lcn_gain_val_tbl_5G,
1606  sizeof(dot11lcn_gain_val_tbl_5G) / sizeof(dot11lcn_gain_val_tbl_5G[0]),
1607  17, 0, 8}
1608 };
1609 
1612  sizeof(dot11lcnphytbl_rx_gain_info_rev0[0]);
1613 
1616  sizeof(dot11lcnphytbl_rx_gain_info_2G_rev2[0]);
1617 
1620  sizeof(dot11lcnphytbl_rx_gain_info_5G_rev2[0]);
1621 
1622 static const u16 dot11lcn_min_sig_sq_tbl_rev0[] = {
1623  0x014d,
1624  0x014d,
1625  0x014d,
1626  0x014d,
1627  0x014d,
1628  0x014d,
1629  0x014d,
1630  0x014d,
1631  0x014d,
1632  0x014d,
1633  0x014d,
1634  0x014d,
1635  0x014d,
1636  0x014d,
1637  0x014d,
1638  0x014d,
1639  0x014d,
1640  0x014d,
1641  0x014d,
1642  0x014d,
1643  0x014d,
1644  0x014d,
1645  0x014d,
1646  0x014d,
1647  0x014d,
1648  0x014d,
1649  0x014d,
1650  0x014d,
1651  0x014d,
1652  0x014d,
1653  0x014d,
1654  0x014d,
1655  0x014d,
1656  0x014d,
1657  0x014d,
1658  0x014d,
1659  0x014d,
1660  0x014d,
1661  0x014d,
1662  0x014d,
1663  0x014d,
1664  0x014d,
1665  0x014d,
1666  0x014d,
1667  0x014d,
1668  0x014d,
1669  0x014d,
1670  0x014d,
1671  0x014d,
1672  0x014d,
1673  0x014d,
1674  0x014d,
1675  0x014d,
1676  0x014d,
1677  0x014d,
1678  0x014d,
1679  0x014d,
1680  0x014d,
1681  0x014d,
1682  0x014d,
1683  0x014d,
1684  0x014d,
1685  0x014d,
1686  0x014d,
1687 };
1688 
1689 static const u16 dot11lcn_noise_scale_tbl_rev0[] = {
1690  0x0000,
1691  0x0000,
1692  0x0000,
1693  0x0000,
1694  0x0000,
1695  0x0000,
1696  0x0000,
1697  0x0000,
1698  0x0000,
1699  0x0000,
1700  0x0000,
1701  0x0000,
1702  0x0000,
1703  0x0000,
1704  0x0000,
1705  0x0000,
1706  0x0000,
1707  0x0000,
1708  0x0000,
1709  0x0000,
1710  0x0000,
1711  0x0000,
1712  0x0000,
1713  0x0000,
1714  0x0000,
1715  0x0000,
1716  0x0000,
1717  0x0000,
1718  0x0000,
1719  0x0000,
1720  0x0000,
1721  0x0000,
1722  0x0000,
1723  0x0000,
1724  0x0000,
1725  0x0000,
1726  0x0000,
1727  0x0000,
1728  0x0000,
1729  0x0000,
1730  0x0000,
1731  0x0000,
1732  0x0000,
1733  0x0000,
1734  0x0000,
1735  0x0000,
1736  0x0000,
1737  0x0000,
1738  0x0000,
1739  0x0000,
1740  0x0000,
1741  0x0000,
1742  0x0000,
1743  0x0000,
1744  0x0000,
1745  0x0000,
1746  0x0000,
1747  0x0000,
1748  0x0000,
1749  0x0000,
1750  0x0000,
1751  0x0000,
1752  0x0000,
1753  0x0000,
1754 };
1755 
1756 static const u32 dot11lcn_fltr_ctrl_tbl_rev0[] = {
1757  0x000141f8,
1758  0x000021f8,
1759  0x000021fb,
1760  0x000041fb,
1761  0x0001fe4b,
1762  0x0000217b,
1763  0x00002133,
1764  0x000040eb,
1765  0x0001fea3,
1766  0x0000024b,
1767 };
1768 
1769 static const u32 dot11lcn_ps_ctrl_tbl_rev0[] = {
1770  0x00100001,
1771  0x00200010,
1772  0x00300001,
1773  0x00400010,
1774  0x00500022,
1775  0x00600122,
1776  0x00700222,
1777  0x00800322,
1778  0x00900422,
1779  0x00a00522,
1780  0x00b00622,
1781  0x00c00722,
1782  0x00d00822,
1783  0x00f00922,
1784  0x00100a22,
1785  0x00200b22,
1786  0x00300c22,
1787  0x00400d22,
1788  0x00500e22,
1789  0x00600f22,
1790 };
1791 
1792 static const u16 dot11lcn_sw_ctrl_tbl_4313_epa_rev0_combo[] = {
1793  0x0007,
1794  0x0005,
1795  0x0006,
1796  0x0004,
1797  0x0007,
1798  0x0005,
1799  0x0006,
1800  0x0004,
1801  0x0007,
1802  0x0005,
1803  0x0006,
1804  0x0004,
1805  0x0007,
1806  0x0005,
1807  0x0006,
1808  0x0004,
1809  0x000b,
1810  0x000b,
1811  0x000a,
1812  0x000a,
1813  0x000b,
1814  0x000b,
1815  0x000a,
1816  0x000a,
1817  0x000b,
1818  0x000b,
1819  0x000a,
1820  0x000a,
1821  0x000b,
1822  0x000b,
1823  0x000a,
1824  0x000a,
1825  0x0007,
1826  0x0005,
1827  0x0006,
1828  0x0004,
1829  0x0007,
1830  0x0005,
1831  0x0006,
1832  0x0004,
1833  0x0007,
1834  0x0005,
1835  0x0006,
1836  0x0004,
1837  0x0007,
1838  0x0005,
1839  0x0006,
1840  0x0004,
1841  0x000b,
1842  0x000b,
1843  0x000a,
1844  0x000a,
1845  0x000b,
1846  0x000b,
1847  0x000a,
1848  0x000a,
1849  0x000b,
1850  0x000b,
1851  0x000a,
1852  0x000a,
1853  0x000b,
1854  0x000b,
1855  0x000a,
1856  0x000a,
1857 
1858 };
1859 
1860 static const u16 dot11lcn_sw_ctrl_tbl_4313_bt_epa_p250_rev0[] = {
1861  0x0007,
1862  0x0005,
1863  0x0002,
1864  0x0000,
1865  0x0007,
1866  0x0005,
1867  0x0002,
1868  0x0000,
1869  0x0007,
1870  0x0005,
1871  0x0002,
1872  0x0000,
1873  0x0007,
1874  0x0005,
1875  0x0002,
1876  0x0000,
1877  0x0007,
1878  0x0007,
1879  0x0002,
1880  0x0002,
1881  0x0007,
1882  0x0007,
1883  0x0002,
1884  0x0002,
1885  0x0007,
1886  0x0007,
1887  0x0002,
1888  0x0002,
1889  0x0007,
1890  0x0007,
1891  0x0002,
1892  0x0002,
1893  0x0007,
1894  0x0005,
1895  0x0002,
1896  0x0000,
1897  0x0007,
1898  0x0005,
1899  0x0002,
1900  0x0000,
1901  0x0007,
1902  0x0005,
1903  0x0002,
1904  0x0000,
1905  0x0007,
1906  0x0005,
1907  0x0002,
1908  0x0000,
1909  0x0007,
1910  0x0007,
1911  0x0002,
1912  0x0002,
1913  0x0007,
1914  0x0007,
1915  0x0002,
1916  0x0002,
1917  0x0007,
1918  0x0007,
1919  0x0002,
1920  0x0002,
1921  0x0007,
1922  0x0007,
1923  0x0002,
1924  0x0002,
1925 };
1926 
1927 static const u16 dot11lcn_sw_ctrl_tbl_4313_epa_rev0[] = {
1928  0x0002,
1929  0x0008,
1930  0x0004,
1931  0x0001,
1932  0x0002,
1933  0x0008,
1934  0x0004,
1935  0x0001,
1936  0x0002,
1937  0x0008,
1938  0x0004,
1939  0x0001,
1940  0x0002,
1941  0x0008,
1942  0x0004,
1943  0x0001,
1944  0x0002,
1945  0x0008,
1946  0x0004,
1947  0x0001,
1948  0x0002,
1949  0x0008,
1950  0x0004,
1951  0x0001,
1952  0x0002,
1953  0x0008,
1954  0x0004,
1955  0x0001,
1956  0x0002,
1957  0x0008,
1958  0x0004,
1959  0x0001,
1960  0x0002,
1961  0x0008,
1962  0x0004,
1963  0x0001,
1964  0x0002,
1965  0x0008,
1966  0x0004,
1967  0x0001,
1968  0x0002,
1969  0x0008,
1970  0x0004,
1971  0x0001,
1972  0x0002,
1973  0x0008,
1974  0x0004,
1975  0x0001,
1976  0x0002,
1977  0x0008,
1978  0x0004,
1979  0x0001,
1980  0x0002,
1981  0x0008,
1982  0x0004,
1983  0x0001,
1984  0x0002,
1985  0x0008,
1986  0x0004,
1987  0x0001,
1988  0x0002,
1989  0x0008,
1990  0x0004,
1991  0x0001,
1992 };
1993 
1994 static const u16 dot11lcn_sw_ctrl_tbl_4313_rev0[] = {
1995  0x000a,
1996  0x0009,
1997  0x0006,
1998  0x0005,
1999  0x000a,
2000  0x0009,
2001  0x0006,
2002  0x0005,
2003  0x000a,
2004  0x0009,
2005  0x0006,
2006  0x0005,
2007  0x000a,
2008  0x0009,
2009  0x0006,
2010  0x0005,
2011  0x000a,
2012  0x0009,
2013  0x0006,
2014  0x0005,
2015  0x000a,
2016  0x0009,
2017  0x0006,
2018  0x0005,
2019  0x000a,
2020  0x0009,
2021  0x0006,
2022  0x0005,
2023  0x000a,
2024  0x0009,
2025  0x0006,
2026  0x0005,
2027  0x000a,
2028  0x0009,
2029  0x0006,
2030  0x0005,
2031  0x000a,
2032  0x0009,
2033  0x0006,
2034  0x0005,
2035  0x000a,
2036  0x0009,
2037  0x0006,
2038  0x0005,
2039  0x000a,
2040  0x0009,
2041  0x0006,
2042  0x0005,
2043  0x000a,
2044  0x0009,
2045  0x0006,
2046  0x0005,
2047  0x000a,
2048  0x0009,
2049  0x0006,
2050  0x0005,
2051  0x000a,
2052  0x0009,
2053  0x0006,
2054  0x0005,
2055  0x000a,
2056  0x0009,
2057  0x0006,
2058  0x0005,
2059 };
2060 
2061 static const u16 dot11lcn_sw_ctrl_tbl_rev0[] = {
2062  0x0004,
2063  0x0004,
2064  0x0002,
2065  0x0002,
2066  0x0004,
2067  0x0004,
2068  0x0002,
2069  0x0002,
2070  0x0004,
2071  0x0004,
2072  0x0002,
2073  0x0002,
2074  0x0004,
2075  0x0004,
2076  0x0002,
2077  0x0002,
2078  0x0004,
2079  0x0004,
2080  0x0002,
2081  0x0002,
2082  0x0004,
2083  0x0004,
2084  0x0002,
2085  0x0002,
2086  0x0004,
2087  0x0004,
2088  0x0002,
2089  0x0002,
2090  0x0004,
2091  0x0004,
2092  0x0002,
2093  0x0002,
2094  0x0004,
2095  0x0004,
2096  0x0002,
2097  0x0002,
2098  0x0004,
2099  0x0004,
2100  0x0002,
2101  0x0002,
2102  0x0004,
2103  0x0004,
2104  0x0002,
2105  0x0002,
2106  0x0004,
2107  0x0004,
2108  0x0002,
2109  0x0002,
2110  0x0004,
2111  0x0004,
2112  0x0002,
2113  0x0002,
2114  0x0004,
2115  0x0004,
2116  0x0002,
2117  0x0002,
2118  0x0004,
2119  0x0004,
2120  0x0002,
2121  0x0002,
2122  0x0004,
2123  0x0004,
2124  0x0002,
2125  0x0002,
2126 };
2127 
2128 static const u8 dot11lcn_nf_table_rev0[] = {
2129  0x5f,
2130  0x36,
2131  0x29,
2132  0x1f,
2133  0x5f,
2134  0x36,
2135  0x29,
2136  0x1f,
2137  0x5f,
2138  0x36,
2139  0x29,
2140  0x1f,
2141  0x5f,
2142  0x36,
2143  0x29,
2144  0x1f,
2145 };
2146 
2147 static const u8 dot11lcn_gain_val_tbl_rev0[] = {
2148  0x09,
2149  0x0f,
2150  0x14,
2151  0x18,
2152  0xfe,
2153  0x07,
2154  0x0b,
2155  0x0f,
2156  0xfb,
2157  0xfe,
2158  0x01,
2159  0x05,
2160  0x08,
2161  0x0b,
2162  0x0e,
2163  0x11,
2164  0x14,
2165  0x17,
2166  0x00,
2167  0x00,
2168  0x00,
2169  0x00,
2170  0x00,
2171  0x00,
2172  0x00,
2173  0x03,
2174  0x06,
2175  0x09,
2176  0x0c,
2177  0x0f,
2178  0x12,
2179  0x00,
2180  0x00,
2181  0x00,
2182  0x00,
2183  0x00,
2184  0x00,
2185  0x00,
2186  0x00,
2187  0x00,
2188  0x00,
2189  0x03,
2190  0x06,
2191  0x09,
2192  0x0c,
2193  0x0f,
2194  0x12,
2195  0x15,
2196  0x18,
2197  0x1b,
2198  0x00,
2199  0x00,
2200  0x00,
2201  0x00,
2202  0x00,
2203  0x00,
2204  0x03,
2205  0xeb,
2206  0x00,
2207  0x00,
2208 };
2209 
2210 static const u8 dot11lcn_spur_tbl_rev0[] = {
2211  0x01,
2212  0x01,
2213  0x01,
2214  0x01,
2215  0x01,
2216  0x01,
2217  0x01,
2218  0x01,
2219  0x01,
2220  0x01,
2221  0x01,
2222  0x01,
2223  0x01,
2224  0x01,
2225  0x01,
2226  0x01,
2227  0x01,
2228  0x01,
2229  0x01,
2230  0x01,
2231  0x01,
2232  0x01,
2233  0x01,
2234  0x01,
2235  0x01,
2236  0x01,
2237  0x01,
2238  0x01,
2239  0x01,
2240  0x01,
2241  0x02,
2242  0x03,
2243  0x01,
2244  0x03,
2245  0x02,
2246  0x01,
2247  0x01,
2248  0x01,
2249  0x01,
2250  0x01,
2251  0x01,
2252  0x01,
2253  0x01,
2254  0x01,
2255  0x01,
2256  0x01,
2257  0x01,
2258  0x01,
2259  0x01,
2260  0x01,
2261  0x01,
2262  0x01,
2263  0x01,
2264  0x01,
2265  0x01,
2266  0x01,
2267  0x01,
2268  0x01,
2269  0x01,
2270  0x01,
2271  0x01,
2272  0x01,
2273  0x01,
2274  0x01,
2275  0x01,
2276  0x01,
2277  0x01,
2278  0x01,
2279  0x01,
2280  0x01,
2281  0x01,
2282  0x01,
2283  0x01,
2284  0x01,
2285  0x01,
2286  0x01,
2287  0x01,
2288  0x01,
2289  0x01,
2290  0x01,
2291  0x01,
2292  0x01,
2293  0x01,
2294  0x01,
2295  0x01,
2296  0x01,
2297  0x01,
2298  0x01,
2299  0x01,
2300  0x01,
2301  0x01,
2302  0x01,
2303  0x01,
2304  0x01,
2305  0x02,
2306  0x03,
2307  0x01,
2308  0x03,
2309  0x02,
2310  0x01,
2311  0x01,
2312  0x01,
2313  0x01,
2314  0x01,
2315  0x01,
2316  0x01,
2317  0x01,
2318  0x01,
2319  0x01,
2320  0x01,
2321  0x01,
2322  0x01,
2323  0x01,
2324  0x01,
2325  0x01,
2326  0x01,
2327  0x01,
2328  0x01,
2329  0x01,
2330  0x01,
2331  0x01,
2332  0x01,
2333  0x01,
2334  0x01,
2335  0x01,
2336  0x01,
2337  0x01,
2338  0x01,
2339 };
2340 
2341 static const u16 dot11lcn_unsup_mcs_tbl_rev0[] = {
2342  0x001a,
2343  0x0034,
2344  0x004e,
2345  0x0068,
2346  0x009c,
2347  0x00d0,
2348  0x00ea,
2349  0x0104,
2350  0x0034,
2351  0x0068,
2352  0x009c,
2353  0x00d0,
2354  0x0138,
2355  0x01a0,
2356  0x01d4,
2357  0x0208,
2358  0x004e,
2359  0x009c,
2360  0x00ea,
2361  0x0138,
2362  0x01d4,
2363  0x0270,
2364  0x02be,
2365  0x030c,
2366  0x0068,
2367  0x00d0,
2368  0x0138,
2369  0x01a0,
2370  0x0270,
2371  0x0340,
2372  0x03a8,
2373  0x0410,
2374  0x0018,
2375  0x009c,
2376  0x00d0,
2377  0x0104,
2378  0x00ea,
2379  0x0138,
2380  0x0186,
2381  0x00d0,
2382  0x0104,
2383  0x0104,
2384  0x0138,
2385  0x016c,
2386  0x016c,
2387  0x01a0,
2388  0x0138,
2389  0x0186,
2390  0x0186,
2391  0x01d4,
2392  0x0222,
2393  0x0222,
2394  0x0270,
2395  0x0104,
2396  0x0138,
2397  0x016c,
2398  0x0138,
2399  0x016c,
2400  0x01a0,
2401  0x01d4,
2402  0x01a0,
2403  0x01d4,
2404  0x0208,
2405  0x0208,
2406  0x023c,
2407  0x0186,
2408  0x01d4,
2409  0x0222,
2410  0x01d4,
2411  0x0222,
2412  0x0270,
2413  0x02be,
2414  0x0270,
2415  0x02be,
2416  0x030c,
2417  0x030c,
2418  0x035a,
2419  0x0036,
2420  0x006c,
2421  0x00a2,
2422  0x00d8,
2423  0x0144,
2424  0x01b0,
2425  0x01e6,
2426  0x021c,
2427  0x006c,
2428  0x00d8,
2429  0x0144,
2430  0x01b0,
2431  0x0288,
2432  0x0360,
2433  0x03cc,
2434  0x0438,
2435  0x00a2,
2436  0x0144,
2437  0x01e6,
2438  0x0288,
2439  0x03cc,
2440  0x0510,
2441  0x05b2,
2442  0x0654,
2443  0x00d8,
2444  0x01b0,
2445  0x0288,
2446  0x0360,
2447  0x0510,
2448  0x06c0,
2449  0x0798,
2450  0x0870,
2451  0x0018,
2452  0x0144,
2453  0x01b0,
2454  0x021c,
2455  0x01e6,
2456  0x0288,
2457  0x032a,
2458  0x01b0,
2459  0x021c,
2460  0x021c,
2461  0x0288,
2462  0x02f4,
2463  0x02f4,
2464  0x0360,
2465  0x0288,
2466  0x032a,
2467  0x032a,
2468  0x03cc,
2469  0x046e,
2470  0x046e,
2471  0x0510,
2472  0x021c,
2473  0x0288,
2474  0x02f4,
2475  0x0288,
2476  0x02f4,
2477  0x0360,
2478  0x03cc,
2479  0x0360,
2480  0x03cc,
2481  0x0438,
2482  0x0438,
2483  0x04a4,
2484  0x032a,
2485  0x03cc,
2486  0x046e,
2487  0x03cc,
2488  0x046e,
2489  0x0510,
2490  0x05b2,
2491  0x0510,
2492  0x05b2,
2493  0x0654,
2494  0x0654,
2495  0x06f6,
2496 };
2497 
2498 static const u16 dot11lcn_iq_local_tbl_rev0[] = {
2499  0x0200,
2500  0x0300,
2501  0x0400,
2502  0x0600,
2503  0x0800,
2504  0x0b00,
2505  0x1000,
2506  0x1001,
2507  0x1002,
2508  0x1003,
2509  0x1004,
2510  0x1005,
2511  0x1006,
2512  0x1007,
2513  0x1707,
2514  0x2007,
2515  0x2d07,
2516  0x4007,
2517  0x0000,
2518  0x0000,
2519  0x0000,
2520  0x0000,
2521  0x0000,
2522  0x0000,
2523  0x0000,
2524  0x0000,
2525  0x0000,
2526  0x0000,
2527  0x0000,
2528  0x0000,
2529  0x0000,
2530  0x0000,
2531  0x0200,
2532  0x0300,
2533  0x0400,
2534  0x0600,
2535  0x0800,
2536  0x0b00,
2537  0x1000,
2538  0x1001,
2539  0x1002,
2540  0x1003,
2541  0x1004,
2542  0x1005,
2543  0x1006,
2544  0x1007,
2545  0x1707,
2546  0x2007,
2547  0x2d07,
2548  0x4007,
2549  0x0000,
2550  0x0000,
2551  0x0000,
2552  0x0000,
2553  0x0000,
2554  0x0000,
2555  0x0000,
2556  0x0000,
2557  0x0000,
2558  0x0000,
2559  0x0000,
2560  0x0000,
2561  0x0000,
2562  0x0000,
2563  0x0000,
2564  0x0000,
2565  0x0000,
2566  0x0000,
2567  0x0000,
2568  0x0000,
2569  0x0000,
2570  0x0000,
2571  0x0000,
2572  0x0000,
2573  0x0000,
2574  0x0000,
2575  0x0000,
2576  0x0000,
2577  0x0000,
2578  0x0000,
2579  0x0000,
2580  0x0000,
2581  0x0000,
2582  0x0000,
2583  0x0000,
2584  0x0000,
2585  0x0000,
2586  0x4000,
2587  0x0000,
2588  0x0000,
2589  0x0000,
2590  0x0000,
2591  0x0000,
2592  0x0000,
2593  0x0000,
2594  0x0000,
2595  0x0000,
2596  0x0000,
2597  0x0000,
2598  0x0000,
2599  0x0000,
2600  0x0000,
2601  0x0000,
2602  0x0000,
2603  0x0000,
2604  0x0000,
2605  0x0000,
2606  0x0000,
2607 };
2608 
2609 static const u32 dot11lcn_papd_compdelta_tbl_rev0[] = {
2610  0x00080000,
2611  0x00080000,
2612  0x00080000,
2613  0x00080000,
2614  0x00080000,
2615  0x00080000,
2616  0x00080000,
2617  0x00080000,
2618  0x00080000,
2619  0x00080000,
2620  0x00080000,
2621  0x00080000,
2622  0x00080000,
2623  0x00080000,
2624  0x00080000,
2625  0x00080000,
2626  0x00080000,
2627  0x00080000,
2628  0x00080000,
2629  0x00080000,
2630  0x00080000,
2631  0x00080000,
2632  0x00080000,
2633  0x00080000,
2634  0x00080000,
2635  0x00080000,
2636  0x00080000,
2637  0x00080000,
2638  0x00080000,
2639  0x00080000,
2640  0x00080000,
2641  0x00080000,
2642  0x00080000,
2643  0x00080000,
2644  0x00080000,
2645  0x00080000,
2646  0x00080000,
2647  0x00080000,
2648  0x00080000,
2649  0x00080000,
2650  0x00080000,
2651  0x00080000,
2652  0x00080000,
2653  0x00080000,
2654  0x00080000,
2655  0x00080000,
2656  0x00080000,
2657  0x00080000,
2658  0x00080000,
2659  0x00080000,
2660  0x00080000,
2661  0x00080000,
2662  0x00080000,
2663  0x00080000,
2664  0x00080000,
2665  0x00080000,
2666  0x00080000,
2667  0x00080000,
2668  0x00080000,
2669  0x00080000,
2670  0x00080000,
2671  0x00080000,
2672  0x00080000,
2673  0x00080000,
2674  0x00080000,
2675  0x00080000,
2676  0x00080000,
2677  0x00080000,
2678  0x00080000,
2679  0x00080000,
2680  0x00080000,
2681  0x00080000,
2682  0x00080000,
2683  0x00080000,
2684  0x00080000,
2685  0x00080000,
2686  0x00080000,
2687  0x00080000,
2688  0x00080000,
2689  0x00080000,
2690  0x00080000,
2691  0x00080000,
2692  0x00080000,
2693  0x00080000,
2694  0x00080000,
2695  0x00080000,
2696  0x00080000,
2697  0x00080000,
2698  0x00080000,
2699  0x00080000,
2700  0x00080000,
2701  0x00080000,
2702  0x00080000,
2703  0x00080000,
2704  0x00080000,
2705  0x00080000,
2706  0x00080000,
2707  0x00080000,
2708  0x00080000,
2709  0x00080000,
2710  0x00080000,
2711  0x00080000,
2712  0x00080000,
2713  0x00080000,
2714  0x00080000,
2715  0x00080000,
2716  0x00080000,
2717  0x00080000,
2718  0x00080000,
2719  0x00080000,
2720  0x00080000,
2721  0x00080000,
2722  0x00080000,
2723  0x00080000,
2724  0x00080000,
2725  0x00080000,
2726  0x00080000,
2727  0x00080000,
2728  0x00080000,
2729  0x00080000,
2730  0x00080000,
2731  0x00080000,
2732  0x00080000,
2733  0x00080000,
2734  0x00080000,
2735  0x00080000,
2736  0x00080000,
2737  0x00080000,
2738  0x00080000,
2739  0x00080000,
2740  0x00080000,
2741  0x00080000,
2742  0x00080000,
2743  0x00080000,
2744  0x00080000,
2745  0x00080000,
2746  0x00080000,
2747  0x00080000,
2748  0x00080000,
2749  0x00080000,
2750  0x00080000,
2751  0x00080000,
2752  0x00080000,
2753  0x00080000,
2754  0x00080000,
2755  0x00080000,
2756  0x00080000,
2757  0x00080000,
2758  0x00080000,
2759  0x00080000,
2760  0x00080000,
2761  0x00080000,
2762  0x00080000,
2763  0x00080000,
2764  0x00080000,
2765  0x00080000,
2766  0x00080000,
2767  0x00080000,
2768  0x00080000,
2769  0x00080000,
2770 };
2771 
2773  {&dot11lcn_min_sig_sq_tbl_rev0,
2774  sizeof(dot11lcn_min_sig_sq_tbl_rev0) /
2775  sizeof(dot11lcn_min_sig_sq_tbl_rev0[0]), 2, 0, 16}
2776  ,
2777  {&dot11lcn_noise_scale_tbl_rev0,
2778  sizeof(dot11lcn_noise_scale_tbl_rev0) /
2779  sizeof(dot11lcn_noise_scale_tbl_rev0[0]), 1, 0, 16}
2780  ,
2781  {&dot11lcn_fltr_ctrl_tbl_rev0,
2782  sizeof(dot11lcn_fltr_ctrl_tbl_rev0) /
2783  sizeof(dot11lcn_fltr_ctrl_tbl_rev0[0]), 11, 0, 32}
2784  ,
2785  {&dot11lcn_ps_ctrl_tbl_rev0,
2786  sizeof(dot11lcn_ps_ctrl_tbl_rev0) /
2787  sizeof(dot11lcn_ps_ctrl_tbl_rev0[0]), 12, 0, 32}
2788  ,
2789  {&dot11lcn_gain_idx_tbl_rev0,
2790  sizeof(dot11lcn_gain_idx_tbl_rev0) /
2791  sizeof(dot11lcn_gain_idx_tbl_rev0[0]), 13, 0, 32}
2792  ,
2793  {&dot11lcn_aux_gain_idx_tbl_rev0,
2794  sizeof(dot11lcn_aux_gain_idx_tbl_rev0) /
2795  sizeof(dot11lcn_aux_gain_idx_tbl_rev0[0]), 14, 0, 16}
2796  ,
2797  {&dot11lcn_sw_ctrl_tbl_rev0,
2798  sizeof(dot11lcn_sw_ctrl_tbl_rev0) /
2799  sizeof(dot11lcn_sw_ctrl_tbl_rev0[0]), 15, 0, 16}
2800  ,
2801  {&dot11lcn_nf_table_rev0,
2802  sizeof(dot11lcn_nf_table_rev0) / sizeof(dot11lcn_nf_table_rev0[0]), 16,
2803  0, 8}
2804  ,
2805  {&dot11lcn_gain_val_tbl_rev0,
2806  sizeof(dot11lcn_gain_val_tbl_rev0) /
2807  sizeof(dot11lcn_gain_val_tbl_rev0[0]), 17, 0, 8}
2808  ,
2809  {&dot11lcn_gain_tbl_rev0,
2810  sizeof(dot11lcn_gain_tbl_rev0) / sizeof(dot11lcn_gain_tbl_rev0[0]), 18,
2811  0, 32}
2812  ,
2813  {&dot11lcn_spur_tbl_rev0,
2814  sizeof(dot11lcn_spur_tbl_rev0) / sizeof(dot11lcn_spur_tbl_rev0[0]), 20,
2815  0, 8}
2816  ,
2817  {&dot11lcn_unsup_mcs_tbl_rev0,
2818  sizeof(dot11lcn_unsup_mcs_tbl_rev0) /
2819  sizeof(dot11lcn_unsup_mcs_tbl_rev0[0]), 23, 0, 16}
2820  ,
2821  {&dot11lcn_iq_local_tbl_rev0,
2822  sizeof(dot11lcn_iq_local_tbl_rev0) /
2823  sizeof(dot11lcn_iq_local_tbl_rev0[0]), 0, 0, 16}
2824  ,
2825  {&dot11lcn_papd_compdelta_tbl_rev0,
2826  sizeof(dot11lcn_papd_compdelta_tbl_rev0) /
2827  sizeof(dot11lcn_papd_compdelta_tbl_rev0[0]), 24, 0, 32}
2828  ,
2829 };
2830 
2832  &dot11lcn_sw_ctrl_tbl_4313_rev0,
2833  sizeof(dot11lcn_sw_ctrl_tbl_4313_rev0) /
2834  sizeof(dot11lcn_sw_ctrl_tbl_4313_rev0[0]), 15, 0, 16
2835 };
2836 
2838  &dot11lcn_sw_ctrl_tbl_4313_epa_rev0,
2839  sizeof(dot11lcn_sw_ctrl_tbl_4313_epa_rev0) /
2840  sizeof(dot11lcn_sw_ctrl_tbl_4313_epa_rev0[0]), 15, 0, 16
2841 };
2842 
2844  &dot11lcn_sw_ctrl_tbl_4313_epa_rev0_combo,
2845  sizeof(dot11lcn_sw_ctrl_tbl_4313_epa_rev0_combo) /
2846  sizeof(dot11lcn_sw_ctrl_tbl_4313_epa_rev0_combo[0]), 15, 0, 16
2847 };
2848 
2850  &dot11lcn_sw_ctrl_tbl_4313_bt_epa_p250_rev0,
2851  sizeof(dot11lcn_sw_ctrl_tbl_4313_bt_epa_p250_rev0) /
2852  sizeof(dot11lcn_sw_ctrl_tbl_4313_bt_epa_p250_rev0[0]), 15, 0, 16
2853 };
2854 
2856  sizeof(dot11lcnphytbl_info_rev0) / sizeof(dot11lcnphytbl_info_rev0[0]);
2857 
2858 const struct lcnphy_tx_gain_tbl_entry
2860  {3, 0, 31, 0, 72},
2861  {3, 0, 31, 0, 70},
2862  {3, 0, 31, 0, 68},
2863  {3, 0, 30, 0, 67},
2864  {3, 0, 29, 0, 68},
2865  {3, 0, 28, 0, 68},
2866  {3, 0, 27, 0, 69},
2867  {3, 0, 26, 0, 70},
2868  {3, 0, 25, 0, 70},
2869  {3, 0, 24, 0, 71},
2870  {3, 0, 23, 0, 72},
2871  {3, 0, 23, 0, 70},
2872  {3, 0, 22, 0, 71},
2873  {3, 0, 21, 0, 72},
2874  {3, 0, 21, 0, 70},
2875  {3, 0, 21, 0, 68},
2876  {3, 0, 21, 0, 66},
2877  {3, 0, 21, 0, 64},
2878  {3, 0, 21, 0, 63},
2879  {3, 0, 20, 0, 64},
2880  {3, 0, 19, 0, 65},
2881  {3, 0, 19, 0, 64},
2882  {3, 0, 18, 0, 65},
2883  {3, 0, 18, 0, 64},
2884  {3, 0, 17, 0, 65},
2885  {3, 0, 17, 0, 64},
2886  {3, 0, 16, 0, 65},
2887  {3, 0, 16, 0, 64},
2888  {3, 0, 16, 0, 62},
2889  {3, 0, 16, 0, 60},
2890  {3, 0, 16, 0, 58},
2891  {3, 0, 15, 0, 61},
2892  {3, 0, 15, 0, 59},
2893  {3, 0, 14, 0, 61},
2894  {3, 0, 14, 0, 60},
2895  {3, 0, 14, 0, 58},
2896  {3, 0, 13, 0, 60},
2897  {3, 0, 13, 0, 59},
2898  {3, 0, 12, 0, 62},
2899  {3, 0, 12, 0, 60},
2900  {3, 0, 12, 0, 58},
2901  {3, 0, 11, 0, 62},
2902  {3, 0, 11, 0, 60},
2903  {3, 0, 11, 0, 59},
2904  {3, 0, 11, 0, 57},
2905  {3, 0, 10, 0, 61},
2906  {3, 0, 10, 0, 59},
2907  {3, 0, 10, 0, 57},
2908  {3, 0, 9, 0, 62},
2909  {3, 0, 9, 0, 60},
2910  {3, 0, 9, 0, 58},
2911  {3, 0, 9, 0, 57},
2912  {3, 0, 8, 0, 62},
2913  {3, 0, 8, 0, 60},
2914  {3, 0, 8, 0, 58},
2915  {3, 0, 8, 0, 57},
2916  {3, 0, 8, 0, 55},
2917  {3, 0, 7, 0, 61},
2918  {3, 0, 7, 0, 60},
2919  {3, 0, 7, 0, 58},
2920  {3, 0, 7, 0, 56},
2921  {3, 0, 7, 0, 55},
2922  {3, 0, 6, 0, 62},
2923  {3, 0, 6, 0, 60},
2924  {3, 0, 6, 0, 58},
2925  {3, 0, 6, 0, 57},
2926  {3, 0, 6, 0, 55},
2927  {3, 0, 6, 0, 54},
2928  {3, 0, 6, 0, 52},
2929  {3, 0, 5, 0, 61},
2930  {3, 0, 5, 0, 59},
2931  {3, 0, 5, 0, 57},
2932  {3, 0, 5, 0, 56},
2933  {3, 0, 5, 0, 54},
2934  {3, 0, 5, 0, 53},
2935  {3, 0, 5, 0, 51},
2936  {3, 0, 4, 0, 62},
2937  {3, 0, 4, 0, 60},
2938  {3, 0, 4, 0, 58},
2939  {3, 0, 4, 0, 57},
2940  {3, 0, 4, 0, 55},
2941  {3, 0, 4, 0, 54},
2942  {3, 0, 4, 0, 52},
2943  {3, 0, 4, 0, 51},
2944  {3, 0, 4, 0, 49},
2945  {3, 0, 4, 0, 48},
2946  {3, 0, 4, 0, 46},
2947  {3, 0, 3, 0, 60},
2948  {3, 0, 3, 0, 58},
2949  {3, 0, 3, 0, 57},
2950  {3, 0, 3, 0, 55},
2951  {3, 0, 3, 0, 54},
2952  {3, 0, 3, 0, 52},
2953  {3, 0, 3, 0, 51},
2954  {3, 0, 3, 0, 49},
2955  {3, 0, 3, 0, 48},
2956  {3, 0, 3, 0, 46},
2957  {3, 0, 3, 0, 45},
2958  {3, 0, 3, 0, 44},
2959  {3, 0, 3, 0, 43},
2960  {3, 0, 3, 0, 41},
2961  {3, 0, 2, 0, 61},
2962  {3, 0, 2, 0, 59},
2963  {3, 0, 2, 0, 57},
2964  {3, 0, 2, 0, 56},
2965  {3, 0, 2, 0, 54},
2966  {3, 0, 2, 0, 53},
2967  {3, 0, 2, 0, 51},
2968  {3, 0, 2, 0, 50},
2969  {3, 0, 2, 0, 48},
2970  {3, 0, 2, 0, 47},
2971  {3, 0, 2, 0, 46},
2972  {3, 0, 2, 0, 44},
2973  {3, 0, 2, 0, 43},
2974  {3, 0, 2, 0, 42},
2975  {3, 0, 2, 0, 41},
2976  {3, 0, 2, 0, 39},
2977  {3, 0, 2, 0, 38},
2978  {3, 0, 2, 0, 37},
2979  {3, 0, 2, 0, 36},
2980  {3, 0, 2, 0, 35},
2981  {3, 0, 2, 0, 34},
2982  {3, 0, 2, 0, 33},
2983  {3, 0, 2, 0, 32},
2984  {3, 0, 1, 0, 63},
2985  {3, 0, 1, 0, 61},
2986  {3, 0, 1, 0, 59},
2987  {3, 0, 1, 0, 57},
2988 };
2989 
2991  {7, 0, 31, 0, 72},
2992  {7, 0, 31, 0, 70},
2993  {7, 0, 31, 0, 68},
2994  {7, 0, 30, 0, 67},
2995  {7, 0, 29, 0, 68},
2996  {7, 0, 28, 0, 68},
2997  {7, 0, 27, 0, 69},
2998  {7, 0, 26, 0, 70},
2999  {7, 0, 25, 0, 70},
3000  {7, 0, 24, 0, 71},
3001  {7, 0, 23, 0, 72},
3002  {7, 0, 23, 0, 70},
3003  {7, 0, 22, 0, 71},
3004  {7, 0, 21, 0, 72},
3005  {7, 0, 21, 0, 70},
3006  {7, 0, 21, 0, 68},
3007  {7, 0, 21, 0, 66},
3008  {7, 0, 21, 0, 64},
3009  {7, 0, 21, 0, 63},
3010  {7, 0, 20, 0, 64},
3011  {7, 0, 19, 0, 65},
3012  {7, 0, 19, 0, 64},
3013  {7, 0, 18, 0, 65},
3014  {7, 0, 18, 0, 64},
3015  {7, 0, 17, 0, 65},
3016  {7, 0, 17, 0, 64},
3017  {7, 0, 16, 0, 65},
3018  {7, 0, 16, 0, 64},
3019  {7, 0, 16, 0, 62},
3020  {7, 0, 16, 0, 60},
3021  {7, 0, 16, 0, 58},
3022  {7, 0, 15, 0, 61},
3023  {7, 0, 15, 0, 59},
3024  {7, 0, 14, 0, 61},
3025  {7, 0, 14, 0, 60},
3026  {7, 0, 14, 0, 58},
3027  {7, 0, 13, 0, 60},
3028  {7, 0, 13, 0, 59},
3029  {7, 0, 12, 0, 62},
3030  {7, 0, 12, 0, 60},
3031  {7, 0, 12, 0, 58},
3032  {7, 0, 11, 0, 62},
3033  {7, 0, 11, 0, 60},
3034  {7, 0, 11, 0, 59},
3035  {7, 0, 11, 0, 57},
3036  {7, 0, 10, 0, 61},
3037  {7, 0, 10, 0, 59},
3038  {7, 0, 10, 0, 57},
3039  {7, 0, 9, 0, 62},
3040  {7, 0, 9, 0, 60},
3041  {7, 0, 9, 0, 58},
3042  {7, 0, 9, 0, 57},
3043  {7, 0, 8, 0, 62},
3044  {7, 0, 8, 0, 60},
3045  {7, 0, 8, 0, 58},
3046  {7, 0, 8, 0, 57},
3047  {7, 0, 8, 0, 55},
3048  {7, 0, 7, 0, 61},
3049  {7, 0, 7, 0, 60},
3050  {7, 0, 7, 0, 58},
3051  {7, 0, 7, 0, 56},
3052  {7, 0, 7, 0, 55},
3053  {7, 0, 6, 0, 62},
3054  {7, 0, 6, 0, 60},
3055  {7, 0, 6, 0, 58},
3056  {7, 0, 6, 0, 57},
3057  {7, 0, 6, 0, 55},
3058  {7, 0, 6, 0, 54},
3059  {7, 0, 6, 0, 52},
3060  {7, 0, 5, 0, 61},
3061  {7, 0, 5, 0, 59},
3062  {7, 0, 5, 0, 57},
3063  {7, 0, 5, 0, 56},
3064  {7, 0, 5, 0, 54},
3065  {7, 0, 5, 0, 53},
3066  {7, 0, 5, 0, 51},
3067  {7, 0, 4, 0, 62},
3068  {7, 0, 4, 0, 60},
3069  {7, 0, 4, 0, 58},
3070  {7, 0, 4, 0, 57},
3071  {7, 0, 4, 0, 55},
3072  {7, 0, 4, 0, 54},
3073  {7, 0, 4, 0, 52},
3074  {7, 0, 4, 0, 51},
3075  {7, 0, 4, 0, 49},
3076  {7, 0, 4, 0, 48},
3077  {7, 0, 4, 0, 46},
3078  {7, 0, 3, 0, 60},
3079  {7, 0, 3, 0, 58},
3080  {7, 0, 3, 0, 57},
3081  {7, 0, 3, 0, 55},
3082  {7, 0, 3, 0, 54},
3083  {7, 0, 3, 0, 52},
3084  {7, 0, 3, 0, 51},
3085  {7, 0, 3, 0, 49},
3086  {7, 0, 3, 0, 48},
3087  {7, 0, 3, 0, 46},
3088  {7, 0, 3, 0, 45},
3089  {7, 0, 3, 0, 44},
3090  {7, 0, 3, 0, 43},
3091  {7, 0, 3, 0, 41},
3092  {7, 0, 2, 0, 61},
3093  {7, 0, 2, 0, 59},
3094  {7, 0, 2, 0, 57},
3095  {7, 0, 2, 0, 56},
3096  {7, 0, 2, 0, 54},
3097  {7, 0, 2, 0, 53},
3098  {7, 0, 2, 0, 51},
3099  {7, 0, 2, 0, 50},
3100  {7, 0, 2, 0, 48},
3101  {7, 0, 2, 0, 47},
3102  {7, 0, 2, 0, 46},
3103  {7, 0, 2, 0, 44},
3104  {7, 0, 2, 0, 43},
3105  {7, 0, 2, 0, 42},
3106  {7, 0, 2, 0, 41},
3107  {7, 0, 2, 0, 39},
3108  {7, 0, 2, 0, 38},
3109  {7, 0, 2, 0, 37},
3110  {7, 0, 2, 0, 36},
3111  {7, 0, 2, 0, 35},
3112  {7, 0, 2, 0, 34},
3113  {7, 0, 2, 0, 33},
3114  {7, 0, 2, 0, 32},
3115  {7, 0, 1, 0, 63},
3116  {7, 0, 1, 0, 61},
3117  {7, 0, 1, 0, 59},
3118  {7, 0, 1, 0, 57},
3119 };
3120 
3122  {255, 255, 0xf0, 0, 152},
3123  {255, 255, 0xf0, 0, 147},
3124  {255, 255, 0xf0, 0, 143},
3125  {255, 255, 0xf0, 0, 139},
3126  {255, 255, 0xf0, 0, 135},
3127  {255, 255, 0xf0, 0, 131},
3128  {255, 255, 0xf0, 0, 128},
3129  {255, 255, 0xf0, 0, 124},
3130  {255, 255, 0xf0, 0, 121},
3131  {255, 255, 0xf0, 0, 117},
3132  {255, 255, 0xf0, 0, 114},
3133  {255, 255, 0xf0, 0, 111},
3134  {255, 255, 0xf0, 0, 107},
3135  {255, 255, 0xf0, 0, 104},
3136  {255, 255, 0xf0, 0, 101},
3137  {255, 255, 0xf0, 0, 99},
3138  {255, 255, 0xf0, 0, 96},
3139  {255, 255, 0xf0, 0, 93},
3140  {255, 255, 0xf0, 0, 90},
3141  {255, 255, 0xf0, 0, 88},
3142  {255, 255, 0xf0, 0, 85},
3143  {255, 255, 0xf0, 0, 83},
3144  {255, 255, 0xf0, 0, 81},
3145  {255, 255, 0xf0, 0, 78},
3146  {255, 255, 0xf0, 0, 76},
3147  {255, 255, 0xf0, 0, 74},
3148  {255, 255, 0xf0, 0, 72},
3149  {255, 255, 0xf0, 0, 70},
3150  {255, 255, 0xf0, 0, 68},
3151  {255, 255, 0xf0, 0, 66},
3152  {255, 255, 0xf0, 0, 64},
3153  {255, 248, 0xf0, 0, 64},
3154  {255, 241, 0xf0, 0, 64},
3155  {255, 251, 0xe0, 0, 64},
3156  {255, 244, 0xe0, 0, 64},
3157  {255, 254, 0xd0, 0, 64},
3158  {255, 246, 0xd0, 0, 64},
3159  {255, 239, 0xd0, 0, 64},
3160  {255, 249, 0xc0, 0, 64},
3161  {255, 242, 0xc0, 0, 64},
3162  {255, 255, 0xb0, 0, 64},
3163  {255, 248, 0xb0, 0, 64},
3164  {255, 241, 0xb0, 0, 64},
3165  {255, 254, 0xa0, 0, 64},
3166  {255, 246, 0xa0, 0, 64},
3167  {255, 239, 0xa0, 0, 64},
3168  {255, 255, 0x90, 0, 64},
3169  {255, 248, 0x90, 0, 64},
3170  {255, 241, 0x90, 0, 64},
3171  {255, 234, 0x90, 0, 64},
3172  {255, 255, 0x80, 0, 64},
3173  {255, 248, 0x80, 0, 64},
3174  {255, 241, 0x80, 0, 64},
3175  {255, 234, 0x80, 0, 64},
3176  {255, 255, 0x70, 0, 64},
3177  {255, 248, 0x70, 0, 64},
3178  {255, 241, 0x70, 0, 64},
3179  {255, 234, 0x70, 0, 64},
3180  {255, 227, 0x70, 0, 64},
3181  {255, 221, 0x70, 0, 64},
3182  {255, 215, 0x70, 0, 64},
3183  {255, 208, 0x70, 0, 64},
3184  {255, 203, 0x70, 0, 64},
3185  {255, 197, 0x70, 0, 64},
3186  {255, 255, 0x60, 0, 64},
3187  {255, 248, 0x60, 0, 64},
3188  {255, 241, 0x60, 0, 64},
3189  {255, 234, 0x60, 0, 64},
3190  {255, 227, 0x60, 0, 64},
3191  {255, 221, 0x60, 0, 64},
3192  {255, 255, 0x50, 0, 64},
3193  {255, 248, 0x50, 0, 64},
3194  {255, 241, 0x50, 0, 64},
3195  {255, 234, 0x50, 0, 64},
3196  {255, 227, 0x50, 0, 64},
3197  {255, 221, 0x50, 0, 64},
3198  {255, 215, 0x50, 0, 64},
3199  {255, 208, 0x50, 0, 64},
3200  {255, 255, 0x40, 0, 64},
3201  {255, 248, 0x40, 0, 64},
3202  {255, 241, 0x40, 0, 64},
3203  {255, 234, 0x40, 0, 64},
3204  {255, 227, 0x40, 0, 64},
3205  {255, 221, 0x40, 0, 64},
3206  {255, 215, 0x40, 0, 64},
3207  {255, 208, 0x40, 0, 64},
3208  {255, 203, 0x40, 0, 64},
3209  {255, 197, 0x40, 0, 64},
3210  {255, 255, 0x30, 0, 64},
3211  {255, 248, 0x30, 0, 64},
3212  {255, 241, 0x30, 0, 64},
3213  {255, 234, 0x30, 0, 64},
3214  {255, 227, 0x30, 0, 64},
3215  {255, 221, 0x30, 0, 64},
3216  {255, 215, 0x30, 0, 64},
3217  {255, 208, 0x30, 0, 64},
3218  {255, 203, 0x30, 0, 64},
3219  {255, 197, 0x30, 0, 64},
3220  {255, 191, 0x30, 0, 64},
3221  {255, 186, 0x30, 0, 64},
3222  {255, 181, 0x30, 0, 64},
3223  {255, 175, 0x30, 0, 64},
3224  {255, 255, 0x20, 0, 64},
3225  {255, 248, 0x20, 0, 64},
3226  {255, 241, 0x20, 0, 64},
3227  {255, 234, 0x20, 0, 64},
3228  {255, 227, 0x20, 0, 64},
3229  {255, 221, 0x20, 0, 64},
3230  {255, 215, 0x20, 0, 64},
3231  {255, 208, 0x20, 0, 64},
3232  {255, 203, 0x20, 0, 64},
3233  {255, 197, 0x20, 0, 64},
3234  {255, 191, 0x20, 0, 64},
3235  {255, 186, 0x20, 0, 64},
3236  {255, 181, 0x20, 0, 64},
3237  {255, 175, 0x20, 0, 64},
3238  {255, 170, 0x20, 0, 64},
3239  {255, 166, 0x20, 0, 64},
3240  {255, 161, 0x20, 0, 64},
3241  {255, 156, 0x20, 0, 64},
3242  {255, 152, 0x20, 0, 64},
3243  {255, 148, 0x20, 0, 64},
3244  {255, 143, 0x20, 0, 64},
3245  {255, 139, 0x20, 0, 64},
3246  {255, 135, 0x20, 0, 64},
3247  {255, 132, 0x20, 0, 64},
3248  {255, 255, 0x10, 0, 64},
3249  {255, 248, 0x10, 0, 64},
3250 };