Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
radio_2055.c
Go to the documentation of this file.
1 /*
2 
3  Broadcom B43 wireless driver
4  IEEE 802.11n PHY and radio device data tables
5 
6  Copyright (c) 2008 Michael Buesch <[email protected]>
7  Copyright (c) 2010 Rafał Miłecki <[email protected]>
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 
31  /* Value to write if we use the 5GHz band. */
33  /* Value to write if we use the 2.4GHz band. */
35  /* 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 
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 *
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 }