[go: nahoru, domu]

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
30struct 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
43static 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
304static 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
1299void 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
1322const struct b43_nphy_channeltab_entry_rev2 *
1323b43_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}
1336