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
20static 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
119static 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
218static 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
259static 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
410static 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
451static 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
522static 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
677static 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
776static 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
875static 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
916static 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
987static 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
1142static 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
1183static 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
1254static 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
1409static 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
1508const struct phytbl_info dot11lcnphytbl_rx_gain_info_rev0[] = {
1509	{&dot11lcn_gain_tbl_rev0,
1510	 ARRAY_SIZE(dot11lcn_gain_tbl_rev0), 18,
1511	 0, 32}
1512	,
1513	{&dot11lcn_aux_gain_idx_tbl_rev0,
1514	 ARRAY_SIZE(dot11lcn_aux_gain_idx_tbl_rev0), 14, 0, 16}
1515	,
1516	{&dot11lcn_gain_idx_tbl_rev0,
1517	 ARRAY_SIZE(dot11lcn_gain_idx_tbl_rev0), 13, 0, 32}
1518	,
1519};
1520
1521static const struct phytbl_info dot11lcnphytbl_rx_gain_info_rev1[] = {
1522	{&dot11lcn_gain_tbl_rev1,
1523	 ARRAY_SIZE(dot11lcn_gain_tbl_rev1), 18,
1524	 0, 32}
1525	,
1526	{&dot11lcn_aux_gain_idx_tbl_rev0,
1527	 ARRAY_SIZE(dot11lcn_aux_gain_idx_tbl_rev0), 14, 0, 16}
1528	,
1529	{&dot11lcn_gain_idx_tbl_rev0,
1530	 ARRAY_SIZE(dot11lcn_gain_idx_tbl_rev0), 13, 0, 32}
1531	,
1532};
1533
1534const struct phytbl_info dot11lcnphytbl_rx_gain_info_2G_rev2[] = {
1535	{&dot11lcn_gain_tbl_2G,
1536	 ARRAY_SIZE(dot11lcn_gain_tbl_2G), 18, 0,
1537	 32}
1538	,
1539	{&dot11lcn_aux_gain_idx_tbl_2G,
1540	 ARRAY_SIZE(dot11lcn_aux_gain_idx_tbl_2G), 14, 0, 16}
1541	,
1542	{&dot11lcn_gain_idx_tbl_2G,
1543	 ARRAY_SIZE(dot11lcn_gain_idx_tbl_2G),
1544	 13, 0, 32}
1545	,
1546	{&dot11lcn_gain_val_tbl_2G,
1547	 ARRAY_SIZE(dot11lcn_gain_val_tbl_2G),
1548	 17, 0, 8}
1549};
1550
1551const struct phytbl_info dot11lcnphytbl_rx_gain_info_5G_rev2[] = {
1552	{&dot11lcn_gain_tbl_5G,
1553	 ARRAY_SIZE(dot11lcn_gain_tbl_5G), 18, 0,
1554	 32}
1555	,
1556	{&dot11lcn_aux_gain_idx_tbl_5G,
1557	 ARRAY_SIZE(dot11lcn_aux_gain_idx_tbl_5G), 14, 0, 16}
1558	,
1559	{&dot11lcn_gain_idx_tbl_5G,
1560	 ARRAY_SIZE(dot11lcn_gain_idx_tbl_5G),
1561	 13, 0, 32}
1562	,
1563	{&dot11lcn_gain_val_tbl_5G,
1564	 ARRAY_SIZE(dot11lcn_gain_val_tbl_5G),
1565	 17, 0, 8}
1566};
1567
1568const struct phytbl_info dot11lcnphytbl_rx_gain_info_extlna_2G_rev2[] = {
1569	{&dot11lcn_gain_tbl_extlna_2G,
1570	 ARRAY_SIZE(dot11lcn_gain_tbl_extlna_2G), 18, 0, 32}
1571	,
1572	{&dot11lcn_aux_gain_idx_tbl_extlna_2G,
1573	 ARRAY_SIZE(dot11lcn_aux_gain_idx_tbl_extlna_2G), 14, 0, 16}
1574	,
1575	{&dot11lcn_gain_idx_tbl_extlna_2G,
1576	 ARRAY_SIZE(dot11lcn_gain_idx_tbl_extlna_2G), 13, 0, 32}
1577	,
1578	{&dot11lcn_gain_val_tbl_extlna_2G,
1579	 ARRAY_SIZE(dot11lcn_gain_val_tbl_extlna_2G), 17, 0, 8}
1580};
1581
1582const struct phytbl_info dot11lcnphytbl_rx_gain_info_extlna_5G_rev2[] = {
1583	{&dot11lcn_gain_tbl_5G,
1584	 ARRAY_SIZE(dot11lcn_gain_tbl_5G), 18, 0,
1585	 32}
1586	,
1587	{&dot11lcn_aux_gain_idx_tbl_5G,
1588	 ARRAY_SIZE(dot11lcn_aux_gain_idx_tbl_5G), 14, 0, 16}
1589	,
1590	{&dot11lcn_gain_idx_tbl_5G,
1591	 ARRAY_SIZE(dot11lcn_gain_idx_tbl_5G),
1592	 13, 0, 32}
1593	,
1594	{&dot11lcn_gain_val_tbl_5G,
1595	 ARRAY_SIZE(dot11lcn_gain_val_tbl_5G),
1596	 17, 0, 8}
1597};
1598
1599const u32 dot11lcnphytbl_rx_gain_info_sz_rev0 =
1600	ARRAY_SIZE(dot11lcnphytbl_rx_gain_info_rev0);
1601
1602const u32 dot11lcnphytbl_rx_gain_info_2G_rev2_sz =
1603	ARRAY_SIZE(dot11lcnphytbl_rx_gain_info_2G_rev2);
1604
1605const u32 dot11lcnphytbl_rx_gain_info_5G_rev2_sz =
1606	ARRAY_SIZE(dot11lcnphytbl_rx_gain_info_5G_rev2);
1607
1608static const u16 dot11lcn_min_sig_sq_tbl_rev0[] = {
1609	0x014d,
1610	0x014d,
1611	0x014d,
1612	0x014d,
1613	0x014d,
1614	0x014d,
1615	0x014d,
1616	0x014d,
1617	0x014d,
1618	0x014d,
1619	0x014d,
1620	0x014d,
1621	0x014d,
1622	0x014d,
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};
1674
1675static const u16 dot11lcn_noise_scale_tbl_rev0[] = {
1676	0x0000,
1677	0x0000,
1678	0x0000,
1679	0x0000,
1680	0x0000,
1681	0x0000,
1682	0x0000,
1683	0x0000,
1684	0x0000,
1685	0x0000,
1686	0x0000,
1687	0x0000,
1688	0x0000,
1689	0x0000,
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};
1741
1742static const u32 dot11lcn_fltr_ctrl_tbl_rev0[] = {
1743	0x000141f8,
1744	0x000021f8,
1745	0x000021fb,
1746	0x000041fb,
1747	0x0001fe4b,
1748	0x0000217b,
1749	0x00002133,
1750	0x000040eb,
1751	0x0001fea3,
1752	0x0000024b,
1753};
1754
1755static const u32 dot11lcn_ps_ctrl_tbl_rev0[] = {
1756	0x00100001,
1757	0x00200010,
1758	0x00300001,
1759	0x00400010,
1760	0x00500022,
1761	0x00600122,
1762	0x00700222,
1763	0x00800322,
1764	0x00900422,
1765	0x00a00522,
1766	0x00b00622,
1767	0x00c00722,
1768	0x00d00822,
1769	0x00f00922,
1770	0x00100a22,
1771	0x00200b22,
1772	0x00300c22,
1773	0x00400d22,
1774	0x00500e22,
1775	0x00600f22,
1776};
1777
1778static const u16 dot11lcn_sw_ctrl_tbl_4313_epa_rev0_combo[] = {
1779	0x0007,
1780	0x0005,
1781	0x0006,
1782	0x0004,
1783	0x0007,
1784	0x0005,
1785	0x0006,
1786	0x0004,
1787	0x0007,
1788	0x0005,
1789	0x0006,
1790	0x0004,
1791	0x0007,
1792	0x0005,
1793	0x0006,
1794	0x0004,
1795	0x000b,
1796	0x000b,
1797	0x000a,
1798	0x000a,
1799	0x000b,
1800	0x000b,
1801	0x000a,
1802	0x000a,
1803	0x000b,
1804	0x000b,
1805	0x000a,
1806	0x000a,
1807	0x000b,
1808	0x000b,
1809	0x000a,
1810	0x000a,
1811	0x0007,
1812	0x0005,
1813	0x0006,
1814	0x0004,
1815	0x0007,
1816	0x0005,
1817	0x0006,
1818	0x0004,
1819	0x0007,
1820	0x0005,
1821	0x0006,
1822	0x0004,
1823	0x0007,
1824	0x0005,
1825	0x0006,
1826	0x0004,
1827	0x000b,
1828	0x000b,
1829	0x000a,
1830	0x000a,
1831	0x000b,
1832	0x000b,
1833	0x000a,
1834	0x000a,
1835	0x000b,
1836	0x000b,
1837	0x000a,
1838	0x000a,
1839	0x000b,
1840	0x000b,
1841	0x000a,
1842	0x000a,
1843
1844};
1845
1846static const u16 dot11lcn_sw_ctrl_tbl_4313_bt_epa_p250_rev0[] = {
1847	0x0007,
1848	0x0005,
1849	0x0002,
1850	0x0000,
1851	0x0007,
1852	0x0005,
1853	0x0002,
1854	0x0000,
1855	0x0007,
1856	0x0005,
1857	0x0002,
1858	0x0000,
1859	0x0007,
1860	0x0005,
1861	0x0002,
1862	0x0000,
1863	0x0007,
1864	0x0007,
1865	0x0002,
1866	0x0002,
1867	0x0007,
1868	0x0007,
1869	0x0002,
1870	0x0002,
1871	0x0007,
1872	0x0007,
1873	0x0002,
1874	0x0002,
1875	0x0007,
1876	0x0007,
1877	0x0002,
1878	0x0002,
1879	0x0007,
1880	0x0005,
1881	0x0002,
1882	0x0000,
1883	0x0007,
1884	0x0005,
1885	0x0002,
1886	0x0000,
1887	0x0007,
1888	0x0005,
1889	0x0002,
1890	0x0000,
1891	0x0007,
1892	0x0005,
1893	0x0002,
1894	0x0000,
1895	0x0007,
1896	0x0007,
1897	0x0002,
1898	0x0002,
1899	0x0007,
1900	0x0007,
1901	0x0002,
1902	0x0002,
1903	0x0007,
1904	0x0007,
1905	0x0002,
1906	0x0002,
1907	0x0007,
1908	0x0007,
1909	0x0002,
1910	0x0002,
1911};
1912
1913static const u16 dot11lcn_sw_ctrl_tbl_4313_epa_rev0[] = {
1914	0x0002,
1915	0x0008,
1916	0x0004,
1917	0x0001,
1918	0x0002,
1919	0x0008,
1920	0x0004,
1921	0x0001,
1922	0x0002,
1923	0x0008,
1924	0x0004,
1925	0x0001,
1926	0x0002,
1927	0x0008,
1928	0x0004,
1929	0x0001,
1930	0x0002,
1931	0x0008,
1932	0x0004,
1933	0x0001,
1934	0x0002,
1935	0x0008,
1936	0x0004,
1937	0x0001,
1938	0x0002,
1939	0x0008,
1940	0x0004,
1941	0x0001,
1942	0x0002,
1943	0x0008,
1944	0x0004,
1945	0x0001,
1946	0x0002,
1947	0x0008,
1948	0x0004,
1949	0x0001,
1950	0x0002,
1951	0x0008,
1952	0x0004,
1953	0x0001,
1954	0x0002,
1955	0x0008,
1956	0x0004,
1957	0x0001,
1958	0x0002,
1959	0x0008,
1960	0x0004,
1961	0x0001,
1962	0x0002,
1963	0x0008,
1964	0x0004,
1965	0x0001,
1966	0x0002,
1967	0x0008,
1968	0x0004,
1969	0x0001,
1970	0x0002,
1971	0x0008,
1972	0x0004,
1973	0x0001,
1974	0x0002,
1975	0x0008,
1976	0x0004,
1977	0x0001,
1978};
1979
1980static const u16 dot11lcn_sw_ctrl_tbl_4313_rev0[] = {
1981	0x000a,
1982	0x0009,
1983	0x0006,
1984	0x0005,
1985	0x000a,
1986	0x0009,
1987	0x0006,
1988	0x0005,
1989	0x000a,
1990	0x0009,
1991	0x0006,
1992	0x0005,
1993	0x000a,
1994	0x0009,
1995	0x0006,
1996	0x0005,
1997	0x000a,
1998	0x0009,
1999	0x0006,
2000	0x0005,
2001	0x000a,
2002	0x0009,
2003	0x0006,
2004	0x0005,
2005	0x000a,
2006	0x0009,
2007	0x0006,
2008	0x0005,
2009	0x000a,
2010	0x0009,
2011	0x0006,
2012	0x0005,
2013	0x000a,
2014	0x0009,
2015	0x0006,
2016	0x0005,
2017	0x000a,
2018	0x0009,
2019	0x0006,
2020	0x0005,
2021	0x000a,
2022	0x0009,
2023	0x0006,
2024	0x0005,
2025	0x000a,
2026	0x0009,
2027	0x0006,
2028	0x0005,
2029	0x000a,
2030	0x0009,
2031	0x0006,
2032	0x0005,
2033	0x000a,
2034	0x0009,
2035	0x0006,
2036	0x0005,
2037	0x000a,
2038	0x0009,
2039	0x0006,
2040	0x0005,
2041	0x000a,
2042	0x0009,
2043	0x0006,
2044	0x0005,
2045};
2046
2047static const u16 dot11lcn_sw_ctrl_tbl_4313_ipa_rev0_combo[] = {
2048	0x0005,
2049	0x0006,
2050	0x0009,
2051	0x000a,
2052	0x0005,
2053	0x0006,
2054	0x0009,
2055	0x000a,
2056	0x0005,
2057	0x0006,
2058	0x0009,
2059	0x000a,
2060	0x0005,
2061	0x0006,
2062	0x0009,
2063	0x000a,
2064	0x0005,
2065	0x0006,
2066	0x0009,
2067	0x000a,
2068	0x0005,
2069	0x0006,
2070	0x0009,
2071	0x000a,
2072	0x0005,
2073	0x0006,
2074	0x0009,
2075	0x000a,
2076	0x0005,
2077	0x0006,
2078	0x0009,
2079	0x000a,
2080	0x0005,
2081	0x0006,
2082	0x0009,
2083	0x000a,
2084	0x0005,
2085	0x0006,
2086	0x0009,
2087	0x000a,
2088	0x0005,
2089	0x0006,
2090	0x0009,
2091	0x000a,
2092	0x0005,
2093	0x0006,
2094	0x0009,
2095	0x000a,
2096	0x0005,
2097	0x0006,
2098	0x0009,
2099	0x000a,
2100	0x0005,
2101	0x0006,
2102	0x0009,
2103	0x000a,
2104	0x0005,
2105	0x0006,
2106	0x0009,
2107	0x000a,
2108	0x0005,
2109	0x0006,
2110	0x0009,
2111	0x000a,
2112};
2113
2114static const u16 dot11lcn_sw_ctrl_tbl_rev0[] = {
2115	0x0004,
2116	0x0004,
2117	0x0002,
2118	0x0002,
2119	0x0004,
2120	0x0004,
2121	0x0002,
2122	0x0002,
2123	0x0004,
2124	0x0004,
2125	0x0002,
2126	0x0002,
2127	0x0004,
2128	0x0004,
2129	0x0002,
2130	0x0002,
2131	0x0004,
2132	0x0004,
2133	0x0002,
2134	0x0002,
2135	0x0004,
2136	0x0004,
2137	0x0002,
2138	0x0002,
2139	0x0004,
2140	0x0004,
2141	0x0002,
2142	0x0002,
2143	0x0004,
2144	0x0004,
2145	0x0002,
2146	0x0002,
2147	0x0004,
2148	0x0004,
2149	0x0002,
2150	0x0002,
2151	0x0004,
2152	0x0004,
2153	0x0002,
2154	0x0002,
2155	0x0004,
2156	0x0004,
2157	0x0002,
2158	0x0002,
2159	0x0004,
2160	0x0004,
2161	0x0002,
2162	0x0002,
2163	0x0004,
2164	0x0004,
2165	0x0002,
2166	0x0002,
2167	0x0004,
2168	0x0004,
2169	0x0002,
2170	0x0002,
2171	0x0004,
2172	0x0004,
2173	0x0002,
2174	0x0002,
2175	0x0004,
2176	0x0004,
2177	0x0002,
2178	0x0002,
2179};
2180
2181static const u8 dot11lcn_nf_table_rev0[] = {
2182	0x5f,
2183	0x36,
2184	0x29,
2185	0x1f,
2186	0x5f,
2187	0x36,
2188	0x29,
2189	0x1f,
2190	0x5f,
2191	0x36,
2192	0x29,
2193	0x1f,
2194	0x5f,
2195	0x36,
2196	0x29,
2197	0x1f,
2198};
2199
2200static const u8 dot11lcn_gain_val_tbl_rev0[] = {
2201	0x09,
2202	0x0f,
2203	0x14,
2204	0x18,
2205	0xfe,
2206	0x07,
2207	0x0b,
2208	0x0f,
2209	0xfb,
2210	0xfe,
2211	0x01,
2212	0x05,
2213	0x08,
2214	0x0b,
2215	0x0e,
2216	0x11,
2217	0x14,
2218	0x17,
2219	0x00,
2220	0x00,
2221	0x00,
2222	0x00,
2223	0x00,
2224	0x00,
2225	0x00,
2226	0x03,
2227	0x06,
2228	0x09,
2229	0x0c,
2230	0x0f,
2231	0x12,
2232	0x00,
2233	0x00,
2234	0x00,
2235	0x00,
2236	0x00,
2237	0x00,
2238	0x00,
2239	0x00,
2240	0x00,
2241	0x00,
2242	0x03,
2243	0x06,
2244	0x09,
2245	0x0c,
2246	0x0f,
2247	0x12,
2248	0x15,
2249	0x18,
2250	0x1b,
2251	0x00,
2252	0x00,
2253	0x00,
2254	0x00,
2255	0x00,
2256	0x00,
2257	0x03,
2258	0xeb,
2259	0x00,
2260	0x00,
2261};
2262
2263static const u8 dot11lcn_spur_tbl_rev0[] = {
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	0x02,
2295	0x03,
2296	0x01,
2297	0x03,
2298	0x02,
2299	0x01,
2300	0x01,
2301	0x01,
2302	0x01,
2303	0x01,
2304	0x01,
2305	0x01,
2306	0x01,
2307	0x01,
2308	0x01,
2309	0x01,
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	0x01,
2340	0x01,
2341	0x01,
2342	0x01,
2343	0x01,
2344	0x01,
2345	0x01,
2346	0x01,
2347	0x01,
2348	0x01,
2349	0x01,
2350	0x01,
2351	0x01,
2352	0x01,
2353	0x01,
2354	0x01,
2355	0x01,
2356	0x01,
2357	0x01,
2358	0x02,
2359	0x03,
2360	0x01,
2361	0x03,
2362	0x02,
2363	0x01,
2364	0x01,
2365	0x01,
2366	0x01,
2367	0x01,
2368	0x01,
2369	0x01,
2370	0x01,
2371	0x01,
2372	0x01,
2373	0x01,
2374	0x01,
2375	0x01,
2376	0x01,
2377	0x01,
2378	0x01,
2379	0x01,
2380	0x01,
2381	0x01,
2382	0x01,
2383	0x01,
2384	0x01,
2385	0x01,
2386	0x01,
2387	0x01,
2388	0x01,
2389	0x01,
2390	0x01,
2391	0x01,
2392};
2393
2394static const u16 dot11lcn_unsup_mcs_tbl_rev0[] = {
2395	0x001a,
2396	0x0034,
2397	0x004e,
2398	0x0068,
2399	0x009c,
2400	0x00d0,
2401	0x00ea,
2402	0x0104,
2403	0x0034,
2404	0x0068,
2405	0x009c,
2406	0x00d0,
2407	0x0138,
2408	0x01a0,
2409	0x01d4,
2410	0x0208,
2411	0x004e,
2412	0x009c,
2413	0x00ea,
2414	0x0138,
2415	0x01d4,
2416	0x0270,
2417	0x02be,
2418	0x030c,
2419	0x0068,
2420	0x00d0,
2421	0x0138,
2422	0x01a0,
2423	0x0270,
2424	0x0340,
2425	0x03a8,
2426	0x0410,
2427	0x0018,
2428	0x009c,
2429	0x00d0,
2430	0x0104,
2431	0x00ea,
2432	0x0138,
2433	0x0186,
2434	0x00d0,
2435	0x0104,
2436	0x0104,
2437	0x0138,
2438	0x016c,
2439	0x016c,
2440	0x01a0,
2441	0x0138,
2442	0x0186,
2443	0x0186,
2444	0x01d4,
2445	0x0222,
2446	0x0222,
2447	0x0270,
2448	0x0104,
2449	0x0138,
2450	0x016c,
2451	0x0138,
2452	0x016c,
2453	0x01a0,
2454	0x01d4,
2455	0x01a0,
2456	0x01d4,
2457	0x0208,
2458	0x0208,
2459	0x023c,
2460	0x0186,
2461	0x01d4,
2462	0x0222,
2463	0x01d4,
2464	0x0222,
2465	0x0270,
2466	0x02be,
2467	0x0270,
2468	0x02be,
2469	0x030c,
2470	0x030c,
2471	0x035a,
2472	0x0036,
2473	0x006c,
2474	0x00a2,
2475	0x00d8,
2476	0x0144,
2477	0x01b0,
2478	0x01e6,
2479	0x021c,
2480	0x006c,
2481	0x00d8,
2482	0x0144,
2483	0x01b0,
2484	0x0288,
2485	0x0360,
2486	0x03cc,
2487	0x0438,
2488	0x00a2,
2489	0x0144,
2490	0x01e6,
2491	0x0288,
2492	0x03cc,
2493	0x0510,
2494	0x05b2,
2495	0x0654,
2496	0x00d8,
2497	0x01b0,
2498	0x0288,
2499	0x0360,
2500	0x0510,
2501	0x06c0,
2502	0x0798,
2503	0x0870,
2504	0x0018,
2505	0x0144,
2506	0x01b0,
2507	0x021c,
2508	0x01e6,
2509	0x0288,
2510	0x032a,
2511	0x01b0,
2512	0x021c,
2513	0x021c,
2514	0x0288,
2515	0x02f4,
2516	0x02f4,
2517	0x0360,
2518	0x0288,
2519	0x032a,
2520	0x032a,
2521	0x03cc,
2522	0x046e,
2523	0x046e,
2524	0x0510,
2525	0x021c,
2526	0x0288,
2527	0x02f4,
2528	0x0288,
2529	0x02f4,
2530	0x0360,
2531	0x03cc,
2532	0x0360,
2533	0x03cc,
2534	0x0438,
2535	0x0438,
2536	0x04a4,
2537	0x032a,
2538	0x03cc,
2539	0x046e,
2540	0x03cc,
2541	0x046e,
2542	0x0510,
2543	0x05b2,
2544	0x0510,
2545	0x05b2,
2546	0x0654,
2547	0x0654,
2548	0x06f6,
2549};
2550
2551static const u16 dot11lcn_iq_local_tbl_rev0[] = {
2552	0x0200,
2553	0x0300,
2554	0x0400,
2555	0x0600,
2556	0x0800,
2557	0x0b00,
2558	0x1000,
2559	0x1001,
2560	0x1002,
2561	0x1003,
2562	0x1004,
2563	0x1005,
2564	0x1006,
2565	0x1007,
2566	0x1707,
2567	0x2007,
2568	0x2d07,
2569	0x4007,
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	0x0200,
2585	0x0300,
2586	0x0400,
2587	0x0600,
2588	0x0800,
2589	0x0b00,
2590	0x1000,
2591	0x1001,
2592	0x1002,
2593	0x1003,
2594	0x1004,
2595	0x1005,
2596	0x1006,
2597	0x1007,
2598	0x1707,
2599	0x2007,
2600	0x2d07,
2601	0x4007,
2602	0x0000,
2603	0x0000,
2604	0x0000,
2605	0x0000,
2606	0x0000,
2607	0x0000,
2608	0x0000,
2609	0x0000,
2610	0x0000,
2611	0x0000,
2612	0x0000,
2613	0x0000,
2614	0x0000,
2615	0x0000,
2616	0x0000,
2617	0x0000,
2618	0x0000,
2619	0x0000,
2620	0x0000,
2621	0x0000,
2622	0x0000,
2623	0x0000,
2624	0x0000,
2625	0x0000,
2626	0x0000,
2627	0x0000,
2628	0x0000,
2629	0x0000,
2630	0x0000,
2631	0x0000,
2632	0x0000,
2633	0x0000,
2634	0x0000,
2635	0x0000,
2636	0x0000,
2637	0x0000,
2638	0x0000,
2639	0x4000,
2640	0x0000,
2641	0x0000,
2642	0x0000,
2643	0x0000,
2644	0x0000,
2645	0x0000,
2646	0x0000,
2647	0x0000,
2648	0x0000,
2649	0x0000,
2650	0x0000,
2651	0x0000,
2652	0x0000,
2653	0x0000,
2654	0x0000,
2655	0x0000,
2656	0x0000,
2657	0x0000,
2658	0x0000,
2659	0x0000,
2660};
2661
2662static const u32 dot11lcn_papd_compdelta_tbl_rev0[] = {
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	0x00080000,
2771	0x00080000,
2772	0x00080000,
2773	0x00080000,
2774	0x00080000,
2775	0x00080000,
2776	0x00080000,
2777	0x00080000,
2778	0x00080000,
2779	0x00080000,
2780	0x00080000,
2781	0x00080000,
2782	0x00080000,
2783	0x00080000,
2784	0x00080000,
2785	0x00080000,
2786	0x00080000,
2787	0x00080000,
2788	0x00080000,
2789	0x00080000,
2790	0x00080000,
2791	0x00080000,
2792	0x00080000,
2793	0x00080000,
2794	0x00080000,
2795	0x00080000,
2796	0x00080000,
2797	0x00080000,
2798	0x00080000,
2799	0x00080000,
2800	0x00080000,
2801	0x00080000,
2802	0x00080000,
2803	0x00080000,
2804	0x00080000,
2805	0x00080000,
2806	0x00080000,
2807	0x00080000,
2808	0x00080000,
2809	0x00080000,
2810	0x00080000,
2811	0x00080000,
2812	0x00080000,
2813	0x00080000,
2814	0x00080000,
2815	0x00080000,
2816	0x00080000,
2817	0x00080000,
2818	0x00080000,
2819	0x00080000,
2820	0x00080000,
2821	0x00080000,
2822	0x00080000,
2823};
2824
2825const struct phytbl_info dot11lcnphytbl_info_rev0[] = {
2826	{&dot11lcn_min_sig_sq_tbl_rev0,
2827	 ARRAY_SIZE(dot11lcn_min_sig_sq_tbl_rev0), 2, 0, 16}
2828	,
2829	{&dot11lcn_noise_scale_tbl_rev0,
2830	 ARRAY_SIZE(dot11lcn_noise_scale_tbl_rev0), 1, 0, 16}
2831	,
2832	{&dot11lcn_fltr_ctrl_tbl_rev0,
2833	 ARRAY_SIZE(dot11lcn_fltr_ctrl_tbl_rev0), 11, 0, 32}
2834	,
2835	{&dot11lcn_ps_ctrl_tbl_rev0,
2836	 ARRAY_SIZE(dot11lcn_ps_ctrl_tbl_rev0), 12, 0, 32}
2837	,
2838	{&dot11lcn_gain_idx_tbl_rev0,
2839	 ARRAY_SIZE(dot11lcn_gain_idx_tbl_rev0), 13, 0, 32}
2840	,
2841	{&dot11lcn_aux_gain_idx_tbl_rev0,
2842	 ARRAY_SIZE(dot11lcn_aux_gain_idx_tbl_rev0), 14, 0, 16}
2843	,
2844	{&dot11lcn_sw_ctrl_tbl_rev0,
2845	 ARRAY_SIZE(dot11lcn_sw_ctrl_tbl_rev0), 15, 0, 16}
2846	,
2847	{&dot11lcn_nf_table_rev0,
2848	 ARRAY_SIZE(dot11lcn_nf_table_rev0), 16,
2849	 0, 8}
2850	,
2851	{&dot11lcn_gain_val_tbl_rev0,
2852	 ARRAY_SIZE(dot11lcn_gain_val_tbl_rev0), 17, 0, 8}
2853	,
2854	{&dot11lcn_gain_tbl_rev0,
2855	 ARRAY_SIZE(dot11lcn_gain_tbl_rev0), 18,
2856	 0, 32}
2857	,
2858	{&dot11lcn_spur_tbl_rev0,
2859	 ARRAY_SIZE(dot11lcn_spur_tbl_rev0), 20,
2860	 0, 8}
2861	,
2862	{&dot11lcn_unsup_mcs_tbl_rev0,
2863	 ARRAY_SIZE(dot11lcn_unsup_mcs_tbl_rev0), 23, 0, 16}
2864	,
2865	{&dot11lcn_iq_local_tbl_rev0,
2866	 ARRAY_SIZE(dot11lcn_iq_local_tbl_rev0), 0, 0, 16}
2867	,
2868	{&dot11lcn_papd_compdelta_tbl_rev0,
2869	 ARRAY_SIZE(dot11lcn_papd_compdelta_tbl_rev0), 24, 0, 32}
2870	,
2871};
2872
2873const struct phytbl_info dot11lcn_sw_ctrl_tbl_info_4313 = {
2874	&dot11lcn_sw_ctrl_tbl_4313_rev0,
2875	ARRAY_SIZE(dot11lcn_sw_ctrl_tbl_4313_rev0), 15, 0, 16
2876};
2877
2878const struct phytbl_info dot11lcn_sw_ctrl_tbl_info_4313_bt_ipa = {
2879	&dot11lcn_sw_ctrl_tbl_4313_ipa_rev0_combo,
2880	ARRAY_SIZE(dot11lcn_sw_ctrl_tbl_4313_ipa_rev0_combo), 15, 0, 16
2881};
2882
2883const struct phytbl_info dot11lcn_sw_ctrl_tbl_info_4313_epa = {
2884	&dot11lcn_sw_ctrl_tbl_4313_epa_rev0,
2885	ARRAY_SIZE(dot11lcn_sw_ctrl_tbl_4313_epa_rev0), 15, 0, 16
2886};
2887
2888const struct phytbl_info dot11lcn_sw_ctrl_tbl_info_4313_bt_epa = {
2889	&dot11lcn_sw_ctrl_tbl_4313_epa_rev0_combo,
2890	ARRAY_SIZE(dot11lcn_sw_ctrl_tbl_4313_epa_rev0_combo), 15, 0, 16
2891};
2892
2893const struct phytbl_info dot11lcn_sw_ctrl_tbl_info_4313_bt_epa_p250 = {
2894	&dot11lcn_sw_ctrl_tbl_4313_bt_epa_p250_rev0,
2895	ARRAY_SIZE(dot11lcn_sw_ctrl_tbl_4313_bt_epa_p250_rev0), 15, 0, 16
2896};
2897
2898const u32 dot11lcnphytbl_info_sz_rev0 =
2899	ARRAY_SIZE(dot11lcnphytbl_info_rev0);
2900
2901const struct lcnphy_tx_gain_tbl_entry
2902dot11lcnphy_2GHz_extPA_gaintable_rev0[128] = {
2903	{3, 0, 31, 0, 72},
2904	{3, 0, 31, 0, 70},
2905	{3, 0, 31, 0, 68},
2906	{3, 0, 30, 0, 67},
2907	{3, 0, 29, 0, 68},
2908	{3, 0, 28, 0, 68},
2909	{3, 0, 27, 0, 69},
2910	{3, 0, 26, 0, 70},
2911	{3, 0, 25, 0, 70},
2912	{3, 0, 24, 0, 71},
2913	{3, 0, 23, 0, 72},
2914	{3, 0, 23, 0, 70},
2915	{3, 0, 22, 0, 71},
2916	{3, 0, 21, 0, 72},
2917	{3, 0, 21, 0, 70},
2918	{3, 0, 21, 0, 68},
2919	{3, 0, 21, 0, 66},
2920	{3, 0, 21, 0, 64},
2921	{3, 0, 21, 0, 63},
2922	{3, 0, 20, 0, 64},
2923	{3, 0, 19, 0, 65},
2924	{3, 0, 19, 0, 64},
2925	{3, 0, 18, 0, 65},
2926	{3, 0, 18, 0, 64},
2927	{3, 0, 17, 0, 65},
2928	{3, 0, 17, 0, 64},
2929	{3, 0, 16, 0, 65},
2930	{3, 0, 16, 0, 64},
2931	{3, 0, 16, 0, 62},
2932	{3, 0, 16, 0, 60},
2933	{3, 0, 16, 0, 58},
2934	{3, 0, 15, 0, 61},
2935	{3, 0, 15, 0, 59},
2936	{3, 0, 14, 0, 61},
2937	{3, 0, 14, 0, 60},
2938	{3, 0, 14, 0, 58},
2939	{3, 0, 13, 0, 60},
2940	{3, 0, 13, 0, 59},
2941	{3, 0, 12, 0, 62},
2942	{3, 0, 12, 0, 60},
2943	{3, 0, 12, 0, 58},
2944	{3, 0, 11, 0, 62},
2945	{3, 0, 11, 0, 60},
2946	{3, 0, 11, 0, 59},
2947	{3, 0, 11, 0, 57},
2948	{3, 0, 10, 0, 61},
2949	{3, 0, 10, 0, 59},
2950	{3, 0, 10, 0, 57},
2951	{3, 0, 9, 0, 62},
2952	{3, 0, 9, 0, 60},
2953	{3, 0, 9, 0, 58},
2954	{3, 0, 9, 0, 57},
2955	{3, 0, 8, 0, 62},
2956	{3, 0, 8, 0, 60},
2957	{3, 0, 8, 0, 58},
2958	{3, 0, 8, 0, 57},
2959	{3, 0, 8, 0, 55},
2960	{3, 0, 7, 0, 61},
2961	{3, 0, 7, 0, 60},
2962	{3, 0, 7, 0, 58},
2963	{3, 0, 7, 0, 56},
2964	{3, 0, 7, 0, 55},
2965	{3, 0, 6, 0, 62},
2966	{3, 0, 6, 0, 60},
2967	{3, 0, 6, 0, 58},
2968	{3, 0, 6, 0, 57},
2969	{3, 0, 6, 0, 55},
2970	{3, 0, 6, 0, 54},
2971	{3, 0, 6, 0, 52},
2972	{3, 0, 5, 0, 61},
2973	{3, 0, 5, 0, 59},
2974	{3, 0, 5, 0, 57},
2975	{3, 0, 5, 0, 56},
2976	{3, 0, 5, 0, 54},
2977	{3, 0, 5, 0, 53},
2978	{3, 0, 5, 0, 51},
2979	{3, 0, 4, 0, 62},
2980	{3, 0, 4, 0, 60},
2981	{3, 0, 4, 0, 58},
2982	{3, 0, 4, 0, 57},
2983	{3, 0, 4, 0, 55},
2984	{3, 0, 4, 0, 54},
2985	{3, 0, 4, 0, 52},
2986	{3, 0, 4, 0, 51},
2987	{3, 0, 4, 0, 49},
2988	{3, 0, 4, 0, 48},
2989	{3, 0, 4, 0, 46},
2990	{3, 0, 3, 0, 60},
2991	{3, 0, 3, 0, 58},
2992	{3, 0, 3, 0, 57},
2993	{3, 0, 3, 0, 55},
2994	{3, 0, 3, 0, 54},
2995	{3, 0, 3, 0, 52},
2996	{3, 0, 3, 0, 51},
2997	{3, 0, 3, 0, 49},
2998	{3, 0, 3, 0, 48},
2999	{3, 0, 3, 0, 46},
3000	{3, 0, 3, 0, 45},
3001	{3, 0, 3, 0, 44},
3002	{3, 0, 3, 0, 43},
3003	{3, 0, 3, 0, 41},
3004	{3, 0, 2, 0, 61},
3005	{3, 0, 2, 0, 59},
3006	{3, 0, 2, 0, 57},
3007	{3, 0, 2, 0, 56},
3008	{3, 0, 2, 0, 54},
3009	{3, 0, 2, 0, 53},
3010	{3, 0, 2, 0, 51},
3011	{3, 0, 2, 0, 50},
3012	{3, 0, 2, 0, 48},
3013	{3, 0, 2, 0, 47},
3014	{3, 0, 2, 0, 46},
3015	{3, 0, 2, 0, 44},
3016	{3, 0, 2, 0, 43},
3017	{3, 0, 2, 0, 42},
3018	{3, 0, 2, 0, 41},
3019	{3, 0, 2, 0, 39},
3020	{3, 0, 2, 0, 38},
3021	{3, 0, 2, 0, 37},
3022	{3, 0, 2, 0, 36},
3023	{3, 0, 2, 0, 35},
3024	{3, 0, 2, 0, 34},
3025	{3, 0, 2, 0, 33},
3026	{3, 0, 2, 0, 32},
3027	{3, 0, 1, 0, 63},
3028	{3, 0, 1, 0, 61},
3029	{3, 0, 1, 0, 59},
3030	{3, 0, 1, 0, 57},
3031};
3032
3033const struct lcnphy_tx_gain_tbl_entry dot11lcnphy_2GHz_gaintable_rev0[128] = {
3034	{15, 0, 31, 0, 72},
3035	{15, 0, 31, 0, 70},
3036	{15, 0, 31, 0, 68},
3037	{15, 0, 30, 0, 68},
3038	{15, 0, 29, 0, 69},
3039	{15, 0, 28, 0, 69},
3040	{15, 0, 27, 0, 70},
3041	{15, 0, 26, 0, 70},
3042	{15, 0, 25, 0, 71},
3043	{15, 0, 24, 0, 72},
3044	{15, 0, 23, 0, 73},
3045	{15, 0, 23, 0, 71},
3046	{15, 0, 22, 0, 72},
3047	{15, 0, 21, 0, 73},
3048	{15, 0, 21, 0, 71},
3049	{15, 0, 21, 0, 69},
3050	{15, 0, 21, 0, 67},
3051	{15, 0, 21, 0, 65},
3052	{15, 0, 21, 0, 63},
3053	{15, 0, 20, 0, 65},
3054	{15, 0, 19, 0, 66},
3055	{15, 0, 19, 0, 64},
3056	{15, 0, 18, 0, 66},
3057	{15, 0, 18, 0, 64},
3058	{15, 0, 17, 0, 66},
3059	{15, 0, 17, 0, 64},
3060	{15, 0, 16, 0, 66},
3061	{15, 0, 16, 0, 64},
3062	{15, 0, 16, 0, 62},
3063	{15, 0, 16, 0, 61},
3064	{15, 0, 16, 0, 59},
3065	{15, 0, 15, 0, 61},
3066	{15, 0, 15, 0, 59},
3067	{15, 0, 14, 0, 62},
3068	{15, 0, 14, 0, 60},
3069	{15, 0, 14, 0, 58},
3070	{15, 0, 13, 0, 61},
3071	{15, 0, 13, 0, 59},
3072	{15, 0, 12, 0, 62},
3073	{15, 0, 12, 0, 61},
3074	{15, 0, 12, 0, 59},
3075	{15, 0, 11, 0, 62},
3076	{15, 0, 11, 0, 61},
3077	{15, 0, 11, 0, 59},
3078	{15, 0, 11, 0, 57},
3079	{15, 0, 10, 0, 61},
3080	{15, 0, 10, 0, 59},
3081	{15, 0, 10, 0, 58},
3082	{15, 0, 9, 0, 62},
3083	{15, 0, 9, 0, 61},
3084	{15, 0, 9, 0, 59},
3085	{15, 0, 9, 0, 57},
3086	{15, 0, 8, 0, 62},
3087	{15, 0, 8, 0, 61},
3088	{15, 0, 8, 0, 59},
3089	{15, 0, 8, 0, 57},
3090	{15, 0, 8, 0, 56},
3091	{15, 0, 8, 0, 54},
3092	{15, 0, 8, 0, 53},
3093	{15, 0, 8, 0, 51},
3094	{15, 0, 8, 0, 50},
3095	{7, 0, 7, 0, 69},
3096	{7, 0, 7, 0, 67},
3097	{7, 0, 7, 0, 65},
3098	{7, 0, 7, 0, 64},
3099	{7, 0, 7, 0, 62},
3100	{7, 0, 7, 0, 60},
3101	{7, 0, 7, 0, 58},
3102	{7, 0, 7, 0, 57},
3103	{7, 0, 7, 0, 55},
3104	{7, 0, 6, 0, 62},
3105	{7, 0, 6, 0, 61},
3106	{7, 0, 6, 0, 59},
3107	{7, 0, 6, 0, 57},
3108	{7, 0, 6, 0, 56},
3109	{7, 0, 6, 0, 54},
3110	{7, 0, 6, 0, 53},
3111	{7, 0, 5, 0, 61},
3112	{7, 0, 5, 0, 60},
3113	{7, 0, 5, 0, 58},
3114	{7, 0, 5, 0, 56},
3115	{7, 0, 5, 0, 55},
3116	{7, 0, 5, 0, 53},
3117	{7, 0, 5, 0, 52},
3118	{7, 0, 5, 0, 50},
3119	{7, 0, 5, 0, 49},
3120	{7, 0, 5, 0, 47},
3121	{7, 0, 4, 0, 57},
3122	{7, 0, 4, 0, 56},
3123	{7, 0, 4, 0, 54},
3124	{7, 0, 4, 0, 53},
3125	{7, 0, 4, 0, 51},
3126	{7, 0, 4, 0, 50},
3127	{7, 0, 4, 0, 48},
3128	{7, 0, 4, 0, 47},
3129	{7, 0, 4, 0, 46},
3130	{7, 0, 4, 0, 44},
3131	{7, 0, 4, 0, 43},
3132	{7, 0, 4, 0, 42},
3133	{7, 0, 4, 0, 41},
3134	{7, 0, 4, 0, 40},
3135	{7, 0, 3, 0, 51},
3136	{7, 0, 3, 0, 50},
3137	{7, 0, 3, 0, 48},
3138	{7, 0, 3, 0, 47},
3139	{7, 0, 3, 0, 46},
3140	{7, 0, 3, 0, 44},
3141	{7, 0, 3, 0, 43},
3142	{7, 0, 3, 0, 42},
3143	{7, 0, 3, 0, 41},
3144	{3, 0, 3, 0, 56},
3145	{3, 0, 3, 0, 54},
3146	{3, 0, 3, 0, 53},
3147	{3, 0, 3, 0, 51},
3148	{3, 0, 3, 0, 50},
3149	{3, 0, 3, 0, 48},
3150	{3, 0, 3, 0, 47},
3151	{3, 0, 3, 0, 46},
3152	{3, 0, 3, 0, 44},
3153	{3, 0, 3, 0, 43},
3154	{3, 0, 3, 0, 42},
3155	{3, 0, 3, 0, 41},
3156	{3, 0, 3, 0, 39},
3157	{3, 0, 3, 0, 38},
3158	{3, 0, 3, 0, 37},
3159	{3, 0, 3, 0, 36},
3160	{3, 0, 3, 0, 35},
3161	{3, 0, 3, 0, 34},
3162};
3163
3164const struct lcnphy_tx_gain_tbl_entry dot11lcnphy_5GHz_gaintable_rev0[128] = {
3165	{255, 255, 0xf0, 0, 152},
3166	{255, 255, 0xf0, 0, 147},
3167	{255, 255, 0xf0, 0, 143},
3168	{255, 255, 0xf0, 0, 139},
3169	{255, 255, 0xf0, 0, 135},
3170	{255, 255, 0xf0, 0, 131},
3171	{255, 255, 0xf0, 0, 128},
3172	{255, 255, 0xf0, 0, 124},
3173	{255, 255, 0xf0, 0, 121},
3174	{255, 255, 0xf0, 0, 117},
3175	{255, 255, 0xf0, 0, 114},
3176	{255, 255, 0xf0, 0, 111},
3177	{255, 255, 0xf0, 0, 107},
3178	{255, 255, 0xf0, 0, 104},
3179	{255, 255, 0xf0, 0, 101},
3180	{255, 255, 0xf0, 0, 99},
3181	{255, 255, 0xf0, 0, 96},
3182	{255, 255, 0xf0, 0, 93},
3183	{255, 255, 0xf0, 0, 90},
3184	{255, 255, 0xf0, 0, 88},
3185	{255, 255, 0xf0, 0, 85},
3186	{255, 255, 0xf0, 0, 83},
3187	{255, 255, 0xf0, 0, 81},
3188	{255, 255, 0xf0, 0, 78},
3189	{255, 255, 0xf0, 0, 76},
3190	{255, 255, 0xf0, 0, 74},
3191	{255, 255, 0xf0, 0, 72},
3192	{255, 255, 0xf0, 0, 70},
3193	{255, 255, 0xf0, 0, 68},
3194	{255, 255, 0xf0, 0, 66},
3195	{255, 255, 0xf0, 0, 64},
3196	{255, 248, 0xf0, 0, 64},
3197	{255, 241, 0xf0, 0, 64},
3198	{255, 251, 0xe0, 0, 64},
3199	{255, 244, 0xe0, 0, 64},
3200	{255, 254, 0xd0, 0, 64},
3201	{255, 246, 0xd0, 0, 64},
3202	{255, 239, 0xd0, 0, 64},
3203	{255, 249, 0xc0, 0, 64},
3204	{255, 242, 0xc0, 0, 64},
3205	{255, 255, 0xb0, 0, 64},
3206	{255, 248, 0xb0, 0, 64},
3207	{255, 241, 0xb0, 0, 64},
3208	{255, 254, 0xa0, 0, 64},
3209	{255, 246, 0xa0, 0, 64},
3210	{255, 239, 0xa0, 0, 64},
3211	{255, 255, 0x90, 0, 64},
3212	{255, 248, 0x90, 0, 64},
3213	{255, 241, 0x90, 0, 64},
3214	{255, 234, 0x90, 0, 64},
3215	{255, 255, 0x80, 0, 64},
3216	{255, 248, 0x80, 0, 64},
3217	{255, 241, 0x80, 0, 64},
3218	{255, 234, 0x80, 0, 64},
3219	{255, 255, 0x70, 0, 64},
3220	{255, 248, 0x70, 0, 64},
3221	{255, 241, 0x70, 0, 64},
3222	{255, 234, 0x70, 0, 64},
3223	{255, 227, 0x70, 0, 64},
3224	{255, 221, 0x70, 0, 64},
3225	{255, 215, 0x70, 0, 64},
3226	{255, 208, 0x70, 0, 64},
3227	{255, 203, 0x70, 0, 64},
3228	{255, 197, 0x70, 0, 64},
3229	{255, 255, 0x60, 0, 64},
3230	{255, 248, 0x60, 0, 64},
3231	{255, 241, 0x60, 0, 64},
3232	{255, 234, 0x60, 0, 64},
3233	{255, 227, 0x60, 0, 64},
3234	{255, 221, 0x60, 0, 64},
3235	{255, 255, 0x50, 0, 64},
3236	{255, 248, 0x50, 0, 64},
3237	{255, 241, 0x50, 0, 64},
3238	{255, 234, 0x50, 0, 64},
3239	{255, 227, 0x50, 0, 64},
3240	{255, 221, 0x50, 0, 64},
3241	{255, 215, 0x50, 0, 64},
3242	{255, 208, 0x50, 0, 64},
3243	{255, 255, 0x40, 0, 64},
3244	{255, 248, 0x40, 0, 64},
3245	{255, 241, 0x40, 0, 64},
3246	{255, 234, 0x40, 0, 64},
3247	{255, 227, 0x40, 0, 64},
3248	{255, 221, 0x40, 0, 64},
3249	{255, 215, 0x40, 0, 64},
3250	{255, 208, 0x40, 0, 64},
3251	{255, 203, 0x40, 0, 64},
3252	{255, 197, 0x40, 0, 64},
3253	{255, 255, 0x30, 0, 64},
3254	{255, 248, 0x30, 0, 64},
3255	{255, 241, 0x30, 0, 64},
3256	{255, 234, 0x30, 0, 64},
3257	{255, 227, 0x30, 0, 64},
3258	{255, 221, 0x30, 0, 64},
3259	{255, 215, 0x30, 0, 64},
3260	{255, 208, 0x30, 0, 64},
3261	{255, 203, 0x30, 0, 64},
3262	{255, 197, 0x30, 0, 64},
3263	{255, 191, 0x30, 0, 64},
3264	{255, 186, 0x30, 0, 64},
3265	{255, 181, 0x30, 0, 64},
3266	{255, 175, 0x30, 0, 64},
3267	{255, 255, 0x20, 0, 64},
3268	{255, 248, 0x20, 0, 64},
3269	{255, 241, 0x20, 0, 64},
3270	{255, 234, 0x20, 0, 64},
3271	{255, 227, 0x20, 0, 64},
3272	{255, 221, 0x20, 0, 64},
3273	{255, 215, 0x20, 0, 64},
3274	{255, 208, 0x20, 0, 64},
3275	{255, 203, 0x20, 0, 64},
3276	{255, 197, 0x20, 0, 64},
3277	{255, 191, 0x20, 0, 64},
3278	{255, 186, 0x20, 0, 64},
3279	{255, 181, 0x20, 0, 64},
3280	{255, 175, 0x20, 0, 64},
3281	{255, 170, 0x20, 0, 64},
3282	{255, 166, 0x20, 0, 64},
3283	{255, 161, 0x20, 0, 64},
3284	{255, 156, 0x20, 0, 64},
3285	{255, 152, 0x20, 0, 64},
3286	{255, 148, 0x20, 0, 64},
3287	{255, 143, 0x20, 0, 64},
3288	{255, 139, 0x20, 0, 64},
3289	{255, 135, 0x20, 0, 64},
3290	{255, 132, 0x20, 0, 64},
3291	{255, 255, 0x10, 0, 64},
3292	{255, 248, 0x10, 0, 64},
3293};
3294