Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next
[linux-2.6-microblaze.git] / drivers / net / wireless / mediatek / mt76 / mt76x0 / initvals_phy.h
1 /*
2  * (c) Copyright 2002-2010, Ralink Technology, Inc.
3  * Copyright (C) 2015 Jakub Kicinski <kubakici@wp.pl>
4  * Copyright (C) 2018 Stanislaw Gruszka <stf_xl@wp.pl>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2
8  * as published by the Free Software Foundation
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  */
15
16 #ifndef __MT76X0U_PHY_INITVALS_H
17 #define __MT76X0U_PHY_INITVALS_H
18
19 static const struct mt76_reg_pair mt76x0_rf_central_tab[] = {
20         { MT_RF(0,  1), 0x01 },
21         { MT_RF(0,  2), 0x11 },
22         /* R3 ~ R7: VCO Cal */
23         { MT_RF(0,  3), 0x73 }, /* VCO Freq Cal */
24         { MT_RF(0,  4), 0x30 }, /* R4 b<7>=1, VCO cal */
25         { MT_RF(0,  5), 0x00 },
26         { MT_RF(0,  6), 0x41 },
27         { MT_RF(0,  7), 0x00 },
28         { MT_RF(0,  8), 0x00 },
29         { MT_RF(0,  9), 0x00 },
30         { MT_RF(0, 10), 0x0C },
31         { MT_RF(0, 11), 0x00 },
32         { MT_RF(0, 12), 0x00 },
33         /* BG */
34         { MT_RF(0, 13), 0x00 },
35         { MT_RF(0, 14), 0x00 },
36         { MT_RF(0, 15), 0x00 },
37         /* LDO */
38         { MT_RF(0, 19), 0x20 },
39         { MT_RF(0, 20), 0x22 },
40         { MT_RF(0, 21), 0x12 },
41         { MT_RF(0, 23), 0x00 },
42         { MT_RF(0, 24), 0x33 },
43         { MT_RF(0, 25), 0x00 },
44         /* PLL */
45         { MT_RF(0, 26), 0x00 },
46         { MT_RF(0, 27), 0x00 },
47         { MT_RF(0, 28), 0x00 },
48         { MT_RF(0, 29), 0x00 },
49         { MT_RF(0, 30), 0x00 },
50         { MT_RF(0, 31), 0x00 },
51         { MT_RF(0, 32), 0x00 },
52         { MT_RF(0, 33), 0x00 },
53         { MT_RF(0, 34), 0x00 },
54         { MT_RF(0, 35), 0x00 },
55         { MT_RF(0, 36), 0x00 },
56         { MT_RF(0, 37), 0x00 },
57         /* LO Buffer */
58         { MT_RF(0, 38), 0x2F },
59         /* Test Ports */
60         { MT_RF(0, 64), 0x00 },
61         { MT_RF(0, 65), 0x80 },
62         { MT_RF(0, 66), 0x01 },
63         { MT_RF(0, 67), 0x04 },
64         /* ADC-DAC */
65         { MT_RF(0, 68), 0x00 },
66         { MT_RF(0, 69), 0x08 },
67         { MT_RF(0, 70), 0x08 },
68         { MT_RF(0, 71), 0x40 },
69         { MT_RF(0, 72), 0xD0 },
70         { MT_RF(0, 73), 0x93 },
71 };
72
73 static const struct mt76_reg_pair mt76x0_rf_2g_channel_0_tab[] = {
74         /* RX logic operation */
75         { MT_RF(5,  2), 0x0C }, /* 5G+2G */
76         { MT_RF(5,  3), 0x00 },
77         /* TX logic operation */
78         { MT_RF(5,  4), 0x00 },
79         { MT_RF(5,  5), 0x84 },
80         { MT_RF(5,  6), 0x02 },
81         /* LDO */
82         { MT_RF(5,  7), 0x00 },
83         { MT_RF(5,  8), 0x00 },
84         { MT_RF(5,  9), 0x00 },
85         /* RX */
86         { MT_RF(5, 10), 0x51 },
87         { MT_RF(5, 11), 0x22 },
88         { MT_RF(5, 12), 0x22 },
89         { MT_RF(5, 13), 0x0F },
90         { MT_RF(5, 14), 0x47 },
91         { MT_RF(5, 15), 0x25 },
92         { MT_RF(5, 16), 0xC7 },
93         { MT_RF(5, 17), 0x00 },
94         { MT_RF(5, 18), 0x00 },
95         { MT_RF(5, 19), 0x30 },
96         { MT_RF(5, 20), 0x33 },
97         { MT_RF(5, 21), 0x02 },
98         { MT_RF(5, 22), 0x32 },
99         { MT_RF(5, 23), 0x00 },
100         { MT_RF(5, 24), 0x25 },
101         { MT_RF(5, 26), 0x00 },
102         { MT_RF(5, 27), 0x12 },
103         { MT_RF(5, 28), 0x0F },
104         { MT_RF(5, 29), 0x00 },
105         /* LOGEN */
106         { MT_RF(5, 30), 0x51 },
107         { MT_RF(5, 31), 0x35 },
108         { MT_RF(5, 32), 0x31 },
109         { MT_RF(5, 33), 0x31 },
110         { MT_RF(5, 34), 0x34 },
111         { MT_RF(5, 35), 0x03 },
112         { MT_RF(5, 36), 0x00 },
113         /* TX */
114         { MT_RF(5, 37), 0xDD },
115         { MT_RF(5, 38), 0xB3 },
116         { MT_RF(5, 39), 0x33 },
117         { MT_RF(5, 40), 0xB1 },
118         { MT_RF(5, 41), 0x71 },
119         { MT_RF(5, 42), 0xF2 },
120         { MT_RF(5, 43), 0x47 },
121         { MT_RF(5, 44), 0x77 },
122         { MT_RF(5, 45), 0x0E },
123         { MT_RF(5, 46), 0x10 },
124         { MT_RF(5, 47), 0x00 },
125         { MT_RF(5, 48), 0x53 },
126         { MT_RF(5, 49), 0x03 },
127         { MT_RF(5, 50), 0xEF },
128         { MT_RF(5, 51), 0xC7 },
129         { MT_RF(5, 52), 0x62 },
130         { MT_RF(5, 53), 0x62 },
131         { MT_RF(5, 54), 0x00 },
132         { MT_RF(5, 55), 0x00 },
133         { MT_RF(5, 56), 0x0F },
134         { MT_RF(5, 57), 0x0F },
135         { MT_RF(5, 58), 0x16 },
136         { MT_RF(5, 59), 0x16 },
137         { MT_RF(5, 60), 0x10 },
138         { MT_RF(5, 61), 0x10 },
139         { MT_RF(5, 62), 0xD0 },
140         { MT_RF(5, 63), 0x6C },
141         { MT_RF(5, 64), 0x58 },
142         { MT_RF(5, 65), 0x58 },
143         { MT_RF(5, 66), 0xF2 },
144         { MT_RF(5, 67), 0xE8 },
145         { MT_RF(5, 68), 0xF0 },
146         { MT_RF(5, 69), 0xF0 },
147         { MT_RF(5, 127), 0x04 },
148 };
149
150 static const struct mt76_reg_pair mt76x0_rf_5g_channel_0_tab[] = {
151         /* RX logic operation */
152         { MT_RF(6, 2), 0x0C },
153         { MT_RF(6, 3), 0x00 },
154         /* TX logic operation */
155         { MT_RF(6, 4), 0x00 },
156         { MT_RF(6, 5), 0x84 },
157         { MT_RF(6, 6), 0x02 },
158         /* LDO */
159         { MT_RF(6, 7), 0x00 },
160         { MT_RF(6, 8), 0x00 },
161         { MT_RF(6, 9), 0x00 },
162         /* RX */
163         { MT_RF(6, 10), 0x00 },
164         { MT_RF(6, 11), 0x01 },
165         { MT_RF(6, 13), 0x23 },
166         { MT_RF(6, 14), 0x00 },
167         { MT_RF(6, 15), 0x04 },
168         { MT_RF(6, 16), 0x22 },
169         { MT_RF(6, 18), 0x08 },
170         { MT_RF(6, 19), 0x00 },
171         { MT_RF(6, 20), 0x00 },
172         { MT_RF(6, 21), 0x00 },
173         { MT_RF(6, 22), 0xFB },
174         /* LOGEN5G */
175         { MT_RF(6, 25), 0x76 },
176         { MT_RF(6, 26), 0x24 },
177         { MT_RF(6, 27), 0x04 },
178         { MT_RF(6, 28), 0x00 },
179         { MT_RF(6, 29), 0x00 },
180         /* TX */
181         { MT_RF(6, 37), 0xBB },
182         { MT_RF(6, 38), 0xB3 },
183         { MT_RF(6, 40), 0x33 },
184         { MT_RF(6, 41), 0x33 },
185         { MT_RF(6, 43), 0x03 },
186         { MT_RF(6, 44), 0xB3 },
187         { MT_RF(6, 46), 0x17 },
188         { MT_RF(6, 47), 0x0E },
189         { MT_RF(6, 48), 0x10 },
190         { MT_RF(6, 49), 0x07 },
191         { MT_RF(6, 62), 0x00 },
192         { MT_RF(6, 63), 0x00 },
193         { MT_RF(6, 64), 0xF1 },
194         { MT_RF(6, 65), 0x0F },
195 };
196
197 static const struct mt76_reg_pair mt76x0_rf_vga_channel_0_tab[] = {
198         /* E3 CR */
199         { MT_RF(7,  0), 0x47 },
200         { MT_RF(7,  1), 0x00 },
201         { MT_RF(7,  2), 0x00 },
202         { MT_RF(7,  3), 0x00 },
203         { MT_RF(7,  4), 0x00 },
204         { MT_RF(7, 10), 0x13 },
205         { MT_RF(7, 11), 0x0F },
206         { MT_RF(7, 12), 0x13 },
207         { MT_RF(7, 13), 0x13 },
208         { MT_RF(7, 14), 0x13 },
209         { MT_RF(7, 15), 0x20 },
210         { MT_RF(7, 16), 0x22 },
211         { MT_RF(7, 17), 0x7C },
212         { MT_RF(7, 18), 0x00 },
213         { MT_RF(7, 19), 0x00 },
214         { MT_RF(7, 20), 0x00 },
215         { MT_RF(7, 21), 0xF1 },
216         { MT_RF(7, 22), 0x11 },
217         { MT_RF(7, 23), 0xC2 },
218         { MT_RF(7, 24), 0x41 },
219         { MT_RF(7, 25), 0x20 },
220         { MT_RF(7, 26), 0x40 },
221         { MT_RF(7, 27), 0xD7 },
222         { MT_RF(7, 28), 0xA2 },
223         { MT_RF(7, 29), 0x60 },
224         { MT_RF(7, 30), 0x49 },
225         { MT_RF(7, 31), 0x20 },
226         { MT_RF(7, 32), 0x44 },
227         { MT_RF(7, 33), 0xC1 },
228         { MT_RF(7, 34), 0x60 },
229         { MT_RF(7, 35), 0xC0 },
230         { MT_RF(7, 61), 0x01 },
231         { MT_RF(7, 72), 0x3C },
232         { MT_RF(7, 73), 0x34 },
233         { MT_RF(7, 74), 0x00 },
234 };
235
236 static const struct mt76x0_rf_switch_item mt76x0_rf_bw_switch_tab[] = {
237         /* bank, reg    bw/band                 value */
238         { MT_RF(0, 17), RF_G_BAND | RF_BW_20,   0x00 },
239         { MT_RF(0, 17), RF_G_BAND | RF_BW_40,   0x00 },
240         { MT_RF(0, 17), RF_A_BAND | RF_BW_20,   0x00 },
241         { MT_RF(0, 17), RF_A_BAND | RF_BW_40,   0x00 },
242         { MT_RF(0, 17), RF_A_BAND | RF_BW_80,   0x00 },
243         { MT_RF(7,  6), RF_G_BAND | RF_BW_20,   0x40 },
244         { MT_RF(7,  6), RF_G_BAND | RF_BW_40,   0x1C },
245         { MT_RF(7,  6), RF_A_BAND | RF_BW_20,   0x40 },
246         { MT_RF(7,  6), RF_A_BAND | RF_BW_40,   0x20 },
247         { MT_RF(7,  6), RF_A_BAND | RF_BW_80,   0x10 },
248         { MT_RF(7,  7), RF_G_BAND | RF_BW_20,   0x40 },
249         { MT_RF(7,  7), RF_G_BAND | RF_BW_40,   0x20 },
250         { MT_RF(7,  7), RF_A_BAND | RF_BW_20,   0x40 },
251         { MT_RF(7,  7), RF_A_BAND | RF_BW_40,   0x20 },
252         { MT_RF(7,  7), RF_A_BAND | RF_BW_80,   0x10 },
253         { MT_RF(7,  8), RF_G_BAND | RF_BW_20,   0x03 },
254         { MT_RF(7,  8), RF_G_BAND | RF_BW_40,   0x01 },
255         { MT_RF(7,  8), RF_A_BAND | RF_BW_20,   0x03 },
256         { MT_RF(7,  8), RF_A_BAND | RF_BW_40,   0x01 },
257         { MT_RF(7,  8), RF_A_BAND | RF_BW_80,   0x00 },
258         { MT_RF(7, 58), RF_G_BAND | RF_BW_20,   0x40 },
259         { MT_RF(7, 58), RF_G_BAND | RF_BW_40,   0x40 },
260         { MT_RF(7, 58), RF_A_BAND | RF_BW_20,   0x40 },
261         { MT_RF(7, 58), RF_A_BAND | RF_BW_40,   0x40 },
262         { MT_RF(7, 58), RF_A_BAND | RF_BW_80,   0x10 },
263         { MT_RF(7, 59), RF_G_BAND | RF_BW_20,   0x40 },
264         { MT_RF(7, 59), RF_G_BAND | RF_BW_40,   0x40 },
265         { MT_RF(7, 59), RF_A_BAND | RF_BW_20,   0x40 },
266         { MT_RF(7, 59), RF_A_BAND | RF_BW_40,   0x40 },
267         { MT_RF(7, 59), RF_A_BAND | RF_BW_80,   0x10 },
268         { MT_RF(7, 60), RF_G_BAND | RF_BW_20,   0xAA },
269         { MT_RF(7, 60), RF_G_BAND | RF_BW_40,   0xAA },
270         { MT_RF(7, 60), RF_A_BAND | RF_BW_20,   0xAA },
271         { MT_RF(7, 60), RF_A_BAND | RF_BW_40,   0xAA },
272         { MT_RF(7, 60), RF_A_BAND | RF_BW_80,   0xAA },
273         { MT_RF(7, 76), RF_BW_20,               0x40 },
274         { MT_RF(7, 76), RF_BW_40,               0x40 },
275         { MT_RF(7, 76), RF_BW_80,               0x10 },
276         { MT_RF(7, 77), RF_BW_20,               0x40 },
277         { MT_RF(7, 77), RF_BW_40,               0x40 },
278         { MT_RF(7, 77), RF_BW_80,               0x10 },
279 };
280
281 static const struct mt76x0_rf_switch_item mt76x0_rf_band_switch_tab[] = {
282         /* bank, reg            bw/band         value */
283         { MT_RF(0,  16),        RF_G_BAND,      0x20 },
284         { MT_RF(0,  16),        RF_A_BAND,      0x20 },
285         { MT_RF(0,  18),        RF_G_BAND,      0x00 },
286         { MT_RF(0,  18),        RF_A_BAND,      0x00 },
287         { MT_RF(0,  39),        RF_G_BAND,      0x36 },
288         { MT_RF(0,  39),        RF_A_BAND_LB,   0x34 },
289         { MT_RF(0,  39),        RF_A_BAND_MB,   0x33 },
290         { MT_RF(0,  39),        RF_A_BAND_HB,   0x31 },
291         { MT_RF(0,  39),        RF_A_BAND_11J,  0x36 },
292         { MT_RF(6,  12),        RF_A_BAND_LB,   0x44 },
293         { MT_RF(6,  12),        RF_A_BAND_MB,   0x44 },
294         { MT_RF(6,  12),        RF_A_BAND_HB,   0x55 },
295         { MT_RF(6,  12),        RF_A_BAND_11J,  0x44 },
296         { MT_RF(6,  17),        RF_A_BAND_LB,   0x02 },
297         { MT_RF(6,  17),        RF_A_BAND_MB,   0x00 },
298         { MT_RF(6,  17),        RF_A_BAND_HB,   0x00 },
299         { MT_RF(6,  17),        RF_A_BAND_11J,  0x05 },
300         { MT_RF(6,  24),        RF_A_BAND_LB,   0xA1 },
301         { MT_RF(6,  24),        RF_A_BAND_MB,   0x41 },
302         { MT_RF(6,  24),        RF_A_BAND_HB,   0x21 },
303         { MT_RF(6,  24),        RF_A_BAND_11J,  0xE1 },
304         { MT_RF(6,  39),        RF_A_BAND_LB,   0x36 },
305         { MT_RF(6,  39),        RF_A_BAND_MB,   0x34 },
306         { MT_RF(6,  39),        RF_A_BAND_HB,   0x32 },
307         { MT_RF(6,  39),        RF_A_BAND_11J,  0x37 },
308         { MT_RF(6,  42),        RF_A_BAND_LB,   0xFB },
309         { MT_RF(6,  42),        RF_A_BAND_MB,   0xF3 },
310         { MT_RF(6,  42),        RF_A_BAND_HB,   0xEB },
311         { MT_RF(6,  42),        RF_A_BAND_11J,  0xEB },
312         { MT_RF(6, 127),        RF_G_BAND,      0x84 },
313         { MT_RF(6, 127),        RF_A_BAND,      0x04 },
314         { MT_RF(7,   5),        RF_G_BAND,      0x40 },
315         { MT_RF(7,   5),        RF_A_BAND,      0x00 },
316         { MT_RF(7,   9),        RF_G_BAND,      0x00 },
317         { MT_RF(7,   9),        RF_A_BAND,      0x00 },
318         { MT_RF(7,  70),        RF_G_BAND,      0x00 },
319         { MT_RF(7,  70),        RF_A_BAND,      0x6D },
320         { MT_RF(7,  71),        RF_G_BAND,      0x00 },
321         { MT_RF(7,  71),        RF_A_BAND,      0xB0 },
322         { MT_RF(7,  78),        RF_G_BAND,      0x00 },
323         { MT_RF(7,  78),        RF_A_BAND,      0x55 },
324         { MT_RF(7,  79),        RF_G_BAND,      0x00 },
325         { MT_RF(7,  79),        RF_A_BAND,      0x55 },
326 };
327
328 static const struct mt76x0_freq_item mt76x0_frequency_plan[] = {
329         {   1,  RF_G_BAND,                      0x02, 0x3F, 0x28, 0xDD, 0xE2, 0x40, 0x02, 0x40, 0x02, 0, 0, 1, 0x28, 0, 0x30, 0, 0, 0x3 }, /* Freq 2412 */
330         {   2,  RF_G_BAND,                      0x02, 0x3F, 0x3C, 0xDD, 0xE4, 0x40, 0x07, 0x40, 0x02, 0, 0, 1, 0xA1, 0, 0x30, 0, 0, 0x1 }, /* Freq 2417 */
331         {   3,  RF_G_BAND,                      0x02, 0x3F, 0x3C, 0xDD, 0xE2, 0x40, 0x07, 0x40, 0x0B, 0, 0, 1, 0x50, 0, 0x30, 0, 0, 0x0 }, /* Freq 2422 */
332         {   4,  RF_G_BAND,                      0x02, 0x3F, 0x28, 0xDD, 0xD4, 0x40, 0x02, 0x40, 0x09, 0, 0, 1, 0x50, 0, 0x30, 0, 0, 0x0 }, /* Freq 2427 */
333         {   5,  RF_G_BAND,                      0x02, 0x3F, 0x3C, 0xDD, 0xD4, 0x40, 0x07, 0x40, 0x02, 0, 0, 1, 0xA2, 0, 0x30, 0, 0, 0x1 }, /* Freq 2432 */
334         {   6,  RF_G_BAND,                      0x02, 0x3F, 0x3C, 0xDD, 0xD4, 0x40, 0x07, 0x40, 0x07, 0, 0, 1, 0xA2, 0, 0x30, 0, 0, 0x1 }, /* Freq 2437 */
335         {   7,  RF_G_BAND,                      0x02, 0x3F, 0x28, 0xDD, 0xE2, 0x40, 0x02, 0x40, 0x07, 0, 0, 1, 0x28, 0, 0x30, 0, 0, 0x3 }, /* Freq 2442 */
336         {   8,  RF_G_BAND,                      0x02, 0x3F, 0x3C, 0xDD, 0xD4, 0x40, 0x07, 0x40, 0x02, 0, 0, 1, 0xA3, 0, 0x30, 0, 0, 0x1 }, /* Freq 2447 */
337         {   9,  RF_G_BAND,                      0x02, 0x3F, 0x3C, 0xDD, 0xF2, 0x40, 0x07, 0x40, 0x0D, 0, 0, 1, 0x28, 0, 0x30, 0, 0, 0x3 }, /* Freq 2452 */
338         {  10,  RF_G_BAND,                      0x02, 0x3F, 0x28, 0xDD, 0xD4, 0x40, 0x02, 0x40, 0x09, 0, 0, 1, 0x51, 0, 0x30, 0, 0, 0x0 }, /* Freq 2457 */
339         {  11,  RF_G_BAND,                      0x02, 0x3F, 0x3C, 0xDD, 0xD4, 0x40, 0x07, 0x40, 0x02, 0, 0, 1, 0xA4, 0, 0x30, 0, 0, 0x1 }, /* Freq 2462 */
340         {  12,  RF_G_BAND,                      0x02, 0x3F, 0x3C, 0xDD, 0xD4, 0x40, 0x07, 0x40, 0x07, 0, 0, 1, 0xA4, 0, 0x30, 0, 0, 0x1 }, /* Freq 2467 */
341         {  13,  RF_G_BAND,                      0x02, 0x3F, 0x28, 0xDD, 0xF2, 0x40, 0x02, 0x40, 0x02, 0, 0, 1, 0x29, 0, 0x30, 0, 0, 0x3 }, /* Freq 2472 */
342         {  14,  RF_G_BAND,                      0x02, 0x3F, 0x28, 0xDD, 0xF2, 0x40, 0x02, 0x40, 0x04, 0, 0, 1, 0x29, 0, 0x30, 0, 0, 0x3 }, /* Freq 2484 */
343         { 183,  (RF_A_BAND | RF_A_BAND_11J),    0x02, 0x3F, 0x70, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x17, 0, 0, 1, 0x28, 0, 0x30, 0, 0, 0x3 }, /* Freq 4915 */
344         { 184,  (RF_A_BAND | RF_A_BAND_11J),    0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x00, 0, 0, 1, 0x29, 0, 0x30, 0, 0, 0x3 }, /* Freq 4920 */
345         { 185,  (RF_A_BAND | RF_A_BAND_11J),    0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x01, 0, 0, 1, 0x29, 0, 0x30, 0, 0, 0x3 }, /* Freq 4925 */
346         { 187,  (RF_A_BAND | RF_A_BAND_11J),    0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x03, 0, 0, 1, 0x29, 0, 0x30, 0, 0, 0x3 }, /* Freq 4935 */
347         { 188,  (RF_A_BAND | RF_A_BAND_11J),    0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x02, 0, 0, 1, 0x29, 0, 0x30, 0, 0, 0x3 }, /* Freq 4940 */
348         { 189,  (RF_A_BAND | RF_A_BAND_11J),    0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x05, 0, 0, 1, 0x29, 0, 0x30, 0, 0, 0x3 }, /* Freq 4945 */
349         { 192,  (RF_A_BAND | RF_A_BAND_11J),    0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x04, 0, 0, 1, 0x29, 0, 0x30, 0, 0, 0x3 }, /* Freq 4960 */
350         { 196,  (RF_A_BAND | RF_A_BAND_11J),    0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x06, 0, 0, 1, 0x29, 0, 0x30, 0, 0, 0x3 }, /* Freq 4980 */
351         {  36,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x02, 0, 0, 1, 0x2B, 0, 0x30, 0, 0, 0x3 }, /* Freq 5180 */
352         {  37,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x05, 0, 0, 1, 0x2B, 0, 0x30, 0, 0, 0x3 }, /* Freq 5185 */
353         {  38,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x03, 0, 0, 1, 0x2B, 0, 0x30, 0, 0, 0x3 }, /* Freq 5190 */
354         {  39,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x07, 0, 0, 1, 0x2B, 0, 0x30, 0, 0, 0x3 }, /* Freq 5195 */
355         {  40,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x04, 0, 0, 1, 0x2B, 0, 0x30, 0, 0, 0x3 }, /* Freq 5200 */
356         {  41,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x09, 0, 0, 1, 0x2B, 0, 0x30, 0, 0, 0x3 }, /* Freq 5205 */
357         {  42,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x30, 0xDD, 0xD2, 0x40, 0x04, 0x40, 0x05, 0, 0, 1, 0x2B, 0, 0x30, 0, 0, 0x3 }, /* Freq 5210 */
358         {  43,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x0B, 0, 0, 1, 0x2B, 0, 0x30, 0, 0, 0x3 }, /* Freq 5215 */
359         {  44,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x06, 0, 0, 1, 0x2B, 0, 0x30, 0, 0, 0x3 }, /* Freq 5220 */
360         {  45,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x0D, 0, 0, 1, 0x2B, 0, 0x30, 0, 0, 0x3 }, /* Freq 5225 */
361         {  46,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x30, 0xDD, 0xD2, 0x40, 0x04, 0x40, 0x07, 0, 0, 1, 0x2B, 0, 0x30, 0, 0, 0x3 }, /* Freq 5230 */
362         {  47,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x0F, 0, 0, 1, 0x2B, 0, 0x30, 0, 0, 0x3 }, /* Freq 5235 */
363         {  48,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x08, 0, 0, 1, 0x2B, 0, 0x30, 0, 0, 0x3 }, /* Freq 5240 */
364         {  49,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x11, 0, 0, 1, 0x2B, 0, 0x30, 0, 0, 0x3 }, /* Freq 5245 */
365         {  50,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x09, 0, 0, 1, 0x2B, 0, 0x30, 0, 0, 0x3 }, /* Freq 5250 */
366         {  51,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x13, 0, 0, 1, 0x2B, 0, 0x30, 0, 0, 0x3 }, /* Freq 5255 */
367         {  52,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x0A, 0, 0, 1, 0x2B, 0, 0x30, 0, 0, 0x3 }, /* Freq 5260 */
368         {  53,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x15, 0, 0, 1, 0x2B, 0, 0x30, 0, 0, 0x3 }, /* Freq 5265 */
369         {  54,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x30, 0xDD, 0xD2, 0x40, 0x04, 0x40, 0x0B, 0, 0, 1, 0x2B, 0, 0x30, 0, 0, 0x3 }, /* Freq 5270 */
370         {  55,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x70, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x17, 0, 0, 1, 0x2B, 0, 0x30, 0, 0, 0x3 }, /* Freq 5275 */
371         {  56,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x00, 0, 0, 1, 0x2C, 0, 0x30, 0, 0, 0x3 }, /* Freq 5280 */
372         {  57,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x01, 0, 0, 1, 0x2C, 0, 0x30, 0, 0, 0x3 }, /* Freq 5285 */
373         {  58,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x30, 0xDD, 0xD2, 0x40, 0x04, 0x40, 0x01, 0, 0, 1, 0x2C, 0, 0x30, 0, 0, 0x3 }, /* Freq 5290 */
374         {  59,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x03, 0, 0, 1, 0x2C, 0, 0x30, 0, 0, 0x3 }, /* Freq 5295 */
375         {  60,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x02, 0, 0, 1, 0x2C, 0, 0x30, 0, 0, 0x3 }, /* Freq 5300 */
376         {  61,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x05, 0, 0, 1, 0x2C, 0, 0x30, 0, 0, 0x3 }, /* Freq 5305 */
377         {  62,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x03, 0, 0, 1, 0x2C, 0, 0x30, 0, 0, 0x3 }, /* Freq 5310 */
378         {  63,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x07, 0, 0, 1, 0x2C, 0, 0x30, 0, 0, 0x3 }, /* Freq 5315 */
379         {  64,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x04, 0, 0, 1, 0x2C, 0, 0x30, 0, 0, 0x3 }, /* Freq 5320 */
380         { 100,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x0A, 0, 0, 1, 0x2D, 0, 0x30, 0, 0, 0x3 }, /* Freq 5500 */
381         { 101,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x15, 0, 0, 1, 0x2D, 0, 0x30, 0, 0, 0x3 }, /* Freq 5505 */
382         { 102,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x30, 0xDD, 0xD2, 0x40, 0x04, 0x40, 0x0B, 0, 0, 1, 0x2D, 0, 0x30, 0, 0, 0x3 }, /* Freq 5510 */
383         { 103,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x70, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x17, 0, 0, 1, 0x2D, 0, 0x30, 0, 0, 0x3 }, /* Freq 5515 */
384         { 104,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x00, 0, 0, 1, 0x2E, 0, 0x30, 0, 0, 0x3 }, /* Freq 5520 */
385         { 105,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x01, 0, 0, 1, 0x2E, 0, 0x30, 0, 0, 0x3 }, /* Freq 5525 */
386         { 106,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x30, 0xDD, 0xD2, 0x40, 0x04, 0x40, 0x01, 0, 0, 1, 0x2E, 0, 0x30, 0, 0, 0x3 }, /* Freq 5530 */
387         { 107,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x03, 0, 0, 1, 0x2E, 0, 0x30, 0, 0, 0x3 }, /* Freq 5535 */
388         { 108,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x02, 0, 0, 1, 0x2E, 0, 0x30, 0, 0, 0x3 }, /* Freq 5540 */
389         { 109,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x05, 0, 0, 1, 0x2E, 0, 0x30, 0, 0, 0x3 }, /* Freq 5545 */
390         { 110,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x03, 0, 0, 1, 0x2E, 0, 0x30, 0, 0, 0x3 }, /* Freq 5550 */
391         { 111,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x07, 0, 0, 1, 0x2E, 0, 0x30, 0, 0, 0x3 }, /* Freq 5555 */
392         { 112,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x04, 0, 0, 1, 0x2E, 0, 0x30, 0, 0, 0x3 }, /* Freq 5560 */
393         { 113,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x09, 0, 0, 1, 0x2E, 0, 0x30, 0, 0, 0x3 }, /* Freq 5565 */
394         { 114,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x30, 0xDD, 0xD2, 0x40, 0x04, 0x40, 0x05, 0, 0, 1, 0x2E, 0, 0x30, 0, 0, 0x3 }, /* Freq 5570 */
395         { 115,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x0B, 0, 0, 1, 0x2E, 0, 0x30, 0, 0, 0x3 }, /* Freq 5575 */
396         { 116,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x06, 0, 0, 1, 0x2E, 0, 0x30, 0, 0, 0x3 }, /* Freq 5580 */
397         { 117,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x0D, 0, 0, 1, 0x2E, 0, 0x30, 0, 0, 0x3 }, /* Freq 5585 */
398         { 118,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x30, 0xDD, 0xD2, 0x40, 0x04, 0x40, 0x07, 0, 0, 1, 0x2E, 0, 0x30, 0, 0, 0x3 }, /* Freq 5590 */
399         { 119,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x0F, 0, 0, 1, 0x2E, 0, 0x30, 0, 0, 0x3 }, /* Freq 5595 */
400         { 120,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x08, 0, 0, 1, 0x2E, 0, 0x30, 0, 0, 0x3 }, /* Freq 5600 */
401         { 121,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x11, 0, 0, 1, 0x2E, 0, 0x30, 0, 0, 0x3 }, /* Freq 5605 */
402         { 122,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x09, 0, 0, 1, 0x2E, 0, 0x30, 0, 0, 0x3 }, /* Freq 5610 */
403         { 123,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x13, 0, 0, 1, 0x2E, 0, 0x30, 0, 0, 0x3 }, /* Freq 5615 */
404         { 124,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x0A, 0, 0, 1, 0x2E, 0, 0x30, 0, 0, 0x3 }, /* Freq 5620 */
405         { 125,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x15, 0, 0, 1, 0x2E, 0, 0x30, 0, 0, 0x3 }, /* Freq 5625 */
406         { 126,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x30, 0xDD, 0xD2, 0x40, 0x04, 0x40, 0x0B, 0, 0, 1, 0x2E, 0, 0x30, 0, 0, 0x3 }, /* Freq 5630 */
407         { 127,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x70, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x17, 0, 0, 1, 0x2E, 0, 0x30, 0, 0, 0x3 }, /* Freq 5635 */
408         { 128,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x00, 0, 0, 1, 0x2F, 0, 0x30, 0, 0, 0x3 }, /* Freq 5640 */
409         { 129,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x01, 0, 0, 1, 0x2F, 0, 0x30, 0, 0, 0x3 }, /* Freq 5645 */
410         { 130,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x30, 0xDD, 0xD2, 0x40, 0x04, 0x40, 0x01, 0, 0, 1, 0x2F, 0, 0x30, 0, 0, 0x3 }, /* Freq 5650 */
411         { 131,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x03, 0, 0, 1, 0x2F, 0, 0x30, 0, 0, 0x3 }, /* Freq 5655 */
412         { 132,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x02, 0, 0, 1, 0x2F, 0, 0x30, 0, 0, 0x3 }, /* Freq 5660 */
413         { 133,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x05, 0, 0, 1, 0x2F, 0, 0x30, 0, 0, 0x3 }, /* Freq 5665 */
414         { 134,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x03, 0, 0, 1, 0x2F, 0, 0x30, 0, 0, 0x3 }, /* Freq 5670 */
415         { 135,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x07, 0, 0, 1, 0x2F, 0, 0x30, 0, 0, 0x3 }, /* Freq 5675 */
416         { 136,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x04, 0, 0, 1, 0x2F, 0, 0x30, 0, 0, 0x3 }, /* Freq 5680 */
417         { 137,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x09, 0, 0, 1, 0x2F, 0, 0x30, 0, 0, 0x3 }, /* Freq 5685 */
418         { 138,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x30, 0xDD, 0xD2, 0x40, 0x04, 0x40, 0x05, 0, 0, 1, 0x2F, 0, 0x30, 0, 0, 0x3 }, /* Freq 5690 */
419         { 139,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x0B, 0, 0, 1, 0x2F, 0, 0x30, 0, 0, 0x3 }, /* Freq 5695 */
420         { 140,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x06, 0, 0, 1, 0x2F, 0, 0x30, 0, 0, 0x3 }, /* Freq 5700 */
421         { 141,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x0D, 0, 0, 1, 0x2F, 0, 0x30, 0, 0, 0x3 }, /* Freq 5705 */
422         { 142,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x30, 0xDD, 0xD2, 0x40, 0x04, 0x40, 0x07, 0, 0, 1, 0x2F, 0, 0x30, 0, 0, 0x3 }, /* Freq 5710 */
423         { 143,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x0F, 0, 0, 1, 0x2F, 0, 0x30, 0, 0, 0x3 }, /* Freq 5715 */
424         { 144,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x08, 0, 0, 1, 0x2F, 0, 0x30, 0, 0, 0x3 }, /* Freq 5720 */
425         { 145,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x11, 0, 0, 1, 0x2F, 0, 0x30, 0, 0, 0x3 }, /* Freq 5725 */
426         { 146,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x09, 0, 0, 1, 0x2F, 0, 0x30, 0, 0, 0x3 }, /* Freq 5730 */
427         { 147,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x13, 0, 0, 1, 0x2F, 0, 0x30, 0, 0, 0x3 }, /* Freq 5735 */
428         { 148,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x0A, 0, 0, 1, 0x2F, 0, 0x30, 0, 0, 0x3 }, /* Freq 5740 */
429         { 149,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x15, 0, 0, 1, 0x2F, 0, 0x30, 0, 0, 0x3 }, /* Freq 5745 */
430         { 150,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x30, 0xDD, 0xD2, 0x40, 0x04, 0x40, 0x0B, 0, 0, 1, 0x2F, 0, 0x30, 0, 0, 0x3 }, /* Freq 5750 */
431         { 151,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x70, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x17, 0, 0, 1, 0x2F, 0, 0x30, 0, 0, 0x3 }, /* Freq 5755 */
432         { 152,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x00, 0, 0, 1, 0x30, 0, 0x30, 0, 0, 0x3 }, /* Freq 5760 */
433         { 153,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x01, 0, 0, 1, 0x30, 0, 0x30, 0, 0, 0x3 }, /* Freq 5765 */
434         { 154,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x30, 0xDD, 0xD2, 0x40, 0x04, 0x40, 0x01, 0, 0, 1, 0x30, 0, 0x30, 0, 0, 0x3 }, /* Freq 5770 */
435         { 155,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x03, 0, 0, 1, 0x30, 0, 0x30, 0, 0, 0x3 }, /* Freq 5775 */
436         { 156,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x02, 0, 0, 1, 0x30, 0, 0x30, 0, 0, 0x3 }, /* Freq 5780 */
437         { 157,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x05, 0, 0, 1, 0x30, 0, 0x30, 0, 0, 0x3 }, /* Freq 5785 */
438         { 158,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x03, 0, 0, 1, 0x30, 0, 0x30, 0, 0, 0x3 }, /* Freq 5790 */
439         { 159,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x07, 0, 0, 1, 0x30, 0, 0x30, 0, 0, 0x3 }, /* Freq 5795 */
440         { 160,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x04, 0, 0, 1, 0x30, 0, 0x30, 0, 0, 0x3 }, /* Freq 5800 */
441         { 161,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x09, 0, 0, 1, 0x30, 0, 0x30, 0, 0, 0x3 }, /* Freq 5805 */
442         { 162,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x30, 0xDD, 0xD2, 0x40, 0x04, 0x40, 0x05, 0, 0, 1, 0x30, 0, 0x30, 0, 0, 0x3 }, /* Freq 5810 */
443         { 163,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x0B, 0, 0, 1, 0x30, 0, 0x30, 0, 0, 0x3 }, /* Freq 5815 */
444         { 164,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x06, 0, 0, 1, 0x30, 0, 0x30, 0, 0, 0x3 }, /* Freq 5820 */
445         { 165,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x0D, 0, 0, 1, 0x30, 0, 0x30, 0, 0, 0x3 }, /* Freq 5825 */
446         { 166,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x30, 0xDD, 0xD2, 0x40, 0x04, 0x40, 0x07, 0, 0, 1, 0x30, 0, 0x30, 0, 0, 0x3 }, /* Freq 5830 */
447         { 167,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x0F, 0, 0, 1, 0x30, 0, 0x30, 0, 0, 0x3 }, /* Freq 5835 */
448         { 168,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x08, 0, 0, 1, 0x30, 0, 0x30, 0, 0, 0x3 }, /* Freq 5840 */
449         { 169,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x11, 0, 0, 1, 0x30, 0, 0x30, 0, 0, 0x3 }, /* Freq 5845 */
450         { 170,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x09, 0, 0, 1, 0x30, 0, 0x30, 0, 0, 0x3 }, /* Freq 5850 */
451         { 171,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x13, 0, 0, 1, 0x30, 0, 0x30, 0, 0, 0x3 }, /* Freq 5855 */
452         { 172,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x30, 0x97, 0xD2, 0x40, 0x04, 0x40, 0x0A, 0, 0, 1, 0x30, 0, 0x30, 0, 0, 0x3 }, /* Freq 5860 */
453         { 173,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x68, 0xDD, 0xD2, 0x40, 0x10, 0x40, 0x15, 0, 0, 1, 0x30, 0, 0x30, 0, 0, 0x3 }, /* Freq 5865 */
454 };
455
456 static const struct mt76x0_freq_item mt76x0_sdm_frequency_plan[] = {
457         {   1,  RF_G_BAND,                      0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x28, 0, 0x0, 0x8, 0x0CCCC, 0x3 }, /* Freq 2412 */
458         {   2,  RF_G_BAND,                      0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x28, 0, 0x0, 0x8, 0x12222, 0x3 }, /* Freq 2417 */
459         {   3,  RF_G_BAND,                      0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x28, 0, 0x0, 0x8, 0x17777, 0x3 }, /* Freq 2422 */
460         {   4,  RF_G_BAND,                      0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x28, 0, 0x0, 0x8, 0x1CCCC, 0x3 }, /* Freq 2427 */
461         {   5,  RF_G_BAND,                      0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x28, 0, 0x0, 0x8, 0x22222, 0x3 }, /* Freq 2432 */
462         {   6,  RF_G_BAND,                      0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x28, 0, 0x0, 0x8, 0x27777, 0x3 }, /* Freq 2437 */
463         {   7,  RF_G_BAND,                      0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x28, 0, 0x0, 0x8, 0x2CCCC, 0x3 }, /* Freq 2442 */
464         {   8,  RF_G_BAND,                      0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x28, 0, 0x0, 0x8, 0x32222, 0x3 }, /* Freq 2447 */
465         {   9,  RF_G_BAND,                      0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x28, 0, 0x0, 0x8, 0x37777, 0x3 }, /* Freq 2452 */
466         {  10,  RF_G_BAND,                      0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x28, 0, 0x0, 0x8, 0x3CCCC, 0x3 }, /* Freq 2457 */
467         {  11,  RF_G_BAND,                      0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x29, 0, 0x0, 0x8, 0x02222, 0x3 }, /* Freq 2462 */
468         {  12,  RF_G_BAND,                      0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x29, 0, 0x0, 0x8, 0x07777, 0x3 }, /* Freq 2467 */
469         {  13,  RF_G_BAND,                      0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x29, 0, 0x0, 0x8, 0x0CCCC, 0x3 }, /* Freq 2472 */
470         {  14,  RF_G_BAND,                      0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x29, 0, 0x0, 0x8, 0x19999, 0x3 }, /* Freq 2484 */
471         { 183,  (RF_A_BAND | RF_A_BAND_11J),    0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x28, 0, 0x0, 0x8, 0x3D555, 0x3 }, /* Freq 4915 */
472         { 184,  (RF_A_BAND | RF_A_BAND_11J),    0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x29, 0, 0x0, 0x8, 0x00000, 0x3 }, /* Freq 4920 */
473         { 185,  (RF_A_BAND | RF_A_BAND_11J),    0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x29, 0, 0x0, 0x8, 0x02AAA, 0x3 }, /* Freq 4925 */
474         { 187,  (RF_A_BAND | RF_A_BAND_11J),    0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x29, 0, 0x0, 0x8, 0x08000, 0x3 }, /* Freq 4935 */
475         { 188,  (RF_A_BAND | RF_A_BAND_11J),    0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x29, 0, 0x0, 0x8, 0x0AAAA, 0x3 }, /* Freq 4940 */
476         { 189,  (RF_A_BAND | RF_A_BAND_11J),    0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x29, 0, 0x0, 0x8, 0x0D555, 0x3 }, /* Freq 4945 */
477         { 192,  (RF_A_BAND | RF_A_BAND_11J),    0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x29, 0, 0x0, 0x8, 0x15555, 0x3 }, /* Freq 4960 */
478         { 196,  (RF_A_BAND | RF_A_BAND_11J),    0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x29, 0, 0x0, 0x8, 0x20000, 0x3 }, /* Freq 4980 */
479         {  36,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2B, 0, 0x0, 0x8, 0x0AAAA, 0x3 }, /* Freq 5180 */
480         {  37,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2B, 0, 0x0, 0x8, 0x0D555, 0x3 }, /* Freq 5185 */
481         {  38,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2B, 0, 0x0, 0x8, 0x10000, 0x3 }, /* Freq 5190 */
482         {  39,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2B, 0, 0x0, 0x8, 0x12AAA, 0x3 }, /* Freq 5195 */
483         {  40,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2B, 0, 0x0, 0x8, 0x15555, 0x3 }, /* Freq 5200 */
484         {  41,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2B, 0, 0x0, 0x8, 0x18000, 0x3 }, /* Freq 5205 */
485         {  42,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2B, 0, 0x0, 0x8, 0x1AAAA, 0x3 }, /* Freq 5210 */
486         {  43,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2B, 0, 0x0, 0x8, 0x1D555, 0x3 }, /* Freq 5215 */
487         {  44,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2B, 0, 0x0, 0x8, 0x20000, 0x3 }, /* Freq 5220 */
488         {  45,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2B, 0, 0x0, 0x8, 0x22AAA, 0x3 }, /* Freq 5225 */
489         {  46,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2B, 0, 0x0, 0x8, 0x25555, 0x3 }, /* Freq 5230 */
490         {  47,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2B, 0, 0x0, 0x8, 0x28000, 0x3 }, /* Freq 5235 */
491         {  48,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2B, 0, 0x0, 0x8, 0x2AAAA, 0x3 }, /* Freq 5240 */
492         {  49,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2B, 0, 0x0, 0x8, 0x2D555, 0x3 }, /* Freq 5245 */
493         {  50,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2B, 0, 0x0, 0x8, 0x30000, 0x3 }, /* Freq 5250 */
494         {  51,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2B, 0, 0x0, 0x8, 0x32AAA, 0x3 }, /* Freq 5255 */
495         {  52,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2B, 0, 0x0, 0x8, 0x35555, 0x3 }, /* Freq 5260 */
496         {  53,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2B, 0, 0x0, 0x8, 0x38000, 0x3 }, /* Freq 5265 */
497         {  54,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2B, 0, 0x0, 0x8, 0x3AAAA, 0x3 }, /* Freq 5270 */
498         {  55,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2B, 0, 0x0, 0x8, 0x3D555, 0x3 }, /* Freq 5275 */
499         {  56,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2C, 0, 0x0, 0x8, 0x00000, 0x3 }, /* Freq 5280 */
500         {  57,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2C, 0, 0x0, 0x8, 0x02AAA, 0x3 }, /* Freq 5285 */
501         {  58,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2C, 0, 0x0, 0x8, 0x05555, 0x3 }, /* Freq 5290 */
502         {  59,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2C, 0, 0x0, 0x8, 0x08000, 0x3 }, /* Freq 5295 */
503         {  60,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2C, 0, 0x0, 0x8, 0x0AAAA, 0x3 }, /* Freq 5300 */
504         {  61,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2C, 0, 0x0, 0x8, 0x0D555, 0x3 }, /* Freq 5305 */
505         {  62,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2C, 0, 0x0, 0x8, 0x10000, 0x3 }, /* Freq 5310 */
506         {  63,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2C, 0, 0x0, 0x8, 0x12AAA, 0x3 }, /* Freq 5315 */
507         {  64,  (RF_A_BAND | RF_A_BAND_LB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2C, 0, 0x0, 0x8, 0x15555, 0x3 }, /* Freq 5320 */
508         { 100,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2D, 0, 0x0, 0x8, 0x35555, 0x3 }, /* Freq 5500 */
509         { 101,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2D, 0, 0x0, 0x8, 0x38000, 0x3 }, /* Freq 5505 */
510         { 102,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2D, 0, 0x0, 0x8, 0x3AAAA, 0x3 }, /* Freq 5510 */
511         { 103,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2D, 0, 0x0, 0x8, 0x3D555, 0x3 }, /* Freq 5515 */
512         { 104,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2E, 0, 0x0, 0x8, 0x00000, 0x3 }, /* Freq 5520 */
513         { 105,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2E, 0, 0x0, 0x8, 0x02AAA, 0x3 }, /* Freq 5525 */
514         { 106,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2E, 0, 0x0, 0x8, 0x05555, 0x3 }, /* Freq 5530 */
515         { 107,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2E, 0, 0x0, 0x8, 0x08000, 0x3 }, /* Freq 5535 */
516         { 108,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2E, 0, 0x0, 0x8, 0x0AAAA, 0x3 }, /* Freq 5540 */
517         { 109,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2E, 0, 0x0, 0x8, 0x0D555, 0x3 }, /* Freq 5545 */
518         { 110,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2E, 0, 0x0, 0x8, 0x10000, 0x3 }, /* Freq 5550 */
519         { 111,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2E, 0, 0x0, 0x8, 0x12AAA, 0x3 }, /* Freq 5555 */
520         { 112,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2E, 0, 0x0, 0x8, 0x15555, 0x3 }, /* Freq 5560 */
521         { 113,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2E, 0, 0x0, 0x8, 0x18000, 0x3 }, /* Freq 5565 */
522         { 114,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2E, 0, 0x0, 0x8, 0x1AAAA, 0x3 }, /* Freq 5570 */
523         { 115,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2E, 0, 0x0, 0x8, 0x1D555, 0x3 }, /* Freq 5575 */
524         { 116,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2E, 0, 0x0, 0x8, 0x20000, 0x3 }, /* Freq 5580 */
525         { 117,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2E, 0, 0x0, 0x8, 0x22AAA, 0x3 }, /* Freq 5585 */
526         { 118,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2E, 0, 0x0, 0x8, 0x25555, 0x3 }, /* Freq 5590 */
527         { 119,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2E, 0, 0x0, 0x8, 0x28000, 0x3 }, /* Freq 5595 */
528         { 120,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2E, 0, 0x0, 0x8, 0x2AAAA, 0x3 }, /* Freq 5600 */
529         { 121,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2E, 0, 0x0, 0x8, 0x2D555, 0x3 }, /* Freq 5605 */
530         { 122,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2E, 0, 0x0, 0x8, 0x30000, 0x3 }, /* Freq 5610 */
531         { 123,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2E, 0, 0x0, 0x8, 0x32AAA, 0x3 }, /* Freq 5615 */
532         { 124,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2E, 0, 0x0, 0x8, 0x35555, 0x3 }, /* Freq 5620 */
533         { 125,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2E, 0, 0x0, 0x8, 0x38000, 0x3 }, /* Freq 5625 */
534         { 126,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2E, 0, 0x0, 0x8, 0x3AAAA, 0x3 }, /* Freq 5630 */
535         { 127,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2E, 0, 0x0, 0x8, 0x3D555, 0x3 }, /* Freq 5635 */
536         { 128,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2F, 0, 0x0, 0x8, 0x00000, 0x3 }, /* Freq 5640 */
537         { 129,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2F, 0, 0x0, 0x8, 0x02AAA, 0x3 }, /* Freq 5645 */
538         { 130,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2F, 0, 0x0, 0x8, 0x05555, 0x3 }, /* Freq 5650 */
539         { 131,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2F, 0, 0x0, 0x8, 0x08000, 0x3 }, /* Freq 5655 */
540         { 132,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2F, 0, 0x0, 0x8, 0x0AAAA, 0x3 }, /* Freq 5660 */
541         { 133,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2F, 0, 0x0, 0x8, 0x0D555, 0x3 }, /* Freq 5665 */
542         { 134,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2F, 0, 0x0, 0x8, 0x10000, 0x3 }, /* Freq 5670 */
543         { 135,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2F, 0, 0x0, 0x8, 0x12AAA, 0x3 }, /* Freq 5675 */
544         { 136,  (RF_A_BAND | RF_A_BAND_MB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2F, 0, 0x0, 0x8, 0x15555, 0x3 }, /* Freq 5680 */
545         { 137,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2F, 0, 0x0, 0x8, 0x18000, 0x3 }, /* Freq 5685 */
546         { 138,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2F, 0, 0x0, 0x8, 0x1AAAA, 0x3 }, /* Freq 5690 */
547         { 139,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2F, 0, 0x0, 0x8, 0x1D555, 0x3 }, /* Freq 5695 */
548         { 140,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2F, 0, 0x0, 0x8, 0x20000, 0x3 }, /* Freq 5700 */
549         { 141,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2F, 0, 0x0, 0x8, 0x22AAA, 0x3 }, /* Freq 5705 */
550         { 142,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2F, 0, 0x0, 0x8, 0x25555, 0x3 }, /* Freq 5710 */
551         { 143,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2F, 0, 0x0, 0x8, 0x28000, 0x3 }, /* Freq 5715 */
552         { 144,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2F, 0, 0x0, 0x8, 0x2AAAA, 0x3 }, /* Freq 5720 */
553         { 145,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2F, 0, 0x0, 0x8, 0x2D555, 0x3 }, /* Freq 5725 */
554         { 146,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2F, 0, 0x0, 0x8, 0x30000, 0x3 }, /* Freq 5730 */
555         { 147,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2F, 0, 0x0, 0x8, 0x32AAA, 0x3 }, /* Freq 5735 */
556         { 148,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2F, 0, 0x0, 0x8, 0x35555, 0x3 }, /* Freq 5740 */
557         { 149,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2F, 0, 0x0, 0x8, 0x38000, 0x3 }, /* Freq 5745 */
558         { 150,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2F, 0, 0x0, 0x8, 0x3AAAA, 0x3 }, /* Freq 5750 */
559         { 151,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x2F, 0, 0x0, 0x8, 0x3D555, 0x3 }, /* Freq 5755 */
560         { 152,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x30, 0, 0x0, 0x8, 0x00000, 0x3 }, /* Freq 5760 */
561         { 153,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x30, 0, 0x0, 0x8, 0x02AAA, 0x3 }, /* Freq 5765 */
562         { 154,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x30, 0, 0x0, 0x8, 0x05555, 0x3 }, /* Freq 5770 */
563         { 155,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x30, 0, 0x0, 0x8, 0x08000, 0x3 }, /* Freq 5775 */
564         { 156,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x30, 0, 0x0, 0x8, 0x0AAAA, 0x3 }, /* Freq 5780 */
565         { 157,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x30, 0, 0x0, 0x8, 0x0D555, 0x3 }, /* Freq 5785 */
566         { 158,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x30, 0, 0x0, 0x8, 0x10000, 0x3 }, /* Freq 5790 */
567         { 159,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x30, 0, 0x0, 0x8, 0x12AAA, 0x3 }, /* Freq 5795 */
568         { 160,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x30, 0, 0x0, 0x8, 0x15555, 0x3 }, /* Freq 5800 */
569         { 161,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x30, 0, 0x0, 0x8, 0x18000, 0x3 }, /* Freq 5805 */
570         { 162,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x30, 0, 0x0, 0x8, 0x1AAAA, 0x3 }, /* Freq 5810 */
571         { 163,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x30, 0, 0x0, 0x8, 0x1D555, 0x3 }, /* Freq 5815 */
572         { 164,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x30, 0, 0x0, 0x8, 0x20000, 0x3 }, /* Freq 5820 */
573         { 165,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x30, 0, 0x0, 0x8, 0x22AAA, 0x3 }, /* Freq 5825 */
574         { 166,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x30, 0, 0x0, 0x8, 0x25555, 0x3 }, /* Freq 5830 */
575         { 167,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x30, 0, 0x0, 0x8, 0x28000, 0x3 }, /* Freq 5835 */
576         { 168,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x30, 0, 0x0, 0x8, 0x2AAAA, 0x3 }, /* Freq 5840 */
577         { 169,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x30, 0, 0x0, 0x8, 0x2D555, 0x3 }, /* Freq 5845 */
578         { 170,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x30, 0, 0x0, 0x8, 0x30000, 0x3 }, /* Freq 5850 */
579         { 171,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x30, 0, 0x0, 0x8, 0x32AAA, 0x3 }, /* Freq 5855 */
580         { 172,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x30, 0, 0x0, 0x8, 0x35555, 0x3 }, /* Freq 5860 */
581         { 173,  (RF_A_BAND | RF_A_BAND_HB),     0x02, 0x3F, 0x7F, 0xDD, 0xC3, 0x40, 0x0, 0x80, 0x0, 0, 0, 0, 0x30, 0, 0x0, 0x8, 0x38000, 0x3 }, /* Freq 5865 */
582 };
583
584 static const u8 mt76x0_sdm_channel[] = {
585         183, 185,  43,  45,
586         54,   55,  57,  58,
587         102, 103, 105, 106,
588         115, 117, 126, 127,
589         129, 130, 139, 141,
590         150, 151, 153, 154,
591         163, 165
592 };
593
594 static const struct mt76x0_rf_switch_item mt76x0_rf_ext_pa_tab[] = {
595         { MT_RF(6, 45), RF_A_BAND_LB,   0x63 },
596         { MT_RF(6, 45), RF_A_BAND_MB,   0x43 },
597         { MT_RF(6, 45), RF_A_BAND_HB,   0x33 },
598         { MT_RF(6, 45), RF_A_BAND_11J,  0x73 },
599         { MT_RF(6, 50), RF_A_BAND_LB,   0x02 },
600         { MT_RF(6, 50), RF_A_BAND_MB,   0x02 },
601         { MT_RF(6, 50), RF_A_BAND_HB,   0x02 },
602         { MT_RF(6, 50), RF_A_BAND_11J,  0x02 },
603         { MT_RF(6, 51), RF_A_BAND_LB,   0x02 },
604         { MT_RF(6, 51), RF_A_BAND_MB,   0x02 },
605         { MT_RF(6, 51), RF_A_BAND_HB,   0x02 },
606         { MT_RF(6, 51), RF_A_BAND_11J,  0x02 },
607         { MT_RF(6, 52), RF_A_BAND_LB,   0x08 },
608         { MT_RF(6, 52), RF_A_BAND_MB,   0x08 },
609         { MT_RF(6, 52), RF_A_BAND_HB,   0x08 },
610         { MT_RF(6, 52), RF_A_BAND_11J,  0x08 },
611         { MT_RF(6, 53), RF_A_BAND_LB,   0x08 },
612         { MT_RF(6, 53), RF_A_BAND_MB,   0x08 },
613         { MT_RF(6, 53), RF_A_BAND_HB,   0x08 },
614         { MT_RF(6, 53), RF_A_BAND_11J,  0x08 },
615         { MT_RF(6, 54), RF_A_BAND_LB,   0x0A },
616         { MT_RF(6, 54), RF_A_BAND_MB,   0x0A },
617         { MT_RF(6, 54), RF_A_BAND_HB,   0x0A },
618         { MT_RF(6, 54), RF_A_BAND_11J,  0x0A },
619         { MT_RF(6, 55), RF_A_BAND_LB,   0x0A },
620         { MT_RF(6, 55), RF_A_BAND_MB,   0x0A },
621         { MT_RF(6, 55), RF_A_BAND_HB,   0x0A },
622         { MT_RF(6, 55), RF_A_BAND_11J,  0x0A },
623         { MT_RF(6, 56), RF_A_BAND_LB,   0x05 },
624         { MT_RF(6, 56), RF_A_BAND_MB,   0x05 },
625         { MT_RF(6, 56), RF_A_BAND_HB,   0x05 },
626         { MT_RF(6, 56), RF_A_BAND_11J,  0x05 },
627         { MT_RF(6, 57), RF_A_BAND_LB,   0x05 },
628         { MT_RF(6, 57), RF_A_BAND_MB,   0x05 },
629         { MT_RF(6, 57), RF_A_BAND_HB,   0x05 },
630         { MT_RF(6, 57), RF_A_BAND_11J,  0x05 },
631         { MT_RF(6, 58), RF_A_BAND_LB,   0x05 },
632         { MT_RF(6, 58), RF_A_BAND_MB,   0x03 },
633         { MT_RF(6, 58), RF_A_BAND_HB,   0x02 },
634         { MT_RF(6, 58), RF_A_BAND_11J,  0x07 },
635         { MT_RF(6, 59), RF_A_BAND_LB,   0x05 },
636         { MT_RF(6, 59), RF_A_BAND_MB,   0x03 },
637         { MT_RF(6, 59), RF_A_BAND_HB,   0x02 },
638         { MT_RF(6, 59), RF_A_BAND_11J,  0x07 },
639 };
640
641 #endif