ps3: gelic: updown_lock semaphore to mutex
[linux-2.6] / drivers / net / wireless / b43 / tables_nphy.c
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.h"
28 #include "nphy.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
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 *
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
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
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 }