• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2 
3   Broadcom B43 wireless driver
4   IEEE 802.11n PHY and radio device data tables
5 
6   Copyright (c) 2008 Michael Buesch <mb@bu3sch.de>
7 
8   This program is free software; you can redistribute it and/or modify
9   it under the terms of the GNU General Public License as published by
10   the Free Software Foundation; either version 2 of the License, or
11   (at your option) any later version.
12 
13   This program is distributed in the hope that it will be useful,
14   but WITHOUT ANY WARRANTY; without even the implied warranty of
15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16   GNU General Public License for more details.
17 
18   You should have received a copy of the GNU General Public License
19   along with this program; see the file COPYING.  If not, write to
20   the Free Software Foundation, Inc., 51 Franklin Steet, Fifth Floor,
21   Boston, MA 02110-1301, USA.
22 
23 */
24 
25 #include "b43.h"
26 #include "tables_nphy.h"
27 #include "phy_common.h"
28 #include "phy_n.h"
29 
30 
31 struct b2055_inittab_entry {
32 	/* Value to write if we use the 5GHz band. */
33 	u16 ghz5;
34 	/* Value to write if we use the 2.4GHz band. */
35 	u16 ghz2;
36 	/* Flags */
37 	u8 flags;
38 #define B2055_INITTAB_ENTRY_OK	0x01
39 #define B2055_INITTAB_UPLOAD	0x02
40 };
41 #define UPLOAD		.flags = B2055_INITTAB_ENTRY_OK | B2055_INITTAB_UPLOAD
42 #define NOUPLOAD	.flags = B2055_INITTAB_ENTRY_OK
43 
44 static const struct b2055_inittab_entry b2055_inittab [] = {
45   [B2055_SP_PINPD]		= { .ghz5 = 0x0080, .ghz2 = 0x0080, NOUPLOAD, },
46   [B2055_C1_SP_RSSI]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
47   [B2055_C1_SP_PDMISC]		= { .ghz5 = 0x0027, .ghz2 = 0x0027, NOUPLOAD, },
48   [B2055_C2_SP_RSSI]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
49   [B2055_C2_SP_PDMISC]		= { .ghz5 = 0x0027, .ghz2 = 0x0027, NOUPLOAD, },
50   [B2055_C1_SP_RXGC1]		= { .ghz5 = 0x007F, .ghz2 = 0x007F, UPLOAD, },
51   [B2055_C1_SP_RXGC2]		= { .ghz5 = 0x0007, .ghz2 = 0x0007, UPLOAD, },
52   [B2055_C2_SP_RXGC1]		= { .ghz5 = 0x007F, .ghz2 = 0x007F, UPLOAD, },
53   [B2055_C2_SP_RXGC2]		= { .ghz5 = 0x0007, .ghz2 = 0x0007, UPLOAD, },
54   [B2055_C1_SP_LPFBWSEL]	= { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, },
55   [B2055_C2_SP_LPFBWSEL]	= { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, },
56   [B2055_C1_SP_TXGC1]		= { .ghz5 = 0x004F, .ghz2 = 0x004F, UPLOAD, },
57   [B2055_C1_SP_TXGC2]		= { .ghz5 = 0x0005, .ghz2 = 0x0005, UPLOAD, },
58   [B2055_C2_SP_TXGC1]		= { .ghz5 = 0x004F, .ghz2 = 0x004F, UPLOAD, },
59   [B2055_C2_SP_TXGC2]		= { .ghz5 = 0x0005, .ghz2 = 0x0005, UPLOAD, },
60   [B2055_MASTER1]		= { .ghz5 = 0x00D0, .ghz2 = 0x00D0, NOUPLOAD, },
61   [B2055_MASTER2]		= { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, },
62   [B2055_PD_LGEN]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
63   [B2055_PD_PLLTS]		= { .ghz5 = 0x0040, .ghz2 = 0x0040, NOUPLOAD, },
64   [B2055_C1_PD_LGBUF]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
65   [B2055_C1_PD_TX]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
66   [B2055_C1_PD_RXTX]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
67   [B2055_C1_PD_RSSIMISC]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
68   [B2055_C2_PD_LGBUF]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
69   [B2055_C2_PD_TX]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
70   [B2055_C2_PD_RXTX]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
71   [B2055_C2_PD_RSSIMISC]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
72   [B2055_PWRDET_LGEN]		= { .ghz5 = 0x00C0, .ghz2 = 0x00C0, NOUPLOAD, },
73   [B2055_C1_PWRDET_LGBUF]	= { .ghz5 = 0x00FF, .ghz2 = 0x00FF, NOUPLOAD, },
74   [B2055_C1_PWRDET_RXTX]	= { .ghz5 = 0x00C0, .ghz2 = 0x00C0, NOUPLOAD, },
75   [B2055_C2_PWRDET_LGBUF]	= { .ghz5 = 0x00FF, .ghz2 = 0x00FF, NOUPLOAD, },
76   [B2055_C2_PWRDET_RXTX]	= { .ghz5 = 0x00C0, .ghz2 = 0x00C0, NOUPLOAD, },
77   [B2055_RRCCAL_CS]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
78   [B2055_RRCCAL_NOPTSEL]	= { .ghz5 = 0x002C, .ghz2 = 0x002C, NOUPLOAD, },
79   [B2055_CAL_MISC]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
80   [B2055_CAL_COUT]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
81   [B2055_CAL_COUT2]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
82   [B2055_CAL_CVARCTL]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
83   [B2055_CAL_RVARCTL]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
84   [B2055_CAL_LPOCTL]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
85   [B2055_CAL_TS]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
86   [B2055_CAL_RCCALRTS]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
87   [B2055_CAL_RCALRTS]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
88   [B2055_PADDRV]		= { .ghz5 = 0x00A4, .ghz2 = 0x00A4, NOUPLOAD, },
89   [B2055_XOCTL1]		= { .ghz5 = 0x0038, .ghz2 = 0x0038, NOUPLOAD, },
90   [B2055_XOCTL2]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
91   [B2055_XOREGUL]		= { .ghz5 = 0x0004, .ghz2 = 0x0004, UPLOAD, },
92   [B2055_XOMISC]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
93   [B2055_PLL_LFC1]		= { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, },
94   [B2055_PLL_CALVTH]		= { .ghz5 = 0x0087, .ghz2 = 0x0087, NOUPLOAD, },
95   [B2055_PLL_LFC2]		= { .ghz5 = 0x0009, .ghz2 = 0x0009, NOUPLOAD, },
96   [B2055_PLL_REF]		= { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, },
97   [B2055_PLL_LFR1]		= { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, },
98   [B2055_PLL_PFDCP]		= { .ghz5 = 0x0018, .ghz2 = 0x0018, UPLOAD, },
99   [B2055_PLL_IDAC_CPOPAMP]	= { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
100   [B2055_PLL_CPREG]		= { .ghz5 = 0x0004, .ghz2 = 0x0004, UPLOAD, },
101   [B2055_PLL_RCAL]		= { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
102   [B2055_RF_PLLMOD0]		= { .ghz5 = 0x009E, .ghz2 = 0x009E, NOUPLOAD, },
103   [B2055_RF_PLLMOD1]		= { .ghz5 = 0x0009, .ghz2 = 0x0009, NOUPLOAD, },
104   [B2055_RF_MMDIDAC1]		= { .ghz5 = 0x00C8, .ghz2 = 0x00C8, UPLOAD, },
105   [B2055_RF_MMDIDAC0]		= { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
106   [B2055_RF_MMDSP]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
107   [B2055_VCO_CAL1]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
108   [B2055_VCO_CAL2]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
109   [B2055_VCO_CAL3]		= { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, },
110   [B2055_VCO_CAL4]		= { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, },
111   [B2055_VCO_CAL5]		= { .ghz5 = 0x0096, .ghz2 = 0x0096, NOUPLOAD, },
112   [B2055_VCO_CAL6]		= { .ghz5 = 0x003E, .ghz2 = 0x003E, NOUPLOAD, },
113   [B2055_VCO_CAL7]		= { .ghz5 = 0x003E, .ghz2 = 0x003E, NOUPLOAD, },
114   [B2055_VCO_CAL8]		= { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, },
115   [B2055_VCO_CAL9]		= { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, },
116   [B2055_VCO_CAL10]		= { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, },
117   [B2055_VCO_CAL11]		= { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, },
118   [B2055_VCO_CAL12]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
119   [B2055_VCO_CAL13]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
120   [B2055_VCO_CAL14]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
121   [B2055_VCO_CAL15]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
122   [B2055_VCO_CAL16]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
123   [B2055_VCO_KVCO]		= { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, },
124   [B2055_VCO_CAPTAIL]		= { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, },
125   [B2055_VCO_IDACVCO]		= { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
126   [B2055_VCO_REG]		= { .ghz5 = 0x0084, .ghz2 = 0x0084, UPLOAD, },
127   [B2055_PLL_RFVTH]		= { .ghz5 = 0x00C3, .ghz2 = 0x00C3, NOUPLOAD, },
128   [B2055_LGBUF_CENBUF]		= { .ghz5 = 0x008F, .ghz2 = 0x008F, NOUPLOAD, },
129   [B2055_LGEN_TUNE1]		= { .ghz5 = 0x00FF, .ghz2 = 0x00FF, NOUPLOAD, },
130   [B2055_LGEN_TUNE2]		= { .ghz5 = 0x00FF, .ghz2 = 0x00FF, NOUPLOAD, },
131   [B2055_LGEN_IDAC1]		= { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
132   [B2055_LGEN_IDAC2]		= { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
133   [B2055_LGEN_BIASC]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
134   [B2055_LGEN_BIASIDAC]		= { .ghz5 = 0x00CC, .ghz2 = 0x00CC, NOUPLOAD, },
135   [B2055_LGEN_RCAL]		= { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
136   [B2055_LGEN_DIV]		= { .ghz5 = 0x0080, .ghz2 = 0x0080, NOUPLOAD, },
137   [B2055_LGEN_SPARE2]		= { .ghz5 = 0x0080, .ghz2 = 0x0080, NOUPLOAD, },
138   [B2055_C1_LGBUF_ATUNE]	= { .ghz5 = 0x00F8, .ghz2 = 0x00F8, NOUPLOAD, },
139   [B2055_C1_LGBUF_GTUNE]	= { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
140   [B2055_C1_LGBUF_DIV]		= { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
141   [B2055_C1_LGBUF_AIDAC]	= { .ghz5 = 0x0088, .ghz2 = 0x0008, UPLOAD, },
142   [B2055_C1_LGBUF_GIDAC]	= { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
143   [B2055_C1_LGBUF_IDACFO]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
144   [B2055_C1_LGBUF_SPARE]	= { .ghz5 = 0x0001, .ghz2 = 0x0001, UPLOAD, },
145   [B2055_C1_RX_RFSPC1]		= { .ghz5 = 0x008A, .ghz2 = 0x008A, NOUPLOAD, },
146   [B2055_C1_RX_RFR1]		= { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, },
147   [B2055_C1_RX_RFR2]		= { .ghz5 = 0x0083, .ghz2 = 0x0083, NOUPLOAD, },
148   [B2055_C1_RX_RFRCAL]		= { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
149   [B2055_C1_RX_BB_BLCMP]	= { .ghz5 = 0x00A0, .ghz2 = 0x00A0, NOUPLOAD, },
150   [B2055_C1_RX_BB_LPF]		= { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, },
151   [B2055_C1_RX_BB_MIDACHP]	= { .ghz5 = 0x0087, .ghz2 = 0x0087, UPLOAD, },
152   [B2055_C1_RX_BB_VGA1IDAC]	= { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
153   [B2055_C1_RX_BB_VGA2IDAC]	= { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
154   [B2055_C1_RX_BB_VGA3IDAC]	= { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
155   [B2055_C1_RX_BB_BUFOCTL]	= { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
156   [B2055_C1_RX_BB_RCCALCTL]	= { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, },
157   [B2055_C1_RX_BB_RSSICTL1]	= { .ghz5 = 0x006A, .ghz2 = 0x006A, UPLOAD, },
158   [B2055_C1_RX_BB_RSSICTL2]	= { .ghz5 = 0x00AB, .ghz2 = 0x00AB, UPLOAD, },
159   [B2055_C1_RX_BB_RSSICTL3]	= { .ghz5 = 0x0013, .ghz2 = 0x0013, UPLOAD, },
160   [B2055_C1_RX_BB_RSSICTL4]	= { .ghz5 = 0x00C1, .ghz2 = 0x00C1, UPLOAD, },
161   [B2055_C1_RX_BB_RSSICTL5]	= { .ghz5 = 0x00AA, .ghz2 = 0x00AA, UPLOAD, },
162   [B2055_C1_RX_BB_REG]		= { .ghz5 = 0x0087, .ghz2 = 0x0087, UPLOAD, },
163   [B2055_C1_RX_BB_SPARE1]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
164   [B2055_C1_RX_TXBBRCAL]	= { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
165   [B2055_C1_TX_RF_SPGA]		= { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, },
166   [B2055_C1_TX_RF_SPAD]		= { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, },
167   [B2055_C1_TX_RF_CNTPGA1]	= { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, },
168   [B2055_C1_TX_RF_CNTPAD1]	= { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, },
169   [B2055_C1_TX_RF_PGAIDAC]	= { .ghz5 = 0x0097, .ghz2 = 0x0097, UPLOAD, },
170   [B2055_C1_TX_PGAPADTN]	= { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, },
171   [B2055_C1_TX_PADIDAC1]	= { .ghz5 = 0x0014, .ghz2 = 0x0014, UPLOAD, },
172   [B2055_C1_TX_PADIDAC2]	= { .ghz5 = 0x0033, .ghz2 = 0x0033, NOUPLOAD, },
173   [B2055_C1_TX_MXBGTRIM]	= { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
174   [B2055_C1_TX_RF_RCAL]		= { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
175   [B2055_C1_TX_RF_PADTSSI1]	= { .ghz5 = 0x0003, .ghz2 = 0x0003, UPLOAD, },
176   [B2055_C1_TX_RF_PADTSSI2]	= { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, },
177   [B2055_C1_TX_RF_SPARE]	= { .ghz5 = 0x0003, .ghz2 = 0x0003, UPLOAD, },
178   [B2055_C1_TX_RF_IQCAL1]	= { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
179   [B2055_C1_TX_RF_IQCAL2]	= { .ghz5 = 0x00A4, .ghz2 = 0x00A4, NOUPLOAD, },
180   [B2055_C1_TXBB_RCCAL]		= { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, },
181   [B2055_C1_TXBB_LPF1]		= { .ghz5 = 0x0028, .ghz2 = 0x0028, NOUPLOAD, },
182   [B2055_C1_TX_VOSCNCL]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
183   [B2055_C1_TX_LPF_MXGMIDAC]	= { .ghz5 = 0x004A, .ghz2 = 0x004A, NOUPLOAD, },
184   [B2055_C1_TX_BB_MXGM]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
185   [B2055_C2_LGBUF_ATUNE]	= { .ghz5 = 0x00F8, .ghz2 = 0x00F8, NOUPLOAD, },
186   [B2055_C2_LGBUF_GTUNE]	= { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
187   [B2055_C2_LGBUF_DIV]		= { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
188   [B2055_C2_LGBUF_AIDAC]	= { .ghz5 = 0x0088, .ghz2 = 0x0008, UPLOAD, },
189   [B2055_C2_LGBUF_GIDAC]	= { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
190   [B2055_C2_LGBUF_IDACFO]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
191   [B2055_C2_LGBUF_SPARE]	= { .ghz5 = 0x0001, .ghz2 = 0x0001, UPLOAD, },
192   [B2055_C2_RX_RFSPC1]		= { .ghz5 = 0x008A, .ghz2 = 0x008A, NOUPLOAD, },
193   [B2055_C2_RX_RFR1]		= { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, },
194   [B2055_C2_RX_RFR2]		= { .ghz5 = 0x0083, .ghz2 = 0x0083, NOUPLOAD, },
195   [B2055_C2_RX_RFRCAL]		= { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
196   [B2055_C2_RX_BB_BLCMP]	= { .ghz5 = 0x00A0, .ghz2 = 0x00A0, NOUPLOAD, },
197   [B2055_C2_RX_BB_LPF]		= { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, },
198   [B2055_C2_RX_BB_MIDACHP]	= { .ghz5 = 0x0087, .ghz2 = 0x0087, UPLOAD, },
199   [B2055_C2_RX_BB_VGA1IDAC]	= { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
200   [B2055_C2_RX_BB_VGA2IDAC]	= { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
201   [B2055_C2_RX_BB_VGA3IDAC]	= { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
202   [B2055_C2_RX_BB_BUFOCTL]	= { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
203   [B2055_C2_RX_BB_RCCALCTL]	= { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, },
204   [B2055_C2_RX_BB_RSSICTL1]	= { .ghz5 = 0x006A, .ghz2 = 0x006A, UPLOAD, },
205   [B2055_C2_RX_BB_RSSICTL2]	= { .ghz5 = 0x00AB, .ghz2 = 0x00AB, UPLOAD, },
206   [B2055_C2_RX_BB_RSSICTL3]	= { .ghz5 = 0x0013, .ghz2 = 0x0013, UPLOAD, },
207   [B2055_C2_RX_BB_RSSICTL4]	= { .ghz5 = 0x00C1, .ghz2 = 0x00C1, UPLOAD, },
208   [B2055_C2_RX_BB_RSSICTL5]	= { .ghz5 = 0x00AA, .ghz2 = 0x00AA, UPLOAD, },
209   [B2055_C2_RX_BB_REG]		= { .ghz5 = 0x0087, .ghz2 = 0x0087, UPLOAD, },
210   [B2055_C2_RX_BB_SPARE1]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
211   [B2055_C2_RX_TXBBRCAL]	= { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
212   [B2055_C2_TX_RF_SPGA]		= { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, },
213   [B2055_C2_TX_RF_SPAD]		= { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, },
214   [B2055_C2_TX_RF_CNTPGA1]	= { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, },
215   [B2055_C2_TX_RF_CNTPAD1]	= { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, },
216   [B2055_C2_TX_RF_PGAIDAC]	= { .ghz5 = 0x0097, .ghz2 = 0x0097, UPLOAD, },
217   [B2055_C2_TX_PGAPADTN]	= { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, },
218   [B2055_C2_TX_PADIDAC1]	= { .ghz5 = 0x0014, .ghz2 = 0x0014, UPLOAD, },
219   [B2055_C2_TX_PADIDAC2]	= { .ghz5 = 0x0033, .ghz2 = 0x0033, NOUPLOAD, },
220   [B2055_C2_TX_MXBGTRIM]	= { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
221   [B2055_C2_TX_RF_RCAL]		= { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
222   [B2055_C2_TX_RF_PADTSSI1]	= { .ghz5 = 0x0003, .ghz2 = 0x0003, UPLOAD, },
223   [B2055_C2_TX_RF_PADTSSI2]	= { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, },
224   [B2055_C2_TX_RF_SPARE]	= { .ghz5 = 0x0003, .ghz2 = 0x0003, UPLOAD, },
225   [B2055_C2_TX_RF_IQCAL1]	= { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
226   [B2055_C2_TX_RF_IQCAL2]	= { .ghz5 = 0x00A4, .ghz2 = 0x00A4, NOUPLOAD, },
227   [B2055_C2_TXBB_RCCAL]		= { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, },
228   [B2055_C2_TXBB_LPF1]		= { .ghz5 = 0x0028, .ghz2 = 0x0028, NOUPLOAD, },
229   [B2055_C2_TX_VOSCNCL]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
230   [B2055_C2_TX_LPF_MXGMIDAC]	= { .ghz5 = 0x004A, .ghz2 = 0x004A, NOUPLOAD, },
231   [B2055_C2_TX_BB_MXGM]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
232   [B2055_PRG_GCHP21]		= { .ghz5 = 0x0071, .ghz2 = 0x0071, NOUPLOAD, },
233   [B2055_PRG_GCHP22]		= { .ghz5 = 0x0072, .ghz2 = 0x0072, NOUPLOAD, },
234   [B2055_PRG_GCHP23]		= { .ghz5 = 0x0073, .ghz2 = 0x0073, NOUPLOAD, },
235   [B2055_PRG_GCHP24]		= { .ghz5 = 0x0074, .ghz2 = 0x0074, NOUPLOAD, },
236   [B2055_PRG_GCHP25]		= { .ghz5 = 0x0075, .ghz2 = 0x0075, NOUPLOAD, },
237   [B2055_PRG_GCHP26]		= { .ghz5 = 0x0076, .ghz2 = 0x0076, NOUPLOAD, },
238   [B2055_PRG_GCHP27]		= { .ghz5 = 0x0077, .ghz2 = 0x0077, NOUPLOAD, },
239   [B2055_PRG_GCHP28]		= { .ghz5 = 0x0078, .ghz2 = 0x0078, NOUPLOAD, },
240   [B2055_PRG_GCHP29]		= { .ghz5 = 0x0079, .ghz2 = 0x0079, NOUPLOAD, },
241   [B2055_PRG_GCHP30]		= { .ghz5 = 0x007A, .ghz2 = 0x007A, NOUPLOAD, },
242   [0xC7]			= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
243   [0xC8]			= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
244   [0xC9]			= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
245   [0xCA]			= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
246   [0xCB]			= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
247   [0xCC]			= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
248   [B2055_C1_LNA_GAINBST]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
249   [0xCE]			= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
250   [0xCF]			= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
251   [0xD0]			= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
252   [0xD1]			= { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, },
253   [B2055_C1_B0NB_RSSIVCM]	= { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
254   [0xD3]			= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
255   [0xD4]			= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
256   [0xD5]			= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
257   [B2055_C1_GENSPARE2]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
258   [0xD7]			= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
259   [0xD8]			= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
260   [B2055_C2_LNA_GAINBST]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
261   [0xDA]			= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
262   [0xDB]			= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
263   [0xDC]			= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
264   [0xDD]			= { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, },
265   [B2055_C2_B0NB_RSSIVCM]	= { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
266   [0xDF]			= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
267   [0xE0]			= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
268   [0xE1]			= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
269   [B2055_C2_GENSPARE2]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
270 };
271 
272 
b2055_upload_inittab(struct b43_wldev * dev,bool ghz5,bool ignore_uploadflag)273 void b2055_upload_inittab(struct b43_wldev *dev,
274 			  bool ghz5, bool ignore_uploadflag)
275 {
276 	const struct b2055_inittab_entry *e;
277 	unsigned int i;
278 	u16 value;
279 
280 	for (i = 0; i < ARRAY_SIZE(b2055_inittab); i++) {
281 		e = &(b2055_inittab[i]);
282 		if (!(e->flags & B2055_INITTAB_ENTRY_OK))
283 			continue;
284 		if ((e->flags & B2055_INITTAB_UPLOAD) || ignore_uploadflag) {
285 			if (ghz5)
286 				value = e->ghz5;
287 			else
288 				value = e->ghz2;
289 			b43_radio_write16(dev, i, value);
290 		}
291 	}
292 }
293 
294 
295 #define RADIOREGS(r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, \
296 		  r12, r13, r14, r15, r16, r17, r18, r19, r20, r21) \
297 	.radio_pll_ref		= r0,	\
298 	.radio_rf_pllmod0	= r1,	\
299 	.radio_rf_pllmod1	= r2,	\
300 	.radio_vco_captail	= r3,	\
301 	.radio_vco_cal1		= r4,	\
302 	.radio_vco_cal2		= r5,	\
303 	.radio_pll_lfc1		= r6,	\
304 	.radio_pll_lfr1		= r7,	\
305 	.radio_pll_lfc2		= r8,	\
306 	.radio_lgbuf_cenbuf	= r9,	\
307 	.radio_lgen_tune1	= r10,	\
308 	.radio_lgen_tune2	= r11,	\
309 	.radio_c1_lgbuf_atune	= r12,	\
310 	.radio_c1_lgbuf_gtune	= r13,	\
311 	.radio_c1_rx_rfr1	= r14,	\
312 	.radio_c1_tx_pgapadtn	= r15,	\
313 	.radio_c1_tx_mxbgtrim	= r16,	\
314 	.radio_c2_lgbuf_atune	= r17,	\
315 	.radio_c2_lgbuf_gtune	= r18,	\
316 	.radio_c2_rx_rfr1	= r19,	\
317 	.radio_c2_tx_pgapadtn	= r20,	\
318 	.radio_c2_tx_mxbgtrim	= r21
319 
320 #define PHYREGS(r0, r1, r2, r3, r4, r5)	\
321 	.phy_bw1a	= r0,		\
322 	.phy_bw2	= r1,		\
323 	.phy_bw3	= r2,		\
324 	.phy_bw4	= r3,		\
325 	.phy_bw5	= r4,		\
326 	.phy_bw6	= r5
327 
328 static const struct b43_nphy_channeltab_entry b43_nphy_channeltab[] = {
329   {	.channel		= 184,
330 	.freq			= 4920, /* MHz */
331 	.unk2			= 3280,
332 	RADIOREGS(0x71, 0x01, 0xEC, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
333 		  0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F,
334 		  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
335 	PHYREGS(0xB407, 0xB007, 0xAC07, 0x1402, 0x1502, 0x1602),
336   },
337   {	.channel		= 186,
338 	.freq			= 4930, /* MHz */
339 	.unk2			= 3287,
340 	RADIOREGS(0x71, 0x01, 0xED, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
341 		  0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F,
342 		  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
343 	PHYREGS(0xB807, 0xB407, 0xB007, 0x1302, 0x1402, 0x1502),
344   },
345   {	.channel		= 188,
346 	.freq			= 4940, /* MHz */
347 	.unk2			= 3293,
348 	RADIOREGS(0x71, 0x01, 0xEE, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
349 		  0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F,
350 		  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
351 	PHYREGS(0xBC07, 0xB807, 0xB407, 0x1202, 0x1302, 0x1402),
352   },
353   {	.channel		= 190,
354 	.freq			= 4950, /* MHz */
355 	.unk2			= 3300,
356 	RADIOREGS(0x71, 0x01, 0xEF, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
357 		  0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F,
358 		  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
359 	PHYREGS(0xC007, 0xBC07, 0xB807, 0x1102, 0x1202, 0x1302),
360   },
361   {	.channel		= 192,
362 	.freq			= 4960, /* MHz */
363 	.unk2			= 3307,
364 	RADIOREGS(0x71, 0x01, 0xF0, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
365 		  0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F,
366 		  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
367 	PHYREGS(0xC407, 0xC007, 0xBC07, 0x0F02, 0x1102, 0x1202),
368   },
369   {	.channel		= 194,
370 	.freq			= 4970, /* MHz */
371 	.unk2			= 3313,
372 	RADIOREGS(0x71, 0x01, 0xF1, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
373 		  0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F,
374 		  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
375 	PHYREGS(0xC807, 0xC407, 0xC007, 0x0E02, 0x0F02, 0x1102),
376   },
377   {	.channel		= 196,
378 	.freq			= 4980, /* MHz */
379 	.unk2			= 3320,
380 	RADIOREGS(0x71, 0x01, 0xF2, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
381 		  0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F,
382 		  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
383 	PHYREGS(0xCC07, 0xC807, 0xC407, 0x0D02, 0x0E02, 0x0F02),
384   },
385   {	.channel		= 198,
386 	.freq			= 4990, /* MHz */
387 	.unk2			= 3327,
388 	RADIOREGS(0x71, 0x01, 0xF3, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
389 		  0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F,
390 		  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
391 	PHYREGS(0xD007, 0xCC07, 0xC807, 0x0C02, 0x0D02, 0x0E02),
392   },
393   {	.channel		= 200,
394 	.freq			= 5000, /* MHz */
395 	.unk2			= 3333,
396 	RADIOREGS(0x71, 0x01, 0xF4, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
397 		  0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F,
398 		  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
399 	PHYREGS(0xD407, 0xD007, 0xCC07, 0x0B02, 0x0C02, 0x0D02),
400   },
401   {	.channel		= 202,
402 	.freq			= 5010, /* MHz */
403 	.unk2			= 3340,
404 	RADIOREGS(0x71, 0x01, 0xF5, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
405 		  0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F,
406 		  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
407 	PHYREGS(0xD807, 0xD407, 0xD007, 0x0A02, 0x0B02, 0x0C02),
408   },
409   {	.channel		= 204,
410 	.freq			= 5020, /* MHz */
411 	.unk2			= 3347,
412 	RADIOREGS(0x71, 0x01, 0xF6, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
413 		  0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F,
414 		  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
415 	PHYREGS(0xDC07, 0xD807, 0xD407, 0x0902, 0x0A02, 0x0B02),
416   },
417   {	.channel		= 206,
418 	.freq			= 5030, /* MHz */
419 	.unk2			= 3353,
420 	RADIOREGS(0x71, 0x01, 0xF7, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
421 		  0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F,
422 		  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
423 	PHYREGS(0xE007, 0xDC07, 0xD807, 0x0802, 0x0902, 0x0A02),
424   },
425   {	.channel		= 208,
426 	.freq			= 5040, /* MHz */
427 	.unk2			= 3360,
428 	RADIOREGS(0x71, 0x01, 0xF8, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
429 		  0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F,
430 		  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
431 	PHYREGS(0xE407, 0xE007, 0xDC07, 0x0702, 0x0802, 0x0902),
432   },
433   {	.channel		= 210,
434 	.freq			= 5050, /* MHz */
435 	.unk2			= 3367,
436 	RADIOREGS(0x71, 0x01, 0xF9, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
437 		  0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F,
438 		  0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
439 	PHYREGS(0xE807, 0xE407, 0xE007, 0x0602, 0x0702, 0x0802),
440   },
441   {	.channel		= 212,
442 	.freq			= 5060, /* MHz */
443 	.unk2			= 3373,
444 	RADIOREGS(0x71, 0x01, 0xFA, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
445 		  0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F,
446 		  0x8E, 0xFF, 0x00, 0x0E, 0x0F, 0x8E),
447 	PHYREGS(0xEC07, 0xE807, 0xE407, 0x0502, 0x0602, 0x0702),
448   },
449   {	.channel		= 214,
450 	.freq			= 5070, /* MHz */
451 	.unk2			= 3380,
452 	RADIOREGS(0x71, 0x01, 0xFB, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
453 		  0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F,
454 		  0x8E, 0xFF, 0x00, 0x0E, 0x0F, 0x8E),
455 	PHYREGS(0xF007, 0xEC07, 0xE807, 0x0402, 0x0502, 0x0602),
456   },
457   {	.channel		= 216,
458 	.freq			= 5080, /* MHz */
459 	.unk2			= 3387,
460 	RADIOREGS(0x71, 0x01, 0xFC, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
461 		  0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F,
462 		  0x8D, 0xEE, 0x00, 0x0E, 0x0F, 0x8D),
463 	PHYREGS(0xF407, 0xF007, 0xEC07, 0x0302, 0x0402, 0x0502),
464   },
465   {	.channel		= 218,
466 	.freq			= 5090, /* MHz */
467 	.unk2			= 3393,
468 	RADIOREGS(0x71, 0x01, 0xFD, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
469 		  0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F,
470 		  0x8D, 0xEE, 0x00, 0x0E, 0x0F, 0x8D),
471 	PHYREGS(0xF807, 0xF407, 0xF007, 0x0202, 0x0302, 0x0402),
472   },
473   {	.channel		= 220,
474 	.freq			= 5100, /* MHz */
475 	.unk2			= 3400,
476 	RADIOREGS(0x71, 0x01, 0xFE, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
477 		  0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F,
478 		  0x8D, 0xEE, 0x00, 0x0D, 0x0F, 0x8D),
479 	PHYREGS(0xFC07, 0xF807, 0xF407, 0x0102, 0x0202, 0x0302),
480   },
481   {	.channel		= 222,
482 	.freq			= 5110, /* MHz */
483 	.unk2			= 3407,
484 	RADIOREGS(0x71, 0x01, 0xFF, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
485 		  0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F,
486 		  0x8D, 0xEE, 0x00, 0x0D, 0x0F, 0x8D),
487 	PHYREGS(0x0008, 0xFC07, 0xF807, 0x0002, 0x0102, 0x0202),
488   },
489   {	.channel		= 224,
490 	.freq			= 5120, /* MHz */
491 	.unk2			= 3413,
492 	RADIOREGS(0x71, 0x02, 0x00, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
493 		  0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F,
494 		  0x8C, 0xDD, 0x00, 0x0D, 0x0F, 0x8C),
495 	PHYREGS(0x0408, 0x0008, 0xFC07, 0xFF01, 0x0002, 0x0102),
496   },
497   {	.channel		= 226,
498 	.freq			= 5130, /* MHz */
499 	.unk2			= 3420,
500 	RADIOREGS(0x71, 0x02, 0x01, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
501 		  0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F,
502 		  0x8C, 0xDD, 0x00, 0x0D, 0x0F, 0x8C),
503 	PHYREGS(0x0808, 0x0408, 0x0008, 0xFE01, 0xFF01, 0x0002),
504   },
505   {	.channel		= 228,
506 	.freq			= 5140, /* MHz */
507 	.unk2			= 3427,
508 	RADIOREGS(0x71, 0x02, 0x02, 0x0C, 0xC6, 0x01, 0x04, 0x0A,
509 		  0x00, 0x8D, 0x99, 0x99, 0xDD, 0x00, 0x0C, 0x0E,
510 		  0x8B, 0xDD, 0x00, 0x0C, 0x0E, 0x8B),
511 	PHYREGS(0x0C08, 0x0808, 0x0408, 0xFD01, 0xFE01, 0xFF01),
512   },
513   {	.channel		= 32,
514 	.freq			= 5160, /* MHz */
515 	.unk2			= 3440,
516 	RADIOREGS(0x71, 0x02, 0x04, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
517 		  0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D,
518 		  0x8A, 0xCC, 0x00, 0x0B, 0x0D, 0x8A),
519 	PHYREGS(0x1408, 0x1008, 0x0C08, 0xFB01, 0xFC01, 0xFD01),
520   },
521   {	.channel		= 34,
522 	.freq			= 5170, /* MHz */
523 	.unk2			= 3447,
524 	RADIOREGS(0x71, 0x02, 0x05, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
525 		  0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D,
526 		  0x8A, 0xCC, 0x00, 0x0B, 0x0D, 0x8A),
527 	PHYREGS(0x1808, 0x1408, 0x1008, 0xFA01, 0xFB01, 0xFC01),
528   },
529   {	.channel		= 36,
530 	.freq			= 5180, /* MHz */
531 	.unk2			= 3453,
532 	RADIOREGS(0x71, 0x02, 0x06, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
533 		  0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C,
534 		  0x89, 0xCC, 0x00, 0x0B, 0x0C, 0x89),
535 	PHYREGS(0x1C08, 0x1808, 0x1408, 0xF901, 0xFA01, 0xFB01),
536   },
537   {	.channel		= 38,
538 	.freq			= 5190, /* MHz */
539 	.unk2			= 3460,
540 	RADIOREGS(0x71, 0x02, 0x07, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
541 		  0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C,
542 		  0x89, 0xCC, 0x00, 0x0B, 0x0C, 0x89),
543 	PHYREGS(0x2008, 0x1C08, 0x1808, 0xF801, 0xF901, 0xFA01),
544   },
545   {	.channel		= 40,
546 	.freq			= 5200, /* MHz */
547 	.unk2			= 3467,
548 	RADIOREGS(0x71, 0x02, 0x08, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
549 		  0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B,
550 		  0x89, 0xBB, 0x00, 0x0A, 0x0B, 0x89),
551 	PHYREGS(0x2408, 0x2008, 0x1C08, 0xF701, 0xF801, 0xF901),
552   },
553   {	.channel		= 42,
554 	.freq			= 5210, /* MHz */
555 	.unk2			= 3473,
556 	RADIOREGS(0x71, 0x02, 0x09, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
557 		  0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B,
558 		  0x89, 0xBB, 0x00, 0x0A, 0x0B, 0x89),
559 	PHYREGS(0x2808, 0x2408, 0x2008, 0xF601, 0xF701, 0xF801),
560   },
561   {	.channel		= 44,
562 	.freq			= 5220, /* MHz */
563 	.unk2			= 3480,
564 	RADIOREGS(0x71, 0x02, 0x0A, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
565 		  0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A,
566 		  0x88, 0xBB, 0x00, 0x09, 0x0A, 0x88),
567 	PHYREGS(0x2C08, 0x2808, 0x2408, 0xF501, 0xF601, 0xF701),
568   },
569   {	.channel		= 46,
570 	.freq			= 5230, /* MHz */
571 	.unk2			= 3487,
572 	RADIOREGS(0x71, 0x02, 0x0B, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
573 		  0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A,
574 		  0x88, 0xBB, 0x00, 0x09, 0x0A, 0x88),
575 	PHYREGS(0x3008, 0x2C08, 0x2808, 0xF401, 0xF501, 0xF601),
576   },
577   {	.channel		= 48,
578 	.freq			= 5240, /* MHz */
579 	.unk2			= 3493,
580 	RADIOREGS(0x71, 0x02, 0x0C, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
581 		  0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A,
582 		  0x87, 0xAA, 0x00, 0x09, 0x0A, 0x87),
583 	PHYREGS(0x3408, 0x3008, 0x2C08, 0xF301, 0xF401, 0xF501),
584   },
585   {	.channel		= 50,
586 	.freq			= 5250, /* MHz */
587 	.unk2			= 3500,
588 	RADIOREGS(0x71, 0x02, 0x0D, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
589 		  0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A,
590 		  0x87, 0xAA, 0x00, 0x09, 0x0A, 0x87),
591 	PHYREGS(0x3808, 0x3408, 0x3008, 0xF201, 0xF301, 0xF401),
592   },
593   {	.channel		= 52,
594 	.freq			= 5260, /* MHz */
595 	.unk2			= 3507,
596 	RADIOREGS(0x71, 0x02, 0x0E, 0x0A, 0x98, 0x01, 0x04, 0x0A,
597 		  0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09,
598 		  0x87, 0xAA, 0x00, 0x08, 0x09, 0x87),
599 	PHYREGS(0x3C08, 0x3808, 0x3408, 0xF101, 0xF201, 0xF301),
600   },
601   {	.channel		= 54,
602 	.freq			= 5270, /* MHz */
603 	.unk2			= 3513,
604 	RADIOREGS(0x71, 0x02, 0x0F, 0x0A, 0x98, 0x01, 0x04, 0x0A,
605 		  0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09,
606 		  0x87, 0xAA, 0x00, 0x08, 0x09, 0x87),
607 	PHYREGS(0x4008, 0x3C08, 0x3808, 0xF001, 0xF101, 0xF201),
608   },
609   {	.channel		= 56,
610 	.freq			= 5280, /* MHz */
611 	.unk2			= 3520,
612 	RADIOREGS(0x71, 0x02, 0x10, 0x09, 0x91, 0x01, 0x04, 0x0A,
613 		  0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08,
614 		  0x86, 0x99, 0x00, 0x08, 0x08, 0x86),
615 	PHYREGS(0x4408, 0x4008, 0x3C08, 0xF001, 0xF001, 0xF101),
616   },
617   {	.channel		= 58,
618 	.freq			= 5290, /* MHz */
619 	.unk2			= 3527,
620 	RADIOREGS(0x71, 0x02, 0x11, 0x09, 0x91, 0x01, 0x04, 0x0A,
621 		  0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08,
622 		  0x86, 0x99, 0x00, 0x08, 0x08, 0x86),
623 	PHYREGS(0x4808, 0x4408, 0x4008, 0xEF01, 0xF001, 0xF001),
624   },
625   {	.channel		= 60,
626 	.freq			= 5300, /* MHz */
627 	.unk2			= 3533,
628 	RADIOREGS(0x71, 0x02, 0x12, 0x09, 0x8A, 0x01, 0x04, 0x0A,
629 		  0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07,
630 		  0x85, 0x99, 0x00, 0x08, 0x07, 0x85),
631 	PHYREGS(0x4C08, 0x4808, 0x4408, 0xEE01, 0xEF01, 0xF001),
632   },
633   {	.channel		= 62,
634 	.freq			= 5310, /* MHz */
635 	.unk2			= 3540,
636 	RADIOREGS(0x71, 0x02, 0x13, 0x09, 0x8A, 0x01, 0x04, 0x0A,
637 		  0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07,
638 		  0x85, 0x99, 0x00, 0x08, 0x07, 0x85),
639 	PHYREGS(0x5008, 0x4C08, 0x4808, 0xED01, 0xEE01, 0xEF01),
640   },
641   {	.channel		= 64,
642 	.freq			= 5320, /* MHz */
643 	.unk2			= 3547,
644 	RADIOREGS(0x71, 0x02, 0x14, 0x09, 0x83, 0x01, 0x04, 0x0A,
645 		  0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07,
646 		  0x84, 0x88, 0x00, 0x07, 0x07, 0x84),
647 	PHYREGS(0x5408, 0x5008, 0x4C08, 0xEC01, 0xED01, 0xEE01),
648   },
649   {	.channel		= 66,
650 	.freq			= 5330, /* MHz */
651 	.unk2			= 3553,
652 	RADIOREGS(0x71, 0x02, 0x15, 0x09, 0x83, 0x01, 0x04, 0x0A,
653 		  0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07,
654 		  0x84, 0x88, 0x00, 0x07, 0x07, 0x84),
655 	PHYREGS(0x5808, 0x5408, 0x5008, 0xEB01, 0xEC01, 0xED01),
656   },
657   {	.channel		= 68,
658 	.freq			= 5340, /* MHz */
659 	.unk2			= 3560,
660 	RADIOREGS(0x71, 0x02, 0x16, 0x08, 0x7C, 0x01, 0x04, 0x0A,
661 		  0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06,
662 		  0x84, 0x88, 0x00, 0x07, 0x06, 0x84),
663 	PHYREGS(0x5C08, 0x5808, 0x5408, 0xEA01, 0xEB01, 0xEC01),
664   },
665   {	.channel		= 70,
666 	.freq			= 5350, /* MHz */
667 	.unk2			= 3567,
668 	RADIOREGS(0x71, 0x02, 0x17, 0x08, 0x7C, 0x01, 0x04, 0x0A,
669 		  0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06,
670 		  0x84, 0x88, 0x00, 0x07, 0x06, 0x84),
671 	PHYREGS(0x6008, 0x5C08, 0x5808, 0xE901, 0xEA01, 0xEB01),
672   },
673   {	.channel		= 72,
674 	.freq			= 5360, /* MHz */
675 	.unk2			= 3573,
676 	RADIOREGS(0x71, 0x02, 0x18, 0x08, 0x75, 0x01, 0x04, 0x0A,
677 		  0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05,
678 		  0x83, 0x77, 0x00, 0x06, 0x05, 0x83),
679 	PHYREGS(0x6408, 0x6008, 0x5C08, 0xE801, 0xE901, 0xEA01),
680   },
681   {	.channel		= 74,
682 	.freq			= 5370, /* MHz */
683 	.unk2			= 3580,
684 	RADIOREGS(0x71, 0x02, 0x19, 0x08, 0x75, 0x01, 0x04, 0x0A,
685 		  0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05,
686 		  0x83, 0x77, 0x00, 0x06, 0x05, 0x83),
687 	PHYREGS(0x6808, 0x6408, 0x6008, 0xE701, 0xE801, 0xE901),
688   },
689   {	.channel		= 76,
690 	.freq			= 5380, /* MHz */
691 	.unk2			= 3587,
692 	RADIOREGS(0x71, 0x02, 0x1A, 0x08, 0x6E, 0x01, 0x04, 0x0A,
693 		  0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04,
694 		  0x82, 0x77, 0x00, 0x06, 0x04, 0x82),
695 	PHYREGS(0x6C08, 0x6808, 0x6408, 0xE601, 0xE701, 0xE801),
696   },
697   {	.channel		= 78,
698 	.freq			= 5390, /* MHz */
699 	.unk2			= 3593,
700 	RADIOREGS(0x71, 0x02, 0x1B, 0x08, 0x6E, 0x01, 0x04, 0x0A,
701 		  0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04,
702 		  0x82, 0x77, 0x00, 0x06, 0x04, 0x82),
703 	PHYREGS(0x7008, 0x6C08, 0x6808, 0xE501, 0xE601, 0xE701),
704   },
705   {	.channel		= 80,
706 	.freq			= 5400, /* MHz */
707 	.unk2			= 3600,
708 	RADIOREGS(0x71, 0x02, 0x1C, 0x07, 0x67, 0x01, 0x04, 0x0A,
709 		  0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04,
710 		  0x81, 0x66, 0x00, 0x05, 0x04, 0x81),
711 	PHYREGS(0x7408, 0x7008, 0x6C08, 0xE501, 0xE501, 0xE601),
712   },
713   {	.channel		= 82,
714 	.freq			= 5410, /* MHz */
715 	.unk2			= 3607,
716 	RADIOREGS(0x71, 0x02, 0x1D, 0x07, 0x67, 0x01, 0x04, 0x0A,
717 		  0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04,
718 		  0x81, 0x66, 0x00, 0x05, 0x04, 0x81),
719 	PHYREGS(0x7808, 0x7408, 0x7008, 0xE401, 0xE501, 0xE501),
720   },
721   {	.channel		= 84,
722 	.freq			= 5420, /* MHz */
723 	.unk2			= 3613,
724 	RADIOREGS(0x71, 0x02, 0x1E, 0x07, 0x61, 0x01, 0x04, 0x0A,
725 		  0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03,
726 		  0x80, 0x66, 0x00, 0x05, 0x03, 0x80),
727 	PHYREGS(0x7C08, 0x7808, 0x7408, 0xE301, 0xE401, 0xE501),
728   },
729   {	.channel		= 86,
730 	.freq			= 5430, /* MHz */
731 	.unk2			= 3620,
732 	RADIOREGS(0x71, 0x02, 0x1F, 0x07, 0x61, 0x01, 0x04, 0x0A,
733 		  0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03,
734 		  0x80, 0x66, 0x00, 0x05, 0x03, 0x80),
735 	PHYREGS(0x8008, 0x7C08, 0x7808, 0xE201, 0xE301, 0xE401),
736   },
737   {	.channel		= 88,
738 	.freq			= 5440, /* MHz */
739 	.unk2			= 3627,
740 	RADIOREGS(0x71, 0x02, 0x20, 0x07, 0x5A, 0x01, 0x04, 0x0A,
741 		  0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02,
742 		  0x80, 0x55, 0x00, 0x04, 0x02, 0x80),
743 	PHYREGS(0x8408, 0x8008, 0x7C08, 0xE101, 0xE201, 0xE301),
744   },
745   {	.channel		= 90,
746 	.freq			= 5450, /* MHz */
747 	.unk2			= 3633,
748 	RADIOREGS(0x71, 0x02, 0x21, 0x07, 0x5A, 0x01, 0x04, 0x0A,
749 		  0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02,
750 		  0x80, 0x55, 0x00, 0x04, 0x02, 0x80),
751 	PHYREGS(0x8808, 0x8408, 0x8008, 0xE001, 0xE101, 0xE201),
752   },
753   {	.channel		= 92,
754 	.freq			= 5460, /* MHz */
755 	.unk2			= 3640,
756 	RADIOREGS(0x71, 0x02, 0x22, 0x06, 0x53, 0x01, 0x04, 0x0A,
757 		  0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01,
758 		  0x80, 0x55, 0x00, 0x04, 0x01, 0x80),
759 	PHYREGS(0x8C08, 0x8808, 0x8408, 0xDF01, 0xE001, 0xE101),
760   },
761   {	.channel		= 94,
762 	.freq			= 5470, /* MHz */
763 	.unk2			= 3647,
764 	RADIOREGS(0x71, 0x02, 0x23, 0x06, 0x53, 0x01, 0x04, 0x0A,
765 		  0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01,
766 		  0x80, 0x55, 0x00, 0x04, 0x01, 0x80),
767 	PHYREGS(0x9008, 0x8C08, 0x8808, 0xDE01, 0xDF01, 0xE001),
768   },
769   {	.channel		= 96,
770 	.freq			= 5480, /* MHz */
771 	.unk2			= 3653,
772 	RADIOREGS(0x71, 0x02, 0x24, 0x06, 0x4D, 0x01, 0x04, 0x0A,
773 		  0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00,
774 		  0x80, 0x44, 0x00, 0x03, 0x00, 0x80),
775 	PHYREGS(0x9408, 0x9008, 0x8C08, 0xDD01, 0xDE01, 0xDF01),
776   },
777   {	.channel		= 98,
778 	.freq			= 5490, /* MHz */
779 	.unk2			= 3660,
780 	RADIOREGS(0x71, 0x02, 0x25, 0x06, 0x4D, 0x01, 0x04, 0x0A,
781 		  0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00,
782 		  0x80, 0x44, 0x00, 0x03, 0x00, 0x80),
783 	PHYREGS(0x9808, 0x9408, 0x9008, 0xDD01, 0xDD01, 0xDE01),
784   },
785   {	.channel		= 100,
786 	.freq			= 5500, /* MHz */
787 	.unk2			= 3667,
788 	RADIOREGS(0x71, 0x02, 0x26, 0x06, 0x47, 0x01, 0x04, 0x0A,
789 		  0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00,
790 		  0x80, 0x44, 0x00, 0x03, 0x00, 0x80),
791 	PHYREGS(0x9C08, 0x9808, 0x9408, 0xDC01, 0xDD01, 0xDD01),
792   },
793   {	.channel		= 102,
794 	.freq			= 5510, /* MHz */
795 	.unk2			= 3673,
796 	RADIOREGS(0x71, 0x02, 0x27, 0x06, 0x47, 0x01, 0x04, 0x0A,
797 		  0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00,
798 		  0x80, 0x44, 0x00, 0x03, 0x00, 0x80),
799 	PHYREGS(0xA008, 0x9C08, 0x9808, 0xDB01, 0xDC01, 0xDD01),
800   },
801   {	.channel		= 104,
802 	.freq			= 5520, /* MHz */
803 	.unk2			= 3680,
804 	RADIOREGS(0x71, 0x02, 0x28, 0x05, 0x40, 0x01, 0x04, 0x0A,
805 		  0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
806 		  0x80, 0x33, 0x00, 0x02, 0x00, 0x80),
807 	PHYREGS(0xA408, 0xA008, 0x9C08, 0xDA01, 0xDB01, 0xDC01),
808   },
809   {	.channel		= 106,
810 	.freq			= 5530, /* MHz */
811 	.unk2			= 3687,
812 	RADIOREGS(0x71, 0x02, 0x29, 0x05, 0x40, 0x01, 0x04, 0x0A,
813 		  0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
814 		  0x80, 0x33, 0x00, 0x02, 0x00, 0x80),
815 	PHYREGS(0xA808, 0xA408, 0xA008, 0xD901, 0xDA01, 0xDB01),
816   },
817   {	.channel		= 108,
818 	.freq			= 5540, /* MHz */
819 	.unk2			= 3693,
820 	RADIOREGS(0x71, 0x02, 0x2A, 0x05, 0x3A, 0x01, 0x04, 0x0A,
821 		  0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
822 		  0x80, 0x33, 0x00, 0x02, 0x00, 0x80),
823 	PHYREGS(0xAC08, 0xA808, 0xA408, 0xD801, 0xD901, 0xDA01),
824   },
825   {	.channel		= 110,
826 	.freq			= 5550, /* MHz */
827 	.unk2			= 3700,
828 	RADIOREGS(0x71, 0x02, 0x2B, 0x05, 0x3A, 0x01, 0x04, 0x0A,
829 		  0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
830 		  0x80, 0x33, 0x00, 0x02, 0x00, 0x80),
831 	PHYREGS(0xB008, 0xAC08, 0xA808, 0xD701, 0xD801, 0xD901),
832   },
833   {	.channel		= 112,
834 	.freq			= 5560, /* MHz */
835 	.unk2			= 3707,
836 	RADIOREGS(0x71, 0x02, 0x2C, 0x05, 0x34, 0x01, 0x04, 0x0A,
837 		  0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00,
838 		  0x80, 0x22, 0x00, 0x01, 0x00, 0x80),
839 	PHYREGS(0xB408, 0xB008, 0xAC08, 0xD701, 0xD701, 0xD801),
840   },
841   {	.channel		= 114,
842 	.freq			= 5570, /* MHz */
843 	.unk2			= 3713,
844 	RADIOREGS(0x71, 0x02, 0x2D, 0x05, 0x34, 0x01, 0x04, 0x0A,
845 		  0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00,
846 		  0x80, 0x22, 0x00, 0x01, 0x00, 0x80),
847 	PHYREGS(0xB808, 0xB408, 0xB008, 0xD601, 0xD701, 0xD701),
848   },
849   {	.channel		= 116,
850 	.freq			= 5580, /* MHz */
851 	.unk2			= 3720,
852 	RADIOREGS(0x71, 0x02, 0x2E, 0x04, 0x2E, 0x01, 0x04, 0x0A,
853 		  0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00,
854 		  0x80, 0x22, 0x00, 0x01, 0x00, 0x80),
855 	PHYREGS(0xBC08, 0xB808, 0xB408, 0xD501, 0xD601, 0xD701),
856   },
857   {	.channel		= 118,
858 	.freq			= 5590, /* MHz */
859 	.unk2			= 3727,
860 	RADIOREGS(0x71, 0x02, 0x2F, 0x04, 0x2E, 0x01, 0x04, 0x0A,
861 		  0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00,
862 		  0x80, 0x22, 0x00, 0x01, 0x00, 0x80),
863 	PHYREGS(0xC008, 0xBC08, 0xB808, 0xD401, 0xD501, 0xD601),
864   },
865   {	.channel		= 120,
866 	.freq			= 5600, /* MHz */
867 	.unk2			= 3733,
868 	RADIOREGS(0x71, 0x02, 0x30, 0x04, 0x28, 0x01, 0x04, 0x0A,
869 		  0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00,
870 		  0x80, 0x11, 0x00, 0x01, 0x00, 0x80),
871 	PHYREGS(0xC408, 0xC008, 0xBC08, 0xD301, 0xD401, 0xD501),
872   },
873   {	.channel		= 122,
874 	.freq			= 5610, /* MHz */
875 	.unk2			= 3740,
876 	RADIOREGS(0x71, 0x02, 0x31, 0x04, 0x28, 0x01, 0x04, 0x0A,
877 		  0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00,
878 		  0x80, 0x11, 0x00, 0x01, 0x00, 0x80),
879 	PHYREGS(0xC808, 0xC408, 0xC008, 0xD201, 0xD301, 0xD401),
880   },
881   {	.channel		= 124,
882 	.freq			= 5620, /* MHz */
883 	.unk2			= 3747,
884 	RADIOREGS(0x71, 0x02, 0x32, 0x04, 0x21, 0x01, 0x04, 0x0A,
885 		  0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
886 		  0x80, 0x11, 0x00, 0x00, 0x00, 0x80),
887 	PHYREGS(0xCC08, 0xC808, 0xC408, 0xD201, 0xD201, 0xD301),
888   },
889   {	.channel		= 126,
890 	.freq			= 5630, /* MHz */
891 	.unk2			= 3753,
892 	RADIOREGS(0x71, 0x02, 0x33, 0x04, 0x21, 0x01, 0x04, 0x0A,
893 		  0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
894 		  0x80, 0x11, 0x00, 0x00, 0x00, 0x80),
895 	PHYREGS(0xD008, 0xCC08, 0xC808, 0xD101, 0xD201, 0xD201),
896   },
897   {	.channel		= 128,
898 	.freq			= 5640, /* MHz */
899 	.unk2			= 3760,
900 	RADIOREGS(0x71, 0x02, 0x34, 0x03, 0x1C, 0x01, 0x04, 0x0A,
901 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
902 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
903 	PHYREGS(0xD408, 0xD008, 0xCC08, 0xD001, 0xD101, 0xD201),
904   },
905   {	.channel		= 130,
906 	.freq			= 5650, /* MHz */
907 	.unk2			= 3767,
908 	RADIOREGS(0x71, 0x02, 0x35, 0x03, 0x1C, 0x01, 0x04, 0x0A,
909 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
910 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
911 	PHYREGS(0xD808, 0xD408, 0xD008, 0xCF01, 0xD001, 0xD101),
912   },
913   {	.channel		= 132,
914 	.freq			= 5660, /* MHz */
915 	.unk2			= 3773,
916 	RADIOREGS(0x71, 0x02, 0x36, 0x03, 0x16, 0x01, 0x04, 0x0A,
917 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
918 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
919 	PHYREGS(0xDC08, 0xD808, 0xD408, 0xCE01, 0xCF01, 0xD001),
920   },
921   {	.channel		= 134,
922 	.freq			= 5670, /* MHz */
923 	.unk2			= 3780,
924 	RADIOREGS(0x71, 0x02, 0x37, 0x03, 0x16, 0x01, 0x04, 0x0A,
925 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
926 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
927 	PHYREGS(0xE008, 0xDC08, 0xD808, 0xCE01, 0xCE01, 0xCF01),
928   },
929   {	.channel		= 136,
930 	.freq			= 5680, /* MHz */
931 	.unk2			= 3787,
932 	RADIOREGS(0x71, 0x02, 0x38, 0x03, 0x10, 0x01, 0x04, 0x0A,
933 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
934 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
935 	PHYREGS(0xE408, 0xE008, 0xDC08, 0xCD01, 0xCE01, 0xCE01),
936   },
937   {	.channel		= 138,
938 	.freq			= 5690, /* MHz */
939 	.unk2			= 3793,
940 	RADIOREGS(0x71, 0x02, 0x39, 0x03, 0x10, 0x01, 0x04, 0x0A,
941 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
942 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
943 	PHYREGS(0xE808, 0xE408, 0xE008, 0xCC01, 0xCD01, 0xCE01),
944   },
945   {	.channel		= 140,
946 	.freq			= 5700, /* MHz */
947 	.unk2			= 3800,
948 	RADIOREGS(0x71, 0x02, 0x3A, 0x02, 0x0A, 0x01, 0x04, 0x0A,
949 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
950 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
951 	PHYREGS(0xEC08, 0xE808, 0xE408, 0xCB01, 0xCC01, 0xCD01),
952   },
953   {	.channel		= 142,
954 	.freq			= 5710, /* MHz */
955 	.unk2			= 3807,
956 	RADIOREGS(0x71, 0x02, 0x3B, 0x02, 0x0A, 0x01, 0x04, 0x0A,
957 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
958 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
959 	PHYREGS(0xF008, 0xEC08, 0xE808, 0xCA01, 0xCB01, 0xCC01),
960   },
961   {	.channel		= 144,
962 	.freq			= 5720, /* MHz */
963 	.unk2			= 3813,
964 	RADIOREGS(0x71, 0x02, 0x3C, 0x02, 0x0A, 0x01, 0x04, 0x0A,
965 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
966 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
967 	PHYREGS(0xF408, 0xF008, 0xEC08, 0xC901, 0xCA01, 0xCB01),
968   },
969   {	.channel		= 145,
970 	.freq			= 5725, /* MHz */
971 	.unk2			= 3817,
972 	RADIOREGS(0x72, 0x04, 0x79, 0x02, 0x03, 0x01, 0x03, 0x14,
973 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
974 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
975 	PHYREGS(0xF608, 0xF208, 0xEE08, 0xC901, 0xCA01, 0xCB01),
976   },
977   {	.channel		= 146,
978 	.freq			= 5730, /* MHz */
979 	.unk2			= 3820,
980 	RADIOREGS(0x71, 0x02, 0x3D, 0x02, 0x0A, 0x01, 0x04, 0x0A,
981 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
982 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
983 	PHYREGS(0xF808, 0xF408, 0xF008, 0xC901, 0xC901, 0xCA01),
984   },
985   {	.channel		= 147,
986 	.freq			= 5735, /* MHz */
987 	.unk2			= 3823,
988 	RADIOREGS(0x72, 0x04, 0x7B, 0x02, 0x03, 0x01, 0x03, 0x14,
989 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
990 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
991 	PHYREGS(0xFA08, 0xF608, 0xF208, 0xC801, 0xC901, 0xCA01),
992   },
993   {	.channel		= 148,
994 	.freq			= 5740, /* MHz */
995 	.unk2			= 3827,
996 	RADIOREGS(0x71, 0x02, 0x3E, 0x02, 0x0A, 0x01, 0x04, 0x0A,
997 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
998 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
999 	PHYREGS(0xFC08, 0xF808, 0xF408, 0xC801, 0xC901, 0xC901),
1000   },
1001   {	.channel		= 149,
1002 	.freq			= 5745, /* MHz */
1003 	.unk2			= 3830,
1004 	RADIOREGS(0x72, 0x04, 0x7D, 0x02, 0xFE, 0x00, 0x03, 0x14,
1005 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1006 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1007 	PHYREGS(0xFE08, 0xFA08, 0xF608, 0xC801, 0xC801, 0xC901),
1008   },
1009   {	.channel		= 150,
1010 	.freq			= 5750, /* MHz */
1011 	.unk2			= 3833,
1012 	RADIOREGS(0x71, 0x02, 0x3F, 0x02, 0x0A, 0x01, 0x04, 0x0A,
1013 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1014 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1015 	PHYREGS(0x0009, 0xFC08, 0xF808, 0xC701, 0xC801, 0xC901),
1016   },
1017   {	.channel		= 151,
1018 	.freq			= 5755, /* MHz */
1019 	.unk2			= 3837,
1020 	RADIOREGS(0x72, 0x04, 0x7F, 0x02, 0xFE, 0x00, 0x03, 0x14,
1021 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1022 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1023 	PHYREGS(0x0209, 0xFE08, 0xFA08, 0xC701, 0xC801, 0xC801),
1024   },
1025   {	.channel		= 152,
1026 	.freq			= 5760, /* MHz */
1027 	.unk2			= 3840,
1028 	RADIOREGS(0x71, 0x02, 0x40, 0x02, 0x0A, 0x01, 0x04, 0x0A,
1029 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1030 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1031 	PHYREGS(0x0409, 0x0009, 0xFC08, 0xC601, 0xC701, 0xC801),
1032   },
1033   {	.channel		= 153,
1034 	.freq			= 5765, /* MHz */
1035 	.unk2			= 3843,
1036 	RADIOREGS(0x72, 0x04, 0x81, 0x02, 0xF8, 0x00, 0x03, 0x14,
1037 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1038 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1039 	PHYREGS(0x0609, 0x0209, 0xFE08, 0xC601, 0xC701, 0xC801),
1040   },
1041   {	.channel		= 154,
1042 	.freq			= 5770, /* MHz */
1043 	.unk2			= 3847,
1044 	RADIOREGS(0x71, 0x02, 0x41, 0x02, 0x0A, 0x01, 0x04, 0x0A,
1045 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1046 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1047 	PHYREGS(0x0809, 0x0409, 0x0009, 0xC601, 0xC601, 0xC701),
1048   },
1049   {	.channel		= 155,
1050 	.freq			= 5775, /* MHz */
1051 	.unk2			= 3850,
1052 	RADIOREGS(0x72, 0x04, 0x83, 0x02, 0xF8, 0x00, 0x03, 0x14,
1053 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1054 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1055 	PHYREGS(0x0A09, 0x0609, 0x0209, 0xC501, 0xC601, 0xC701),
1056   },
1057   {	.channel		= 156,
1058 	.freq			= 5780, /* MHz */
1059 	.unk2			= 3853,
1060 	RADIOREGS(0x71, 0x02, 0x42, 0x02, 0x0A, 0x01, 0x04, 0x0A,
1061 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1062 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1063 	PHYREGS(0x0C09, 0x0809, 0x0409, 0xC501, 0xC601, 0xC601),
1064   },
1065   {	.channel		= 157,
1066 	.freq			= 5785, /* MHz */
1067 	.unk2			= 3857,
1068 	RADIOREGS(0x72, 0x04, 0x85, 0x02, 0xF2, 0x00, 0x03, 0x14,
1069 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1070 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1071 	PHYREGS(0x0E09, 0x0A09, 0x0609, 0xC401, 0xC501, 0xC601),
1072   },
1073   {	.channel		= 158,
1074 	.freq			= 5790, /* MHz */
1075 	.unk2			= 3860,
1076 	RADIOREGS(0x71, 0x02, 0x43, 0x02, 0x0A, 0x01, 0x04, 0x0A,
1077 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1078 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1079 	PHYREGS(0x1009, 0x0C09, 0x0809, 0xC401, 0xC501, 0xC601),
1080   },
1081   {	.channel		= 159,
1082 	.freq			= 5795, /* MHz */
1083 	.unk2			= 3863,
1084 	RADIOREGS(0x72, 0x04, 0x87, 0x02, 0xF2, 0x00, 0x03, 0x14,
1085 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1086 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1087 	PHYREGS(0x1209, 0x0E09, 0x0A09, 0xC401, 0xC401, 0xC501),
1088   },
1089   {	.channel		= 160,
1090 	.freq			= 5800, /* MHz */
1091 	.unk2			= 3867,
1092 	RADIOREGS(0x71, 0x02, 0x44, 0x01, 0x0A, 0x01, 0x04, 0x0A,
1093 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1094 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1095 	PHYREGS(0x1409, 0x1009, 0x0C09, 0xC301, 0xC401, 0xC501),
1096   },
1097   {	.channel		= 161,
1098 	.freq			= 5805, /* MHz */
1099 	.unk2			= 3870,
1100 	RADIOREGS(0x72, 0x04, 0x89, 0x01, 0xED, 0x00, 0x03, 0x14,
1101 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1102 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1103 	PHYREGS(0x1609, 0x1209, 0x0E09, 0xC301, 0xC401, 0xC401),
1104   },
1105   {	.channel		= 162,
1106 	.freq			= 5810, /* MHz */
1107 	.unk2			= 3873,
1108 	RADIOREGS(0x71, 0x02, 0x45, 0x01, 0x0A, 0x01, 0x04, 0x0A,
1109 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1110 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1111 	PHYREGS(0x1809, 0x1409, 0x1009, 0xC201, 0xC301, 0xC401),
1112   },
1113   {	.channel		= 163,
1114 	.freq			= 5815, /* MHz */
1115 	.unk2			= 3877,
1116 	RADIOREGS(0x72, 0x04, 0x8B, 0x01, 0xED, 0x00, 0x03, 0x14,
1117 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1118 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1119 	PHYREGS(0x1A09, 0x1609, 0x1209, 0xC201, 0xC301, 0xC401),
1120   },
1121   {	.channel		= 164,
1122 	.freq			= 5820, /* MHz */
1123 	.unk2			= 3880,
1124 	RADIOREGS(0x71, 0x02, 0x46, 0x01, 0x0A, 0x01, 0x04, 0x0A,
1125 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1126 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1127 	PHYREGS(0x1C09, 0x1809, 0x1409, 0xC201, 0xC201, 0xC301),
1128   },
1129   {	.channel		= 165,
1130 	.freq			= 5825, /* MHz */
1131 	.unk2			= 3883,
1132 	RADIOREGS(0x72, 0x04, 0x8D, 0x01, 0xED, 0x00, 0x03, 0x14,
1133 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1134 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1135 	PHYREGS(0x1E09, 0x1A09, 0x1609, 0xC101, 0xC201, 0xC301),
1136   },
1137   {	.channel		= 166,
1138 	.freq			= 5830, /* MHz */
1139 	.unk2			= 3887,
1140 	RADIOREGS(0x71, 0x02, 0x47, 0x01, 0x0A, 0x01, 0x04, 0x0A,
1141 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1142 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1143 	PHYREGS(0x2009, 0x1C09, 0x1809, 0xC101, 0xC201, 0xC201),
1144   },
1145   {	.channel		= 168,
1146 	.freq			= 5840, /* MHz */
1147 	.unk2			= 3893,
1148 	RADIOREGS(0x71, 0x02, 0x48, 0x01, 0x0A, 0x01, 0x04, 0x0A,
1149 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1150 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1151 	PHYREGS(0x2409, 0x2009, 0x1C09, 0xC001, 0xC101, 0xC201),
1152   },
1153   {	.channel		= 170,
1154 	.freq			= 5850, /* MHz */
1155 	.unk2			= 3900,
1156 	RADIOREGS(0x71, 0x02, 0x49, 0x01, 0xE0, 0x00, 0x04, 0x0A,
1157 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1158 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1159 	PHYREGS(0x2809, 0x2409, 0x2009, 0xBF01, 0xC001, 0xC101),
1160   },
1161   {	.channel		= 172,
1162 	.freq			= 5860, /* MHz */
1163 	.unk2			= 3907,
1164 	RADIOREGS(0x71, 0x02, 0x4A, 0x01, 0xDE, 0x00, 0x04, 0x0A,
1165 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1166 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1167 	PHYREGS(0x2C09, 0x2809, 0x2409, 0xBF01, 0xBF01, 0xC001),
1168   },
1169   {	.channel		= 174,
1170 	.freq			= 5870, /* MHz */
1171 	.unk2			= 3913,
1172 	RADIOREGS(0x71, 0x02, 0x4B, 0x00, 0xDB, 0x00, 0x04, 0x0A,
1173 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1174 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1175 	PHYREGS(0x3009, 0x2C09, 0x2809, 0xBE01, 0xBF01, 0xBF01),
1176   },
1177   {	.channel		= 176,
1178 	.freq			= 5880, /* MHz */
1179 	.unk2			= 3920,
1180 	RADIOREGS(0x71, 0x02, 0x4C, 0x00, 0xD8, 0x00, 0x04, 0x0A,
1181 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1182 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1183 	PHYREGS(0x3409, 0x3009, 0x2C09, 0xBD01, 0xBE01, 0xBF01),
1184   },
1185   {	.channel		= 178,
1186 	.freq			= 5890, /* MHz */
1187 	.unk2			= 3927,
1188 	RADIOREGS(0x71, 0x02, 0x4D, 0x00, 0xD6, 0x00, 0x04, 0x0A,
1189 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1190 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1191 	PHYREGS(0x3809, 0x3409, 0x3009, 0xBC01, 0xBD01, 0xBE01),
1192   },
1193   {	.channel		= 180,
1194 	.freq			= 5900, /* MHz */
1195 	.unk2			= 3933,
1196 	RADIOREGS(0x71, 0x02, 0x4E, 0x00, 0xD3, 0x00, 0x04, 0x0A,
1197 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1198 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1199 	PHYREGS(0x3C09, 0x3809, 0x3409, 0xBC01, 0xBC01, 0xBD01),
1200   },
1201   {	.channel		= 182,
1202 	.freq			= 5910, /* MHz */
1203 	.unk2			= 3940,
1204 	RADIOREGS(0x71, 0x02, 0x4F, 0x00, 0xD6, 0x00, 0x04, 0x0A,
1205 		  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1206 		  0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1207 	PHYREGS(0x4009, 0x3C09, 0x3809, 0xBB01, 0xBC01, 0xBC01),
1208   },
1209   {	.channel		= 1,
1210 	.freq			= 2412, /* MHz */
1211 	.unk2			= 3216,
1212 	RADIOREGS(0x73, 0x09, 0x6C, 0x0F, 0x00, 0x01, 0x07, 0x15,
1213 		  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0D, 0x0C,
1214 		  0x80, 0xFF, 0x88, 0x0D, 0x0C, 0x80),
1215 	PHYREGS(0xC903, 0xC503, 0xC103, 0x3A04, 0x3F04, 0x4304),
1216   },
1217   {	.channel		= 2,
1218 	.freq			= 2417, /* MHz */
1219 	.unk2			= 3223,
1220 	RADIOREGS(0x73, 0x09, 0x71, 0x0F, 0x00, 0x01, 0x07, 0x15,
1221 		  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0B,
1222 		  0x80, 0xFF, 0x88, 0x0C, 0x0B, 0x80),
1223 	PHYREGS(0xCB03, 0xC703, 0xC303, 0x3804, 0x3D04, 0x4104),
1224   },
1225   {	.channel		= 3,
1226 	.freq			= 2422, /* MHz */
1227 	.unk2			= 3229,
1228 	RADIOREGS(0x73, 0x09, 0x76, 0x0F, 0x00, 0x01, 0x07, 0x15,
1229 		  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A,
1230 		  0x80, 0xFF, 0x88, 0x0C, 0x0A, 0x80),
1231 	PHYREGS(0xCD03, 0xC903, 0xC503, 0x3604, 0x3A04, 0x3F04),
1232   },
1233   {	.channel		= 4,
1234 	.freq			= 2427, /* MHz */
1235 	.unk2			= 3236,
1236 	RADIOREGS(0x73, 0x09, 0x7B, 0x0F, 0x00, 0x01, 0x07, 0x15,
1237 		  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A,
1238 		  0x80, 0xFF, 0x88, 0x0C, 0x0A, 0x80),
1239 	PHYREGS(0xCF03, 0xCB03, 0xC703, 0x3404, 0x3804, 0x3D04),
1240   },
1241   {	.channel		= 5,
1242 	.freq			= 2432, /* MHz */
1243 	.unk2			= 3243,
1244 	RADIOREGS(0x73, 0x09, 0x80, 0x0F, 0x00, 0x01, 0x07, 0x15,
1245 		  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x09,
1246 		  0x80, 0xFF, 0x88, 0x0C, 0x09, 0x80),
1247 	PHYREGS(0xD103, 0xCD03, 0xC903, 0x3104, 0x3604, 0x3A04),
1248   },
1249   {	.channel		= 6,
1250 	.freq			= 2437, /* MHz */
1251 	.unk2			= 3249,
1252 	RADIOREGS(0x73, 0x09, 0x85, 0x0F, 0x00, 0x01, 0x07, 0x15,
1253 		  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0B, 0x08,
1254 		  0x80, 0xFF, 0x88, 0x0B, 0x08, 0x80),
1255 	PHYREGS(0xD303, 0xCF03, 0xCB03, 0x2F04, 0x3404, 0x3804),
1256   },
1257   {	.channel		= 7,
1258 	.freq			= 2442, /* MHz */
1259 	.unk2			= 3256,
1260 	RADIOREGS(0x73, 0x09, 0x8A, 0x0F, 0x00, 0x01, 0x07, 0x15,
1261 		  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x07,
1262 		  0x80, 0xFF, 0x88, 0x0A, 0x07, 0x80),
1263 	PHYREGS(0xD503, 0xD103, 0xCD03, 0x2D04, 0x3104, 0x3604),
1264   },
1265   {	.channel		= 8,
1266 	.freq			= 2447, /* MHz */
1267 	.unk2			= 3263,
1268 	RADIOREGS(0x73, 0x09, 0x8F, 0x0F, 0x00, 0x01, 0x07, 0x15,
1269 		  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x06,
1270 		  0x80, 0xFF, 0x88, 0x0A, 0x06, 0x80),
1271 	PHYREGS(0xD703, 0xD303, 0xCF03, 0x2B04, 0x2F04, 0x3404),
1272   },
1273   {	.channel		= 9,
1274 	.freq			= 2452, /* MHz */
1275 	.unk2			= 3269,
1276 	RADIOREGS(0x73, 0x09, 0x94, 0x0F, 0x00, 0x01, 0x07, 0x15,
1277 		  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x09, 0x06,
1278 		  0x80, 0xFF, 0x88, 0x09, 0x06, 0x80),
1279 	PHYREGS(0xD903, 0xD503, 0xD103, 0x2904, 0x2D04, 0x3104),
1280   },
1281   {	.channel		= 10,
1282 	.freq			= 2457, /* MHz */
1283 	.unk2			= 3276,
1284 	RADIOREGS(0x73, 0x09, 0x99, 0x0F, 0x00, 0x01, 0x07, 0x15,
1285 		  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x05,
1286 		  0x80, 0xFF, 0x88, 0x08, 0x05, 0x80),
1287 	PHYREGS(0xDB03, 0xD703, 0xD303, 0x2704, 0x2B04, 0x2F04),
1288   },
1289   {	.channel		= 11,
1290 	.freq			= 2462, /* MHz */
1291 	.unk2			= 3283,
1292 	RADIOREGS(0x73, 0x09, 0x9E, 0x0F, 0x00, 0x01, 0x07, 0x15,
1293 		  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x04,
1294 		  0x80, 0xFF, 0x88, 0x08, 0x04, 0x80),
1295 	PHYREGS(0xDD03, 0xD903, 0xD503, 0x2404, 0x2904, 0x2D04),
1296   },
1297   {	.channel		= 12,
1298 	.freq			= 2467, /* MHz */
1299 	.unk2			= 3289,
1300 	RADIOREGS(0x73, 0x09, 0xA3, 0x0F, 0x00, 0x01, 0x07, 0x15,
1301 		  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x03,
1302 		  0x80, 0xFF, 0x88, 0x08, 0x03, 0x80),
1303 	PHYREGS(0xDF03, 0xDB03, 0xD703, 0x2204, 0x2704, 0x2B04),
1304   },
1305   {	.channel		= 13,
1306 	.freq			= 2472, /* MHz */
1307 	.unk2			= 3296,
1308 	RADIOREGS(0x73, 0x09, 0xA8, 0x0F, 0x00, 0x01, 0x07, 0x15,
1309 		  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x03,
1310 		  0x80, 0xFF, 0x88, 0x07, 0x03, 0x80),
1311 	PHYREGS(0xE103, 0xDD03, 0xD903, 0x2004, 0x2404, 0x2904),
1312   },
1313   {	.channel		= 14,
1314 	.freq			= 2484, /* MHz */
1315 	.unk2			= 3312,
1316 	RADIOREGS(0x73, 0x09, 0xB4, 0x0F, 0xFF, 0x01, 0x07, 0x15,
1317 		  0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x01,
1318 		  0x80, 0xFF, 0x88, 0x07, 0x01, 0x80),
1319 	PHYREGS(0xE603, 0xE203, 0xDE03, 0x1B04, 0x1F04, 0x2404),
1320   },
1321 };
1322 
1323 const struct b43_nphy_channeltab_entry *
b43_nphy_get_chantabent(struct b43_wldev * dev,u8 channel)1324 b43_nphy_get_chantabent(struct b43_wldev *dev, u8 channel)
1325 {
1326 	const struct b43_nphy_channeltab_entry *e;
1327 	unsigned int i;
1328 
1329 	for (i = 0; i < ARRAY_SIZE(b43_nphy_channeltab); i++) {
1330 		e = &(b43_nphy_channeltab[i]);
1331 		if (e->channel == channel)
1332 			return e;
1333 	}
1334 
1335 	return NULL;
1336 }
1337 
1338 
1339 const u8 b43_ntab_adjustpower0[] = {
1340 	0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
1341 	0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03,
1342 	0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05,
1343 	0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07,
1344 	0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09,
1345 	0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B,
1346 	0x0C, 0x0C, 0x0C, 0x0C, 0x0D, 0x0D, 0x0D, 0x0D,
1347 	0x0E, 0x0E, 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F,
1348 	0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11,
1349 	0x12, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13,
1350 	0x14, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15,
1351 	0x16, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x17,
1352 	0x18, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19,
1353 	0x1A, 0x1A, 0x1A, 0x1A, 0x1B, 0x1B, 0x1B, 0x1B,
1354 	0x1C, 0x1C, 0x1C, 0x1C, 0x1D, 0x1D, 0x1D, 0x1D,
1355 	0x1E, 0x1E, 0x1E, 0x1E, 0x1F, 0x1F, 0x1F, 0x1F,
1356 };
1357 
1358 const u8 b43_ntab_adjustpower1[] = {
1359 	0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
1360 	0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03,
1361 	0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05,
1362 	0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07,
1363 	0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09,
1364 	0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B,
1365 	0x0C, 0x0C, 0x0C, 0x0C, 0x0D, 0x0D, 0x0D, 0x0D,
1366 	0x0E, 0x0E, 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F,
1367 	0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11,
1368 	0x12, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13,
1369 	0x14, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15,
1370 	0x16, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x17,
1371 	0x18, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19,
1372 	0x1A, 0x1A, 0x1A, 0x1A, 0x1B, 0x1B, 0x1B, 0x1B,
1373 	0x1C, 0x1C, 0x1C, 0x1C, 0x1D, 0x1D, 0x1D, 0x1D,
1374 	0x1E, 0x1E, 0x1E, 0x1E, 0x1F, 0x1F, 0x1F, 0x1F,
1375 };
1376 
1377 const u16 b43_ntab_bdi[] = {
1378 	0x0070, 0x0126, 0x012C, 0x0246, 0x048D, 0x04D2,
1379 };
1380 
1381 const u32 b43_ntab_channelest[] = {
1382 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1383 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1384 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1385 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1386 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1387 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1388 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1389 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1390 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1391 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1392 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1393 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1394 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1395 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1396 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1397 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1398 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1399 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1400 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1401 	0x44444444, 0x44444444, 0x44444444, 0x44444444,
1402 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1403 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1404 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1405 	0x10101010, 0x10101010, 0x10101010, 0x10101010,
1406 };
1407 
1408 const u8 b43_ntab_estimatepowerlt0[] = {
1409 	0x50, 0x4F, 0x4E, 0x4D, 0x4C, 0x4B, 0x4A, 0x49,
1410 	0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41,
1411 	0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3B, 0x3A, 0x39,
1412 	0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31,
1413 	0x30, 0x2F, 0x2E, 0x2D, 0x2C, 0x2B, 0x2A, 0x29,
1414 	0x28, 0x27, 0x26, 0x25, 0x24, 0x23, 0x22, 0x21,
1415 	0x20, 0x1F, 0x1E, 0x1D, 0x1C, 0x1B, 0x1A, 0x19,
1416 	0x18, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x11,
1417 };
1418 
1419 const u8 b43_ntab_estimatepowerlt1[] = {
1420 	0x50, 0x4F, 0x4E, 0x4D, 0x4C, 0x4B, 0x4A, 0x49,
1421 	0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41,
1422 	0x40, 0x3F, 0x3E, 0x3D, 0x3C, 0x3B, 0x3A, 0x39,
1423 	0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31,
1424 	0x30, 0x2F, 0x2E, 0x2D, 0x2C, 0x2B, 0x2A, 0x29,
1425 	0x28, 0x27, 0x26, 0x25, 0x24, 0x23, 0x22, 0x21,
1426 	0x20, 0x1F, 0x1E, 0x1D, 0x1C, 0x1B, 0x1A, 0x19,
1427 	0x18, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x11,
1428 };
1429 
1430 const u8 b43_ntab_framelookup[] = {
1431 	0x02, 0x04, 0x14, 0x14, 0x03, 0x05, 0x16, 0x16,
1432 	0x0A, 0x0C, 0x1C, 0x1C, 0x0B, 0x0D, 0x1E, 0x1E,
1433 	0x06, 0x08, 0x18, 0x18, 0x07, 0x09, 0x1A, 0x1A,
1434 	0x0E, 0x10, 0x20, 0x28, 0x0F, 0x11, 0x22, 0x2A,
1435 };
1436 
1437 const u32 b43_ntab_framestruct[] = {
1438 	0x08004A04, 0x00100000, 0x01000A05, 0x00100020,
1439 	0x09804506, 0x00100030, 0x09804507, 0x00100030,
1440 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1441 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1442 	0x08004A0C, 0x00100008, 0x01000A0D, 0x00100028,
1443 	0x0980450E, 0x00100038, 0x0980450F, 0x00100038,
1444 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1445 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1446 	0x00000A04, 0x00100000, 0x11008A05, 0x00100020,
1447 	0x1980C506, 0x00100030, 0x21810506, 0x00100030,
1448 	0x21810506, 0x00100030, 0x01800504, 0x00100030,
1449 	0x11808505, 0x00100030, 0x29814507, 0x01100030,
1450 	0x00000A04, 0x00100000, 0x11008A05, 0x00100020,
1451 	0x21810506, 0x00100030, 0x21810506, 0x00100030,
1452 	0x29814507, 0x01100030, 0x00000000, 0x00000000,
1453 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1454 	0x00000A0C, 0x00100008, 0x11008A0D, 0x00100028,
1455 	0x1980C50E, 0x00100038, 0x2181050E, 0x00100038,
1456 	0x2181050E, 0x00100038, 0x0180050C, 0x00100038,
1457 	0x1180850D, 0x00100038, 0x2981450F, 0x01100038,
1458 	0x00000A0C, 0x00100008, 0x11008A0D, 0x00100028,
1459 	0x2181050E, 0x00100038, 0x2181050E, 0x00100038,
1460 	0x2981450F, 0x01100038, 0x00000000, 0x00000000,
1461 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1462 	0x08004A04, 0x00100000, 0x01000A05, 0x00100020,
1463 	0x1980C506, 0x00100030, 0x1980C506, 0x00100030,
1464 	0x11808504, 0x00100030, 0x3981CA05, 0x00100030,
1465 	0x29814507, 0x01100030, 0x00000000, 0x00000000,
1466 	0x10008A04, 0x00100000, 0x3981CA05, 0x00100030,
1467 	0x1980C506, 0x00100030, 0x29814507, 0x01100030,
1468 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1469 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1470 	0x08004A0C, 0x00100008, 0x01000A0D, 0x00100028,
1471 	0x1980C50E, 0x00100038, 0x1980C50E, 0x00100038,
1472 	0x1180850C, 0x00100038, 0x3981CA0D, 0x00100038,
1473 	0x2981450F, 0x01100038, 0x00000000, 0x00000000,
1474 	0x10008A0C, 0x00100008, 0x3981CA0D, 0x00100038,
1475 	0x1980C50E, 0x00100038, 0x2981450F, 0x01100038,
1476 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1477 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1478 	0x40021404, 0x00100000, 0x02001405, 0x00100040,
1479 	0x0B004A06, 0x01900060, 0x13008A06, 0x01900060,
1480 	0x13008A06, 0x01900060, 0x43020A04, 0x00100060,
1481 	0x1B00CA05, 0x00100060, 0x23010A07, 0x01500060,
1482 	0x40021404, 0x00100000, 0x1A00D405, 0x00100040,
1483 	0x13008A06, 0x01900060, 0x13008A06, 0x01900060,
1484 	0x23010A07, 0x01500060, 0x00000000, 0x00000000,
1485 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1486 	0x4002140C, 0x00100010, 0x0200140D, 0x00100050,
1487 	0x0B004A0E, 0x01900070, 0x13008A0E, 0x01900070,
1488 	0x13008A0E, 0x01900070, 0x43020A0C, 0x00100070,
1489 	0x1B00CA0D, 0x00100070, 0x23010A0F, 0x01500070,
1490 	0x4002140C, 0x00100010, 0x1A00D40D, 0x00100050,
1491 	0x13008A0E, 0x01900070, 0x13008A0E, 0x01900070,
1492 	0x23010A0F, 0x01500070, 0x00000000, 0x00000000,
1493 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1494 	0x50029404, 0x00100000, 0x32019405, 0x00100040,
1495 	0x0B004A06, 0x01900060, 0x0B004A06, 0x01900060,
1496 	0x5B02CA04, 0x00100060, 0x3B01D405, 0x00100060,
1497 	0x23010A07, 0x01500060, 0x00000000, 0x00000000,
1498 	0x5802D404, 0x00100000, 0x3B01D405, 0x00100060,
1499 	0x0B004A06, 0x01900060, 0x23010A07, 0x01500060,
1500 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1501 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1502 	0x5002940C, 0x00100010, 0x3201940D, 0x00100050,
1503 	0x0B004A0E, 0x01900070, 0x0B004A0E, 0x01900070,
1504 	0x5B02CA0C, 0x00100070, 0x3B01D40D, 0x00100070,
1505 	0x23010A0F, 0x01500070, 0x00000000, 0x00000000,
1506 	0x5802D40C, 0x00100010, 0x3B01D40D, 0x00100070,
1507 	0x0B004A0E, 0x01900070, 0x23010A0F, 0x01500070,
1508 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1509 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1510 	0x40021404, 0x000F4800, 0x62031405, 0x00100040,
1511 	0x53028A06, 0x01900060, 0x53028A07, 0x01900060,
1512 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1513 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1514 	0x4002140C, 0x000F4810, 0x6203140D, 0x00100050,
1515 	0x53028A0E, 0x01900070, 0x53028A0F, 0x01900070,
1516 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1517 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1518 	0x00000A0C, 0x00100008, 0x11008A0D, 0x00100028,
1519 	0x1980C50E, 0x00100038, 0x2181050E, 0x00100038,
1520 	0x2181050E, 0x00100038, 0x0180050C, 0x00100038,
1521 	0x1180850D, 0x00100038, 0x1181850D, 0x00100038,
1522 	0x2981450F, 0x01100038, 0x00000000, 0x00000000,
1523 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1524 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1525 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1526 	0x00000A0C, 0x00100008, 0x11008A0D, 0x00100028,
1527 	0x2181050E, 0x00100038, 0x2181050E, 0x00100038,
1528 	0x1181850D, 0x00100038, 0x2981450F, 0x01100038,
1529 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1530 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1531 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1532 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1533 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1534 	0x08004A04, 0x00100000, 0x01000A05, 0x00100020,
1535 	0x0180C506, 0x00100030, 0x0180C506, 0x00100030,
1536 	0x2180C50C, 0x00100030, 0x49820A0D, 0x0016A130,
1537 	0x41824A0D, 0x0016A130, 0x2981450F, 0x01100030,
1538 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1539 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1540 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1541 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1542 	0x2000CA0C, 0x00100000, 0x49820A0D, 0x0016A130,
1543 	0x1980C50E, 0x00100030, 0x41824A0D, 0x0016A130,
1544 	0x2981450F, 0x01100030, 0x00000000, 0x00000000,
1545 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1546 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1547 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1548 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1549 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1550 	0x4002140C, 0x00100010, 0x0200140D, 0x00100050,
1551 	0x0B004A0E, 0x01900070, 0x13008A0E, 0x01900070,
1552 	0x13008A0E, 0x01900070, 0x43020A0C, 0x00100070,
1553 	0x1B00CA0D, 0x00100070, 0x1B014A0D, 0x00100070,
1554 	0x23010A0F, 0x01500070, 0x00000000, 0x00000000,
1555 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1556 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1557 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1558 	0x4002140C, 0x00100010, 0x1A00D40D, 0x00100050,
1559 	0x13008A0E, 0x01900070, 0x13008A0E, 0x01900070,
1560 	0x1B014A0D, 0x00100070, 0x23010A0F, 0x01500070,
1561 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1562 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1563 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1564 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1565 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1566 	0x50029404, 0x00100000, 0x32019405, 0x00100040,
1567 	0x03004A06, 0x01900060, 0x03004A06, 0x01900060,
1568 	0x6B030A0C, 0x00100060, 0x4B02140D, 0x0016A160,
1569 	0x4302540D, 0x0016A160, 0x23010A0F, 0x01500060,
1570 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1571 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1572 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1573 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1574 	0x6B03140C, 0x00100060, 0x4B02140D, 0x0016A160,
1575 	0x0B004A0E, 0x01900060, 0x4302540D, 0x0016A160,
1576 	0x23010A0F, 0x01500060, 0x00000000, 0x00000000,
1577 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1578 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1579 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1580 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1581 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1582 	0x40021404, 0x00100000, 0x1A00D405, 0x00100040,
1583 	0x53028A06, 0x01900060, 0x5B02CA06, 0x01900060,
1584 	0x5B02CA06, 0x01900060, 0x43020A04, 0x00100060,
1585 	0x1B00CA05, 0x00100060, 0x53028A07, 0x0190C060,
1586 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1587 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1588 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1589 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1590 	0x4002140C, 0x00100010, 0x1A00D40D, 0x00100050,
1591 	0x53028A0E, 0x01900070, 0x5B02CA0E, 0x01900070,
1592 	0x5B02CA0E, 0x01900070, 0x43020A0C, 0x00100070,
1593 	0x1B00CA0D, 0x00100070, 0x53028A0F, 0x0190C070,
1594 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1595 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1596 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1597 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1598 	0x40021404, 0x00100000, 0x1A00D405, 0x00100040,
1599 	0x5B02CA06, 0x01900060, 0x5B02CA06, 0x01900060,
1600 	0x53028A07, 0x0190C060, 0x00000000, 0x00000000,
1601 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1602 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1603 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1604 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1605 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1606 	0x4002140C, 0x00100010, 0x1A00D40D, 0x00100050,
1607 	0x5B02CA0E, 0x01900070, 0x5B02CA0E, 0x01900070,
1608 	0x53028A0F, 0x0190C070, 0x00000000, 0x00000000,
1609 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1610 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1611 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1612 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1613 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1614 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1615 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1616 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1617 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1618 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1619 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1620 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1621 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1622 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1623 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1624 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1625 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1626 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1627 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1628 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1629 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1630 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1631 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1632 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1633 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1634 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1635 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1636 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1637 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1638 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1639 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1640 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1641 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1642 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1643 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1644 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1645 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
1646 };
1647 
1648 const u32 b43_ntab_gainctl0[] = {
1649 	0x007F003F, 0x007E013F, 0x007D023E, 0x007C033E,
1650 	0x007B043D, 0x007A053D, 0x0079063C, 0x0078073C,
1651 	0x0077083B, 0x0076093B, 0x00750A3A, 0x00740B3A,
1652 	0x00730C39, 0x00720D39, 0x00710E38, 0x00700F38,
1653 	0x006F0037, 0x006E0137, 0x006D0236, 0x006C0336,
1654 	0x006B0435, 0x006A0535, 0x00690634, 0x00680734,
1655 	0x00670833, 0x00660933, 0x00650A32, 0x00640B32,
1656 	0x00630C31, 0x00620D31, 0x00610E30, 0x00600F30,
1657 	0x005F002F, 0x005E012F, 0x005D022E, 0x005C032E,
1658 	0x005B042D, 0x005A052D, 0x0059062C, 0x0058072C,
1659 	0x0057082B, 0x0056092B, 0x00550A2A, 0x00540B2A,
1660 	0x00530C29, 0x00520D29, 0x00510E28, 0x00500F28,
1661 	0x004F0027, 0x004E0127, 0x004D0226, 0x004C0326,
1662 	0x004B0425, 0x004A0525, 0x00490624, 0x00480724,
1663 	0x00470823, 0x00460923, 0x00450A22, 0x00440B22,
1664 	0x00430C21, 0x00420D21, 0x00410E20, 0x00400F20,
1665 	0x003F001F, 0x003E011F, 0x003D021E, 0x003C031E,
1666 	0x003B041D, 0x003A051D, 0x0039061C, 0x0038071C,
1667 	0x0037081B, 0x0036091B, 0x00350A1A, 0x00340B1A,
1668 	0x00330C19, 0x00320D19, 0x00310E18, 0x00300F18,
1669 	0x002F0017, 0x002E0117, 0x002D0216, 0x002C0316,
1670 	0x002B0415, 0x002A0515, 0x00290614, 0x00280714,
1671 	0x00270813, 0x00260913, 0x00250A12, 0x00240B12,
1672 	0x00230C11, 0x00220D11, 0x00210E10, 0x00200F10,
1673 	0x001F000F, 0x001E010F, 0x001D020E, 0x001C030E,
1674 	0x001B040D, 0x001A050D, 0x0019060C, 0x0018070C,
1675 	0x0017080B, 0x0016090B, 0x00150A0A, 0x00140B0A,
1676 	0x00130C09, 0x00120D09, 0x00110E08, 0x00100F08,
1677 	0x000F0007, 0x000E0107, 0x000D0206, 0x000C0306,
1678 	0x000B0405, 0x000A0505, 0x00090604, 0x00080704,
1679 	0x00070803, 0x00060903, 0x00050A02, 0x00040B02,
1680 	0x00030C01, 0x00020D01, 0x00010E00, 0x00000F00,
1681 };
1682 
1683 const u32 b43_ntab_gainctl1[] = {
1684 	0x007F003F, 0x007E013F, 0x007D023E, 0x007C033E,
1685 	0x007B043D, 0x007A053D, 0x0079063C, 0x0078073C,
1686 	0x0077083B, 0x0076093B, 0x00750A3A, 0x00740B3A,
1687 	0x00730C39, 0x00720D39, 0x00710E38, 0x00700F38,
1688 	0x006F0037, 0x006E0137, 0x006D0236, 0x006C0336,
1689 	0x006B0435, 0x006A0535, 0x00690634, 0x00680734,
1690 	0x00670833, 0x00660933, 0x00650A32, 0x00640B32,
1691 	0x00630C31, 0x00620D31, 0x00610E30, 0x00600F30,
1692 	0x005F002F, 0x005E012F, 0x005D022E, 0x005C032E,
1693 	0x005B042D, 0x005A052D, 0x0059062C, 0x0058072C,
1694 	0x0057082B, 0x0056092B, 0x00550A2A, 0x00540B2A,
1695 	0x00530C29, 0x00520D29, 0x00510E28, 0x00500F28,
1696 	0x004F0027, 0x004E0127, 0x004D0226, 0x004C0326,
1697 	0x004B0425, 0x004A0525, 0x00490624, 0x00480724,
1698 	0x00470823, 0x00460923, 0x00450A22, 0x00440B22,
1699 	0x00430C21, 0x00420D21, 0x00410E20, 0x00400F20,
1700 	0x003F001F, 0x003E011F, 0x003D021E, 0x003C031E,
1701 	0x003B041D, 0x003A051D, 0x0039061C, 0x0038071C,
1702 	0x0037081B, 0x0036091B, 0x00350A1A, 0x00340B1A,
1703 	0x00330C19, 0x00320D19, 0x00310E18, 0x00300F18,
1704 	0x002F0017, 0x002E0117, 0x002D0216, 0x002C0316,
1705 	0x002B0415, 0x002A0515, 0x00290614, 0x00280714,
1706 	0x00270813, 0x00260913, 0x00250A12, 0x00240B12,
1707 	0x00230C11, 0x00220D11, 0x00210E10, 0x00200F10,
1708 	0x001F000F, 0x001E010F, 0x001D020E, 0x001C030E,
1709 	0x001B040D, 0x001A050D, 0x0019060C, 0x0018070C,
1710 	0x0017080B, 0x0016090B, 0x00150A0A, 0x00140B0A,
1711 	0x00130C09, 0x00120D09, 0x00110E08, 0x00100F08,
1712 	0x000F0007, 0x000E0107, 0x000D0206, 0x000C0306,
1713 	0x000B0405, 0x000A0505, 0x00090604, 0x00080704,
1714 	0x00070803, 0x00060903, 0x00050A02, 0x00040B02,
1715 	0x00030C01, 0x00020D01, 0x00010E00, 0x00000F00,
1716 };
1717 
1718 const u32 b43_ntab_intlevel[] = {
1719 	0x00802070, 0x0671188D, 0x0A60192C, 0x0A300E46,
1720 	0x00C1188D, 0x080024D2, 0x00000070,
1721 };
1722 
1723 const u32 b43_ntab_iqlt0[] = {
1724 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1725 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1726 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1727 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1728 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1729 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1730 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1731 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1732 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1733 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1734 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1735 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1736 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1737 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1738 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1739 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1740 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1741 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1742 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1743 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1744 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1745 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1746 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1747 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1748 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1749 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1750 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1751 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1752 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1753 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1754 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1755 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1756 };
1757 
1758 const u32 b43_ntab_iqlt1[] = {
1759 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1760 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1761 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1762 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1763 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1764 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1765 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1766 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1767 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1768 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1769 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1770 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1771 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1772 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1773 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1774 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1775 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1776 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1777 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1778 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1779 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1780 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1781 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1782 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1783 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1784 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1785 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1786 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1787 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1788 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1789 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1790 	0x0000007F, 0x0000007F, 0x0000007F, 0x0000007F,
1791 };
1792 
1793 const u16 b43_ntab_loftlt0[] = {
1794 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
1795 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
1796 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
1797 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
1798 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
1799 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
1800 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
1801 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
1802 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
1803 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
1804 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
1805 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
1806 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
1807 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
1808 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
1809 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
1810 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
1811 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
1812 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
1813 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
1814 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
1815 	0x0002, 0x0103,
1816 };
1817 
1818 const u16 b43_ntab_loftlt1[] = {
1819 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
1820 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
1821 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
1822 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
1823 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
1824 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
1825 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
1826 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
1827 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
1828 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
1829 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
1830 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
1831 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
1832 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
1833 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
1834 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
1835 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
1836 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
1837 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
1838 	0x0002, 0x0103, 0x0000, 0x0101, 0x0002, 0x0103,
1839 	0x0000, 0x0101, 0x0002, 0x0103, 0x0000, 0x0101,
1840 	0x0002, 0x0103,
1841 };
1842 
1843 const u8 b43_ntab_mcs[] = {
1844 	0x00, 0x08, 0x0A, 0x10, 0x12, 0x19, 0x1A, 0x1C,
1845 	0x40, 0x48, 0x4A, 0x50, 0x52, 0x59, 0x5A, 0x5C,
1846 	0x80, 0x88, 0x8A, 0x90, 0x92, 0x99, 0x9A, 0x9C,
1847 	0xC0, 0xC8, 0xCA, 0xD0, 0xD2, 0xD9, 0xDA, 0xDC,
1848 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1849 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1850 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1851 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1852 	0x00, 0x01, 0x02, 0x04, 0x08, 0x09, 0x0A, 0x0C,
1853 	0x10, 0x11, 0x12, 0x14, 0x18, 0x19, 0x1A, 0x1C,
1854 	0x20, 0x21, 0x22, 0x24, 0x40, 0x41, 0x42, 0x44,
1855 	0x48, 0x49, 0x4A, 0x4C, 0x50, 0x51, 0x52, 0x54,
1856 	0x58, 0x59, 0x5A, 0x5C, 0x60, 0x61, 0x62, 0x64,
1857 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1858 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1859 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1860 };
1861 
1862 const u32 b43_ntab_noisevar10[] = {
1863 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1864 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1865 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1866 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1867 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1868 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1869 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1870 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1871 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1872 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1873 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1874 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1875 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1876 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1877 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1878 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1879 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1880 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1881 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1882 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1883 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1884 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1885 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1886 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1887 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1888 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1889 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1890 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1891 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1892 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1893 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1894 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1895 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1896 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1897 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1898 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1899 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1900 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1901 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1902 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1903 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1904 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1905 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1906 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1907 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1908 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1909 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1910 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1911 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1912 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1913 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1914 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1915 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1916 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1917 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1918 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1919 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1920 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1921 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1922 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1923 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1924 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1925 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1926 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1927 };
1928 
1929 const u32 b43_ntab_noisevar11[] = {
1930 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1931 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1932 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1933 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1934 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1935 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1936 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1937 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1938 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1939 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1940 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1941 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1942 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1943 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1944 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1945 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1946 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1947 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1948 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1949 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1950 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1951 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1952 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1953 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1954 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1955 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1956 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1957 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1958 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1959 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1960 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1961 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1962 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1963 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1964 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1965 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1966 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1967 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1968 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1969 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1970 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1971 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1972 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1973 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1974 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1975 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1976 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1977 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1978 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1979 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1980 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1981 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1982 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1983 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1984 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1985 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1986 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1987 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1988 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1989 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1990 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1991 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1992 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1993 	0x020C020C, 0x0000014D, 0x020C020C, 0x0000014D,
1994 };
1995 
1996 const u16 b43_ntab_pilot[] = {
1997 	0xFF08, 0xFF08, 0xFF08, 0xFF08, 0xFF08, 0xFF08,
1998 	0xFF08, 0xFF08, 0x80D5, 0x80D5, 0x80D5, 0x80D5,
1999 	0x80D5, 0x80D5, 0x80D5, 0x80D5, 0xFF0A, 0xFF82,
2000 	0xFFA0, 0xFF28, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
2001 	0xFF82, 0xFFA0, 0xFF28, 0xFF0A, 0xFFFF, 0xFFFF,
2002 	0xFFFF, 0xFFFF, 0xF83F, 0xFA1F, 0xFA97, 0xFAB5,
2003 	0xF2BD, 0xF0BF, 0xFFFF, 0xFFFF, 0xF017, 0xF815,
2004 	0xF215, 0xF095, 0xF035, 0xF01D, 0xFFFF, 0xFFFF,
2005 	0xFF08, 0xFF02, 0xFF80, 0xFF20, 0xFF08, 0xFF02,
2006 	0xFF80, 0xFF20, 0xF01F, 0xF817, 0xFA15, 0xF295,
2007 	0xF0B5, 0xF03D, 0xFFFF, 0xFFFF, 0xF82A, 0xFA0A,
2008 	0xFA82, 0xFAA0, 0xF2A8, 0xF0AA, 0xFFFF, 0xFFFF,
2009 	0xF002, 0xF800, 0xF200, 0xF080, 0xF020, 0xF008,
2010 	0xFFFF, 0xFFFF, 0xF00A, 0xF802, 0xFA00, 0xF280,
2011 	0xF0A0, 0xF028, 0xFFFF, 0xFFFF,
2012 };
2013 
2014 const u32 b43_ntab_pilotlt[] = {
2015 	0x76540123, 0x62407351, 0x76543201, 0x76540213,
2016 	0x76540123, 0x76430521,
2017 };
2018 
2019 const u32 b43_ntab_tdi20a0[] = {
2020 	0x00091226, 0x000A1429, 0x000B56AD, 0x000C58B0,
2021 	0x000D5AB3, 0x000E9CB6, 0x000F9EBA, 0x0000C13D,
2022 	0x00020301, 0x00030504, 0x00040708, 0x0005090B,
2023 	0x00064B8E, 0x00095291, 0x000A5494, 0x000B9718,
2024 	0x000C9927, 0x000D9B2A, 0x000EDD2E, 0x000FDF31,
2025 	0x000101B4, 0x000243B7, 0x000345BB, 0x000447BE,
2026 	0x00058982, 0x00068C05, 0x00099309, 0x000A950C,
2027 	0x000BD78F, 0x000CD992, 0x000DDB96, 0x000F1D99,
2028 	0x00005FA8, 0x0001422C, 0x0002842F, 0x00038632,
2029 	0x00048835, 0x0005CA38, 0x0006CCBC, 0x0009D3BF,
2030 	0x000B1603, 0x000C1806, 0x000D1A0A, 0x000E1C0D,
2031 	0x000F5E10, 0x00008093, 0x00018297, 0x0002C49A,
2032 	0x0003C680, 0x0004C880, 0x00060B00, 0x00070D00,
2033 	0x00000000, 0x00000000, 0x00000000,
2034 };
2035 
2036 const u32 b43_ntab_tdi20a1[] = {
2037 	0x00014B26, 0x00028D29, 0x000393AD, 0x00049630,
2038 	0x0005D833, 0x0006DA36, 0x00099C3A, 0x000A9E3D,
2039 	0x000BC081, 0x000CC284, 0x000DC488, 0x000F068B,
2040 	0x0000488E, 0x00018B91, 0x0002D214, 0x0003D418,
2041 	0x0004D6A7, 0x000618AA, 0x00071AAE, 0x0009DCB1,
2042 	0x000B1EB4, 0x000C0137, 0x000D033B, 0x000E053E,
2043 	0x000F4702, 0x00008905, 0x00020C09, 0x0003128C,
2044 	0x0004148F, 0x00051712, 0x00065916, 0x00091B19,
2045 	0x000A1D28, 0x000B5F2C, 0x000C41AF, 0x000D43B2,
2046 	0x000E85B5, 0x000F87B8, 0x0000C9BC, 0x00024CBF,
2047 	0x00035303, 0x00045506, 0x0005978A, 0x0006998D,
2048 	0x00095B90, 0x000A5D93, 0x000B9F97, 0x000C821A,
2049 	0x000D8400, 0x000EC600, 0x000FC800, 0x00010A00,
2050 	0x00000000, 0x00000000, 0x00000000,
2051 };
2052 
2053 const u32 b43_ntab_tdi40a0[] = {
2054 	0x0011A346, 0x00136CCF, 0x0014F5D9, 0x001641E2,
2055 	0x0017CB6B, 0x00195475, 0x001B2383, 0x001CAD0C,
2056 	0x001E7616, 0x0000821F, 0x00020BA8, 0x0003D4B2,
2057 	0x00056447, 0x00072DD0, 0x0008B6DA, 0x000A02E3,
2058 	0x000B8C6C, 0x000D15F6, 0x0011E484, 0x0013AE0D,
2059 	0x00153717, 0x00168320, 0x00180CA9, 0x00199633,
2060 	0x001B6548, 0x001CEED1, 0x001EB7DB, 0x0000C3E4,
2061 	0x00024D6D, 0x000416F7, 0x0005A585, 0x00076F0F,
2062 	0x0008F818, 0x000A4421, 0x000BCDAB, 0x000D9734,
2063 	0x00122649, 0x0013EFD2, 0x001578DC, 0x0016C4E5,
2064 	0x00184E6E, 0x001A17F8, 0x001BA686, 0x001D3010,
2065 	0x001EF999, 0x00010522, 0x00028EAC, 0x00045835,
2066 	0x0005E74A, 0x0007B0D3, 0x00093A5D, 0x000A85E6,
2067 	0x000C0F6F, 0x000DD8F9, 0x00126787, 0x00143111,
2068 	0x0015BA9A, 0x00170623, 0x00188FAD, 0x001A5936,
2069 	0x001BE84B, 0x001DB1D4, 0x001F3B5E, 0x000146E7,
2070 	0x00031070, 0x000499FA, 0x00062888, 0x0007F212,
2071 	0x00097B9B, 0x000AC7A4, 0x000C50AE, 0x000E1A37,
2072 	0x0012A94C, 0x001472D5, 0x0015FC5F, 0x00174868,
2073 	0x0018D171, 0x001A9AFB, 0x001C2989, 0x001DF313,
2074 	0x001F7C9C, 0x000188A5, 0x000351AF, 0x0004DB38,
2075 	0x0006AA4D, 0x000833D7, 0x0009BD60, 0x000B0969,
2076 	0x000C9273, 0x000E5BFC, 0x00132A8A, 0x0014B414,
2077 	0x00163D9D, 0x001789A6, 0x001912B0, 0x001ADC39,
2078 	0x001C6BCE, 0x001E34D8, 0x001FBE61, 0x0001CA6A,
2079 	0x00039374, 0x00051CFD, 0x0006EC0B, 0x00087515,
2080 	0x0009FE9E, 0x000B4AA7, 0x000CD3B1, 0x000E9D3A,
2081 	0x00000000, 0x00000000,
2082 };
2083 
2084 const u32 b43_ntab_tdi40a1[] = {
2085 	0x001EDB36, 0x000129CA, 0x0002B353, 0x00047CDD,
2086 	0x0005C8E6, 0x000791EF, 0x00091BF9, 0x000AAA07,
2087 	0x000C3391, 0x000DFD1A, 0x00120923, 0x0013D22D,
2088 	0x00155C37, 0x0016EACB, 0x00187454, 0x001A3DDE,
2089 	0x001B89E7, 0x001D12F0, 0x001F1CFA, 0x00016B88,
2090 	0x00033492, 0x0004BE1B, 0x00060A24, 0x0007D32E,
2091 	0x00095D38, 0x000AEC4C, 0x000C7555, 0x000E3EDF,
2092 	0x00124AE8, 0x001413F1, 0x0015A37B, 0x00172C89,
2093 	0x0018B593, 0x001A419C, 0x001BCB25, 0x001D942F,
2094 	0x001F63B9, 0x0001AD4D, 0x00037657, 0x0004C260,
2095 	0x00068BE9, 0x000814F3, 0x0009A47C, 0x000B2D8A,
2096 	0x000CB694, 0x000E429D, 0x00128C26, 0x001455B0,
2097 	0x0015E4BA, 0x00176E4E, 0x0018F758, 0x001A8361,
2098 	0x001C0CEA, 0x001DD674, 0x001FA57D, 0x0001EE8B,
2099 	0x0003B795, 0x0005039E, 0x0006CD27, 0x000856B1,
2100 	0x0009E5C6, 0x000B6F4F, 0x000CF859, 0x000E8462,
2101 	0x00130DEB, 0x00149775, 0x00162603, 0x0017AF8C,
2102 	0x00193896, 0x001AC49F, 0x001C4E28, 0x001E17B2,
2103 	0x0000A6C7, 0x00023050, 0x0003F9DA, 0x00054563,
2104 	0x00070EEC, 0x00089876, 0x000A2704, 0x000BB08D,
2105 	0x000D3A17, 0x001185A0, 0x00134F29, 0x0014D8B3,
2106 	0x001667C8, 0x0017F151, 0x00197ADB, 0x001B0664,
2107 	0x001C8FED, 0x001E5977, 0x0000E805, 0x0002718F,
2108 	0x00043B18, 0x000586A1, 0x0007502B, 0x0008D9B4,
2109 	0x000A68C9, 0x000BF252, 0x000DBBDC, 0x0011C7E5,
2110 	0x001390EE, 0x00151A78, 0x0016A906, 0x00183290,
2111 	0x0019BC19, 0x001B4822, 0x001CD12C, 0x001E9AB5,
2112 	0x00000000, 0x00000000,
2113 };
2114 
2115 const u32 b43_ntab_tdtrn[] = {
2116 	0x061C061C, 0x0050EE68, 0xF592FE36, 0xFE5212F6,
2117 	0x00000C38, 0xFE5212F6, 0xF592FE36, 0x0050EE68,
2118 	0x061C061C, 0xEE680050, 0xFE36F592, 0x12F6FE52,
2119 	0x0C380000, 0x12F6FE52, 0xFE36F592, 0xEE680050,
2120 	0x061C061C, 0x0050EE68, 0xF592FE36, 0xFE5212F6,
2121 	0x00000C38, 0xFE5212F6, 0xF592FE36, 0x0050EE68,
2122 	0x061C061C, 0xEE680050, 0xFE36F592, 0x12F6FE52,
2123 	0x0C380000, 0x12F6FE52, 0xFE36F592, 0xEE680050,
2124 	0x05E305E3, 0x004DEF0C, 0xF5F3FE47, 0xFE611246,
2125 	0x00000BC7, 0xFE611246, 0xF5F3FE47, 0x004DEF0C,
2126 	0x05E305E3, 0xEF0C004D, 0xFE47F5F3, 0x1246FE61,
2127 	0x0BC70000, 0x1246FE61, 0xFE47F5F3, 0xEF0C004D,
2128 	0x05E305E3, 0x004DEF0C, 0xF5F3FE47, 0xFE611246,
2129 	0x00000BC7, 0xFE611246, 0xF5F3FE47, 0x004DEF0C,
2130 	0x05E305E3, 0xEF0C004D, 0xFE47F5F3, 0x1246FE61,
2131 	0x0BC70000, 0x1246FE61, 0xFE47F5F3, 0xEF0C004D,
2132 	0xFA58FA58, 0xF895043B, 0xFF4C09C0, 0xFBC6FFA8,
2133 	0xFB84F384, 0x0798F6F9, 0x05760122, 0x058409F6,
2134 	0x0B500000, 0x05B7F542, 0x08860432, 0x06DDFEE7,
2135 	0xFB84F384, 0xF9D90664, 0xF7E8025C, 0x00FFF7BD,
2136 	0x05A805A8, 0xF7BD00FF, 0x025CF7E8, 0x0664F9D9,
2137 	0xF384FB84, 0xFEE706DD, 0x04320886, 0xF54205B7,
2138 	0x00000B50, 0x09F60584, 0x01220576, 0xF6F90798,
2139 	0xF384FB84, 0xFFA8FBC6, 0x09C0FF4C, 0x043BF895,
2140 	0x02D402D4, 0x07DE0270, 0xFC96079C, 0xF90AFE94,
2141 	0xFE00FF2C, 0x02D4065D, 0x092A0096, 0x0014FBB8,
2142 	0xFD2CFD2C, 0x076AFB3C, 0x0096F752, 0xF991FD87,
2143 	0xFB2C0200, 0xFEB8F960, 0x08E0FC96, 0x049802A8,
2144 	0xFD2CFD2C, 0x02A80498, 0xFC9608E0, 0xF960FEB8,
2145 	0x0200FB2C, 0xFD87F991, 0xF7520096, 0xFB3C076A,
2146 	0xFD2CFD2C, 0xFBB80014, 0x0096092A, 0x065D02D4,
2147 	0xFF2CFE00, 0xFE94F90A, 0x079CFC96, 0x027007DE,
2148 	0x02D402D4, 0x027007DE, 0x079CFC96, 0xFE94F90A,
2149 	0xFF2CFE00, 0x065D02D4, 0x0096092A, 0xFBB80014,
2150 	0xFD2CFD2C, 0xFB3C076A, 0xF7520096, 0xFD87F991,
2151 	0x0200FB2C, 0xF960FEB8, 0xFC9608E0, 0x02A80498,
2152 	0xFD2CFD2C, 0x049802A8, 0x08E0FC96, 0xFEB8F960,
2153 	0xFB2C0200, 0xF991FD87, 0x0096F752, 0x076AFB3C,
2154 	0xFD2CFD2C, 0x0014FBB8, 0x092A0096, 0x02D4065D,
2155 	0xFE00FF2C, 0xF90AFE94, 0xFC96079C, 0x07DE0270,
2156 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2157 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2158 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2159 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2160 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2161 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2162 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2163 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2164 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2165 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2166 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2167 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2168 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2169 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2170 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2171 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2172 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2173 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2174 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2175 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2176 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2177 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2178 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2179 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2180 	0x062A0000, 0xFEFA0759, 0x08B80908, 0xF396FC2D,
2181 	0xF9D6045C, 0xFC4EF608, 0xF748F596, 0x07B207BF,
2182 	0x062A062A, 0xF84EF841, 0xF748F596, 0x03B209F8,
2183 	0xF9D6045C, 0x0C6A03D3, 0x08B80908, 0x0106F8A7,
2184 	0x062A0000, 0xFEFAF8A7, 0x08B8F6F8, 0xF39603D3,
2185 	0xF9D6FBA4, 0xFC4E09F8, 0xF7480A6A, 0x07B2F841,
2186 	0x062AF9D6, 0xF84E07BF, 0xF7480A6A, 0x03B2F608,
2187 	0xF9D6FBA4, 0x0C6AFC2D, 0x08B8F6F8, 0x01060759,
2188 	0x062A0000, 0xFEFA0759, 0x08B80908, 0xF396FC2D,
2189 	0xF9D6045C, 0xFC4EF608, 0xF748F596, 0x07B207BF,
2190 	0x062A062A, 0xF84EF841, 0xF748F596, 0x03B209F8,
2191 	0xF9D6045C, 0x0C6A03D3, 0x08B80908, 0x0106F8A7,
2192 	0x062A0000, 0xFEFAF8A7, 0x08B8F6F8, 0xF39603D3,
2193 	0xF9D6FBA4, 0xFC4E09F8, 0xF7480A6A, 0x07B2F841,
2194 	0x062AF9D6, 0xF84E07BF, 0xF7480A6A, 0x03B2F608,
2195 	0xF9D6FBA4, 0x0C6AFC2D, 0x08B8F6F8, 0x01060759,
2196 	0x061C061C, 0xFF30009D, 0xFFB21141, 0xFD87FB54,
2197 	0xF65DFE59, 0x02EEF99E, 0x0166F03C, 0xFFF809B6,
2198 	0x000008A4, 0x000AF42B, 0x00EFF577, 0xFA840BF2,
2199 	0xFC02FF51, 0x08260F67, 0xFFF0036F, 0x0842F9C3,
2200 	0x00000000, 0x063DF7BE, 0xFC910010, 0xF099F7DA,
2201 	0x00AF03FE, 0xF40E057C, 0x0A89FF11, 0x0BD5FFF6,
2202 	0xF75C0000, 0xF64A0008, 0x0FC4FE9A, 0x0662FD12,
2203 	0x01A709A3, 0x04AC0279, 0xEEBF004E, 0xFF6300D0,
2204 	0xF9E4F9E4, 0x00D0FF63, 0x004EEEBF, 0x027904AC,
2205 	0x09A301A7, 0xFD120662, 0xFE9A0FC4, 0x0008F64A,
2206 	0x0000F75C, 0xFFF60BD5, 0xFF110A89, 0x057CF40E,
2207 	0x03FE00AF, 0xF7DAF099, 0x0010FC91, 0xF7BE063D,
2208 	0x00000000, 0xF9C30842, 0x036FFFF0, 0x0F670826,
2209 	0xFF51FC02, 0x0BF2FA84, 0xF57700EF, 0xF42B000A,
2210 	0x08A40000, 0x09B6FFF8, 0xF03C0166, 0xF99E02EE,
2211 	0xFE59F65D, 0xFB54FD87, 0x1141FFB2, 0x009DFF30,
2212 	0x05E30000, 0xFF060705, 0x085408A0, 0xF425FC59,
2213 	0xFA1D042A, 0xFC78F67A, 0xF7ACF60E, 0x075A0766,
2214 	0x05E305E3, 0xF8A6F89A, 0xF7ACF60E, 0x03880986,
2215 	0xFA1D042A, 0x0BDB03A7, 0x085408A0, 0x00FAF8FB,
2216 	0x05E30000, 0xFF06F8FB, 0x0854F760, 0xF42503A7,
2217 	0xFA1DFBD6, 0xFC780986, 0xF7AC09F2, 0x075AF89A,
2218 	0x05E3FA1D, 0xF8A60766, 0xF7AC09F2, 0x0388F67A,
2219 	0xFA1DFBD6, 0x0BDBFC59, 0x0854F760, 0x00FA0705,
2220 	0x05E30000, 0xFF060705, 0x085408A0, 0xF425FC59,
2221 	0xFA1D042A, 0xFC78F67A, 0xF7ACF60E, 0x075A0766,
2222 	0x05E305E3, 0xF8A6F89A, 0xF7ACF60E, 0x03880986,
2223 	0xFA1D042A, 0x0BDB03A7, 0x085408A0, 0x00FAF8FB,
2224 	0x05E30000, 0xFF06F8FB, 0x0854F760, 0xF42503A7,
2225 	0xFA1DFBD6, 0xFC780986, 0xF7AC09F2, 0x075AF89A,
2226 	0x05E3FA1D, 0xF8A60766, 0xF7AC09F2, 0x0388F67A,
2227 	0xFA1DFBD6, 0x0BDBFC59, 0x0854F760, 0x00FA0705,
2228 	0xFA58FA58, 0xF8F0FE00, 0x0448073D, 0xFDC9FE46,
2229 	0xF9910258, 0x089D0407, 0xFD5CF71A, 0x02AFFDE0,
2230 	0x083E0496, 0xFF5A0740, 0xFF7AFD97, 0x00FE01F1,
2231 	0x0009082E, 0xFA94FF75, 0xFECDF8EA, 0xFFB0F693,
2232 	0xFD2CFA58, 0x0433FF16, 0xFBA405DD, 0xFA610341,
2233 	0x06A606CB, 0x0039FD2D, 0x0677FA97, 0x01FA05E0,
2234 	0xF896003E, 0x075A068B, 0x012CFC3E, 0xFA23F98D,
2235 	0xFC7CFD43, 0xFF90FC0D, 0x01C10982, 0x00C601D6,
2236 	0xFD2CFD2C, 0x01D600C6, 0x098201C1, 0xFC0DFF90,
2237 	0xFD43FC7C, 0xF98DFA23, 0xFC3E012C, 0x068B075A,
2238 	0x003EF896, 0x05E001FA, 0xFA970677, 0xFD2D0039,
2239 	0x06CB06A6, 0x0341FA61, 0x05DDFBA4, 0xFF160433,
2240 	0xFA58FD2C, 0xF693FFB0, 0xF8EAFECD, 0xFF75FA94,
2241 	0x082E0009, 0x01F100FE, 0xFD97FF7A, 0x0740FF5A,
2242 	0x0496083E, 0xFDE002AF, 0xF71AFD5C, 0x0407089D,
2243 	0x0258F991, 0xFE46FDC9, 0x073D0448, 0xFE00F8F0,
2244 	0xFD2CFD2C, 0xFCE00500, 0xFC09FDDC, 0xFE680157,
2245 	0x04C70571, 0xFC3AFF21, 0xFCD70228, 0x056D0277,
2246 	0x0200FE00, 0x0022F927, 0xFE3C032B, 0xFC44FF3C,
2247 	0x03E9FBDB, 0x04570313, 0x04C9FF5C, 0x000D03B8,
2248 	0xFA580000, 0xFBE900D2, 0xF9D0FE0B, 0x0125FDF9,
2249 	0x042501BF, 0x0328FA2B, 0xFFA902F0, 0xFA250157,
2250 	0x0200FE00, 0x03740438, 0xFF0405FD, 0x030CFE52,
2251 	0x0037FB39, 0xFF6904C5, 0x04F8FD23, 0xFD31FC1B,
2252 	0xFD2CFD2C, 0xFC1BFD31, 0xFD2304F8, 0x04C5FF69,
2253 	0xFB390037, 0xFE52030C, 0x05FDFF04, 0x04380374,
2254 	0xFE000200, 0x0157FA25, 0x02F0FFA9, 0xFA2B0328,
2255 	0x01BF0425, 0xFDF90125, 0xFE0BF9D0, 0x00D2FBE9,
2256 	0x0000FA58, 0x03B8000D, 0xFF5C04C9, 0x03130457,
2257 	0xFBDB03E9, 0xFF3CFC44, 0x032BFE3C, 0xF9270022,
2258 	0xFE000200, 0x0277056D, 0x0228FCD7, 0xFF21FC3A,
2259 	0x057104C7, 0x0157FE68, 0xFDDCFC09, 0x0500FCE0,
2260 	0xFD2CFD2C, 0x0500FCE0, 0xFDDCFC09, 0x0157FE68,
2261 	0x057104C7, 0xFF21FC3A, 0x0228FCD7, 0x0277056D,
2262 	0xFE000200, 0xF9270022, 0x032BFE3C, 0xFF3CFC44,
2263 	0xFBDB03E9, 0x03130457, 0xFF5C04C9, 0x03B8000D,
2264 	0x0000FA58, 0x00D2FBE9, 0xFE0BF9D0, 0xFDF90125,
2265 	0x01BF0425, 0xFA2B0328, 0x02F0FFA9, 0x0157FA25,
2266 	0xFE000200, 0x04380374, 0x05FDFF04, 0xFE52030C,
2267 	0xFB390037, 0x04C5FF69, 0xFD2304F8, 0xFC1BFD31,
2268 	0xFD2CFD2C, 0xFD31FC1B, 0x04F8FD23, 0xFF6904C5,
2269 	0x0037FB39, 0x030CFE52, 0xFF0405FD, 0x03740438,
2270 	0x0200FE00, 0xFA250157, 0xFFA902F0, 0x0328FA2B,
2271 	0x042501BF, 0x0125FDF9, 0xF9D0FE0B, 0xFBE900D2,
2272 	0xFA580000, 0x000D03B8, 0x04C9FF5C, 0x04570313,
2273 	0x03E9FBDB, 0xFC44FF3C, 0xFE3C032B, 0x0022F927,
2274 	0x0200FE00, 0x056D0277, 0xFCD70228, 0xFC3AFF21,
2275 	0x04C70571, 0xFE680157, 0xFC09FDDC, 0xFCE00500,
2276 	0x05A80000, 0xFF1006BE, 0x0800084A, 0xF49CFC7E,
2277 	0xFA580400, 0xFC9CF6DA, 0xF800F672, 0x0710071C,
2278 	0x05A805A8, 0xF8F0F8E4, 0xF800F672, 0x03640926,
2279 	0xFA580400, 0x0B640382, 0x0800084A, 0x00F0F942,
2280 	0x05A80000, 0xFF10F942, 0x0800F7B6, 0xF49C0382,
2281 	0xFA58FC00, 0xFC9C0926, 0xF800098E, 0x0710F8E4,
2282 	0x05A8FA58, 0xF8F0071C, 0xF800098E, 0x0364F6DA,
2283 	0xFA58FC00, 0x0B64FC7E, 0x0800F7B6, 0x00F006BE,
2284 	0x05A80000, 0xFF1006BE, 0x0800084A, 0xF49CFC7E,
2285 	0xFA580400, 0xFC9CF6DA, 0xF800F672, 0x0710071C,
2286 	0x05A805A8, 0xF8F0F8E4, 0xF800F672, 0x03640926,
2287 	0xFA580400, 0x0B640382, 0x0800084A, 0x00F0F942,
2288 	0x05A80000, 0xFF10F942, 0x0800F7B6, 0xF49C0382,
2289 	0xFA58FC00, 0xFC9C0926, 0xF800098E, 0x0710F8E4,
2290 	0x05A8FA58, 0xF8F0071C, 0xF800098E, 0x0364F6DA,
2291 	0xFA58FC00, 0x0B64FC7E, 0x0800F7B6, 0x00F006BE,
2292 };
2293 
2294 const u32 b43_ntab_tmap[] = {
2295 	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888,
2296 	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
2297 	0xF1111110, 0x11111111, 0x11F11111, 0x00000111,
2298 	0x11000000, 0x1111F111, 0x11111111, 0x111111F1,
2299 	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x000AA888,
2300 	0x88880000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
2301 	0xA1111110, 0x11111111, 0x11C11111, 0x00000111,
2302 	0x11000000, 0x1111A111, 0x11111111, 0x111111A1,
2303 	0xA2222220, 0x22222222, 0x22C22222, 0x00000222,
2304 	0x22000000, 0x2222A222, 0x22222222, 0x222222A2,
2305 	0xF1111110, 0x11111111, 0x11F11111, 0x00011111,
2306 	0x11110000, 0x1111F111, 0x11111111, 0x111111F1,
2307 	0xA8AA88A0, 0xA88888A8, 0xA8A8A88A, 0x00088AAA,
2308 	0xAAAA0000, 0xA8A8AA88, 0xA88AAAAA, 0xAAAA8A8A,
2309 	0xAAA8AAA0, 0x8AAA8AAA, 0xAA8A8A8A, 0x000AAA88,
2310 	0x8AAA0000, 0xAAA8A888, 0x8AA88A8A, 0x8A88A888,
2311 	0x08080A00, 0x0A08080A, 0x080A0A08, 0x00080808,
2312 	0x080A0000, 0x080A0808, 0x080A0808, 0x0A0A0A08,
2313 	0xA0A0A0A0, 0x80A0A080, 0x8080A0A0, 0x00008080,
2314 	0x80A00000, 0x80A080A0, 0xA080A0A0, 0x8080A0A0,
2315 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2316 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2317 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2318 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2319 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2320 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2321 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2322 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2323 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2324 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2325 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2326 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2327 	0x99999000, 0x9B9B99BB, 0x9BB99999, 0x9999B9B9,
2328 	0x9B99BB90, 0x9BBBBB9B, 0x9B9B9BB9, 0x00000999,
2329 	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
2330 	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00AAA888,
2331 	0x22000000, 0x2222B222, 0x22222222, 0x222222B2,
2332 	0xB2222220, 0x22222222, 0x22D22222, 0x00000222,
2333 	0x11000000, 0x1111A111, 0x11111111, 0x111111A1,
2334 	0xA1111110, 0x11111111, 0x11C11111, 0x00000111,
2335 	0x33000000, 0x3333B333, 0x33333333, 0x333333B3,
2336 	0xB3333330, 0x33333333, 0x33D33333, 0x00000333,
2337 	0x22000000, 0x2222A222, 0x22222222, 0x222222A2,
2338 	0xA2222220, 0x22222222, 0x22C22222, 0x00000222,
2339 	0x99B99B00, 0x9B9B99BB, 0x9BB99999, 0x9999B9B9,
2340 	0x9B99BB99, 0x9BBBBB9B, 0x9B9B9BB9, 0x00000999,
2341 	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
2342 	0x8A88AA88, 0x8AAAAA8A, 0x8A8A8AA8, 0x08AAA888,
2343 	0x22222200, 0x2222F222, 0x22222222, 0x222222F2,
2344 	0x22222222, 0x22222222, 0x22F22222, 0x00000222,
2345 	0x11000000, 0x1111F111, 0x11111111, 0x11111111,
2346 	0xF1111111, 0x11111111, 0x11F11111, 0x01111111,
2347 	0xBB9BB900, 0xB9B9BB99, 0xB99BBBBB, 0xBBBB9B9B,
2348 	0xB9BB99BB, 0xB99999B9, 0xB9B9B99B, 0x00000BBB,
2349 	0xAA000000, 0xA8A8AA88, 0xA88AAAAA, 0xAAAA8A8A,
2350 	0xA8AA88AA, 0xA88888A8, 0xA8A8A88A, 0x0A888AAA,
2351 	0xAA000000, 0xA8A8AA88, 0xA88AAAAA, 0xAAAA8A8A,
2352 	0xA8AA88A0, 0xA88888A8, 0xA8A8A88A, 0x00000AAA,
2353 	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
2354 	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888,
2355 	0xBBBBBB00, 0x999BBBBB, 0x9BB99B9B, 0xB9B9B9BB,
2356 	0xB9B99BBB, 0xB9B9B9BB, 0xB9BB9B99, 0x00000999,
2357 	0x8A000000, 0xAA88A888, 0xA88888AA, 0xA88A8A88,
2358 	0xA88AA88A, 0x88A8AAAA, 0xA8AA8AAA, 0x0888A88A,
2359 	0x0B0B0B00, 0x090B0B0B, 0x0B090B0B, 0x0909090B,
2360 	0x09090B0B, 0x09090B0B, 0x09090B09, 0x00000909,
2361 	0x0A000000, 0x0A080808, 0x080A080A, 0x080A0A08,
2362 	0x080A080A, 0x0808080A, 0x0A0A0A08, 0x0808080A,
2363 	0xB0B0B000, 0x9090B0B0, 0x90B09090, 0xB0B0B090,
2364 	0xB0B090B0, 0x90B0B0B0, 0xB0B09090, 0x00000090,
2365 	0x80000000, 0xA080A080, 0xA08080A0, 0xA0808080,
2366 	0xA080A080, 0x80A0A0A0, 0xA0A080A0, 0x00A0A0A0,
2367 	0x22000000, 0x2222F222, 0x22222222, 0x222222F2,
2368 	0xF2222220, 0x22222222, 0x22F22222, 0x00000222,
2369 	0x11000000, 0x1111F111, 0x11111111, 0x111111F1,
2370 	0xF1111110, 0x11111111, 0x11F11111, 0x00000111,
2371 	0x33000000, 0x3333F333, 0x33333333, 0x333333F3,
2372 	0xF3333330, 0x33333333, 0x33F33333, 0x00000333,
2373 	0x22000000, 0x2222F222, 0x22222222, 0x222222F2,
2374 	0xF2222220, 0x22222222, 0x22F22222, 0x00000222,
2375 	0x99000000, 0x9B9B99BB, 0x9BB99999, 0x9999B9B9,
2376 	0x9B99BB90, 0x9BBBBB9B, 0x9B9B9BB9, 0x00000999,
2377 	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
2378 	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888,
2379 	0x88888000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
2380 	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888,
2381 	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
2382 	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00AAA888,
2383 	0x88A88A00, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
2384 	0x8A88AA88, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888,
2385 	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
2386 	0x8A88AA88, 0x8AAAAA8A, 0x8A8A8AA8, 0x08AAA888,
2387 	0x11000000, 0x1111A111, 0x11111111, 0x111111A1,
2388 	0xA1111110, 0x11111111, 0x11C11111, 0x00000111,
2389 	0x11000000, 0x1111A111, 0x11111111, 0x111111A1,
2390 	0xA1111110, 0x11111111, 0x11C11111, 0x00000111,
2391 	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
2392 	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888,
2393 	0x88000000, 0x8A8A88AA, 0x8AA88888, 0x8888A8A8,
2394 	0x8A88AA80, 0x8AAAAA8A, 0x8A8A8AA8, 0x00000888,
2395 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2396 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2397 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2398 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2399 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2400 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2401 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2402 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2403 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2404 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2405 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2406 	0x00000000, 0x00000000, 0x00000000, 0x00000000,
2407 };
2408 
assert_ntab_array_sizes(void)2409 static inline void assert_ntab_array_sizes(void)
2410 {
2411 #undef check
2412 #define check(table, size)	\
2413 	BUILD_BUG_ON(ARRAY_SIZE(b43_ntab_##table) != B43_NTAB_##size##_SIZE)
2414 
2415 	check(adjustpower0, C0_ADJPLT);
2416 	check(adjustpower1, C1_ADJPLT);
2417 	check(bdi, BDI);
2418 	check(channelest, CHANEST);
2419 	check(estimatepowerlt0, C0_ESTPLT);
2420 	check(estimatepowerlt1, C1_ESTPLT);
2421 	check(framelookup, FRAMELT);
2422 	check(framestruct, FRAMESTRUCT);
2423 	check(gainctl0, C0_GAINCTL);
2424 	check(gainctl1, C1_GAINCTL);
2425 	check(intlevel, INTLEVEL);
2426 	check(iqlt0, C0_IQLT);
2427 	check(iqlt1, C1_IQLT);
2428 	check(loftlt0, C0_LOFEEDTH);
2429 	check(loftlt1, C1_LOFEEDTH);
2430 	check(mcs, MCS);
2431 	check(noisevar10, NOISEVAR10);
2432 	check(noisevar11, NOISEVAR11);
2433 	check(pilot, PILOT);
2434 	check(pilotlt, PILOTLT);
2435 	check(tdi20a0, TDI20A0);
2436 	check(tdi20a1, TDI20A1);
2437 	check(tdi40a0, TDI40A0);
2438 	check(tdi40a1, TDI40A1);
2439 	check(tdtrn, TDTRN);
2440 	check(tmap, TMAP);
2441 
2442 #undef check
2443 }
2444 
b43_ntab_write(struct b43_wldev * dev,u32 offset,u32 value)2445 void b43_ntab_write(struct b43_wldev *dev, u32 offset, u32 value)
2446 {
2447 	u32 type;
2448 
2449 	type = offset & B43_NTAB_TYPEMASK;
2450 	offset &= 0xFFFF;
2451 
2452 	switch (type) {
2453 	case B43_NTAB_8BIT:
2454 		B43_WARN_ON(value & ~0xFF);
2455 		b43_phy_write(dev, B43_NPHY_TABLE_ADDR, offset);
2456 		b43_phy_write(dev, B43_NPHY_TABLE_DATALO, value);
2457 		break;
2458 	case B43_NTAB_16BIT:
2459 		B43_WARN_ON(value & ~0xFFFF);
2460 		b43_phy_write(dev, B43_NPHY_TABLE_ADDR, offset);
2461 		b43_phy_write(dev, B43_NPHY_TABLE_DATALO, value);
2462 		break;
2463 	case B43_NTAB_32BIT:
2464 		b43_phy_write(dev, B43_NPHY_TABLE_ADDR, offset);
2465 		b43_phy_write(dev, B43_NPHY_TABLE_DATAHI, value >> 16);
2466 		b43_phy_write(dev, B43_NPHY_TABLE_DATALO, value & 0xFFFF);
2467 		break;
2468 	default:
2469 		B43_WARN_ON(1);
2470 	}
2471 
2472 	return;
2473 
2474 	/* Some compiletime assertions... */
2475 	assert_ntab_array_sizes();
2476 }
2477