ath - Reimport fresh from FreeBSD 01-Jan-2014 for re-port
[dragonfly.git] / sys / dev / netif / ath / ath_hal / ah_regdomain / ah_rd_domains.h
1 /*
2  * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting
3  * Copyright (c) 2005-2006 Atheros Communications, Inc.
4  * All rights reserved.
5  *
6  * Permission to use, copy, modify, and/or distribute this software for any
7  * purpose with or without fee is hereby granted, provided that the above
8  * copyright notice and this permission notice appear in all copies.
9  *
10  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17  *
18  * $FreeBSD$
19  */
20
21 #ifndef __AH_REGDOMAIN_DOMAINS_H__
22 #define __AH_REGDOMAIN_DOMAINS_H__
23
24 /* 
25  * BMLEN defines the size of the bitmask used to hold frequency
26  * band specifications.  Note this must agree with the BM macro
27  * definition that's used to setup initializers.  See also further
28  * comments below.
29  */
30 /* BMLEN is now defined in ah_regdomain.h */
31 #define W0(_a) \
32         (((_a) >= 0 && (_a) < 64 ? (((uint64_t) 1)<<(_a)) : (uint64_t) 0))
33 #define W1(_a) \
34         (((_a) > 63 && (_a) < 128 ? (((uint64_t) 1)<<((_a)-64)) : (uint64_t) 0))
35 #define BM1(_fa)        { W0(_fa), W1(_fa) }
36 #define BM2(_fa, _fb)   { W0(_fa) | W0(_fb), W1(_fa) | W1(_fb) }
37 #define BM3(_fa, _fb, _fc) \
38         { W0(_fa) | W0(_fb) | W0(_fc), W1(_fa) | W1(_fb) | W1(_fc) }
39 #define BM4(_fa, _fb, _fc, _fd)                                         \
40         { W0(_fa) | W0(_fb) | W0(_fc) | W0(_fd),                        \
41           W1(_fa) | W1(_fb) | W1(_fc) | W1(_fd) }
42 #define BM5(_fa, _fb, _fc, _fd, _fe)                                    \
43         { W0(_fa) | W0(_fb) | W0(_fc) | W0(_fd) | W0(_fe),              \
44           W1(_fa) | W1(_fb) | W1(_fc) | W1(_fd) | W1(_fe) }
45 #define BM6(_fa, _fb, _fc, _fd, _fe, _ff)                               \
46         { W0(_fa) | W0(_fb) | W0(_fc) | W0(_fd) | W0(_fe) | W0(_ff),    \
47           W1(_fa) | W1(_fb) | W1(_fc) | W1(_fd) | W1(_fe) | W1(_ff) }
48 #define BM7(_fa, _fb, _fc, _fd, _fe, _ff, _fg)  \
49         { W0(_fa) | W0(_fb) | W0(_fc) | W0(_fd) | W0(_fe) | W0(_ff) |   \
50           W0(_fg),\
51           W1(_fa) | W1(_fb) | W1(_fc) | W1(_fd) | W1(_fe) | W1(_ff) |   \
52           W1(_fg) }
53 #define BM8(_fa, _fb, _fc, _fd, _fe, _ff, _fg, _fh)     \
54         { W0(_fa) | W0(_fb) | W0(_fc) | W0(_fd) | W0(_fe) | W0(_ff) |   \
55           W0(_fg) | W0(_fh) ,   \
56           W1(_fa) | W1(_fb) | W1(_fc) | W1(_fd) | W1(_fe) | W1(_ff) |   \
57           W1(_fg) | W1(_fh) }
58 #define BM9(_fa, _fb, _fc, _fd, _fe, _ff, _fg, _fh, _fi)        \
59         { W0(_fa) | W0(_fb) | W0(_fc) | W0(_fd) | W0(_fe) | W0(_ff) |   \
60           W0(_fg) | W0(_fh) | W0(_fi) , \
61           W1(_fa) | W1(_fb) | W1(_fc) | W1(_fd) | W1(_fe) | W1(_ff) |   \
62           W1(_fg) | W1(_fh) | W1(_fi) }
63
64 static REG_DOMAIN regDomains[] = {
65
66         {.regDmnEnum            = DEBUG_REG_DMN,
67          .conformanceTestLimit  = FCC,
68          .dfsMask               = DFS_FCC3,
69          .chan11a               = BM4(F1_4950_4980,
70                                       F1_5120_5240,
71                                       F1_5260_5700,
72                                       F1_5745_5825),
73          .chan11a_half          = BM4(F1_4945_4985,
74                                       F2_5120_5240,
75                                       F2_5260_5700,
76                                       F7_5745_5825),
77          .chan11a_quarter       = BM4(F1_4942_4987,
78                                       F3_5120_5240,
79                                       F3_5260_5700,
80                                       F8_5745_5825),
81          .chan11a_turbo         = BM8(T1_5130_5210,
82                                       T1_5250_5330,
83                                       T1_5370_5490,
84                                       T1_5530_5650,
85                                       T1_5150_5190,
86                                       T1_5230_5310,
87                                       T1_5350_5470,
88                                       T1_5510_5670),
89          .chan11a_dyn_turbo     = BM4(T1_5200_5240,
90                                       T1_5280_5280,
91                                       T1_5540_5660,
92                                       T1_5765_5805),
93          .chan11b               = BM4(F1_2312_2372,
94                                       F1_2412_2472,
95                                       F1_2484_2484,
96                                       F1_2512_2732),
97          .chan11g               = BM3(G1_2312_2372, G1_2412_2472, G1_2512_2732),
98          .chan11g_turbo         = BM3(T1_2312_2372, T1_2437_2437, T1_2512_2732),
99          .chan11g_half          = BM3(G2_2312_2372, G4_2412_2472, G2_2512_2732),
100          .chan11g_quarter       = BM3(G3_2312_2372, G5_2412_2472, G3_2512_2732),
101         },
102
103         {.regDmnEnum            = APL1,
104          .conformanceTestLimit  = FCC,
105          .chan11a               = BM1(F4_5745_5825),
106         },
107
108         {.regDmnEnum            = APL2,
109          .conformanceTestLimit  = FCC,
110          .chan11a               = BM1(F1_5745_5805),
111         },
112
113         {.regDmnEnum            = APL3,
114          .conformanceTestLimit  = FCC,
115          .chan11a               = BM2(F1_5280_5320, F2_5745_5805),
116         },
117
118         {.regDmnEnum            = APL4,
119          .conformanceTestLimit  = FCC,
120          .chan11a               = BM2(F4_5180_5240, F3_5745_5825),
121         },
122
123         {.regDmnEnum            = APL5,
124          .conformanceTestLimit  = FCC,
125          .chan11a               = BM1(F2_5745_5825),
126         },
127
128         {.regDmnEnum            = APL6,
129          .conformanceTestLimit  = ETSI,
130          .dfsMask               = DFS_ETSI,
131          .pscan                 = PSCAN_FCC_T | PSCAN_FCC,
132          .chan11a               = BM3(F4_5180_5240, F2_5260_5320, F3_5745_5825),
133          .chan11a_turbo         = BM3(T2_5210_5210, T1_5250_5290, T1_5760_5800),
134         },
135
136         {.regDmnEnum            = APL8,
137          .conformanceTestLimit  = ETSI,
138          .flags                 = DISALLOW_ADHOC_11A|DISALLOW_ADHOC_11A_TURB,
139          .chan11a               = BM2(F6_5260_5320, F4_5745_5825),
140         },
141
142         {.regDmnEnum            = APL9,
143          .conformanceTestLimit  = ETSI,
144          .dfsMask               = DFS_ETSI,
145          .pscan                 = PSCAN_ETSI,
146          .flags                 = DISALLOW_ADHOC_11A|DISALLOW_ADHOC_11A_TURB,
147          .chan11a               = BM3(F1_5180_5320, F1_5500_5620, F3_5745_5805),
148         },
149
150         {.regDmnEnum            = ETSI1,
151          .conformanceTestLimit  = ETSI,
152          .dfsMask               = DFS_ETSI,
153          .pscan                 = PSCAN_ETSI,
154          .flags                 = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
155          .chan11a               = BM3(W2_5180_5240, F2_5260_5320, F2_5500_5700),
156         },
157
158         {.regDmnEnum            = ETSI2,
159          .conformanceTestLimit  = ETSI,
160          .dfsMask               = DFS_ETSI,
161          .pscan                 = PSCAN_ETSI,
162          .flags                 = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
163          .chan11a               = BM1(F3_5180_5240),
164         },
165
166         {.regDmnEnum            = ETSI3,
167          .conformanceTestLimit  = ETSI,
168          .dfsMask               = DFS_ETSI,
169          .pscan                 = PSCAN_ETSI,
170          .flags                 = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
171          .chan11a               = BM2(W2_5180_5240, F2_5260_5320),
172         },
173
174         {.regDmnEnum            = ETSI4,
175          .conformanceTestLimit  = ETSI,
176          .dfsMask               = DFS_ETSI,
177          .pscan                 = PSCAN_ETSI,
178          .flags                 = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
179          .chan11a               = BM2(F3_5180_5240, F1_5260_5320),
180         },
181
182         {.regDmnEnum            = ETSI5,
183          .conformanceTestLimit  = ETSI,
184          .dfsMask               = DFS_ETSI,
185          .pscan                 = PSCAN_ETSI,
186          .flags                 = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
187          .chan11a               = BM1(F1_5180_5240),
188         },
189
190         {.regDmnEnum            = ETSI6,
191          .conformanceTestLimit  = ETSI,
192          .dfsMask               = DFS_ETSI,
193          .pscan                 = PSCAN_ETSI,
194          .flags                 = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
195          .chan11a               = BM3(F5_5180_5240, F1_5260_5280, F3_5500_5700),
196         },
197
198         {.regDmnEnum            = FCC1,
199          .conformanceTestLimit  = FCC,
200          .chan11a               = BM3(F2_5180_5240, F4_5260_5320, F5_5745_5825),
201          .chan11a_turbo         = BM3(T1_5210_5210, T2_5250_5290, T2_5760_5800),
202          .chan11a_dyn_turbo     = BM3(T1_5200_5240, T1_5280_5280, T1_5765_5805),
203         },
204
205         {.regDmnEnum            = FCC2,
206          .conformanceTestLimit  = FCC,
207          .chan11a               = BM3(F6_5180_5240, F5_5260_5320, F6_5745_5825),
208          .chan11a_dyn_turbo     = BM3(T2_5200_5240, T1_5280_5280, T1_5765_5805),
209         },
210
211         {.regDmnEnum            = FCC3,
212          .conformanceTestLimit  = FCC,
213          .dfsMask               = DFS_FCC3,
214          .pscan                 = PSCAN_FCC | PSCAN_FCC_T,
215          .chan11a               = BM4(F2_5180_5240,
216                                       F3_5260_5320,
217                                       F1_5500_5700,
218                                       F5_5745_5825),
219          .chan11a_turbo         = BM4(T1_5210_5210,
220                                       T1_5250_5250,
221                                       T1_5290_5290,
222                                       T2_5760_5800),
223          .chan11a_dyn_turbo     = BM3(T1_5200_5240, T2_5280_5280, T1_5540_5660),
224         },
225
226         {.regDmnEnum            = FCC4,
227          .conformanceTestLimit  = FCC,
228          .dfsMask               = DFS_FCC3,
229          .pscan                 = PSCAN_FCC | PSCAN_FCC_T,
230          .chan11a               = BM1(F1_4950_4980),
231          .chan11a_half          = BM1(F1_4945_4985),
232          .chan11a_quarter       = BM1(F1_4942_4987),
233         },
234
235         /* FCC1 w/ 1/2 and 1/4 width channels */
236         {.regDmnEnum            = FCC5,
237          .conformanceTestLimit  = FCC,
238          .chan11a               = BM3(F2_5180_5240, F4_5260_5320, F5_5745_5825),
239          .chan11a_turbo         = BM3(T1_5210_5210, T2_5250_5290, T2_5760_5800),
240          .chan11a_dyn_turbo     = BM3(T1_5200_5240, T1_5280_5280, T1_5765_5805),
241          .chan11a_half          = BM3(F7_5180_5240, F7_5260_5320, F9_5745_5825),
242          .chan11a_quarter       = BM3(F8_5180_5240, F8_5260_5320,F10_5745_5825),
243         },
244
245         {.regDmnEnum            = MKK1,
246          .conformanceTestLimit  = MKK,
247          .pscan                 = PSCAN_MKK1,
248          .flags                 = DISALLOW_ADHOC_11A_TURB,
249          .chan11a               = BM1(F1_5170_5230),
250         },
251
252         {.regDmnEnum            = MKK2,
253          .conformanceTestLimit  = MKK,
254          .pscan                 = PSCAN_MKK2,
255          .flags                 = DISALLOW_ADHOC_11A_TURB,
256          .chan11a               = BM3(F1_4920_4980, F1_5040_5080, F1_5170_5230),
257          .chan11a_half          = BM4(F1_4915_4925,
258                                       F1_4935_4945,
259                                       F1_5035_5040,
260                                       F1_5055_5055),
261         },
262
263         /* UNI-1 even */
264         {.regDmnEnum            = MKK3,
265          .conformanceTestLimit  = MKK,
266          .pscan                 = PSCAN_MKK3,
267          .flags                 = DISALLOW_ADHOC_11A_TURB,
268          .chan11a               = BM1(F4_5180_5240),
269         },
270
271         /* UNI-1 even + UNI-2 */
272         {.regDmnEnum            = MKK4,
273          .conformanceTestLimit  = MKK,
274          .dfsMask               = DFS_MKK4,
275          .pscan                 = PSCAN_MKK3,
276          .flags                 = DISALLOW_ADHOC_11A_TURB,
277          .chan11a               = BM2(F4_5180_5240, F2_5260_5320),
278         },
279
280         /* UNI-1 even + UNI-2 + mid-band */
281         {.regDmnEnum            = MKK5,
282          .conformanceTestLimit  = MKK,
283          .dfsMask               = DFS_MKK4,
284          .pscan                 = PSCAN_MKK3,
285          .flags                 = DISALLOW_ADHOC_11A_TURB,
286          .chan11a               = BM3(F4_5180_5240, F2_5260_5320, F4_5500_5700),
287         },
288
289         /* UNI-1 odd + even */
290         {.regDmnEnum            = MKK6,
291          .conformanceTestLimit  = MKK,
292          .pscan                 = PSCAN_MKK1,
293          .flags                 = DISALLOW_ADHOC_11A_TURB,
294          .chan11a               = BM2(F2_5170_5230, F4_5180_5240),
295         },
296
297         /* UNI-1 odd + UNI-1 even + UNI-2 */
298         {.regDmnEnum            = MKK7,
299          .conformanceTestLimit  = MKK,
300          .dfsMask               = DFS_MKK4,
301          .pscan                 = PSCAN_MKK1 | PSCAN_MKK3,
302          .flags                 = DISALLOW_ADHOC_11A_TURB,
303          .chan11a               = BM3(F1_5170_5230, F4_5180_5240, F2_5260_5320),
304         },
305
306         /* UNI-1 odd + UNI-1 even + UNI-2 + mid-band */
307         {.regDmnEnum            = MKK8,
308          .conformanceTestLimit  = MKK,
309          .dfsMask               = DFS_MKK4,
310          .pscan                 = PSCAN_MKK1 | PSCAN_MKK3,
311          .flags                 = DISALLOW_ADHOC_11A_TURB,
312          .chan11a               = BM4(F1_5170_5230,
313                                       F4_5180_5240,
314                                       F2_5260_5320,
315                                       F4_5500_5700),
316         },
317
318         /* UNI-1 even + 4.9 GHZ */
319         {.regDmnEnum            = MKK9,
320          .conformanceTestLimit  = MKK,
321          .pscan                 = PSCAN_MKK3,
322          .flags                 = DISALLOW_ADHOC_11A_TURB,
323          .chan11a               = BM7(F1_4915_4925,
324                                       F1_4935_4945,
325                                       F1_4920_4980,
326                                       F1_5035_5040,
327                                       F1_5055_5055,
328                                       F1_5040_5080,
329                                       F4_5180_5240),
330         },
331
332         /* UNI-1 even + UNI-2 + 4.9 GHZ */
333         {.regDmnEnum            = MKK10,
334          .conformanceTestLimit  = MKK,
335          .dfsMask               = DFS_MKK4,
336          .pscan                 = PSCAN_MKK3,
337          .flags                 = DISALLOW_ADHOC_11A_TURB,
338          .chan11a               = BM8(F1_4915_4925,
339                                       F1_4935_4945,
340                                       F1_4920_4980,
341                                       F1_5035_5040,
342                                       F1_5055_5055,
343                                       F1_5040_5080,
344                                       F4_5180_5240,
345                                       F2_5260_5320),
346         },
347
348         /* Defined here to use when 2G channels are authorised for country K2 */
349         {.regDmnEnum            = APLD,
350          .conformanceTestLimit  = NO_CTL,
351          .chan11b               = BM2(F2_2312_2372,F2_2412_2472),
352          .chan11g               = BM2(G2_2312_2372,G2_2412_2472),
353         },
354
355         {.regDmnEnum            = ETSIA,
356          .conformanceTestLimit  = NO_CTL,
357          .pscan                 = PSCAN_ETSIA,
358          .flags                 = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
359          .chan11b               = BM1(F1_2457_2472),
360          .chan11g               = BM1(G1_2457_2472),
361          .chan11g_turbo         = BM1(T2_2437_2437)
362         },
363
364         {.regDmnEnum            = ETSIB,
365          .conformanceTestLimit  = ETSI,
366          .pscan                 = PSCAN_ETSIB,
367          .flags                 = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
368          .chan11b               = BM1(F1_2432_2442),
369          .chan11g               = BM1(G1_2432_2442),
370          .chan11g_turbo         = BM1(T2_2437_2437)
371         },
372
373         {.regDmnEnum            = ETSIC,
374          .conformanceTestLimit  = ETSI,
375          .pscan                 = PSCAN_ETSIC,
376          .flags                 = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
377          .chan11b               = BM1(F3_2412_2472),
378          .chan11g               = BM1(G3_2412_2472),
379          .chan11g_turbo         = BM1(T2_2437_2437)
380         },
381
382         {.regDmnEnum            = FCCA,
383          .conformanceTestLimit  = FCC,
384          .chan11b               = BM1(F1_2412_2462),
385          .chan11g               = BM1(G1_2412_2462),
386          .chan11g_turbo         = BM1(T2_2437_2437),
387         },
388
389         /* FCCA w/ 1/2 and 1/4 width channels */
390         {.regDmnEnum            = FCCB,
391          .conformanceTestLimit  = FCC,
392          .chan11b               = BM1(F1_2412_2462),
393          .chan11g               = BM1(G1_2412_2462),
394          .chan11g_turbo         = BM1(T2_2437_2437),
395          .chan11g_half          = BM1(G3_2412_2462),
396          .chan11g_quarter       = BM1(G4_2412_2462),
397         },
398
399         {.regDmnEnum            = MKKA,
400          .conformanceTestLimit  = MKK,
401          .pscan                 = PSCAN_MKKA | PSCAN_MKKA_G
402                                 | PSCAN_MKKA1 | PSCAN_MKKA1_G
403                                 | PSCAN_MKKA2 | PSCAN_MKKA2_G,
404          .flags                 = DISALLOW_ADHOC_11A_TURB,
405          .chan11b               = BM3(F2_2412_2462, F1_2467_2472, F2_2484_2484),
406          .chan11g               = BM2(G2_2412_2462, G1_2467_2472),
407          .chan11g_turbo         = BM1(T2_2437_2437)
408         },
409
410         {.regDmnEnum            = MKKC,
411          .conformanceTestLimit  = MKK,
412          .chan11b               = BM1(F2_2412_2472),
413          .chan11g               = BM1(G2_2412_2472),
414          .chan11g_turbo         = BM1(T2_2437_2437)
415         },
416
417         {.regDmnEnum            = WORLD,
418          .conformanceTestLimit  = ETSI,
419          .chan11b               = BM1(F2_2412_2472),
420          .chan11g               = BM1(G2_2412_2472),
421          .chan11g_turbo         = BM1(T2_2437_2437)
422         },
423
424         {.regDmnEnum            = WOR0_WORLD,
425          .conformanceTestLimit  = NO_CTL,
426          .dfsMask               = DFS_FCC3 | DFS_ETSI,
427          .pscan                 = PSCAN_WWR,
428          .flags                 = ADHOC_PER_11D,
429          .chan11a               = BM5(W1_5260_5320,
430                                       W1_5180_5240,
431                                       W1_5170_5230,
432                                       W1_5745_5825,
433                                       W1_5500_5700),
434          .chan11a_turbo         = BM3(WT1_5210_5250,
435                                       WT1_5290_5290,
436                                       WT1_5760_5800),
437          .chan11b               = BM8(W1_2412_2412,
438                                       W1_2437_2442,
439                                       W1_2462_2462,
440                                       W1_2472_2472,
441                                       W1_2417_2432,
442                                       W1_2447_2457,
443                                       W1_2467_2467,
444                                       W1_2484_2484),
445          .chan11g               = BM7(WG1_2412_2412,
446                                       WG1_2437_2442,
447                                       WG1_2462_2462,
448                                       WG1_2472_2472,
449                                       WG1_2417_2432,
450                                       WG1_2447_2457,
451                                       WG1_2467_2467),
452          .chan11g_turbo         = BM1(T3_2437_2437)
453         },
454
455         {.regDmnEnum            = WOR01_WORLD,
456          .conformanceTestLimit  = NO_CTL,
457          .dfsMask               = DFS_FCC3 | DFS_ETSI,
458          .pscan                 = PSCAN_WWR,
459          .flags                 = ADHOC_PER_11D,
460          .chan11a               = BM5(W1_5260_5320,
461                                       W1_5180_5240,
462                                       W1_5170_5230,
463                                       W1_5745_5825,
464                                       W1_5500_5700),
465          .chan11a_turbo         = BM3(WT1_5210_5250,
466                                       WT1_5290_5290,
467                                       WT1_5760_5800),
468          .chan11b               = BM5(W1_2412_2412,
469                                       W1_2437_2442,
470                                       W1_2462_2462,
471                                       W1_2417_2432,
472                                       W1_2447_2457),
473          .chan11g               = BM5(WG1_2412_2412,
474                                       WG1_2437_2442,
475                                       WG1_2462_2462,
476                                       WG1_2417_2432,
477                                       WG1_2447_2457),
478          .chan11g_turbo         = BM1(T3_2437_2437)},
479
480         {.regDmnEnum            = WOR02_WORLD,
481          .conformanceTestLimit  = NO_CTL,
482          .dfsMask               = DFS_FCC3 | DFS_ETSI,
483          .pscan                 = PSCAN_WWR,
484          .flags                 = ADHOC_PER_11D,
485          .chan11a               = BM5(W1_5260_5320,
486                                       W1_5180_5240,
487                                       W1_5170_5230,
488                                       W1_5745_5825,
489                                       W1_5500_5700),
490          .chan11a_turbo         = BM3(WT1_5210_5250,
491                                       WT1_5290_5290,
492                                       WT1_5760_5800),
493          .chan11b               = BM7(W1_2412_2412,
494                                       W1_2437_2442,
495                                       W1_2462_2462,
496                                       W1_2472_2472,
497                                       W1_2417_2432,
498                                       W1_2447_2457,
499                                       W1_2467_2467),
500          .chan11g               = BM7(WG1_2412_2412,
501                                       WG1_2437_2442,
502                                       WG1_2462_2462,
503                                       WG1_2472_2472,
504                                       WG1_2417_2432,
505                                       WG1_2447_2457,
506                                       WG1_2467_2467),
507          .chan11g_turbo         = BM1(T3_2437_2437)},
508
509         {.regDmnEnum            = EU1_WORLD,
510          .conformanceTestLimit  = NO_CTL,
511          .dfsMask               = DFS_FCC3 | DFS_ETSI,
512          .pscan                 = PSCAN_WWR,
513          .flags                 = ADHOC_PER_11D,
514          .chan11a               = BM5(W1_5260_5320,
515                                       W1_5180_5240,
516                                       W1_5170_5230,
517                                       W1_5745_5825,
518                                       W1_5500_5700),
519          .chan11a_turbo         = BM3(WT1_5210_5250,
520                                       WT1_5290_5290,
521                                       WT1_5760_5800),
522          .chan11b               = BM7(W1_2412_2412,
523                                       W1_2437_2442,
524                                       W1_2462_2462,
525                                       W2_2472_2472,
526                                       W1_2417_2432,
527                                       W1_2447_2457,
528                                       W2_2467_2467),
529          .chan11g               = BM7(WG1_2412_2412,
530                                       WG1_2437_2442,
531                                       WG1_2462_2462,
532                                       WG2_2472_2472,
533                                       WG1_2417_2432,
534                                       WG1_2447_2457,
535                                       WG2_2467_2467),
536          .chan11g_turbo         = BM1(T3_2437_2437)},
537
538         {.regDmnEnum            = WOR1_WORLD,
539          .conformanceTestLimit  = NO_CTL,
540          .dfsMask               = DFS_FCC3 | DFS_ETSI,
541          .pscan                 = PSCAN_WWR,
542          .flags                 = DISALLOW_ADHOC_11A,
543          .chan11a               = BM5(W1_5260_5320,
544                                       W1_5180_5240,
545                                       W1_5170_5230,
546                                       W1_5745_5825,
547                                       W1_5500_5700),
548          .chan11b               = BM8(W1_2412_2412,
549                                       W1_2437_2442,
550                                       W1_2462_2462,
551                                       W1_2472_2472,
552                                       W1_2417_2432,
553                                       W1_2447_2457,
554                                       W1_2467_2467,
555                                       W1_2484_2484),
556          .chan11g               = BM7(WG1_2412_2412,
557                                       WG1_2437_2442,
558                                       WG1_2462_2462,
559                                       WG1_2472_2472,
560                                       WG1_2417_2432,
561                                       WG1_2447_2457,
562                                       WG1_2467_2467),
563          .chan11g_turbo         = BM1(T3_2437_2437)
564         },
565
566         {.regDmnEnum            = WOR2_WORLD,
567          .conformanceTestLimit  = NO_CTL,
568          .dfsMask               = DFS_FCC3 | DFS_ETSI,
569          .pscan                 = PSCAN_WWR,
570          .flags                 = DISALLOW_ADHOC_11A,
571          .chan11a               = BM5(W1_5260_5320,
572                                       W1_5180_5240,
573                                       W1_5170_5230,
574                                       W1_5745_5825,
575                                       W1_5500_5700),
576          .chan11a_turbo         = BM3(WT1_5210_5250,
577                                       WT1_5290_5290,
578                                       WT1_5760_5800),
579          .chan11b               = BM8(W1_2412_2412,
580                                       W1_2437_2442,
581                                       W1_2462_2462,
582                                       W1_2472_2472,
583                                       W1_2417_2432,
584                                       W1_2447_2457,
585                                       W1_2467_2467,
586                                       W1_2484_2484),
587          .chan11g               = BM7(WG1_2412_2412,
588                                       WG1_2437_2442,
589                                       WG1_2462_2462,
590                                       WG1_2472_2472,
591                                       WG1_2417_2432,
592                                       WG1_2447_2457,
593                                       WG1_2467_2467),
594          .chan11g_turbo         = BM1(T3_2437_2437)},
595
596         {.regDmnEnum            = WOR3_WORLD,
597          .conformanceTestLimit  = NO_CTL,
598          .dfsMask               = DFS_FCC3 | DFS_ETSI,
599          .pscan                 = PSCAN_WWR,
600          .flags                 = ADHOC_PER_11D,
601          .chan11a               = BM4(W1_5260_5320,
602                                       W1_5180_5240,
603                                       W1_5170_5230,
604                                       W1_5745_5825),
605          .chan11a_turbo         = BM3(WT1_5210_5250,
606                                       WT1_5290_5290,
607                                       WT1_5760_5800),
608          .chan11b               = BM7(W1_2412_2412,
609                                       W1_2437_2442,
610                                       W1_2462_2462,
611                                       W1_2472_2472,
612                                       W1_2417_2432,
613                                       W1_2447_2457,
614                                       W1_2467_2467),
615          .chan11g               = BM7(WG1_2412_2412,
616                                       WG1_2437_2442,
617                                       WG1_2462_2462,
618                                       WG1_2472_2472,
619                                       WG1_2417_2432,
620                                       WG1_2447_2457,
621                                       WG1_2467_2467),
622          .chan11g_turbo         = BM1(T3_2437_2437)},
623
624         {.regDmnEnum            = WOR4_WORLD,
625          .conformanceTestLimit  = NO_CTL,
626          .dfsMask               = DFS_FCC3 | DFS_ETSI,
627          .pscan                 = PSCAN_WWR,
628          .flags                 = DISALLOW_ADHOC_11A,
629          .chan11a               = BM4(W2_5260_5320,
630                                       W2_5180_5240,
631                                       F2_5745_5805,
632                                       W2_5825_5825),
633          .chan11a_turbo         = BM3(WT1_5210_5250,
634                                       WT1_5290_5290,
635                                       WT1_5760_5800),
636          .chan11b               = BM5(W1_2412_2412,
637                                       W1_2437_2442,
638                                       W1_2462_2462,
639                                       W1_2417_2432,
640                                       W1_2447_2457),
641          .chan11g               = BM5(WG1_2412_2412,
642                                       WG1_2437_2442,
643                                       WG1_2462_2462,
644                                       WG1_2417_2432,
645                                       WG1_2447_2457),
646          .chan11g_turbo         = BM1(T3_2437_2437)},
647
648         {.regDmnEnum            = WOR5_ETSIC,
649          .conformanceTestLimit  = NO_CTL,
650          .dfsMask               = DFS_FCC3 | DFS_ETSI,
651          .pscan                 = PSCAN_WWR,
652          .flags                 = DISALLOW_ADHOC_11A,
653          .chan11a               = BM3(W1_5260_5320, W2_5180_5240, F6_5745_5825),
654          .chan11b               = BM7(W1_2412_2412,
655                                       W1_2437_2442,
656                                       W1_2462_2462,
657                                       W2_2472_2472,
658                                       W1_2417_2432,
659                                       W1_2447_2457,
660                                       W2_2467_2467),
661          .chan11g               = BM7(WG1_2412_2412,
662                                       WG1_2437_2442,
663                                       WG1_2462_2462,
664                                       WG2_2472_2472,
665                                       WG1_2417_2432,
666                                       WG1_2447_2457,
667                                       WG2_2467_2467),
668          .chan11g_turbo         = BM1(T3_2437_2437)},
669
670         {.regDmnEnum            = WOR9_WORLD,
671          .conformanceTestLimit  = NO_CTL,
672          .dfsMask               = DFS_FCC3 | DFS_ETSI,
673          .pscan                 = PSCAN_WWR,
674          .flags                 = DISALLOW_ADHOC_11A,
675          .chan11a               = BM4(W1_5260_5320,
676                                       W1_5180_5240,
677                                       W1_5745_5825,
678                                       W1_5500_5700),
679          .chan11a_turbo         = BM3(WT1_5210_5250,
680                                       WT1_5290_5290,
681                                       WT1_5760_5800),
682          .chan11b               = BM5(W1_2412_2412,
683                                       W1_2437_2442,
684                                       W1_2462_2462,
685                                       W1_2417_2432,
686                                       W1_2447_2457),
687          .chan11g               = BM5(WG1_2412_2412,
688                                       WG1_2437_2442,
689                                       WG1_2462_2462,
690                                       WG1_2417_2432,
691                                       WG1_2447_2457),
692          .chan11g_turbo         = BM1(T3_2437_2437)},
693
694         {.regDmnEnum            = WORA_WORLD,
695          .conformanceTestLimit  = NO_CTL,
696          .dfsMask               = DFS_FCC3 | DFS_ETSI,
697          .pscan                 = PSCAN_WWR,
698          .flags                 = DISALLOW_ADHOC_11A,
699          .chan11a               = BM4(W1_5260_5320,
700                                       W1_5180_5240,
701                                       W1_5745_5825,
702                                       W1_5500_5700),
703          .chan11b               = BM7(W1_2412_2412,
704                                       W1_2437_2442,
705                                       W1_2462_2462,
706                                       W1_2472_2472,
707                                       W1_2417_2432,
708                                       W1_2447_2457,
709                                       W1_2467_2467),
710          .chan11g               = BM7(WG1_2412_2412,
711                                       WG1_2437_2442,
712                                       WG1_2462_2462,
713                                       WG1_2472_2472,
714                                       WG1_2417_2432,
715                                       WG1_2447_2457,
716                                       WG1_2467_2467),
717          .chan11g_turbo         = BM1(T3_2437_2437)},
718
719         {.regDmnEnum            = WORB_WORLD,
720          .conformanceTestLimit  = NO_CTL,
721          .dfsMask               = DFS_FCC3 | DFS_ETSI,
722          .pscan                 = PSCAN_WWR,
723          .flags                 = DISALLOW_ADHOC_11A,
724          .chan11a               = BM4(W1_5260_5320,
725                                       W1_5180_5240,
726                                       W1_5745_5825,
727                                       W1_5500_5700),
728          .chan11b               = BM7(W1_2412_2412,
729                                       W1_2437_2442,
730                                       W1_2462_2462,
731                                       W1_2472_2472,
732                                       W1_2417_2432,
733                                       W1_2447_2457,
734                                       W1_2467_2467),
735          .chan11g               = BM7(WG1_2412_2412,
736                                       WG1_2437_2442,
737                                       WG1_2462_2462,
738                                       WG1_2472_2472,
739                                       WG1_2417_2432,
740                                       WG1_2447_2457,
741                                       WG1_2467_2467),
742          .chan11g_turbo         = BM1(T3_2437_2437)},
743
744         {.regDmnEnum            = WORC_WORLD,
745          .conformanceTestLimit  = NO_CTL,
746          .dfsMask               = DFS_FCC3 | DFS_ETSI,
747          .pscan                 = PSCAN_WWR,
748          .flags                 = ADHOC_PER_11D,
749          .chan11a               = BM4(W1_5260_5320,
750                                       W1_5180_5240,
751                                       W1_5745_5825,
752                                       W1_5500_5700),
753          .chan11b               = BM7(W1_2412_2412,
754                                       W1_2437_2442,
755                                       W1_2462_2462,
756                                       W1_2472_2472,
757                                       W1_2417_2432,
758                                       W1_2447_2457,
759                                       W1_2467_2467),
760          .chan11g               = BM7(WG1_2412_2412,
761                                       WG1_2437_2442,
762                                       WG1_2462_2462,
763                                       WG1_2472_2472,
764                                       WG1_2417_2432,
765                                       WG1_2447_2457,
766                                       WG1_2467_2467),
767          .chan11g_turbo         = BM1(T3_2437_2437)},
768
769         {.regDmnEnum            = NULL1,
770          .conformanceTestLimit  = NO_CTL,
771         }
772 };
773
774 #endif