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