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
775