Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
[pandora-kernel.git] / drivers / net / wireless / b43 / radio_2055.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 "radio_2055.h"
27 #include "phy_common.h"
28
29 struct b2055_inittab_entry {
30         /* Value to write if we use the 5GHz band. */
31         u16 ghz5;
32         /* Value to write if we use the 2.4GHz band. */
33         u16 ghz2;
34         /* Flags */
35         u8 flags;
36 #define B2055_INITTAB_ENTRY_OK  0x01
37 #define B2055_INITTAB_UPLOAD    0x02
38 };
39 #define UPLOAD          .flags = B2055_INITTAB_ENTRY_OK | B2055_INITTAB_UPLOAD
40 #define NOUPLOAD        .flags = B2055_INITTAB_ENTRY_OK
41
42 static const struct b2055_inittab_entry b2055_inittab [] = {
43   [B2055_SP_PINPD]              = { .ghz5 = 0x0080, .ghz2 = 0x0080, NOUPLOAD, },
44   [B2055_C1_SP_RSSI]            = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
45   [B2055_C1_SP_PDMISC]          = { .ghz5 = 0x0027, .ghz2 = 0x0027, NOUPLOAD, },
46   [B2055_C2_SP_RSSI]            = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
47   [B2055_C2_SP_PDMISC]          = { .ghz5 = 0x0027, .ghz2 = 0x0027, NOUPLOAD, },
48   [B2055_C1_SP_RXGC1]           = { .ghz5 = 0x007F, .ghz2 = 0x007F, UPLOAD, },
49   [B2055_C1_SP_RXGC2]           = { .ghz5 = 0x0007, .ghz2 = 0x0007, UPLOAD, },
50   [B2055_C2_SP_RXGC1]           = { .ghz5 = 0x007F, .ghz2 = 0x007F, UPLOAD, },
51   [B2055_C2_SP_RXGC2]           = { .ghz5 = 0x0007, .ghz2 = 0x0007, UPLOAD, },
52   [B2055_C1_SP_LPFBWSEL]        = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, },
53   [B2055_C2_SP_LPFBWSEL]        = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, },
54   [B2055_C1_SP_TXGC1]           = { .ghz5 = 0x004F, .ghz2 = 0x004F, UPLOAD, },
55   [B2055_C1_SP_TXGC2]           = { .ghz5 = 0x0005, .ghz2 = 0x0005, UPLOAD, },
56   [B2055_C2_SP_TXGC1]           = { .ghz5 = 0x004F, .ghz2 = 0x004F, UPLOAD, },
57   [B2055_C2_SP_TXGC2]           = { .ghz5 = 0x0005, .ghz2 = 0x0005, UPLOAD, },
58   [B2055_MASTER1]               = { .ghz5 = 0x00D0, .ghz2 = 0x00D0, NOUPLOAD, },
59   [B2055_MASTER2]               = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, },
60   [B2055_PD_LGEN]               = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
61   [B2055_PD_PLLTS]              = { .ghz5 = 0x0040, .ghz2 = 0x0040, NOUPLOAD, },
62   [B2055_C1_PD_LGBUF]           = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
63   [B2055_C1_PD_TX]              = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
64   [B2055_C1_PD_RXTX]            = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
65   [B2055_C1_PD_RSSIMISC]        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
66   [B2055_C2_PD_LGBUF]           = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
67   [B2055_C2_PD_TX]              = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
68   [B2055_C2_PD_RXTX]            = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
69   [B2055_C2_PD_RSSIMISC]        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
70   [B2055_PWRDET_LGEN]           = { .ghz5 = 0x00C0, .ghz2 = 0x00C0, NOUPLOAD, },
71   [B2055_C1_PWRDET_LGBUF]       = { .ghz5 = 0x00FF, .ghz2 = 0x00FF, NOUPLOAD, },
72   [B2055_C1_PWRDET_RXTX]        = { .ghz5 = 0x00C0, .ghz2 = 0x00C0, NOUPLOAD, },
73   [B2055_C2_PWRDET_LGBUF]       = { .ghz5 = 0x00FF, .ghz2 = 0x00FF, NOUPLOAD, },
74   [B2055_C2_PWRDET_RXTX]        = { .ghz5 = 0x00C0, .ghz2 = 0x00C0, NOUPLOAD, },
75   [B2055_RRCCAL_CS]             = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
76   [B2055_RRCCAL_NOPTSEL]        = { .ghz5 = 0x002C, .ghz2 = 0x002C, NOUPLOAD, },
77   [B2055_CAL_MISC]              = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
78   [B2055_CAL_COUT]              = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
79   [B2055_CAL_COUT2]             = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
80   [B2055_CAL_CVARCTL]           = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
81   [B2055_CAL_RVARCTL]           = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
82   [B2055_CAL_LPOCTL]            = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
83   [B2055_CAL_TS]                = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
84   [B2055_CAL_RCCALRTS]          = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
85   [B2055_CAL_RCALRTS]           = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
86   [B2055_PADDRV]                = { .ghz5 = 0x00A4, .ghz2 = 0x00A4, NOUPLOAD, },
87   [B2055_XOCTL1]                = { .ghz5 = 0x0038, .ghz2 = 0x0038, NOUPLOAD, },
88   [B2055_XOCTL2]                = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
89   [B2055_XOREGUL]               = { .ghz5 = 0x0004, .ghz2 = 0x0004, UPLOAD, },
90   [B2055_XOMISC]                = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
91   [B2055_PLL_LFC1]              = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, },
92   [B2055_PLL_CALVTH]            = { .ghz5 = 0x0087, .ghz2 = 0x0087, NOUPLOAD, },
93   [B2055_PLL_LFC2]              = { .ghz5 = 0x0009, .ghz2 = 0x0009, NOUPLOAD, },
94   [B2055_PLL_REF]               = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, },
95   [B2055_PLL_LFR1]              = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, },
96   [B2055_PLL_PFDCP]             = { .ghz5 = 0x0018, .ghz2 = 0x0018, UPLOAD, },
97   [B2055_PLL_IDAC_CPOPAMP]      = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
98   [B2055_PLL_CPREG]             = { .ghz5 = 0x0004, .ghz2 = 0x0004, UPLOAD, },
99   [B2055_PLL_RCAL]              = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
100   [B2055_RF_PLLMOD0]            = { .ghz5 = 0x009E, .ghz2 = 0x009E, NOUPLOAD, },
101   [B2055_RF_PLLMOD1]            = { .ghz5 = 0x0009, .ghz2 = 0x0009, NOUPLOAD, },
102   [B2055_RF_MMDIDAC1]           = { .ghz5 = 0x00C8, .ghz2 = 0x00C8, UPLOAD, },
103   [B2055_RF_MMDIDAC0]           = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
104   [B2055_RF_MMDSP]              = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
105   [B2055_VCO_CAL1]              = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
106   [B2055_VCO_CAL2]              = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
107   [B2055_VCO_CAL3]              = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, },
108   [B2055_VCO_CAL4]              = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, },
109   [B2055_VCO_CAL5]              = { .ghz5 = 0x0096, .ghz2 = 0x0096, NOUPLOAD, },
110   [B2055_VCO_CAL6]              = { .ghz5 = 0x003E, .ghz2 = 0x003E, NOUPLOAD, },
111   [B2055_VCO_CAL7]              = { .ghz5 = 0x003E, .ghz2 = 0x003E, NOUPLOAD, },
112   [B2055_VCO_CAL8]              = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, },
113   [B2055_VCO_CAL9]              = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, },
114   [B2055_VCO_CAL10]             = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, },
115   [B2055_VCO_CAL11]             = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, },
116   [B2055_VCO_CAL12]             = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
117   [B2055_VCO_CAL13]             = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
118   [B2055_VCO_CAL14]             = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
119   [B2055_VCO_CAL15]             = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
120   [B2055_VCO_CAL16]             = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
121   [B2055_VCO_KVCO]              = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, },
122   [B2055_VCO_CAPTAIL]           = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, },
123   [B2055_VCO_IDACVCO]           = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
124   [B2055_VCO_REG]               = { .ghz5 = 0x0084, .ghz2 = 0x0084, UPLOAD, },
125   [B2055_PLL_RFVTH]             = { .ghz5 = 0x00C3, .ghz2 = 0x00C3, NOUPLOAD, },
126   [B2055_LGBUF_CENBUF]          = { .ghz5 = 0x008F, .ghz2 = 0x008F, NOUPLOAD, },
127   [B2055_LGEN_TUNE1]            = { .ghz5 = 0x00FF, .ghz2 = 0x00FF, NOUPLOAD, },
128   [B2055_LGEN_TUNE2]            = { .ghz5 = 0x00FF, .ghz2 = 0x00FF, NOUPLOAD, },
129   [B2055_LGEN_IDAC1]            = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
130   [B2055_LGEN_IDAC2]            = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
131   [B2055_LGEN_BIASC]            = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
132   [B2055_LGEN_BIASIDAC]         = { .ghz5 = 0x00CC, .ghz2 = 0x00CC, NOUPLOAD, },
133   [B2055_LGEN_RCAL]             = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
134   [B2055_LGEN_DIV]              = { .ghz5 = 0x0080, .ghz2 = 0x0080, NOUPLOAD, },
135   [B2055_LGEN_SPARE2]           = { .ghz5 = 0x0080, .ghz2 = 0x0080, NOUPLOAD, },
136   [B2055_C1_LGBUF_ATUNE]        = { .ghz5 = 0x00F8, .ghz2 = 0x00F8, NOUPLOAD, },
137   [B2055_C1_LGBUF_GTUNE]        = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
138   [B2055_C1_LGBUF_DIV]          = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
139   [B2055_C1_LGBUF_AIDAC]        = { .ghz5 = 0x0088, .ghz2 = 0x0008, UPLOAD, },
140   [B2055_C1_LGBUF_GIDAC]        = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
141   [B2055_C1_LGBUF_IDACFO]       = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
142   [B2055_C1_LGBUF_SPARE]        = { .ghz5 = 0x0001, .ghz2 = 0x0001, UPLOAD, },
143   [B2055_C1_RX_RFSPC1]          = { .ghz5 = 0x008A, .ghz2 = 0x008A, NOUPLOAD, },
144   [B2055_C1_RX_RFR1]            = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, },
145   [B2055_C1_RX_RFR2]            = { .ghz5 = 0x0083, .ghz2 = 0x0083, NOUPLOAD, },
146   [B2055_C1_RX_RFRCAL]          = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
147   [B2055_C1_RX_BB_BLCMP]        = { .ghz5 = 0x00A0, .ghz2 = 0x00A0, NOUPLOAD, },
148   [B2055_C1_RX_BB_LPF]          = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, },
149   [B2055_C1_RX_BB_MIDACHP]      = { .ghz5 = 0x0087, .ghz2 = 0x0087, UPLOAD, },
150   [B2055_C1_RX_BB_VGA1IDAC]     = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
151   [B2055_C1_RX_BB_VGA2IDAC]     = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
152   [B2055_C1_RX_BB_VGA3IDAC]     = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
153   [B2055_C1_RX_BB_BUFOCTL]      = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
154   [B2055_C1_RX_BB_RCCALCTL]     = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, },
155   [B2055_C1_RX_BB_RSSICTL1]     = { .ghz5 = 0x006A, .ghz2 = 0x006A, UPLOAD, },
156   [B2055_C1_RX_BB_RSSICTL2]     = { .ghz5 = 0x00AB, .ghz2 = 0x00AB, UPLOAD, },
157   [B2055_C1_RX_BB_RSSICTL3]     = { .ghz5 = 0x0013, .ghz2 = 0x0013, UPLOAD, },
158   [B2055_C1_RX_BB_RSSICTL4]     = { .ghz5 = 0x00C1, .ghz2 = 0x00C1, UPLOAD, },
159   [B2055_C1_RX_BB_RSSICTL5]     = { .ghz5 = 0x00AA, .ghz2 = 0x00AA, UPLOAD, },
160   [B2055_C1_RX_BB_REG]          = { .ghz5 = 0x0087, .ghz2 = 0x0087, UPLOAD, },
161   [B2055_C1_RX_BB_SPARE1]       = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
162   [B2055_C1_RX_TXBBRCAL]        = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
163   [B2055_C1_TX_RF_SPGA]         = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, },
164   [B2055_C1_TX_RF_SPAD]         = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, },
165   [B2055_C1_TX_RF_CNTPGA1]      = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, },
166   [B2055_C1_TX_RF_CNTPAD1]      = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, },
167   [B2055_C1_TX_RF_PGAIDAC]      = { .ghz5 = 0x0097, .ghz2 = 0x0097, UPLOAD, },
168   [B2055_C1_TX_PGAPADTN]        = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, },
169   [B2055_C1_TX_PADIDAC1]        = { .ghz5 = 0x0014, .ghz2 = 0x0014, UPLOAD, },
170   [B2055_C1_TX_PADIDAC2]        = { .ghz5 = 0x0033, .ghz2 = 0x0033, NOUPLOAD, },
171   [B2055_C1_TX_MXBGTRIM]        = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
172   [B2055_C1_TX_RF_RCAL]         = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
173   [B2055_C1_TX_RF_PADTSSI1]     = { .ghz5 = 0x0003, .ghz2 = 0x0003, UPLOAD, },
174   [B2055_C1_TX_RF_PADTSSI2]     = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, },
175   [B2055_C1_TX_RF_SPARE]        = { .ghz5 = 0x0003, .ghz2 = 0x0003, UPLOAD, },
176   [B2055_C1_TX_RF_IQCAL1]       = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
177   [B2055_C1_TX_RF_IQCAL2]       = { .ghz5 = 0x00A4, .ghz2 = 0x00A4, NOUPLOAD, },
178   [B2055_C1_TXBB_RCCAL]         = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, },
179   [B2055_C1_TXBB_LPF1]          = { .ghz5 = 0x0028, .ghz2 = 0x0028, NOUPLOAD, },
180   [B2055_C1_TX_VOSCNCL]         = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
181   [B2055_C1_TX_LPF_MXGMIDAC]    = { .ghz5 = 0x004A, .ghz2 = 0x004A, NOUPLOAD, },
182   [B2055_C1_TX_BB_MXGM]         = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
183   [B2055_C2_LGBUF_ATUNE]        = { .ghz5 = 0x00F8, .ghz2 = 0x00F8, NOUPLOAD, },
184   [B2055_C2_LGBUF_GTUNE]        = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
185   [B2055_C2_LGBUF_DIV]          = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
186   [B2055_C2_LGBUF_AIDAC]        = { .ghz5 = 0x0088, .ghz2 = 0x0008, UPLOAD, },
187   [B2055_C2_LGBUF_GIDAC]        = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
188   [B2055_C2_LGBUF_IDACFO]       = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
189   [B2055_C2_LGBUF_SPARE]        = { .ghz5 = 0x0001, .ghz2 = 0x0001, UPLOAD, },
190   [B2055_C2_RX_RFSPC1]          = { .ghz5 = 0x008A, .ghz2 = 0x008A, NOUPLOAD, },
191   [B2055_C2_RX_RFR1]            = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, },
192   [B2055_C2_RX_RFR2]            = { .ghz5 = 0x0083, .ghz2 = 0x0083, NOUPLOAD, },
193   [B2055_C2_RX_RFRCAL]          = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
194   [B2055_C2_RX_BB_BLCMP]        = { .ghz5 = 0x00A0, .ghz2 = 0x00A0, NOUPLOAD, },
195   [B2055_C2_RX_BB_LPF]          = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, },
196   [B2055_C2_RX_BB_MIDACHP]      = { .ghz5 = 0x0087, .ghz2 = 0x0087, UPLOAD, },
197   [B2055_C2_RX_BB_VGA1IDAC]     = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
198   [B2055_C2_RX_BB_VGA2IDAC]     = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
199   [B2055_C2_RX_BB_VGA3IDAC]     = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
200   [B2055_C2_RX_BB_BUFOCTL]      = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
201   [B2055_C2_RX_BB_RCCALCTL]     = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, },
202   [B2055_C2_RX_BB_RSSICTL1]     = { .ghz5 = 0x006A, .ghz2 = 0x006A, UPLOAD, },
203   [B2055_C2_RX_BB_RSSICTL2]     = { .ghz5 = 0x00AB, .ghz2 = 0x00AB, UPLOAD, },
204   [B2055_C2_RX_BB_RSSICTL3]     = { .ghz5 = 0x0013, .ghz2 = 0x0013, UPLOAD, },
205   [B2055_C2_RX_BB_RSSICTL4]     = { .ghz5 = 0x00C1, .ghz2 = 0x00C1, UPLOAD, },
206   [B2055_C2_RX_BB_RSSICTL5]     = { .ghz5 = 0x00AA, .ghz2 = 0x00AA, UPLOAD, },
207   [B2055_C2_RX_BB_REG]          = { .ghz5 = 0x0087, .ghz2 = 0x0087, UPLOAD, },
208   [B2055_C2_RX_BB_SPARE1]       = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
209   [B2055_C2_RX_TXBBRCAL]        = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
210   [B2055_C2_TX_RF_SPGA]         = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, },
211   [B2055_C2_TX_RF_SPAD]         = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, },
212   [B2055_C2_TX_RF_CNTPGA1]      = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, },
213   [B2055_C2_TX_RF_CNTPAD1]      = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, },
214   [B2055_C2_TX_RF_PGAIDAC]      = { .ghz5 = 0x0097, .ghz2 = 0x0097, UPLOAD, },
215   [B2055_C2_TX_PGAPADTN]        = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, },
216   [B2055_C2_TX_PADIDAC1]        = { .ghz5 = 0x0014, .ghz2 = 0x0014, UPLOAD, },
217   [B2055_C2_TX_PADIDAC2]        = { .ghz5 = 0x0033, .ghz2 = 0x0033, NOUPLOAD, },
218   [B2055_C2_TX_MXBGTRIM]        = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
219   [B2055_C2_TX_RF_RCAL]         = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
220   [B2055_C2_TX_RF_PADTSSI1]     = { .ghz5 = 0x0003, .ghz2 = 0x0003, UPLOAD, },
221   [B2055_C2_TX_RF_PADTSSI2]     = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, },
222   [B2055_C2_TX_RF_SPARE]        = { .ghz5 = 0x0003, .ghz2 = 0x0003, UPLOAD, },
223   [B2055_C2_TX_RF_IQCAL1]       = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, },
224   [B2055_C2_TX_RF_IQCAL2]       = { .ghz5 = 0x00A4, .ghz2 = 0x00A4, NOUPLOAD, },
225   [B2055_C2_TXBB_RCCAL]         = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, },
226   [B2055_C2_TXBB_LPF1]          = { .ghz5 = 0x0028, .ghz2 = 0x0028, NOUPLOAD, },
227   [B2055_C2_TX_VOSCNCL]         = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
228   [B2055_C2_TX_LPF_MXGMIDAC]    = { .ghz5 = 0x004A, .ghz2 = 0x004A, NOUPLOAD, },
229   [B2055_C2_TX_BB_MXGM]         = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
230   [B2055_PRG_GCHP21]            = { .ghz5 = 0x0071, .ghz2 = 0x0071, NOUPLOAD, },
231   [B2055_PRG_GCHP22]            = { .ghz5 = 0x0072, .ghz2 = 0x0072, NOUPLOAD, },
232   [B2055_PRG_GCHP23]            = { .ghz5 = 0x0073, .ghz2 = 0x0073, NOUPLOAD, },
233   [B2055_PRG_GCHP24]            = { .ghz5 = 0x0074, .ghz2 = 0x0074, NOUPLOAD, },
234   [B2055_PRG_GCHP25]            = { .ghz5 = 0x0075, .ghz2 = 0x0075, NOUPLOAD, },
235   [B2055_PRG_GCHP26]            = { .ghz5 = 0x0076, .ghz2 = 0x0076, NOUPLOAD, },
236   [B2055_PRG_GCHP27]            = { .ghz5 = 0x0077, .ghz2 = 0x0077, NOUPLOAD, },
237   [B2055_PRG_GCHP28]            = { .ghz5 = 0x0078, .ghz2 = 0x0078, NOUPLOAD, },
238   [B2055_PRG_GCHP29]            = { .ghz5 = 0x0079, .ghz2 = 0x0079, NOUPLOAD, },
239   [B2055_PRG_GCHP30]            = { .ghz5 = 0x007A, .ghz2 = 0x007A, NOUPLOAD, },
240   [0xC7]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
241   [0xC8]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
242   [0xC9]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
243   [0xCA]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
244   [0xCB]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
245   [0xCC]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
246   [B2055_C1_LNA_GAINBST]        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
247   [0xCE]                        = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
248   [0xCF]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
249   [0xD0]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
250   [0xD1]                        = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, },
251   [B2055_C1_B0NB_RSSIVCM]       = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
252   [0xD3]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
253   [0xD4]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
254   [0xD5]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
255   [B2055_C1_GENSPARE2]          = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
256   [0xD7]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
257   [0xD8]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
258   [B2055_C2_LNA_GAINBST]        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
259   [0xDA]                        = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
260   [0xDB]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
261   [0xDC]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
262   [0xDD]                        = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, },
263   [B2055_C2_B0NB_RSSIVCM]       = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, },
264   [0xDF]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
265   [0xE0]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
266   [0xE1]                        = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
267   [B2055_C2_GENSPARE2]          = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
268 };
269
270 #define RADIOREGS(r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, \
271                   r12, r13, r14, r15, r16, r17, r18, r19, r20, r21) \
272         .radio_pll_ref          = r0,   \
273         .radio_rf_pllmod0       = r1,   \
274         .radio_rf_pllmod1       = r2,   \
275         .radio_vco_captail      = r3,   \
276         .radio_vco_cal1         = r4,   \
277         .radio_vco_cal2         = r5,   \
278         .radio_pll_lfc1         = r6,   \
279         .radio_pll_lfr1         = r7,   \
280         .radio_pll_lfc2         = r8,   \
281         .radio_lgbuf_cenbuf     = r9,   \
282         .radio_lgen_tune1       = r10,  \
283         .radio_lgen_tune2       = r11,  \
284         .radio_c1_lgbuf_atune   = r12,  \
285         .radio_c1_lgbuf_gtune   = r13,  \
286         .radio_c1_rx_rfr1       = r14,  \
287         .radio_c1_tx_pgapadtn   = r15,  \
288         .radio_c1_tx_mxbgtrim   = r16,  \
289         .radio_c2_lgbuf_atune   = r17,  \
290         .radio_c2_lgbuf_gtune   = r18,  \
291         .radio_c2_rx_rfr1       = r19,  \
292         .radio_c2_tx_pgapadtn   = r20,  \
293         .radio_c2_tx_mxbgtrim   = r21
294
295 #define PHYREGS(r0, r1, r2, r3, r4, r5) \
296         .phy_regs.phy_bw1a      = r0,   \
297         .phy_regs.phy_bw2       = r1,   \
298         .phy_regs.phy_bw3       = r2,   \
299         .phy_regs.phy_bw4       = r3,   \
300         .phy_regs.phy_bw5       = r4,   \
301         .phy_regs.phy_bw6       = r5
302
303 static const struct b43_nphy_channeltab_entry_rev2 b43_nphy_channeltab_rev2[] = {
304   {     .channel                = 184,
305         .freq                   = 4920, /* MHz */
306         .unk2                   = 3280,
307         RADIOREGS(0x71, 0xEC, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
308                   0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F,
309                   0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
310         PHYREGS(0x07B4, 0x07B0, 0x07AC, 0x0214, 0x0215, 0x0216),
311   },
312   {     .channel                = 186,
313         .freq                   = 4930, /* MHz */
314         .unk2                   = 3287,
315         RADIOREGS(0x71, 0xED, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
316                   0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F,
317                   0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
318         PHYREGS(0x07B8, 0x07B4, 0x07B0, 0x0213, 0x0214, 0x0215),
319   },
320   {     .channel                = 188,
321         .freq                   = 4940, /* MHz */
322         .unk2                   = 3293,
323         RADIOREGS(0x71, 0xEE, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
324                   0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F,
325                   0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
326         PHYREGS(0x07BC, 0x07B8, 0x07B4, 0x0212, 0x0213, 0x0214),
327   },
328   {     .channel                = 190,
329         .freq                   = 4950, /* MHz */
330         .unk2                   = 3300,
331         RADIOREGS(0x71, 0xEF, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
332                   0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F,
333                   0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
334         PHYREGS(0x07C0, 0x07BC, 0x07B8, 0x0211, 0x0212, 0x0213),
335   },
336   {     .channel                = 192,
337         .freq                   = 4960, /* MHz */
338         .unk2                   = 3307,
339         RADIOREGS(0x71, 0xF0, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
340                   0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F,
341                   0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
342         PHYREGS(0x07C4, 0x07C0, 0x07BC, 0x020F, 0x0211, 0x0212),
343   },
344   {     .channel                = 194,
345         .freq                   = 4970, /* MHz */
346         .unk2                   = 3313,
347         RADIOREGS(0x71, 0xF1, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
348                   0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F,
349                   0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
350         PHYREGS(0x07C8, 0x07C4, 0x07C0, 0x020E, 0x020F, 0x0211),
351   },
352   {     .channel                = 196,
353         .freq                   = 4980, /* MHz */
354         .unk2                   = 3320,
355         RADIOREGS(0x71, 0xF2, 0x01, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
356                   0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F,
357                   0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
358         PHYREGS(0x07CC, 0x07C8, 0x07C4, 0x020D, 0x020E, 0x020F),
359   },
360   {     .channel                = 198,
361         .freq                   = 4990, /* MHz */
362         .unk2                   = 3327,
363         RADIOREGS(0x71, 0xF3, 0x01, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
364                   0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F,
365                   0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
366         PHYREGS(0x07D0, 0x07CC, 0x07C8, 0x020C, 0x020D, 0x020E),
367   },
368   {     .channel                = 200,
369         .freq                   = 5000, /* MHz */
370         .unk2                   = 3333,
371         RADIOREGS(0x71, 0xF4, 0x01, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
372                   0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F,
373                   0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
374         PHYREGS(0x07D4, 0x07D0, 0x07CC, 0x020B, 0x020C, 0x020D),
375   },
376   {     .channel                = 202,
377         .freq                   = 5010, /* MHz */
378         .unk2                   = 3340,
379         RADIOREGS(0x71, 0xF5, 0x01, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
380                   0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F,
381                   0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
382         PHYREGS(0x07D8, 0x07D4, 0x07D0, 0x020A, 0x020B, 0x020C),
383   },
384   {     .channel                = 204,
385         .freq                   = 5020, /* MHz */
386         .unk2                   = 3347,
387         RADIOREGS(0x71, 0xF6, 0x01, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
388                   0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F,
389                   0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
390         PHYREGS(0x07DC, 0x07D8, 0x07D4, 0x0209, 0x020A, 0x020B),
391   },
392   {     .channel                = 206,
393         .freq                   = 5030, /* MHz */
394         .unk2                   = 3353,
395         RADIOREGS(0x71, 0xF7, 0x01, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
396                   0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F,
397                   0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
398         PHYREGS(0x07E0, 0x07DC, 0x07D8, 0x0208, 0x0209, 0x020A),
399   },
400   {     .channel                = 208,
401         .freq                   = 5040, /* MHz */
402         .unk2                   = 3360,
403         RADIOREGS(0x71, 0xF8, 0x01, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
404                   0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F,
405                   0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
406         PHYREGS(0x07E4, 0x07E0, 0x07DC, 0x0207, 0x0208, 0x0209),
407   },
408   {     .channel                = 210,
409         .freq                   = 5050, /* MHz */
410         .unk2                   = 3367,
411         RADIOREGS(0x71, 0xF9, 0x01, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
412                   0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F,
413                   0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
414         PHYREGS(0x07E8, 0x07E4, 0x07E0, 0x0206, 0x0207, 0x0208),
415   },
416   {     .channel                = 212,
417         .freq                   = 5060, /* MHz */
418         .unk2                   = 3373,
419         RADIOREGS(0x71, 0xFA, 0x01, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
420                   0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F,
421                   0x8E, 0xFF, 0x00, 0x0E, 0x0F, 0x8E),
422         PHYREGS(0x07EC, 0x07E8, 0x07E4, 0x0205, 0x0206, 0x0207),
423   },
424   {     .channel                = 214,
425         .freq                   = 5070, /* MHz */
426         .unk2                   = 3380,
427         RADIOREGS(0x71, 0xFB, 0x01, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
428                   0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F,
429                   0x8E, 0xFF, 0x00, 0x0E, 0x0F, 0x8E),
430         PHYREGS(0x07F0, 0x07EC, 0x07E8, 0x0204, 0x0205, 0x0206),
431   },
432   {     .channel                = 216,
433         .freq                   = 5080, /* MHz */
434         .unk2                   = 3387,
435         RADIOREGS(0x71, 0xFC, 0x01, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
436                   0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F,
437                   0x8D, 0xEE, 0x00, 0x0E, 0x0F, 0x8D),
438         PHYREGS(0x07F4, 0x07F0, 0x07EC, 0x0203, 0x0204, 0x0205),
439   },
440   {     .channel                = 218,
441         .freq                   = 5090, /* MHz */
442         .unk2                   = 3393,
443         RADIOREGS(0x71, 0xFD, 0x01, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
444                   0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F,
445                   0x8D, 0xEE, 0x00, 0x0E, 0x0F, 0x8D),
446         PHYREGS(0x07F8, 0x07F4, 0x07F0, 0x0202, 0x0203, 0x0204),
447   },
448   {     .channel                = 220,
449         .freq                   = 5100, /* MHz */
450         .unk2                   = 3400,
451         RADIOREGS(0x71, 0xFE, 0x01, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
452                   0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F,
453                   0x8D, 0xEE, 0x00, 0x0D, 0x0F, 0x8D),
454         PHYREGS(0x07FC, 0x07F8, 0x07F4, 0x0201, 0x0202, 0x0203),
455   },
456   {     .channel                = 222,
457         .freq                   = 5110, /* MHz */
458         .unk2                   = 3407,
459         RADIOREGS(0x71, 0xFF, 0x01, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
460                   0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F,
461                   0x8D, 0xEE, 0x00, 0x0D, 0x0F, 0x8D),
462         PHYREGS(0x0800, 0x07FC, 0x07F8, 0x0200, 0x0201, 0x0202),
463   },
464   {     .channel                = 224,
465         .freq                   = 5120, /* MHz */
466         .unk2                   = 3413,
467         RADIOREGS(0x71, 0x00, 0x02, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
468                   0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F,
469                   0x8C, 0xDD, 0x00, 0x0D, 0x0F, 0x8C),
470         PHYREGS(0x0804, 0x0800, 0x07FC, 0x01FF, 0x0200, 0x0201),
471   },
472   {     .channel                = 226,
473         .freq                   = 5130, /* MHz */
474         .unk2                   = 3420,
475         RADIOREGS(0x71, 0x01, 0x02, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
476                   0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F,
477                   0x8C, 0xDD, 0x00, 0x0D, 0x0F, 0x8C),
478         PHYREGS(0x0808, 0x0804, 0x0800, 0x01FE, 0x01FF, 0x0200),
479   },
480   {     .channel                = 228,
481         .freq                   = 5140, /* MHz */
482         .unk2                   = 3427,
483         RADIOREGS(0x71, 0x02, 0x02, 0x0C, 0xC6, 0x01, 0x04, 0x0A,
484                   0x00, 0x8D, 0x99, 0x99, 0xDD, 0x00, 0x0C, 0x0E,
485                   0x8B, 0xDD, 0x00, 0x0C, 0x0E, 0x8B),
486         PHYREGS(0x080C, 0x0808, 0x0804, 0x01FD, 0x01FE, 0x01FF),
487   },
488   {     .channel                = 32,
489         .freq                   = 5160, /* MHz */
490         .unk2                   = 3440,
491         RADIOREGS(0x71, 0x04, 0x02, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
492                   0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D,
493                   0x8A, 0xCC, 0x00, 0x0B, 0x0D, 0x8A),
494         PHYREGS(0x0814, 0x0810, 0x080C, 0x01FB, 0x01FC, 0x01FD),
495   },
496   {     .channel                = 34,
497         .freq                   = 5170, /* MHz */
498         .unk2                   = 3447,
499         RADIOREGS(0x71, 0x05, 0x02, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
500                   0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D,
501                   0x8A, 0xCC, 0x00, 0x0B, 0x0D, 0x8A),
502         PHYREGS(0x0818, 0x0814, 0x0810, 0x01FA, 0x01FB, 0x01FC),
503   },
504   {     .channel                = 36,
505         .freq                   = 5180, /* MHz */
506         .unk2                   = 3453,
507         RADIOREGS(0x71, 0x06, 0x02, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
508                   0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C,
509                   0x89, 0xCC, 0x00, 0x0B, 0x0C, 0x89),
510         PHYREGS(0x081C, 0x0818, 0x0814, 0x01F9, 0x01FA, 0x01FB),
511   },
512   {     .channel                = 38,
513         .freq                   = 5190, /* MHz */
514         .unk2                   = 3460,
515         RADIOREGS(0x71, 0x07, 0x02, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
516                   0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C,
517                   0x89, 0xCC, 0x00, 0x0B, 0x0C, 0x89),
518         PHYREGS(0x0820, 0x081C, 0x0818, 0x01F8, 0x01F9, 0x01FA),
519   },
520   {     .channel                = 40,
521         .freq                   = 5200, /* MHz */
522         .unk2                   = 3467,
523         RADIOREGS(0x71, 0x08, 0x02, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
524                   0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B,
525                   0x89, 0xBB, 0x00, 0x0A, 0x0B, 0x89),
526         PHYREGS(0x0824, 0x0820, 0x081C, 0x01F7, 0x01F8, 0x01F9),
527   },
528   {     .channel                = 42,
529         .freq                   = 5210, /* MHz */
530         .unk2                   = 3473,
531         RADIOREGS(0x71, 0x09, 0x02, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
532                   0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B,
533                   0x89, 0xBB, 0x00, 0x0A, 0x0B, 0x89),
534         PHYREGS(0x0828, 0x0824, 0x0820, 0x01F6, 0x01F7, 0x01F8),
535   },
536   {     .channel                = 44,
537         .freq                   = 5220, /* MHz */
538         .unk2                   = 3480,
539         RADIOREGS(0x71, 0x0A, 0x02, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
540                   0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A,
541                   0x88, 0xBB, 0x00, 0x09, 0x0A, 0x88),
542         PHYREGS(0x082C, 0x0828, 0x0824, 0x01F5, 0x01F6, 0x01F7),
543   },
544   {     .channel                = 46,
545         .freq                   = 5230, /* MHz */
546         .unk2                   = 3487,
547         RADIOREGS(0x71, 0x0B, 0x02, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
548                   0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A,
549                   0x88, 0xBB, 0x00, 0x09, 0x0A, 0x88),
550         PHYREGS(0x0830, 0x082C, 0x0828, 0x01F4, 0x01F5, 0x01F6),
551   },
552   {     .channel                = 48,
553         .freq                   = 5240, /* MHz */
554         .unk2                   = 3493,
555         RADIOREGS(0x71, 0x0C, 0x02, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
556                   0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A,
557                   0x87, 0xAA, 0x00, 0x09, 0x0A, 0x87),
558         PHYREGS(0x0834, 0x0830, 0x082C, 0x01F3, 0x01F4, 0x01F5),
559   },
560   {     .channel                = 50,
561         .freq                   = 5250, /* MHz */
562         .unk2                   = 3500,
563         RADIOREGS(0x71, 0x0D, 0x02, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
564                   0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A,
565                   0x87, 0xAA, 0x00, 0x09, 0x0A, 0x87),
566         PHYREGS(0x0838, 0x0834, 0x0830, 0x01F2, 0x01F3, 0x01F4),
567   },
568   {     .channel                = 52,
569         .freq                   = 5260, /* MHz */
570         .unk2                   = 3507,
571         RADIOREGS(0x71, 0x0E, 0x02, 0x0A, 0x98, 0x01, 0x04, 0x0A,
572                   0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09,
573                   0x87, 0xAA, 0x00, 0x08, 0x09, 0x87),
574         PHYREGS(0x083C, 0x0838, 0x0834, 0x01F1, 0x01F2, 0x01F3),
575   },
576   {     .channel                = 54,
577         .freq                   = 5270, /* MHz */
578         .unk2                   = 3513,
579         RADIOREGS(0x71, 0x0F, 0x02, 0x0A, 0x98, 0x01, 0x04, 0x0A,
580                   0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09,
581                   0x87, 0xAA, 0x00, 0x08, 0x09, 0x87),
582         PHYREGS(0x0840, 0x083C, 0x0838, 0x01F0, 0x01F1, 0x01F2),
583   },
584   {     .channel                = 56,
585         .freq                   = 5280, /* MHz */
586         .unk2                   = 3520,
587         RADIOREGS(0x71, 0x10, 0x02, 0x09, 0x91, 0x01, 0x04, 0x0A,
588                   0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08,
589                   0x86, 0x99, 0x00, 0x08, 0x08, 0x86),
590         PHYREGS(0x0844, 0x0840, 0x083C, 0x01F0, 0x01F0, 0x01F1),
591   },
592   {     .channel                = 58,
593         .freq                   = 5290, /* MHz */
594         .unk2                   = 3527,
595         RADIOREGS(0x71, 0x11, 0x02, 0x09, 0x91, 0x01, 0x04, 0x0A,
596                   0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08,
597                   0x86, 0x99, 0x00, 0x08, 0x08, 0x86),
598         PHYREGS(0x0848, 0x0844, 0x0840, 0x01EF, 0x01F0, 0x01F0),
599   },
600   {     .channel                = 60,
601         .freq                   = 5300, /* MHz */
602         .unk2                   = 3533,
603         RADIOREGS(0x71, 0x12, 0x02, 0x09, 0x8A, 0x01, 0x04, 0x0A,
604                   0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07,
605                   0x85, 0x99, 0x00, 0x08, 0x07, 0x85),
606         PHYREGS(0x084C, 0x0848, 0x0844, 0x01EE, 0x01EF, 0x01F0),
607   },
608   {     .channel                = 62,
609         .freq                   = 5310, /* MHz */
610         .unk2                   = 3540,
611         RADIOREGS(0x71, 0x13, 0x02, 0x09, 0x8A, 0x01, 0x04, 0x0A,
612                   0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07,
613                   0x85, 0x99, 0x00, 0x08, 0x07, 0x85),
614         PHYREGS(0x0850, 0x084C, 0x0848, 0x01ED, 0x01EE, 0x01EF),
615   },
616   {     .channel                = 64,
617         .freq                   = 5320, /* MHz */
618         .unk2                   = 3547,
619         RADIOREGS(0x71, 0x14, 0x02, 0x09, 0x83, 0x01, 0x04, 0x0A,
620                   0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07,
621                   0x84, 0x88, 0x00, 0x07, 0x07, 0x84),
622         PHYREGS(0x0854, 0x0850, 0x084C, 0x01EC, 0x01ED, 0x01EE),
623   },
624   {     .channel                = 66,
625         .freq                   = 5330, /* MHz */
626         .unk2                   = 3553,
627         RADIOREGS(0x71, 0x15, 0x02, 0x09, 0x83, 0x01, 0x04, 0x0A,
628                   0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07,
629                   0x84, 0x88, 0x00, 0x07, 0x07, 0x84),
630         PHYREGS(0x0858, 0x0854, 0x0850, 0x01EB, 0x01EC, 0x01ED),
631   },
632   {     .channel                = 68,
633         .freq                   = 5340, /* MHz */
634         .unk2                   = 3560,
635         RADIOREGS(0x71, 0x16, 0x02, 0x08, 0x7C, 0x01, 0x04, 0x0A,
636                   0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06,
637                   0x84, 0x88, 0x00, 0x07, 0x06, 0x84),
638         PHYREGS(0x085C, 0x0858, 0x0854, 0x01EA, 0x01EB, 0x01EC),
639   },
640   {     .channel                = 70,
641         .freq                   = 5350, /* MHz */
642         .unk2                   = 3567,
643         RADIOREGS(0x71, 0x17, 0x02, 0x08, 0x7C, 0x01, 0x04, 0x0A,
644                   0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06,
645                   0x84, 0x88, 0x00, 0x07, 0x06, 0x84),
646         PHYREGS(0x0860, 0x085C, 0x0858, 0x01E9, 0x01EA, 0x01EB),
647   },
648   {     .channel                = 72,
649         .freq                   = 5360, /* MHz */
650         .unk2                   = 3573,
651         RADIOREGS(0x71, 0x18, 0x02, 0x08, 0x75, 0x01, 0x04, 0x0A,
652                   0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05,
653                   0x83, 0x77, 0x00, 0x06, 0x05, 0x83),
654         PHYREGS(0x0864, 0x0860, 0x085C, 0x01E8, 0x01E9, 0x01EA),
655   },
656   {     .channel                = 74,
657         .freq                   = 5370, /* MHz */
658         .unk2                   = 3580,
659         RADIOREGS(0x71, 0x19, 0x02, 0x08, 0x75, 0x01, 0x04, 0x0A,
660                   0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05,
661                   0x83, 0x77, 0x00, 0x06, 0x05, 0x83),
662         PHYREGS(0x0868, 0x0864, 0x0860, 0x01E7, 0x01E8, 0x01E9),
663   },
664   {     .channel                = 76,
665         .freq                   = 5380, /* MHz */
666         .unk2                   = 3587,
667         RADIOREGS(0x71, 0x1A, 0x02, 0x08, 0x6E, 0x01, 0x04, 0x0A,
668                   0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04,
669                   0x82, 0x77, 0x00, 0x06, 0x04, 0x82),
670         PHYREGS(0x086C, 0x0868, 0x0864, 0x01E6, 0x01E7, 0x01E8),
671   },
672   {     .channel                = 78,
673         .freq                   = 5390, /* MHz */
674         .unk2                   = 3593,
675         RADIOREGS(0x71, 0x1B, 0x02, 0x08, 0x6E, 0x01, 0x04, 0x0A,
676                   0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04,
677                   0x82, 0x77, 0x00, 0x06, 0x04, 0x82),
678         PHYREGS(0x0870, 0x086C, 0x0868, 0x01E5, 0x01E6, 0x01E7),
679   },
680   {     .channel                = 80,
681         .freq                   = 5400, /* MHz */
682         .unk2                   = 3600,
683         RADIOREGS(0x71, 0x1C, 0x02, 0x07, 0x67, 0x01, 0x04, 0x0A,
684                   0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04,
685                   0x81, 0x66, 0x00, 0x05, 0x04, 0x81),
686         PHYREGS(0x0874, 0x0870, 0x086C, 0x01E5, 0x01E5, 0x01E6),
687   },
688   {     .channel                = 82,
689         .freq                   = 5410, /* MHz */
690         .unk2                   = 3607,
691         RADIOREGS(0x71, 0x1D, 0x02, 0x07, 0x67, 0x01, 0x04, 0x0A,
692                   0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04,
693                   0x81, 0x66, 0x00, 0x05, 0x04, 0x81),
694         PHYREGS(0x0878, 0x0874, 0x0870, 0x01E4, 0x01E5, 0x01E5),
695   },
696   {     .channel                = 84,
697         .freq                   = 5420, /* MHz */
698         .unk2                   = 3613,
699         RADIOREGS(0x71, 0x1E, 0x02, 0x07, 0x61, 0x01, 0x04, 0x0A,
700                   0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03,
701                   0x80, 0x66, 0x00, 0x05, 0x03, 0x80),
702         PHYREGS(0x087C, 0x0878, 0x0874, 0x01E3, 0x01E4, 0x01E5),
703   },
704   {     .channel                = 86,
705         .freq                   = 5430, /* MHz */
706         .unk2                   = 3620,
707         RADIOREGS(0x71, 0x1F, 0x02, 0x07, 0x61, 0x01, 0x04, 0x0A,
708                   0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03,
709                   0x80, 0x66, 0x00, 0x05, 0x03, 0x80),
710         PHYREGS(0x0880, 0x087C, 0x0878, 0x01E2, 0x01E3, 0x01E4),
711   },
712   {     .channel                = 88,
713         .freq                   = 5440, /* MHz */
714         .unk2                   = 3627,
715         RADIOREGS(0x71, 0x20, 0x02, 0x07, 0x5A, 0x01, 0x04, 0x0A,
716                   0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02,
717                   0x80, 0x55, 0x00, 0x04, 0x02, 0x80),
718         PHYREGS(0x0884, 0x0880, 0x087C, 0x01E1, 0x01E2, 0x01E3),
719   },
720   {     .channel                = 90,
721         .freq                   = 5450, /* MHz */
722         .unk2                   = 3633,
723         RADIOREGS(0x71, 0x21, 0x02, 0x07, 0x5A, 0x01, 0x04, 0x0A,
724                   0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02,
725                   0x80, 0x55, 0x00, 0x04, 0x02, 0x80),
726         PHYREGS(0x0888, 0x0884, 0x0880, 0x01E0, 0x01E1, 0x01E2),
727   },
728   {     .channel                = 92,
729         .freq                   = 5460, /* MHz */
730         .unk2                   = 3640,
731         RADIOREGS(0x71, 0x22, 0x02, 0x06, 0x53, 0x01, 0x04, 0x0A,
732                   0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01,
733                   0x80, 0x55, 0x00, 0x04, 0x01, 0x80),
734         PHYREGS(0x088C, 0x0888, 0x0884, 0x01DF, 0x01E0, 0x01E1),
735   },
736   {     .channel                = 94,
737         .freq                   = 5470, /* MHz */
738         .unk2                   = 3647,
739         RADIOREGS(0x71, 0x23, 0x02, 0x06, 0x53, 0x01, 0x04, 0x0A,
740                   0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01,
741                   0x80, 0x55, 0x00, 0x04, 0x01, 0x80),
742         PHYREGS(0x0890, 0x088C, 0x0888, 0x01DE, 0x01DF, 0x01E0),
743   },
744   {     .channel                = 96,
745         .freq                   = 5480, /* MHz */
746         .unk2                   = 3653,
747         RADIOREGS(0x71, 0x24, 0x02, 0x06, 0x4D, 0x01, 0x04, 0x0A,
748                   0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00,
749                   0x80, 0x44, 0x00, 0x03, 0x00, 0x80),
750         PHYREGS(0x0894, 0x0890, 0x088C, 0x01DD, 0x01DE, 0x01DF),
751   },
752   {     .channel                = 98,
753         .freq                   = 5490, /* MHz */
754         .unk2                   = 3660,
755         RADIOREGS(0x71, 0x25, 0x02, 0x06, 0x4D, 0x01, 0x04, 0x0A,
756                   0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00,
757                   0x80, 0x44, 0x00, 0x03, 0x00, 0x80),
758         PHYREGS(0x0898, 0x0894, 0x0890, 0x01DD, 0x01DD, 0x01DE),
759   },
760   {     .channel                = 100,
761         .freq                   = 5500, /* MHz */
762         .unk2                   = 3667,
763         RADIOREGS(0x71, 0x26, 0x02, 0x06, 0x47, 0x01, 0x04, 0x0A,
764                   0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00,
765                   0x80, 0x44, 0x00, 0x03, 0x00, 0x80),
766         PHYREGS(0x089C, 0x0898, 0x0894, 0x01DC, 0x01DD, 0x01DD),
767   },
768   {     .channel                = 102,
769         .freq                   = 5510, /* MHz */
770         .unk2                   = 3673,
771         RADIOREGS(0x71, 0x27, 0x02, 0x06, 0x47, 0x01, 0x04, 0x0A,
772                   0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00,
773                   0x80, 0x44, 0x00, 0x03, 0x00, 0x80),
774         PHYREGS(0x08A0, 0x089C, 0x0898, 0x01DB, 0x01DC, 0x01DD),
775   },
776   {     .channel                = 104,
777         .freq                   = 5520, /* MHz */
778         .unk2                   = 3680,
779         RADIOREGS(0x71, 0x28, 0x02, 0x05, 0x40, 0x01, 0x04, 0x0A,
780                   0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
781                   0x80, 0x33, 0x00, 0x02, 0x00, 0x80),
782         PHYREGS(0x08A4, 0x08A0, 0x089C, 0x01DA, 0x01DB, 0x01DC),
783   },
784   {     .channel                = 106,
785         .freq                   = 5530, /* MHz */
786         .unk2                   = 3687,
787         RADIOREGS(0x71, 0x29, 0x02, 0x05, 0x40, 0x01, 0x04, 0x0A,
788                   0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
789                   0x80, 0x33, 0x00, 0x02, 0x00, 0x80),
790         PHYREGS(0x08A8, 0x08A4, 0x08A0, 0x01D9, 0x01DA, 0x01DB),
791   },
792   {     .channel                = 108,
793         .freq                   = 5540, /* MHz */
794         .unk2                   = 3693,
795         RADIOREGS(0x71, 0x2A, 0x02, 0x05, 0x3A, 0x01, 0x04, 0x0A,
796                   0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
797                   0x80, 0x33, 0x00, 0x02, 0x00, 0x80),
798         PHYREGS(0x08AC, 0x08A8, 0x08A4, 0x01D8, 0x01D9, 0x01DA),
799   },
800   {     .channel                = 110,
801         .freq                   = 5550, /* MHz */
802         .unk2                   = 3700,
803         RADIOREGS(0x71, 0x2B, 0x02, 0x05, 0x3A, 0x01, 0x04, 0x0A,
804                   0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
805                   0x80, 0x33, 0x00, 0x02, 0x00, 0x80),
806         PHYREGS(0x08B0, 0x08AC, 0x08A8, 0x01D7, 0x01D8, 0x01D9),
807   },
808   {     .channel                = 112,
809         .freq                   = 5560, /* MHz */
810         .unk2                   = 3707,
811         RADIOREGS(0x71, 0x2C, 0x02, 0x05, 0x34, 0x01, 0x04, 0x0A,
812                   0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00,
813                   0x80, 0x22, 0x00, 0x01, 0x00, 0x80),
814         PHYREGS(0x08B4, 0x08B0, 0x08AC, 0x01D7, 0x01D7, 0x01D8),
815   },
816   {     .channel                = 114,
817         .freq                   = 5570, /* MHz */
818         .unk2                   = 3713,
819         RADIOREGS(0x71, 0x2D, 0x02, 0x05, 0x34, 0x01, 0x04, 0x0A,
820                   0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00,
821                   0x80, 0x22, 0x00, 0x01, 0x00, 0x80),
822         PHYREGS(0x08B8, 0x08B4, 0x08B0, 0x01D6, 0x01D7, 0x01D7),
823   },
824   {     .channel                = 116,
825         .freq                   = 5580, /* MHz */
826         .unk2                   = 3720,
827         RADIOREGS(0x71, 0x2E, 0x02, 0x04, 0x2E, 0x01, 0x04, 0x0A,
828                   0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00,
829                   0x80, 0x22, 0x00, 0x01, 0x00, 0x80),
830         PHYREGS(0x08BC, 0x08B8, 0x08B4, 0x01D5, 0x01D6, 0x01D7),
831   },
832   {     .channel                = 118,
833         .freq                   = 5590, /* MHz */
834         .unk2                   = 3727,
835         RADIOREGS(0x71, 0x2F, 0x02, 0x04, 0x2E, 0x01, 0x04, 0x0A,
836                   0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00,
837                   0x80, 0x22, 0x00, 0x01, 0x00, 0x80),
838         PHYREGS(0x08C0, 0x08BC, 0x08B8, 0x01D4, 0x01D5, 0x01D6),
839   },
840   {     .channel                = 120,
841         .freq                   = 5600, /* MHz */
842         .unk2                   = 3733,
843         RADIOREGS(0x71, 0x30, 0x02, 0x04, 0x28, 0x01, 0x04, 0x0A,
844                   0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00,
845                   0x80, 0x11, 0x00, 0x01, 0x00, 0x80),
846         PHYREGS(0x08C4, 0x08C0, 0x08BC, 0x01D3, 0x01D4, 0x01D5),
847   },
848   {     .channel                = 122,
849         .freq                   = 5610, /* MHz */
850         .unk2                   = 3740,
851         RADIOREGS(0x71, 0x31, 0x02, 0x04, 0x28, 0x01, 0x04, 0x0A,
852                   0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00,
853                   0x80, 0x11, 0x00, 0x01, 0x00, 0x80),
854         PHYREGS(0x08C8, 0x08C4, 0x08C0, 0x01D2, 0x01D3, 0x01D4),
855   },
856   {     .channel                = 124,
857         .freq                   = 5620, /* MHz */
858         .unk2                   = 3747,
859         RADIOREGS(0x71, 0x32, 0x02, 0x04, 0x21, 0x01, 0x04, 0x0A,
860                   0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
861                   0x80, 0x11, 0x00, 0x00, 0x00, 0x80),
862         PHYREGS(0x08CC, 0x08C8, 0x08C4, 0x01D2, 0x01D2, 0x01D3),
863   },
864   {     .channel                = 126,
865         .freq                   = 5630, /* MHz */
866         .unk2                   = 3753,
867         RADIOREGS(0x71, 0x33, 0x02, 0x04, 0x21, 0x01, 0x04, 0x0A,
868                   0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
869                   0x80, 0x11, 0x00, 0x00, 0x00, 0x80),
870         PHYREGS(0x08D0, 0x08CC, 0x08C8, 0x01D1, 0x01D2, 0x01D2),
871   },
872   {     .channel                = 128,
873         .freq                   = 5640, /* MHz */
874         .unk2                   = 3760,
875         RADIOREGS(0x71, 0x34, 0x02, 0x03, 0x1C, 0x01, 0x04, 0x0A,
876                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
877                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
878         PHYREGS(0x08D4, 0x08D0, 0x08CC, 0x01D0, 0x01D1, 0x01D2),
879   },
880   {     .channel                = 130,
881         .freq                   = 5650, /* MHz */
882         .unk2                   = 3767,
883         RADIOREGS(0x71, 0x35, 0x02, 0x03, 0x1C, 0x01, 0x04, 0x0A,
884                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
885                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
886         PHYREGS(0x08D8, 0x08D4, 0x08D0, 0x01CF, 0x01D0, 0x01D1),
887   },
888   {     .channel                = 132,
889         .freq                   = 5660, /* MHz */
890         .unk2                   = 3773,
891         RADIOREGS(0x71, 0x36, 0x02, 0x03, 0x16, 0x01, 0x04, 0x0A,
892                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
893                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
894         PHYREGS(0x08DC, 0x08D8, 0x08D4, 0x01CE, 0x01CF, 0x01D0),
895   },
896   {     .channel                = 134,
897         .freq                   = 5670, /* MHz */
898         .unk2                   = 3780,
899         RADIOREGS(0x71, 0x37, 0x02, 0x03, 0x16, 0x01, 0x04, 0x0A,
900                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
901                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
902         PHYREGS(0x08E0, 0x08DC, 0x08D8, 0x01CE, 0x01CE, 0x01CF),
903   },
904   {     .channel                = 136,
905         .freq                   = 5680, /* MHz */
906         .unk2                   = 3787,
907         RADIOREGS(0x71, 0x38, 0x02, 0x03, 0x10, 0x01, 0x04, 0x0A,
908                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
909                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
910         PHYREGS(0x08E4, 0x08E0, 0x08DC, 0x01CD, 0x01CE, 0x01CE),
911   },
912   {     .channel                = 138,
913         .freq                   = 5690, /* MHz */
914         .unk2                   = 3793,
915         RADIOREGS(0x71, 0x39, 0x02, 0x03, 0x10, 0x01, 0x04, 0x0A,
916                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
917                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
918         PHYREGS(0x08E8, 0x08E4, 0x08E0, 0x01CC, 0x01CD, 0x01CE),
919   },
920   {     .channel                = 140,
921         .freq                   = 5700, /* MHz */
922         .unk2                   = 3800,
923         RADIOREGS(0x71, 0x3A, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
924                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
925                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
926         PHYREGS(0x08EC, 0x08E8, 0x08E4, 0x01CB, 0x01CC, 0x01CD),
927   },
928   {     .channel                = 142,
929         .freq                   = 5710, /* MHz */
930         .unk2                   = 3807,
931         RADIOREGS(0x71, 0x3B, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
932                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
933                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
934         PHYREGS(0x08F0, 0x08EC, 0x08E8, 0x01CA, 0x01CB, 0x01CC),
935   },
936   {     .channel                = 144,
937         .freq                   = 5720, /* MHz */
938         .unk2                   = 3813,
939         RADIOREGS(0x71, 0x3C, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
940                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
941                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
942         PHYREGS(0x08F4, 0x08F0, 0x08EC, 0x01C9, 0x01CA, 0x01CB),
943   },
944   {     .channel                = 145,
945         .freq                   = 5725, /* MHz */
946         .unk2                   = 3817,
947         RADIOREGS(0x72, 0x79, 0x04, 0x02, 0x03, 0x01, 0x03, 0x14,
948                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
949                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
950         PHYREGS(0x08F6, 0x08F2, 0x08EE, 0x01C9, 0x01CA, 0x01CB),
951   },
952   {     .channel                = 146,
953         .freq                   = 5730, /* MHz */
954         .unk2                   = 3820,
955         RADIOREGS(0x71, 0x3D, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
956                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
957                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
958         PHYREGS(0x08F8, 0x08F4, 0x08F0, 0x01C9, 0x01C9, 0x01CA),
959   },
960   {     .channel                = 147,
961         .freq                   = 5735, /* MHz */
962         .unk2                   = 3823,
963         RADIOREGS(0x72, 0x7B, 0x04, 0x02, 0x03, 0x01, 0x03, 0x14,
964                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
965                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
966         PHYREGS(0x08FA, 0x08F6, 0x08F2, 0x01C8, 0x01C9, 0x01CA),
967   },
968   {     .channel                = 148,
969         .freq                   = 5740, /* MHz */
970         .unk2                   = 3827,
971         RADIOREGS(0x71, 0x3E, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
972                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
973                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
974         PHYREGS(0x08FC, 0x08F8, 0x08F4, 0x01C8, 0x01C9, 0x01C9),
975   },
976   {     .channel                = 149,
977         .freq                   = 5745, /* MHz */
978         .unk2                   = 3830,
979         RADIOREGS(0x72, 0x7D, 0x04, 0x02, 0xFE, 0x00, 0x03, 0x14,
980                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
981                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
982         PHYREGS(0x08FE, 0x08FA, 0x08F6, 0x01C8, 0x01C8, 0x01C9),
983   },
984   {     .channel                = 150,
985         .freq                   = 5750, /* MHz */
986         .unk2                   = 3833,
987         RADIOREGS(0x71, 0x3F, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
988                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
989                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
990         PHYREGS(0x0900, 0x08FC, 0x08F8, 0x01C7, 0x01C8, 0x01C9),
991   },
992   {     .channel                = 151,
993         .freq                   = 5755, /* MHz */
994         .unk2                   = 3837,
995         RADIOREGS(0x72, 0x7F, 0x04, 0x02, 0xFE, 0x00, 0x03, 0x14,
996                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
997                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
998         PHYREGS(0x0902, 0x08FE, 0x08FA, 0x01C7, 0x01C8, 0x01C8),
999   },
1000   {     .channel                = 152,
1001         .freq                   = 5760, /* MHz */
1002         .unk2                   = 3840,
1003         RADIOREGS(0x71, 0x40, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
1004                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1005                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1006         PHYREGS(0x0904, 0x0900, 0x08FC, 0x01C6, 0x01C7, 0x01C8),
1007   },
1008   {     .channel                = 153,
1009         .freq                   = 5765, /* MHz */
1010         .unk2                   = 3843,
1011         RADIOREGS(0x72, 0x81, 0x04, 0x02, 0xF8, 0x00, 0x03, 0x14,
1012                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1013                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1014         PHYREGS(0x0906, 0x0902, 0x08FE, 0x01C6, 0x01C7, 0x01C8),
1015   },
1016   {     .channel                = 154,
1017         .freq                   = 5770, /* MHz */
1018         .unk2                   = 3847,
1019         RADIOREGS(0x71, 0x41, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
1020                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1021                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1022         PHYREGS(0x0908, 0x0904, 0x0900, 0x01C6, 0x01C6, 0x01C7),
1023   },
1024   {     .channel                = 155,
1025         .freq                   = 5775, /* MHz */
1026         .unk2                   = 3850,
1027         RADIOREGS(0x72, 0x83, 0x04, 0x02, 0xF8, 0x00, 0x03, 0x14,
1028                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1029                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1030         PHYREGS(0x090A, 0x0906, 0x0902, 0x01C5, 0x01C6, 0x01C7),
1031   },
1032   {     .channel                = 156,
1033         .freq                   = 5780, /* MHz */
1034         .unk2                   = 3853,
1035         RADIOREGS(0x71, 0x42, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
1036                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1037                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1038         PHYREGS(0x090C, 0x0908, 0x0904, 0x01C5, 0x01C6, 0x01C6),
1039   },
1040   {     .channel                = 157,
1041         .freq                   = 5785, /* MHz */
1042         .unk2                   = 3857,
1043         RADIOREGS(0x72, 0x85, 0x04, 0x02, 0xF2, 0x00, 0x03, 0x14,
1044                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1045                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1046         PHYREGS(0x090E, 0x090A, 0x0906, 0x01C4, 0x01C5, 0x01C6),
1047   },
1048   {     .channel                = 158,
1049         .freq                   = 5790, /* MHz */
1050         .unk2                   = 3860,
1051         RADIOREGS(0x71, 0x43, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
1052                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1053                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1054         PHYREGS(0x0910, 0x090C, 0x0908, 0x01C4, 0x01C5, 0x01C6),
1055   },
1056   {     .channel                = 159,
1057         .freq                   = 5795, /* MHz */
1058         .unk2                   = 3863,
1059         RADIOREGS(0x72, 0x87, 0x04, 0x02, 0xF2, 0x00, 0x03, 0x14,
1060                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1061                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1062         PHYREGS(0x0912, 0x090E, 0x090A, 0x01C4, 0x01C4, 0x01C5),
1063   },
1064   {     .channel                = 160,
1065         .freq                   = 5800, /* MHz */
1066         .unk2                   = 3867,
1067         RADIOREGS(0x71, 0x44, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A,
1068                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1069                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1070         PHYREGS(0x0914, 0x0910, 0x090C, 0x01C3, 0x01C4, 0x01C5),
1071   },
1072   {     .channel                = 161,
1073         .freq                   = 5805, /* MHz */
1074         .unk2                   = 3870,
1075         RADIOREGS(0x72, 0x89, 0x04, 0x01, 0xED, 0x00, 0x03, 0x14,
1076                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1077                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1078         PHYREGS(0x0916, 0x0912, 0x090E, 0x01C3, 0x01C4, 0x01C4),
1079   },
1080   {     .channel                = 162,
1081         .freq                   = 5810, /* MHz */
1082         .unk2                   = 3873,
1083         RADIOREGS(0x71, 0x45, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A,
1084                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1085                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1086         PHYREGS(0x0918, 0x0914, 0x0910, 0x01C2, 0x01C3, 0x01C4),
1087   },
1088   {     .channel                = 163,
1089         .freq                   = 5815, /* MHz */
1090         .unk2                   = 3877,
1091         RADIOREGS(0x72, 0x8B, 0x04, 0x01, 0xED, 0x00, 0x03, 0x14,
1092                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1093                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1094         PHYREGS(0x091A, 0x0916, 0x0912, 0x01C2, 0x01C3, 0x01C4),
1095   },
1096   {     .channel                = 164,
1097         .freq                   = 5820, /* MHz */
1098         .unk2                   = 3880,
1099         RADIOREGS(0x71, 0x46, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A,
1100                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1101                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1102         PHYREGS(0x091C, 0x0918, 0x0914, 0x01C2, 0x01C2, 0x01C3),
1103   },
1104   {     .channel                = 165,
1105         .freq                   = 5825, /* MHz */
1106         .unk2                   = 3883,
1107         RADIOREGS(0x72, 0x8D, 0x04, 0x01, 0xED, 0x00, 0x03, 0x14,
1108                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1109                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1110         PHYREGS(0x091E, 0x091A, 0x0916, 0x01C1, 0x01C2, 0x01C3),
1111   },
1112   {     .channel                = 166,
1113         .freq                   = 5830, /* MHz */
1114         .unk2                   = 3887,
1115         RADIOREGS(0x71, 0x47, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A,
1116                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1117                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1118         PHYREGS(0x0920, 0x091C, 0x0918, 0x01C1, 0x01C2, 0x01C2),
1119   },
1120   {     .channel                = 168,
1121         .freq                   = 5840, /* MHz */
1122         .unk2                   = 3893,
1123         RADIOREGS(0x71, 0x48, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A,
1124                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1125                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1126         PHYREGS(0x0924, 0x0920, 0x091C, 0x01C0, 0x01C1, 0x01C2),
1127   },
1128   {     .channel                = 170,
1129         .freq                   = 5850, /* MHz */
1130         .unk2                   = 3900,
1131         RADIOREGS(0x71, 0x49, 0x02, 0x01, 0xE0, 0x00, 0x04, 0x0A,
1132                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1133                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1134         PHYREGS(0x0928, 0x0924, 0x0920, 0x01BF, 0x01C0, 0x01C1),
1135   },
1136   {     .channel                = 172,
1137         .freq                   = 5860, /* MHz */
1138         .unk2                   = 3907,
1139         RADIOREGS(0x71, 0x4A, 0x02, 0x01, 0xDE, 0x00, 0x04, 0x0A,
1140                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1141                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1142         PHYREGS(0x092C, 0x0928, 0x0924, 0x01BF, 0x01BF, 0x01C0),
1143   },
1144   {     .channel                = 174,
1145         .freq                   = 5870, /* MHz */
1146         .unk2                   = 3913,
1147         RADIOREGS(0x71, 0x4B, 0x02, 0x00, 0xDB, 0x00, 0x04, 0x0A,
1148                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1149                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1150         PHYREGS(0x0930, 0x092C, 0x0928, 0x01BE, 0x01BF, 0x01BF),
1151   },
1152   {     .channel                = 176,
1153         .freq                   = 5880, /* MHz */
1154         .unk2                   = 3920,
1155         RADIOREGS(0x71, 0x4C, 0x02, 0x00, 0xD8, 0x00, 0x04, 0x0A,
1156                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1157                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1158         PHYREGS(0x0934, 0x0930, 0x092C, 0x01BD, 0x01BE, 0x01BF),
1159   },
1160   {     .channel                = 178,
1161         .freq                   = 5890, /* MHz */
1162         .unk2                   = 3927,
1163         RADIOREGS(0x71, 0x4D, 0x02, 0x00, 0xD6, 0x00, 0x04, 0x0A,
1164                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1165                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1166         PHYREGS(0x0938, 0x0934, 0x0930, 0x01BC, 0x01BD, 0x01BE),
1167   },
1168   {     .channel                = 180,
1169         .freq                   = 5900, /* MHz */
1170         .unk2                   = 3933,
1171         RADIOREGS(0x71, 0x4E, 0x02, 0x00, 0xD3, 0x00, 0x04, 0x0A,
1172                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1173                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1174         PHYREGS(0x093C, 0x0938, 0x0934, 0x01BC, 0x01BC, 0x01BD),
1175   },
1176   {     .channel                = 182,
1177         .freq                   = 5910, /* MHz */
1178         .unk2                   = 3940,
1179         RADIOREGS(0x71, 0x4F, 0x02, 0x00, 0xD6, 0x00, 0x04, 0x0A,
1180                   0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1181                   0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
1182         PHYREGS(0x0940, 0x093C, 0x0938, 0x01BB, 0x01BC, 0x01BC),
1183   },
1184   {     .channel                = 1,
1185         .freq                   = 2412, /* MHz */
1186         .unk2                   = 3216,
1187         RADIOREGS(0x73, 0x6C, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1188                   0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0D, 0x0C,
1189                   0x80, 0xFF, 0x88, 0x0D, 0x0C, 0x80),
1190         PHYREGS(0x03C9, 0x03C5, 0x03C1, 0x043A, 0x043F, 0x0443),
1191   },
1192   {     .channel                = 2,
1193         .freq                   = 2417, /* MHz */
1194         .unk2                   = 3223,
1195         RADIOREGS(0x73, 0x71, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1196                   0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0B,
1197                   0x80, 0xFF, 0x88, 0x0C, 0x0B, 0x80),
1198         PHYREGS(0x03CB, 0x03C7, 0x03C3, 0x0438, 0x043D, 0x0441),
1199   },
1200   {     .channel                = 3,
1201         .freq                   = 2422, /* MHz */
1202         .unk2                   = 3229,
1203         RADIOREGS(0x73, 0x76, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1204                   0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A,
1205                   0x80, 0xFF, 0x88, 0x0C, 0x0A, 0x80),
1206         PHYREGS(0x03CD, 0x03C9, 0x03C5, 0x0436, 0x043A, 0x043F),
1207   },
1208   {     .channel                = 4,
1209         .freq                   = 2427, /* MHz */
1210         .unk2                   = 3236,
1211         RADIOREGS(0x73, 0x7B, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1212                   0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A,
1213                   0x80, 0xFF, 0x88, 0x0C, 0x0A, 0x80),
1214         PHYREGS(0x03CF, 0x03CB, 0x03C7, 0x0434, 0x0438, 0x043D),
1215   },
1216   {     .channel                = 5,
1217         .freq                   = 2432, /* MHz */
1218         .unk2                   = 3243,
1219         RADIOREGS(0x73, 0x80, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1220                   0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x09,
1221                   0x80, 0xFF, 0x88, 0x0C, 0x09, 0x80),
1222         PHYREGS(0x03D1, 0x03CD, 0x03C9, 0x0431, 0x0436, 0x043A),
1223   },
1224   {     .channel                = 6,
1225         .freq                   = 2437, /* MHz */
1226         .unk2                   = 3249,
1227         RADIOREGS(0x73, 0x85, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1228                   0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0B, 0x08,
1229                   0x80, 0xFF, 0x88, 0x0B, 0x08, 0x80),
1230         PHYREGS(0x03D3, 0x03CF, 0x03CB, 0x042F, 0x0434, 0x0438),
1231   },
1232   {     .channel                = 7,
1233         .freq                   = 2442, /* MHz */
1234         .unk2                   = 3256,
1235         RADIOREGS(0x73, 0x8A, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1236                   0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x07,
1237                   0x80, 0xFF, 0x88, 0x0A, 0x07, 0x80),
1238         PHYREGS(0x03D5, 0x03D1, 0x03CD, 0x042D, 0x0431, 0x0436),
1239   },
1240   {     .channel                = 8,
1241         .freq                   = 2447, /* MHz */
1242         .unk2                   = 3263,
1243         RADIOREGS(0x73, 0x8F, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1244                   0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x06,
1245                   0x80, 0xFF, 0x88, 0x0A, 0x06, 0x80),
1246         PHYREGS(0x03D7, 0x03D3, 0x03CF, 0x042B, 0x042F, 0x0434),
1247   },
1248   {     .channel                = 9,
1249         .freq                   = 2452, /* MHz */
1250         .unk2                   = 3269,
1251         RADIOREGS(0x73, 0x94, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1252                   0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x09, 0x06,
1253                   0x80, 0xFF, 0x88, 0x09, 0x06, 0x80),
1254         PHYREGS(0x03D9, 0x03D5, 0x03D1, 0x0429, 0x042D, 0x0431),
1255   },
1256   {     .channel                = 10,
1257         .freq                   = 2457, /* MHz */
1258         .unk2                   = 3276,
1259         RADIOREGS(0x73, 0x99, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1260                   0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x05,
1261                   0x80, 0xFF, 0x88, 0x08, 0x05, 0x80),
1262         PHYREGS(0x03DB, 0x03D7, 0x03D3, 0x0427, 0x042B, 0x042F),
1263   },
1264   {     .channel                = 11,
1265         .freq                   = 2462, /* MHz */
1266         .unk2                   = 3283,
1267         RADIOREGS(0x73, 0x9E, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1268                   0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x04,
1269                   0x80, 0xFF, 0x88, 0x08, 0x04, 0x80),
1270         PHYREGS(0x03DD, 0x03D9, 0x03D5, 0x0424, 0x0429, 0x042D),
1271   },
1272   {     .channel                = 12,
1273         .freq                   = 2467, /* MHz */
1274         .unk2                   = 3289,
1275         RADIOREGS(0x73, 0xA3, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1276                   0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x03,
1277                   0x80, 0xFF, 0x88, 0x08, 0x03, 0x80),
1278         PHYREGS(0x03DF, 0x03DB, 0x03D7, 0x0422, 0x0427, 0x042B),
1279   },
1280   {     .channel                = 13,
1281         .freq                   = 2472, /* MHz */
1282         .unk2                   = 3296,
1283         RADIOREGS(0x73, 0xA8, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
1284                   0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x03,
1285                   0x80, 0xFF, 0x88, 0x07, 0x03, 0x80),
1286         PHYREGS(0x03E1, 0x03DD, 0x03D9, 0x0420, 0x0424, 0x0429),
1287   },
1288   {     .channel                = 14,
1289         .freq                   = 2484, /* MHz */
1290         .unk2                   = 3312,
1291         RADIOREGS(0x73, 0xB4, 0x09, 0x0F, 0xFF, 0x01, 0x07, 0x15,
1292                   0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x01,
1293                   0x80, 0xFF, 0x88, 0x07, 0x01, 0x80),
1294         PHYREGS(0x03E6, 0x03E2, 0x03DE, 0x041B, 0x041F, 0x0424),
1295   },
1296 };
1297
1298 void b2055_upload_inittab(struct b43_wldev *dev,
1299                           bool ghz5, bool ignore_uploadflag)
1300 {
1301         const struct b2055_inittab_entry *e;
1302         unsigned int i, writes = 0;
1303         u16 value;
1304
1305         for (i = 0; i < ARRAY_SIZE(b2055_inittab); i++) {
1306                 e = &(b2055_inittab[i]);
1307                 if (!(e->flags & B2055_INITTAB_ENTRY_OK))
1308                         continue;
1309                 if ((e->flags & B2055_INITTAB_UPLOAD) || ignore_uploadflag) {
1310                         if (ghz5)
1311                                 value = e->ghz5;
1312                         else
1313                                 value = e->ghz2;
1314                         b43_radio_write16(dev, i, value);
1315                         if (++writes % 4 == 0)
1316                                 b43_read32(dev, B43_MMIO_MACCTL); /* flush */
1317                 }
1318         }
1319 }
1320
1321 const struct b43_nphy_channeltab_entry_rev2 *
1322 b43_nphy_get_chantabent_rev2(struct b43_wldev *dev, u8 channel)
1323 {
1324         const struct b43_nphy_channeltab_entry_rev2 *e;
1325         unsigned int i;
1326
1327         for (i = 0; i < ARRAY_SIZE(b43_nphy_channeltab_rev2); i++) {
1328                 e = &(b43_nphy_channeltab_rev2[i]);
1329                 if (e->channel == channel)
1330                         return e;
1331         }
1332
1333         return NULL;
1334 }