atmel: move under atmel vendor directory
[linux-2.6-block.git] / drivers / net / wireless / b43 / radio_2055.c
CommitLineData
6db507ff
RM
1/*
2
3 Broadcom B43 wireless driver
4 IEEE 802.11n PHY and radio device data tables
5
eb032b98 6 Copyright (c) 2008 Michael Buesch <m@bues.ch>
108f4f3c 7 Copyright (c) 2010 Rafał Miłecki <zajec5@gmail.com>
6db507ff
RM
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, },
c0b102c2 248 [0xCE] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
6db507ff
RM
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, },
c0b102c2 260 [0xDA] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
6db507ff
RM
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,
40277cab 308 RADIOREGS(0x71, 0xEC, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
6db507ff
RM
309 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F,
310 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
69a3229e 311 PHYREGS(0x07B4, 0x07B0, 0x07AC, 0x0214, 0x0215, 0x0216),
6db507ff
RM
312 },
313 { .channel = 186,
314 .freq = 4930, /* MHz */
315 .unk2 = 3287,
40277cab 316 RADIOREGS(0x71, 0xED, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
6db507ff
RM
317 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F,
318 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
69a3229e 319 PHYREGS(0x07B8, 0x07B4, 0x07B0, 0x0213, 0x0214, 0x0215),
6db507ff
RM
320 },
321 { .channel = 188,
322 .freq = 4940, /* MHz */
323 .unk2 = 3293,
40277cab 324 RADIOREGS(0x71, 0xEE, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
6db507ff
RM
325 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F,
326 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
69a3229e 327 PHYREGS(0x07BC, 0x07B8, 0x07B4, 0x0212, 0x0213, 0x0214),
6db507ff
RM
328 },
329 { .channel = 190,
330 .freq = 4950, /* MHz */
331 .unk2 = 3300,
40277cab 332 RADIOREGS(0x71, 0xEF, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
6db507ff
RM
333 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F,
334 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
69a3229e 335 PHYREGS(0x07C0, 0x07BC, 0x07B8, 0x0211, 0x0212, 0x0213),
6db507ff
RM
336 },
337 { .channel = 192,
338 .freq = 4960, /* MHz */
339 .unk2 = 3307,
40277cab 340 RADIOREGS(0x71, 0xF0, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
6db507ff
RM
341 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F,
342 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
69a3229e 343 PHYREGS(0x07C4, 0x07C0, 0x07BC, 0x020F, 0x0211, 0x0212),
6db507ff
RM
344 },
345 { .channel = 194,
346 .freq = 4970, /* MHz */
347 .unk2 = 3313,
40277cab 348 RADIOREGS(0x71, 0xF1, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
6db507ff
RM
349 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F,
350 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
69a3229e 351 PHYREGS(0x07C8, 0x07C4, 0x07C0, 0x020E, 0x020F, 0x0211),
6db507ff
RM
352 },
353 { .channel = 196,
354 .freq = 4980, /* MHz */
355 .unk2 = 3320,
40277cab 356 RADIOREGS(0x71, 0xF2, 0x01, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
6db507ff
RM
357 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F,
358 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
69a3229e 359 PHYREGS(0x07CC, 0x07C8, 0x07C4, 0x020D, 0x020E, 0x020F),
6db507ff
RM
360 },
361 { .channel = 198,
362 .freq = 4990, /* MHz */
363 .unk2 = 3327,
40277cab 364 RADIOREGS(0x71, 0xF3, 0x01, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
6db507ff
RM
365 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F,
366 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
69a3229e 367 PHYREGS(0x07D0, 0x07CC, 0x07C8, 0x020C, 0x020D, 0x020E),
6db507ff
RM
368 },
369 { .channel = 200,
370 .freq = 5000, /* MHz */
371 .unk2 = 3333,
40277cab 372 RADIOREGS(0x71, 0xF4, 0x01, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
6db507ff
RM
373 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F,
374 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
69a3229e 375 PHYREGS(0x07D4, 0x07D0, 0x07CC, 0x020B, 0x020C, 0x020D),
6db507ff
RM
376 },
377 { .channel = 202,
378 .freq = 5010, /* MHz */
379 .unk2 = 3340,
40277cab 380 RADIOREGS(0x71, 0xF5, 0x01, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
6db507ff
RM
381 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F,
382 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
69a3229e 383 PHYREGS(0x07D8, 0x07D4, 0x07D0, 0x020A, 0x020B, 0x020C),
6db507ff
RM
384 },
385 { .channel = 204,
386 .freq = 5020, /* MHz */
387 .unk2 = 3347,
40277cab 388 RADIOREGS(0x71, 0xF6, 0x01, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
6db507ff
RM
389 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F,
390 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
69a3229e 391 PHYREGS(0x07DC, 0x07D8, 0x07D4, 0x0209, 0x020A, 0x020B),
6db507ff
RM
392 },
393 { .channel = 206,
394 .freq = 5030, /* MHz */
395 .unk2 = 3353,
40277cab 396 RADIOREGS(0x71, 0xF7, 0x01, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
6db507ff
RM
397 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F,
398 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
69a3229e 399 PHYREGS(0x07E0, 0x07DC, 0x07D8, 0x0208, 0x0209, 0x020A),
6db507ff
RM
400 },
401 { .channel = 208,
402 .freq = 5040, /* MHz */
403 .unk2 = 3360,
40277cab 404 RADIOREGS(0x71, 0xF8, 0x01, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
6db507ff
RM
405 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F,
406 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
69a3229e 407 PHYREGS(0x07E4, 0x07E0, 0x07DC, 0x0207, 0x0208, 0x0209),
6db507ff
RM
408 },
409 { .channel = 210,
410 .freq = 5050, /* MHz */
411 .unk2 = 3367,
40277cab 412 RADIOREGS(0x71, 0xF9, 0x01, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
6db507ff
RM
413 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F,
414 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F),
69a3229e 415 PHYREGS(0x07E8, 0x07E4, 0x07E0, 0x0206, 0x0207, 0x0208),
6db507ff
RM
416 },
417 { .channel = 212,
418 .freq = 5060, /* MHz */
419 .unk2 = 3373,
40277cab 420 RADIOREGS(0x71, 0xFA, 0x01, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
6db507ff
RM
421 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F,
422 0x8E, 0xFF, 0x00, 0x0E, 0x0F, 0x8E),
69a3229e 423 PHYREGS(0x07EC, 0x07E8, 0x07E4, 0x0205, 0x0206, 0x0207),
6db507ff
RM
424 },
425 { .channel = 214,
426 .freq = 5070, /* MHz */
427 .unk2 = 3380,
40277cab 428 RADIOREGS(0x71, 0xFB, 0x01, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
6db507ff
RM
429 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F,
430 0x8E, 0xFF, 0x00, 0x0E, 0x0F, 0x8E),
69a3229e 431 PHYREGS(0x07F0, 0x07EC, 0x07E8, 0x0204, 0x0205, 0x0206),
6db507ff
RM
432 },
433 { .channel = 216,
434 .freq = 5080, /* MHz */
435 .unk2 = 3387,
40277cab 436 RADIOREGS(0x71, 0xFC, 0x01, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
6db507ff
RM
437 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F,
438 0x8D, 0xEE, 0x00, 0x0E, 0x0F, 0x8D),
69a3229e 439 PHYREGS(0x07F4, 0x07F0, 0x07EC, 0x0203, 0x0204, 0x0205),
6db507ff
RM
440 },
441 { .channel = 218,
442 .freq = 5090, /* MHz */
443 .unk2 = 3393,
40277cab 444 RADIOREGS(0x71, 0xFD, 0x01, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
6db507ff
RM
445 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F,
446 0x8D, 0xEE, 0x00, 0x0E, 0x0F, 0x8D),
69a3229e 447 PHYREGS(0x07F8, 0x07F4, 0x07F0, 0x0202, 0x0203, 0x0204),
6db507ff
RM
448 },
449 { .channel = 220,
450 .freq = 5100, /* MHz */
451 .unk2 = 3400,
40277cab 452 RADIOREGS(0x71, 0xFE, 0x01, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
6db507ff
RM
453 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F,
454 0x8D, 0xEE, 0x00, 0x0D, 0x0F, 0x8D),
69a3229e 455 PHYREGS(0x07FC, 0x07F8, 0x07F4, 0x0201, 0x0202, 0x0203),
6db507ff
RM
456 },
457 { .channel = 222,
458 .freq = 5110, /* MHz */
459 .unk2 = 3407,
40277cab 460 RADIOREGS(0x71, 0xFF, 0x01, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
6db507ff
RM
461 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F,
462 0x8D, 0xEE, 0x00, 0x0D, 0x0F, 0x8D),
69a3229e 463 PHYREGS(0x0800, 0x07FC, 0x07F8, 0x0200, 0x0201, 0x0202),
6db507ff
RM
464 },
465 { .channel = 224,
466 .freq = 5120, /* MHz */
467 .unk2 = 3413,
40277cab 468 RADIOREGS(0x71, 0x00, 0x02, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
6db507ff
RM
469 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F,
470 0x8C, 0xDD, 0x00, 0x0D, 0x0F, 0x8C),
69a3229e 471 PHYREGS(0x0804, 0x0800, 0x07FC, 0x01FF, 0x0200, 0x0201),
6db507ff
RM
472 },
473 { .channel = 226,
474 .freq = 5130, /* MHz */
475 .unk2 = 3420,
40277cab 476 RADIOREGS(0x71, 0x01, 0x02, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
6db507ff
RM
477 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F,
478 0x8C, 0xDD, 0x00, 0x0D, 0x0F, 0x8C),
69a3229e 479 PHYREGS(0x0808, 0x0804, 0x0800, 0x01FE, 0x01FF, 0x0200),
6db507ff
RM
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),
69a3229e 487 PHYREGS(0x080C, 0x0808, 0x0804, 0x01FD, 0x01FE, 0x01FF),
6db507ff
RM
488 },
489 { .channel = 32,
490 .freq = 5160, /* MHz */
491 .unk2 = 3440,
40277cab 492 RADIOREGS(0x71, 0x04, 0x02, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
6db507ff
RM
493 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D,
494 0x8A, 0xCC, 0x00, 0x0B, 0x0D, 0x8A),
69a3229e 495 PHYREGS(0x0814, 0x0810, 0x080C, 0x01FB, 0x01FC, 0x01FD),
6db507ff
RM
496 },
497 { .channel = 34,
498 .freq = 5170, /* MHz */
499 .unk2 = 3447,
40277cab 500 RADIOREGS(0x71, 0x05, 0x02, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
6db507ff
RM
501 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D,
502 0x8A, 0xCC, 0x00, 0x0B, 0x0D, 0x8A),
69a3229e 503 PHYREGS(0x0818, 0x0814, 0x0810, 0x01FA, 0x01FB, 0x01FC),
6db507ff
RM
504 },
505 { .channel = 36,
506 .freq = 5180, /* MHz */
507 .unk2 = 3453,
40277cab 508 RADIOREGS(0x71, 0x06, 0x02, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
6db507ff
RM
509 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C,
510 0x89, 0xCC, 0x00, 0x0B, 0x0C, 0x89),
69a3229e 511 PHYREGS(0x081C, 0x0818, 0x0814, 0x01F9, 0x01FA, 0x01FB),
6db507ff
RM
512 },
513 { .channel = 38,
514 .freq = 5190, /* MHz */
515 .unk2 = 3460,
40277cab 516 RADIOREGS(0x71, 0x07, 0x02, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
6db507ff
RM
517 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C,
518 0x89, 0xCC, 0x00, 0x0B, 0x0C, 0x89),
69a3229e 519 PHYREGS(0x0820, 0x081C, 0x0818, 0x01F8, 0x01F9, 0x01FA),
6db507ff
RM
520 },
521 { .channel = 40,
522 .freq = 5200, /* MHz */
523 .unk2 = 3467,
40277cab 524 RADIOREGS(0x71, 0x08, 0x02, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
6db507ff
RM
525 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B,
526 0x89, 0xBB, 0x00, 0x0A, 0x0B, 0x89),
69a3229e 527 PHYREGS(0x0824, 0x0820, 0x081C, 0x01F7, 0x01F8, 0x01F9),
6db507ff
RM
528 },
529 { .channel = 42,
530 .freq = 5210, /* MHz */
531 .unk2 = 3473,
40277cab 532 RADIOREGS(0x71, 0x09, 0x02, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
6db507ff
RM
533 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B,
534 0x89, 0xBB, 0x00, 0x0A, 0x0B, 0x89),
69a3229e 535 PHYREGS(0x0828, 0x0824, 0x0820, 0x01F6, 0x01F7, 0x01F8),
6db507ff
RM
536 },
537 { .channel = 44,
538 .freq = 5220, /* MHz */
539 .unk2 = 3480,
40277cab 540 RADIOREGS(0x71, 0x0A, 0x02, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
6db507ff
RM
541 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A,
542 0x88, 0xBB, 0x00, 0x09, 0x0A, 0x88),
69a3229e 543 PHYREGS(0x082C, 0x0828, 0x0824, 0x01F5, 0x01F6, 0x01F7),
6db507ff
RM
544 },
545 { .channel = 46,
546 .freq = 5230, /* MHz */
547 .unk2 = 3487,
40277cab 548 RADIOREGS(0x71, 0x0B, 0x02, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
6db507ff
RM
549 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A,
550 0x88, 0xBB, 0x00, 0x09, 0x0A, 0x88),
69a3229e 551 PHYREGS(0x0830, 0x082C, 0x0828, 0x01F4, 0x01F5, 0x01F6),
6db507ff
RM
552 },
553 { .channel = 48,
554 .freq = 5240, /* MHz */
555 .unk2 = 3493,
40277cab 556 RADIOREGS(0x71, 0x0C, 0x02, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
6db507ff
RM
557 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A,
558 0x87, 0xAA, 0x00, 0x09, 0x0A, 0x87),
69a3229e 559 PHYREGS(0x0834, 0x0830, 0x082C, 0x01F3, 0x01F4, 0x01F5),
6db507ff
RM
560 },
561 { .channel = 50,
562 .freq = 5250, /* MHz */
563 .unk2 = 3500,
40277cab 564 RADIOREGS(0x71, 0x0D, 0x02, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
6db507ff
RM
565 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A,
566 0x87, 0xAA, 0x00, 0x09, 0x0A, 0x87),
69a3229e 567 PHYREGS(0x0838, 0x0834, 0x0830, 0x01F2, 0x01F3, 0x01F4),
6db507ff
RM
568 },
569 { .channel = 52,
570 .freq = 5260, /* MHz */
571 .unk2 = 3507,
40277cab 572 RADIOREGS(0x71, 0x0E, 0x02, 0x0A, 0x98, 0x01, 0x04, 0x0A,
6db507ff
RM
573 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09,
574 0x87, 0xAA, 0x00, 0x08, 0x09, 0x87),
69a3229e 575 PHYREGS(0x083C, 0x0838, 0x0834, 0x01F1, 0x01F2, 0x01F3),
6db507ff
RM
576 },
577 { .channel = 54,
578 .freq = 5270, /* MHz */
579 .unk2 = 3513,
40277cab 580 RADIOREGS(0x71, 0x0F, 0x02, 0x0A, 0x98, 0x01, 0x04, 0x0A,
6db507ff
RM
581 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09,
582 0x87, 0xAA, 0x00, 0x08, 0x09, 0x87),
69a3229e 583 PHYREGS(0x0840, 0x083C, 0x0838, 0x01F0, 0x01F1, 0x01F2),
6db507ff
RM
584 },
585 { .channel = 56,
586 .freq = 5280, /* MHz */
587 .unk2 = 3520,
40277cab 588 RADIOREGS(0x71, 0x10, 0x02, 0x09, 0x91, 0x01, 0x04, 0x0A,
6db507ff
RM
589 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08,
590 0x86, 0x99, 0x00, 0x08, 0x08, 0x86),
69a3229e 591 PHYREGS(0x0844, 0x0840, 0x083C, 0x01F0, 0x01F0, 0x01F1),
6db507ff
RM
592 },
593 { .channel = 58,
594 .freq = 5290, /* MHz */
595 .unk2 = 3527,
40277cab 596 RADIOREGS(0x71, 0x11, 0x02, 0x09, 0x91, 0x01, 0x04, 0x0A,
6db507ff
RM
597 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08,
598 0x86, 0x99, 0x00, 0x08, 0x08, 0x86),
69a3229e 599 PHYREGS(0x0848, 0x0844, 0x0840, 0x01EF, 0x01F0, 0x01F0),
6db507ff
RM
600 },
601 { .channel = 60,
602 .freq = 5300, /* MHz */
603 .unk2 = 3533,
40277cab 604 RADIOREGS(0x71, 0x12, 0x02, 0x09, 0x8A, 0x01, 0x04, 0x0A,
6db507ff
RM
605 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07,
606 0x85, 0x99, 0x00, 0x08, 0x07, 0x85),
69a3229e 607 PHYREGS(0x084C, 0x0848, 0x0844, 0x01EE, 0x01EF, 0x01F0),
6db507ff
RM
608 },
609 { .channel = 62,
610 .freq = 5310, /* MHz */
611 .unk2 = 3540,
40277cab 612 RADIOREGS(0x71, 0x13, 0x02, 0x09, 0x8A, 0x01, 0x04, 0x0A,
6db507ff
RM
613 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07,
614 0x85, 0x99, 0x00, 0x08, 0x07, 0x85),
69a3229e 615 PHYREGS(0x0850, 0x084C, 0x0848, 0x01ED, 0x01EE, 0x01EF),
6db507ff
RM
616 },
617 { .channel = 64,
618 .freq = 5320, /* MHz */
619 .unk2 = 3547,
40277cab 620 RADIOREGS(0x71, 0x14, 0x02, 0x09, 0x83, 0x01, 0x04, 0x0A,
6db507ff
RM
621 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07,
622 0x84, 0x88, 0x00, 0x07, 0x07, 0x84),
69a3229e 623 PHYREGS(0x0854, 0x0850, 0x084C, 0x01EC, 0x01ED, 0x01EE),
6db507ff
RM
624 },
625 { .channel = 66,
626 .freq = 5330, /* MHz */
627 .unk2 = 3553,
40277cab 628 RADIOREGS(0x71, 0x15, 0x02, 0x09, 0x83, 0x01, 0x04, 0x0A,
6db507ff
RM
629 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07,
630 0x84, 0x88, 0x00, 0x07, 0x07, 0x84),
69a3229e 631 PHYREGS(0x0858, 0x0854, 0x0850, 0x01EB, 0x01EC, 0x01ED),
6db507ff
RM
632 },
633 { .channel = 68,
634 .freq = 5340, /* MHz */
635 .unk2 = 3560,
40277cab 636 RADIOREGS(0x71, 0x16, 0x02, 0x08, 0x7C, 0x01, 0x04, 0x0A,
6db507ff
RM
637 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06,
638 0x84, 0x88, 0x00, 0x07, 0x06, 0x84),
69a3229e 639 PHYREGS(0x085C, 0x0858, 0x0854, 0x01EA, 0x01EB, 0x01EC),
6db507ff
RM
640 },
641 { .channel = 70,
642 .freq = 5350, /* MHz */
643 .unk2 = 3567,
40277cab 644 RADIOREGS(0x71, 0x17, 0x02, 0x08, 0x7C, 0x01, 0x04, 0x0A,
6db507ff
RM
645 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06,
646 0x84, 0x88, 0x00, 0x07, 0x06, 0x84),
69a3229e 647 PHYREGS(0x0860, 0x085C, 0x0858, 0x01E9, 0x01EA, 0x01EB),
6db507ff
RM
648 },
649 { .channel = 72,
650 .freq = 5360, /* MHz */
651 .unk2 = 3573,
40277cab 652 RADIOREGS(0x71, 0x18, 0x02, 0x08, 0x75, 0x01, 0x04, 0x0A,
6db507ff
RM
653 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05,
654 0x83, 0x77, 0x00, 0x06, 0x05, 0x83),
69a3229e 655 PHYREGS(0x0864, 0x0860, 0x085C, 0x01E8, 0x01E9, 0x01EA),
6db507ff
RM
656 },
657 { .channel = 74,
658 .freq = 5370, /* MHz */
659 .unk2 = 3580,
40277cab 660 RADIOREGS(0x71, 0x19, 0x02, 0x08, 0x75, 0x01, 0x04, 0x0A,
6db507ff
RM
661 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05,
662 0x83, 0x77, 0x00, 0x06, 0x05, 0x83),
69a3229e 663 PHYREGS(0x0868, 0x0864, 0x0860, 0x01E7, 0x01E8, 0x01E9),
6db507ff
RM
664 },
665 { .channel = 76,
666 .freq = 5380, /* MHz */
667 .unk2 = 3587,
40277cab 668 RADIOREGS(0x71, 0x1A, 0x02, 0x08, 0x6E, 0x01, 0x04, 0x0A,
6db507ff
RM
669 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04,
670 0x82, 0x77, 0x00, 0x06, 0x04, 0x82),
69a3229e 671 PHYREGS(0x086C, 0x0868, 0x0864, 0x01E6, 0x01E7, 0x01E8),
6db507ff
RM
672 },
673 { .channel = 78,
674 .freq = 5390, /* MHz */
675 .unk2 = 3593,
40277cab 676 RADIOREGS(0x71, 0x1B, 0x02, 0x08, 0x6E, 0x01, 0x04, 0x0A,
6db507ff
RM
677 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04,
678 0x82, 0x77, 0x00, 0x06, 0x04, 0x82),
69a3229e 679 PHYREGS(0x0870, 0x086C, 0x0868, 0x01E5, 0x01E6, 0x01E7),
6db507ff
RM
680 },
681 { .channel = 80,
682 .freq = 5400, /* MHz */
683 .unk2 = 3600,
40277cab 684 RADIOREGS(0x71, 0x1C, 0x02, 0x07, 0x67, 0x01, 0x04, 0x0A,
6db507ff
RM
685 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04,
686 0x81, 0x66, 0x00, 0x05, 0x04, 0x81),
69a3229e 687 PHYREGS(0x0874, 0x0870, 0x086C, 0x01E5, 0x01E5, 0x01E6),
6db507ff
RM
688 },
689 { .channel = 82,
690 .freq = 5410, /* MHz */
691 .unk2 = 3607,
40277cab 692 RADIOREGS(0x71, 0x1D, 0x02, 0x07, 0x67, 0x01, 0x04, 0x0A,
6db507ff
RM
693 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04,
694 0x81, 0x66, 0x00, 0x05, 0x04, 0x81),
69a3229e 695 PHYREGS(0x0878, 0x0874, 0x0870, 0x01E4, 0x01E5, 0x01E5),
6db507ff
RM
696 },
697 { .channel = 84,
698 .freq = 5420, /* MHz */
699 .unk2 = 3613,
40277cab 700 RADIOREGS(0x71, 0x1E, 0x02, 0x07, 0x61, 0x01, 0x04, 0x0A,
6db507ff
RM
701 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03,
702 0x80, 0x66, 0x00, 0x05, 0x03, 0x80),
69a3229e 703 PHYREGS(0x087C, 0x0878, 0x0874, 0x01E3, 0x01E4, 0x01E5),
6db507ff
RM
704 },
705 { .channel = 86,
706 .freq = 5430, /* MHz */
707 .unk2 = 3620,
40277cab 708 RADIOREGS(0x71, 0x1F, 0x02, 0x07, 0x61, 0x01, 0x04, 0x0A,
6db507ff
RM
709 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03,
710 0x80, 0x66, 0x00, 0x05, 0x03, 0x80),
69a3229e 711 PHYREGS(0x0880, 0x087C, 0x0878, 0x01E2, 0x01E3, 0x01E4),
6db507ff
RM
712 },
713 { .channel = 88,
714 .freq = 5440, /* MHz */
715 .unk2 = 3627,
40277cab 716 RADIOREGS(0x71, 0x20, 0x02, 0x07, 0x5A, 0x01, 0x04, 0x0A,
6db507ff
RM
717 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02,
718 0x80, 0x55, 0x00, 0x04, 0x02, 0x80),
69a3229e 719 PHYREGS(0x0884, 0x0880, 0x087C, 0x01E1, 0x01E2, 0x01E3),
6db507ff
RM
720 },
721 { .channel = 90,
722 .freq = 5450, /* MHz */
723 .unk2 = 3633,
40277cab 724 RADIOREGS(0x71, 0x21, 0x02, 0x07, 0x5A, 0x01, 0x04, 0x0A,
6db507ff
RM
725 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02,
726 0x80, 0x55, 0x00, 0x04, 0x02, 0x80),
69a3229e 727 PHYREGS(0x0888, 0x0884, 0x0880, 0x01E0, 0x01E1, 0x01E2),
6db507ff
RM
728 },
729 { .channel = 92,
730 .freq = 5460, /* MHz */
731 .unk2 = 3640,
40277cab 732 RADIOREGS(0x71, 0x22, 0x02, 0x06, 0x53, 0x01, 0x04, 0x0A,
6db507ff
RM
733 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01,
734 0x80, 0x55, 0x00, 0x04, 0x01, 0x80),
69a3229e 735 PHYREGS(0x088C, 0x0888, 0x0884, 0x01DF, 0x01E0, 0x01E1),
6db507ff
RM
736 },
737 { .channel = 94,
738 .freq = 5470, /* MHz */
739 .unk2 = 3647,
40277cab 740 RADIOREGS(0x71, 0x23, 0x02, 0x06, 0x53, 0x01, 0x04, 0x0A,
6db507ff
RM
741 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01,
742 0x80, 0x55, 0x00, 0x04, 0x01, 0x80),
69a3229e 743 PHYREGS(0x0890, 0x088C, 0x0888, 0x01DE, 0x01DF, 0x01E0),
6db507ff
RM
744 },
745 { .channel = 96,
746 .freq = 5480, /* MHz */
747 .unk2 = 3653,
40277cab 748 RADIOREGS(0x71, 0x24, 0x02, 0x06, 0x4D, 0x01, 0x04, 0x0A,
6db507ff
RM
749 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00,
750 0x80, 0x44, 0x00, 0x03, 0x00, 0x80),
69a3229e 751 PHYREGS(0x0894, 0x0890, 0x088C, 0x01DD, 0x01DE, 0x01DF),
6db507ff
RM
752 },
753 { .channel = 98,
754 .freq = 5490, /* MHz */
755 .unk2 = 3660,
40277cab 756 RADIOREGS(0x71, 0x25, 0x02, 0x06, 0x4D, 0x01, 0x04, 0x0A,
6db507ff
RM
757 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00,
758 0x80, 0x44, 0x00, 0x03, 0x00, 0x80),
69a3229e 759 PHYREGS(0x0898, 0x0894, 0x0890, 0x01DD, 0x01DD, 0x01DE),
6db507ff
RM
760 },
761 { .channel = 100,
762 .freq = 5500, /* MHz */
763 .unk2 = 3667,
40277cab 764 RADIOREGS(0x71, 0x26, 0x02, 0x06, 0x47, 0x01, 0x04, 0x0A,
6db507ff
RM
765 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00,
766 0x80, 0x44, 0x00, 0x03, 0x00, 0x80),
69a3229e 767 PHYREGS(0x089C, 0x0898, 0x0894, 0x01DC, 0x01DD, 0x01DD),
6db507ff
RM
768 },
769 { .channel = 102,
770 .freq = 5510, /* MHz */
771 .unk2 = 3673,
40277cab 772 RADIOREGS(0x71, 0x27, 0x02, 0x06, 0x47, 0x01, 0x04, 0x0A,
6db507ff
RM
773 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00,
774 0x80, 0x44, 0x00, 0x03, 0x00, 0x80),
69a3229e 775 PHYREGS(0x08A0, 0x089C, 0x0898, 0x01DB, 0x01DC, 0x01DD),
6db507ff
RM
776 },
777 { .channel = 104,
778 .freq = 5520, /* MHz */
779 .unk2 = 3680,
40277cab 780 RADIOREGS(0x71, 0x28, 0x02, 0x05, 0x40, 0x01, 0x04, 0x0A,
6db507ff
RM
781 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
782 0x80, 0x33, 0x00, 0x02, 0x00, 0x80),
69a3229e 783 PHYREGS(0x08A4, 0x08A0, 0x089C, 0x01DA, 0x01DB, 0x01DC),
6db507ff
RM
784 },
785 { .channel = 106,
786 .freq = 5530, /* MHz */
787 .unk2 = 3687,
40277cab 788 RADIOREGS(0x71, 0x29, 0x02, 0x05, 0x40, 0x01, 0x04, 0x0A,
6db507ff
RM
789 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
790 0x80, 0x33, 0x00, 0x02, 0x00, 0x80),
69a3229e 791 PHYREGS(0x08A8, 0x08A4, 0x08A0, 0x01D9, 0x01DA, 0x01DB),
6db507ff
RM
792 },
793 { .channel = 108,
794 .freq = 5540, /* MHz */
795 .unk2 = 3693,
40277cab 796 RADIOREGS(0x71, 0x2A, 0x02, 0x05, 0x3A, 0x01, 0x04, 0x0A,
6db507ff
RM
797 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
798 0x80, 0x33, 0x00, 0x02, 0x00, 0x80),
69a3229e 799 PHYREGS(0x08AC, 0x08A8, 0x08A4, 0x01D8, 0x01D9, 0x01DA),
6db507ff
RM
800 },
801 { .channel = 110,
802 .freq = 5550, /* MHz */
803 .unk2 = 3700,
40277cab 804 RADIOREGS(0x71, 0x2B, 0x02, 0x05, 0x3A, 0x01, 0x04, 0x0A,
6db507ff
RM
805 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
806 0x80, 0x33, 0x00, 0x02, 0x00, 0x80),
69a3229e 807 PHYREGS(0x08B0, 0x08AC, 0x08A8, 0x01D7, 0x01D8, 0x01D9),
6db507ff
RM
808 },
809 { .channel = 112,
810 .freq = 5560, /* MHz */
811 .unk2 = 3707,
40277cab 812 RADIOREGS(0x71, 0x2C, 0x02, 0x05, 0x34, 0x01, 0x04, 0x0A,
6db507ff
RM
813 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00,
814 0x80, 0x22, 0x00, 0x01, 0x00, 0x80),
69a3229e 815 PHYREGS(0x08B4, 0x08B0, 0x08AC, 0x01D7, 0x01D7, 0x01D8),
6db507ff
RM
816 },
817 { .channel = 114,
818 .freq = 5570, /* MHz */
819 .unk2 = 3713,
40277cab 820 RADIOREGS(0x71, 0x2D, 0x02, 0x05, 0x34, 0x01, 0x04, 0x0A,
6db507ff
RM
821 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00,
822 0x80, 0x22, 0x00, 0x01, 0x00, 0x80),
69a3229e 823 PHYREGS(0x08B8, 0x08B4, 0x08B0, 0x01D6, 0x01D7, 0x01D7),
6db507ff
RM
824 },
825 { .channel = 116,
826 .freq = 5580, /* MHz */
827 .unk2 = 3720,
40277cab 828 RADIOREGS(0x71, 0x2E, 0x02, 0x04, 0x2E, 0x01, 0x04, 0x0A,
6db507ff
RM
829 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00,
830 0x80, 0x22, 0x00, 0x01, 0x00, 0x80),
69a3229e 831 PHYREGS(0x08BC, 0x08B8, 0x08B4, 0x01D5, 0x01D6, 0x01D7),
6db507ff
RM
832 },
833 { .channel = 118,
834 .freq = 5590, /* MHz */
835 .unk2 = 3727,
40277cab 836 RADIOREGS(0x71, 0x2F, 0x02, 0x04, 0x2E, 0x01, 0x04, 0x0A,
6db507ff
RM
837 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00,
838 0x80, 0x22, 0x00, 0x01, 0x00, 0x80),
69a3229e 839 PHYREGS(0x08C0, 0x08BC, 0x08B8, 0x01D4, 0x01D5, 0x01D6),
6db507ff
RM
840 },
841 { .channel = 120,
842 .freq = 5600, /* MHz */
843 .unk2 = 3733,
40277cab 844 RADIOREGS(0x71, 0x30, 0x02, 0x04, 0x28, 0x01, 0x04, 0x0A,
6db507ff
RM
845 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00,
846 0x80, 0x11, 0x00, 0x01, 0x00, 0x80),
69a3229e 847 PHYREGS(0x08C4, 0x08C0, 0x08BC, 0x01D3, 0x01D4, 0x01D5),
6db507ff
RM
848 },
849 { .channel = 122,
850 .freq = 5610, /* MHz */
851 .unk2 = 3740,
40277cab 852 RADIOREGS(0x71, 0x31, 0x02, 0x04, 0x28, 0x01, 0x04, 0x0A,
6db507ff
RM
853 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00,
854 0x80, 0x11, 0x00, 0x01, 0x00, 0x80),
69a3229e 855 PHYREGS(0x08C8, 0x08C4, 0x08C0, 0x01D2, 0x01D3, 0x01D4),
6db507ff
RM
856 },
857 { .channel = 124,
858 .freq = 5620, /* MHz */
859 .unk2 = 3747,
40277cab 860 RADIOREGS(0x71, 0x32, 0x02, 0x04, 0x21, 0x01, 0x04, 0x0A,
6db507ff
RM
861 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
862 0x80, 0x11, 0x00, 0x00, 0x00, 0x80),
69a3229e 863 PHYREGS(0x08CC, 0x08C8, 0x08C4, 0x01D2, 0x01D2, 0x01D3),
6db507ff
RM
864 },
865 { .channel = 126,
866 .freq = 5630, /* MHz */
867 .unk2 = 3753,
40277cab 868 RADIOREGS(0x71, 0x33, 0x02, 0x04, 0x21, 0x01, 0x04, 0x0A,
6db507ff
RM
869 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
870 0x80, 0x11, 0x00, 0x00, 0x00, 0x80),
69a3229e 871 PHYREGS(0x08D0, 0x08CC, 0x08C8, 0x01D1, 0x01D2, 0x01D2),
6db507ff
RM
872 },
873 { .channel = 128,
874 .freq = 5640, /* MHz */
875 .unk2 = 3760,
40277cab 876 RADIOREGS(0x71, 0x34, 0x02, 0x03, 0x1C, 0x01, 0x04, 0x0A,
6db507ff
RM
877 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
878 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 879 PHYREGS(0x08D4, 0x08D0, 0x08CC, 0x01D0, 0x01D1, 0x01D2),
6db507ff
RM
880 },
881 { .channel = 130,
882 .freq = 5650, /* MHz */
883 .unk2 = 3767,
40277cab 884 RADIOREGS(0x71, 0x35, 0x02, 0x03, 0x1C, 0x01, 0x04, 0x0A,
6db507ff
RM
885 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
886 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 887 PHYREGS(0x08D8, 0x08D4, 0x08D0, 0x01CF, 0x01D0, 0x01D1),
6db507ff
RM
888 },
889 { .channel = 132,
890 .freq = 5660, /* MHz */
891 .unk2 = 3773,
40277cab 892 RADIOREGS(0x71, 0x36, 0x02, 0x03, 0x16, 0x01, 0x04, 0x0A,
6db507ff
RM
893 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
894 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 895 PHYREGS(0x08DC, 0x08D8, 0x08D4, 0x01CE, 0x01CF, 0x01D0),
6db507ff
RM
896 },
897 { .channel = 134,
898 .freq = 5670, /* MHz */
899 .unk2 = 3780,
40277cab 900 RADIOREGS(0x71, 0x37, 0x02, 0x03, 0x16, 0x01, 0x04, 0x0A,
6db507ff
RM
901 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
902 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 903 PHYREGS(0x08E0, 0x08DC, 0x08D8, 0x01CE, 0x01CE, 0x01CF),
6db507ff
RM
904 },
905 { .channel = 136,
906 .freq = 5680, /* MHz */
907 .unk2 = 3787,
40277cab 908 RADIOREGS(0x71, 0x38, 0x02, 0x03, 0x10, 0x01, 0x04, 0x0A,
6db507ff
RM
909 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
910 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 911 PHYREGS(0x08E4, 0x08E0, 0x08DC, 0x01CD, 0x01CE, 0x01CE),
6db507ff
RM
912 },
913 { .channel = 138,
914 .freq = 5690, /* MHz */
915 .unk2 = 3793,
40277cab 916 RADIOREGS(0x71, 0x39, 0x02, 0x03, 0x10, 0x01, 0x04, 0x0A,
6db507ff
RM
917 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
918 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 919 PHYREGS(0x08E8, 0x08E4, 0x08E0, 0x01CC, 0x01CD, 0x01CE),
6db507ff
RM
920 },
921 { .channel = 140,
922 .freq = 5700, /* MHz */
923 .unk2 = 3800,
40277cab 924 RADIOREGS(0x71, 0x3A, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
6db507ff
RM
925 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
926 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 927 PHYREGS(0x08EC, 0x08E8, 0x08E4, 0x01CB, 0x01CC, 0x01CD),
6db507ff
RM
928 },
929 { .channel = 142,
930 .freq = 5710, /* MHz */
931 .unk2 = 3807,
40277cab 932 RADIOREGS(0x71, 0x3B, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
6db507ff
RM
933 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
934 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 935 PHYREGS(0x08F0, 0x08EC, 0x08E8, 0x01CA, 0x01CB, 0x01CC),
6db507ff
RM
936 },
937 { .channel = 144,
938 .freq = 5720, /* MHz */
939 .unk2 = 3813,
40277cab 940 RADIOREGS(0x71, 0x3C, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
6db507ff
RM
941 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
942 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 943 PHYREGS(0x08F4, 0x08F0, 0x08EC, 0x01C9, 0x01CA, 0x01CB),
6db507ff
RM
944 },
945 { .channel = 145,
946 .freq = 5725, /* MHz */
947 .unk2 = 3817,
40277cab 948 RADIOREGS(0x72, 0x79, 0x04, 0x02, 0x03, 0x01, 0x03, 0x14,
6db507ff
RM
949 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
950 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 951 PHYREGS(0x08F6, 0x08F2, 0x08EE, 0x01C9, 0x01CA, 0x01CB),
6db507ff
RM
952 },
953 { .channel = 146,
954 .freq = 5730, /* MHz */
955 .unk2 = 3820,
40277cab 956 RADIOREGS(0x71, 0x3D, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
6db507ff
RM
957 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
958 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 959 PHYREGS(0x08F8, 0x08F4, 0x08F0, 0x01C9, 0x01C9, 0x01CA),
6db507ff
RM
960 },
961 { .channel = 147,
962 .freq = 5735, /* MHz */
963 .unk2 = 3823,
40277cab 964 RADIOREGS(0x72, 0x7B, 0x04, 0x02, 0x03, 0x01, 0x03, 0x14,
6db507ff
RM
965 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
966 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 967 PHYREGS(0x08FA, 0x08F6, 0x08F2, 0x01C8, 0x01C9, 0x01CA),
6db507ff
RM
968 },
969 { .channel = 148,
970 .freq = 5740, /* MHz */
971 .unk2 = 3827,
40277cab 972 RADIOREGS(0x71, 0x3E, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
6db507ff
RM
973 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
974 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 975 PHYREGS(0x08FC, 0x08F8, 0x08F4, 0x01C8, 0x01C9, 0x01C9),
6db507ff
RM
976 },
977 { .channel = 149,
978 .freq = 5745, /* MHz */
979 .unk2 = 3830,
40277cab 980 RADIOREGS(0x72, 0x7D, 0x04, 0x02, 0xFE, 0x00, 0x03, 0x14,
6db507ff
RM
981 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
982 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 983 PHYREGS(0x08FE, 0x08FA, 0x08F6, 0x01C8, 0x01C8, 0x01C9),
6db507ff
RM
984 },
985 { .channel = 150,
986 .freq = 5750, /* MHz */
987 .unk2 = 3833,
40277cab 988 RADIOREGS(0x71, 0x3F, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
6db507ff
RM
989 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
990 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 991 PHYREGS(0x0900, 0x08FC, 0x08F8, 0x01C7, 0x01C8, 0x01C9),
6db507ff
RM
992 },
993 { .channel = 151,
994 .freq = 5755, /* MHz */
995 .unk2 = 3837,
40277cab 996 RADIOREGS(0x72, 0x7F, 0x04, 0x02, 0xFE, 0x00, 0x03, 0x14,
6db507ff
RM
997 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
998 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 999 PHYREGS(0x0902, 0x08FE, 0x08FA, 0x01C7, 0x01C8, 0x01C8),
6db507ff
RM
1000 },
1001 { .channel = 152,
1002 .freq = 5760, /* MHz */
1003 .unk2 = 3840,
40277cab 1004 RADIOREGS(0x71, 0x40, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
6db507ff
RM
1005 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1006 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 1007 PHYREGS(0x0904, 0x0900, 0x08FC, 0x01C6, 0x01C7, 0x01C8),
6db507ff
RM
1008 },
1009 { .channel = 153,
1010 .freq = 5765, /* MHz */
1011 .unk2 = 3843,
40277cab 1012 RADIOREGS(0x72, 0x81, 0x04, 0x02, 0xF8, 0x00, 0x03, 0x14,
6db507ff
RM
1013 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1014 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 1015 PHYREGS(0x0906, 0x0902, 0x08FE, 0x01C6, 0x01C7, 0x01C8),
6db507ff
RM
1016 },
1017 { .channel = 154,
1018 .freq = 5770, /* MHz */
1019 .unk2 = 3847,
40277cab 1020 RADIOREGS(0x71, 0x41, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
6db507ff
RM
1021 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1022 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 1023 PHYREGS(0x0908, 0x0904, 0x0900, 0x01C6, 0x01C6, 0x01C7),
6db507ff
RM
1024 },
1025 { .channel = 155,
1026 .freq = 5775, /* MHz */
1027 .unk2 = 3850,
40277cab 1028 RADIOREGS(0x72, 0x83, 0x04, 0x02, 0xF8, 0x00, 0x03, 0x14,
6db507ff
RM
1029 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1030 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 1031 PHYREGS(0x090A, 0x0906, 0x0902, 0x01C5, 0x01C6, 0x01C7),
6db507ff
RM
1032 },
1033 { .channel = 156,
1034 .freq = 5780, /* MHz */
1035 .unk2 = 3853,
40277cab 1036 RADIOREGS(0x71, 0x42, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
6db507ff
RM
1037 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1038 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 1039 PHYREGS(0x090C, 0x0908, 0x0904, 0x01C5, 0x01C6, 0x01C6),
6db507ff
RM
1040 },
1041 { .channel = 157,
1042 .freq = 5785, /* MHz */
1043 .unk2 = 3857,
40277cab 1044 RADIOREGS(0x72, 0x85, 0x04, 0x02, 0xF2, 0x00, 0x03, 0x14,
6db507ff
RM
1045 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1046 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 1047 PHYREGS(0x090E, 0x090A, 0x0906, 0x01C4, 0x01C5, 0x01C6),
6db507ff
RM
1048 },
1049 { .channel = 158,
1050 .freq = 5790, /* MHz */
1051 .unk2 = 3860,
40277cab 1052 RADIOREGS(0x71, 0x43, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A,
6db507ff
RM
1053 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1054 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 1055 PHYREGS(0x0910, 0x090C, 0x0908, 0x01C4, 0x01C5, 0x01C6),
6db507ff
RM
1056 },
1057 { .channel = 159,
1058 .freq = 5795, /* MHz */
1059 .unk2 = 3863,
40277cab 1060 RADIOREGS(0x72, 0x87, 0x04, 0x02, 0xF2, 0x00, 0x03, 0x14,
6db507ff
RM
1061 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1062 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 1063 PHYREGS(0x0912, 0x090E, 0x090A, 0x01C4, 0x01C4, 0x01C5),
6db507ff
RM
1064 },
1065 { .channel = 160,
1066 .freq = 5800, /* MHz */
1067 .unk2 = 3867,
40277cab 1068 RADIOREGS(0x71, 0x44, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A,
6db507ff
RM
1069 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1070 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 1071 PHYREGS(0x0914, 0x0910, 0x090C, 0x01C3, 0x01C4, 0x01C5),
6db507ff
RM
1072 },
1073 { .channel = 161,
1074 .freq = 5805, /* MHz */
1075 .unk2 = 3870,
40277cab 1076 RADIOREGS(0x72, 0x89, 0x04, 0x01, 0xED, 0x00, 0x03, 0x14,
6db507ff
RM
1077 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1078 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 1079 PHYREGS(0x0916, 0x0912, 0x090E, 0x01C3, 0x01C4, 0x01C4),
6db507ff
RM
1080 },
1081 { .channel = 162,
1082 .freq = 5810, /* MHz */
1083 .unk2 = 3873,
40277cab 1084 RADIOREGS(0x71, 0x45, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A,
6db507ff
RM
1085 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1086 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 1087 PHYREGS(0x0918, 0x0914, 0x0910, 0x01C2, 0x01C3, 0x01C4),
6db507ff
RM
1088 },
1089 { .channel = 163,
1090 .freq = 5815, /* MHz */
1091 .unk2 = 3877,
40277cab 1092 RADIOREGS(0x72, 0x8B, 0x04, 0x01, 0xED, 0x00, 0x03, 0x14,
6db507ff
RM
1093 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1094 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 1095 PHYREGS(0x091A, 0x0916, 0x0912, 0x01C2, 0x01C3, 0x01C4),
6db507ff
RM
1096 },
1097 { .channel = 164,
1098 .freq = 5820, /* MHz */
1099 .unk2 = 3880,
40277cab 1100 RADIOREGS(0x71, 0x46, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A,
6db507ff
RM
1101 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1102 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 1103 PHYREGS(0x091C, 0x0918, 0x0914, 0x01C2, 0x01C2, 0x01C3),
6db507ff
RM
1104 },
1105 { .channel = 165,
1106 .freq = 5825, /* MHz */
1107 .unk2 = 3883,
40277cab 1108 RADIOREGS(0x72, 0x8D, 0x04, 0x01, 0xED, 0x00, 0x03, 0x14,
6db507ff
RM
1109 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1110 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 1111 PHYREGS(0x091E, 0x091A, 0x0916, 0x01C1, 0x01C2, 0x01C3),
6db507ff
RM
1112 },
1113 { .channel = 166,
1114 .freq = 5830, /* MHz */
1115 .unk2 = 3887,
40277cab 1116 RADIOREGS(0x71, 0x47, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A,
6db507ff
RM
1117 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1118 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 1119 PHYREGS(0x0920, 0x091C, 0x0918, 0x01C1, 0x01C2, 0x01C2),
6db507ff
RM
1120 },
1121 { .channel = 168,
1122 .freq = 5840, /* MHz */
1123 .unk2 = 3893,
40277cab 1124 RADIOREGS(0x71, 0x48, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A,
6db507ff
RM
1125 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1126 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 1127 PHYREGS(0x0924, 0x0920, 0x091C, 0x01C0, 0x01C1, 0x01C2),
6db507ff
RM
1128 },
1129 { .channel = 170,
1130 .freq = 5850, /* MHz */
1131 .unk2 = 3900,
40277cab 1132 RADIOREGS(0x71, 0x49, 0x02, 0x01, 0xE0, 0x00, 0x04, 0x0A,
6db507ff
RM
1133 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1134 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 1135 PHYREGS(0x0928, 0x0924, 0x0920, 0x01BF, 0x01C0, 0x01C1),
6db507ff
RM
1136 },
1137 { .channel = 172,
1138 .freq = 5860, /* MHz */
1139 .unk2 = 3907,
40277cab 1140 RADIOREGS(0x71, 0x4A, 0x02, 0x01, 0xDE, 0x00, 0x04, 0x0A,
6db507ff
RM
1141 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1142 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 1143 PHYREGS(0x092C, 0x0928, 0x0924, 0x01BF, 0x01BF, 0x01C0),
6db507ff
RM
1144 },
1145 { .channel = 174,
1146 .freq = 5870, /* MHz */
1147 .unk2 = 3913,
40277cab 1148 RADIOREGS(0x71, 0x4B, 0x02, 0x00, 0xDB, 0x00, 0x04, 0x0A,
6db507ff
RM
1149 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1150 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 1151 PHYREGS(0x0930, 0x092C, 0x0928, 0x01BE, 0x01BF, 0x01BF),
6db507ff
RM
1152 },
1153 { .channel = 176,
1154 .freq = 5880, /* MHz */
1155 .unk2 = 3920,
40277cab 1156 RADIOREGS(0x71, 0x4C, 0x02, 0x00, 0xD8, 0x00, 0x04, 0x0A,
6db507ff
RM
1157 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1158 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 1159 PHYREGS(0x0934, 0x0930, 0x092C, 0x01BD, 0x01BE, 0x01BF),
6db507ff
RM
1160 },
1161 { .channel = 178,
1162 .freq = 5890, /* MHz */
1163 .unk2 = 3927,
40277cab 1164 RADIOREGS(0x71, 0x4D, 0x02, 0x00, 0xD6, 0x00, 0x04, 0x0A,
6db507ff
RM
1165 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1166 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 1167 PHYREGS(0x0938, 0x0934, 0x0930, 0x01BC, 0x01BD, 0x01BE),
6db507ff
RM
1168 },
1169 { .channel = 180,
1170 .freq = 5900, /* MHz */
1171 .unk2 = 3933,
40277cab 1172 RADIOREGS(0x71, 0x4E, 0x02, 0x00, 0xD3, 0x00, 0x04, 0x0A,
6db507ff
RM
1173 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1174 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 1175 PHYREGS(0x093C, 0x0938, 0x0934, 0x01BC, 0x01BC, 0x01BD),
6db507ff
RM
1176 },
1177 { .channel = 182,
1178 .freq = 5910, /* MHz */
1179 .unk2 = 3940,
40277cab 1180 RADIOREGS(0x71, 0x4F, 0x02, 0x00, 0xD6, 0x00, 0x04, 0x0A,
6db507ff
RM
1181 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1182 0x80, 0x00, 0x00, 0x00, 0x00, 0x80),
69a3229e 1183 PHYREGS(0x0940, 0x093C, 0x0938, 0x01BB, 0x01BC, 0x01BC),
6db507ff
RM
1184 },
1185 { .channel = 1,
1186 .freq = 2412, /* MHz */
1187 .unk2 = 3216,
40277cab 1188 RADIOREGS(0x73, 0x6C, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
6db507ff
RM
1189 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0D, 0x0C,
1190 0x80, 0xFF, 0x88, 0x0D, 0x0C, 0x80),
69a3229e 1191 PHYREGS(0x03C9, 0x03C5, 0x03C1, 0x043A, 0x043F, 0x0443),
6db507ff
RM
1192 },
1193 { .channel = 2,
1194 .freq = 2417, /* MHz */
1195 .unk2 = 3223,
40277cab 1196 RADIOREGS(0x73, 0x71, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
6db507ff
RM
1197 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0B,
1198 0x80, 0xFF, 0x88, 0x0C, 0x0B, 0x80),
69a3229e 1199 PHYREGS(0x03CB, 0x03C7, 0x03C3, 0x0438, 0x043D, 0x0441),
6db507ff
RM
1200 },
1201 { .channel = 3,
1202 .freq = 2422, /* MHz */
1203 .unk2 = 3229,
40277cab 1204 RADIOREGS(0x73, 0x76, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
6db507ff
RM
1205 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A,
1206 0x80, 0xFF, 0x88, 0x0C, 0x0A, 0x80),
69a3229e 1207 PHYREGS(0x03CD, 0x03C9, 0x03C5, 0x0436, 0x043A, 0x043F),
6db507ff
RM
1208 },
1209 { .channel = 4,
1210 .freq = 2427, /* MHz */
1211 .unk2 = 3236,
40277cab 1212 RADIOREGS(0x73, 0x7B, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
6db507ff
RM
1213 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A,
1214 0x80, 0xFF, 0x88, 0x0C, 0x0A, 0x80),
69a3229e 1215 PHYREGS(0x03CF, 0x03CB, 0x03C7, 0x0434, 0x0438, 0x043D),
6db507ff
RM
1216 },
1217 { .channel = 5,
1218 .freq = 2432, /* MHz */
1219 .unk2 = 3243,
40277cab 1220 RADIOREGS(0x73, 0x80, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
6db507ff
RM
1221 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x09,
1222 0x80, 0xFF, 0x88, 0x0C, 0x09, 0x80),
69a3229e 1223 PHYREGS(0x03D1, 0x03CD, 0x03C9, 0x0431, 0x0436, 0x043A),
6db507ff
RM
1224 },
1225 { .channel = 6,
1226 .freq = 2437, /* MHz */
1227 .unk2 = 3249,
40277cab 1228 RADIOREGS(0x73, 0x85, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
6db507ff
RM
1229 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0B, 0x08,
1230 0x80, 0xFF, 0x88, 0x0B, 0x08, 0x80),
69a3229e 1231 PHYREGS(0x03D3, 0x03CF, 0x03CB, 0x042F, 0x0434, 0x0438),
6db507ff
RM
1232 },
1233 { .channel = 7,
1234 .freq = 2442, /* MHz */
1235 .unk2 = 3256,
40277cab 1236 RADIOREGS(0x73, 0x8A, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
6db507ff
RM
1237 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x07,
1238 0x80, 0xFF, 0x88, 0x0A, 0x07, 0x80),
69a3229e 1239 PHYREGS(0x03D5, 0x03D1, 0x03CD, 0x042D, 0x0431, 0x0436),
6db507ff
RM
1240 },
1241 { .channel = 8,
1242 .freq = 2447, /* MHz */
1243 .unk2 = 3263,
40277cab 1244 RADIOREGS(0x73, 0x8F, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
6db507ff
RM
1245 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x06,
1246 0x80, 0xFF, 0x88, 0x0A, 0x06, 0x80),
69a3229e 1247 PHYREGS(0x03D7, 0x03D3, 0x03CF, 0x042B, 0x042F, 0x0434),
6db507ff
RM
1248 },
1249 { .channel = 9,
1250 .freq = 2452, /* MHz */
1251 .unk2 = 3269,
40277cab 1252 RADIOREGS(0x73, 0x94, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
6db507ff
RM
1253 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x09, 0x06,
1254 0x80, 0xFF, 0x88, 0x09, 0x06, 0x80),
69a3229e 1255 PHYREGS(0x03D9, 0x03D5, 0x03D1, 0x0429, 0x042D, 0x0431),
6db507ff
RM
1256 },
1257 { .channel = 10,
1258 .freq = 2457, /* MHz */
1259 .unk2 = 3276,
40277cab 1260 RADIOREGS(0x73, 0x99, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
6db507ff
RM
1261 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x05,
1262 0x80, 0xFF, 0x88, 0x08, 0x05, 0x80),
69a3229e 1263 PHYREGS(0x03DB, 0x03D7, 0x03D3, 0x0427, 0x042B, 0x042F),
6db507ff
RM
1264 },
1265 { .channel = 11,
1266 .freq = 2462, /* MHz */
1267 .unk2 = 3283,
40277cab 1268 RADIOREGS(0x73, 0x9E, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
6db507ff
RM
1269 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x04,
1270 0x80, 0xFF, 0x88, 0x08, 0x04, 0x80),
69a3229e 1271 PHYREGS(0x03DD, 0x03D9, 0x03D5, 0x0424, 0x0429, 0x042D),
6db507ff
RM
1272 },
1273 { .channel = 12,
1274 .freq = 2467, /* MHz */
1275 .unk2 = 3289,
40277cab 1276 RADIOREGS(0x73, 0xA3, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
6db507ff
RM
1277 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x03,
1278 0x80, 0xFF, 0x88, 0x08, 0x03, 0x80),
69a3229e 1279 PHYREGS(0x03DF, 0x03DB, 0x03D7, 0x0422, 0x0427, 0x042B),
6db507ff
RM
1280 },
1281 { .channel = 13,
1282 .freq = 2472, /* MHz */
1283 .unk2 = 3296,
40277cab 1284 RADIOREGS(0x73, 0xA8, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15,
6db507ff
RM
1285 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x03,
1286 0x80, 0xFF, 0x88, 0x07, 0x03, 0x80),
69a3229e 1287 PHYREGS(0x03E1, 0x03DD, 0x03D9, 0x0420, 0x0424, 0x0429),
6db507ff
RM
1288 },
1289 { .channel = 14,
1290 .freq = 2484, /* MHz */
1291 .unk2 = 3312,
40277cab 1292 RADIOREGS(0x73, 0xB4, 0x09, 0x0F, 0xFF, 0x01, 0x07, 0x15,
6db507ff
RM
1293 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x01,
1294 0x80, 0xFF, 0x88, 0x07, 0x01, 0x80),
69a3229e 1295 PHYREGS(0x03E6, 0x03E2, 0x03DE, 0x041B, 0x041F, 0x0424),
6db507ff
RM
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;
c0b102c2 1303 unsigned int i, writes = 0;
6db507ff
RM
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);
c0b102c2
RM
1316 if (++writes % 4 == 0)
1317 b43_read32(dev, B43_MMIO_MACCTL); /* flush */
6db507ff
RM
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}