• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2008 Atheros Communications Inc.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for any
5  * purpose with or without fee is hereby granted, provided that the above
6  * copyright notice and this permission notice appear in all copies.
7  *
8  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15  */
16 
17 #ifndef REGD_COMMON_H
18 #define REGD_COMMON_H
19 
20 enum EnumRd {
21 	NO_ENUMRD = 0x00,
22 	NULL1_WORLD = 0x03,
23 	NULL1_ETSIB = 0x07,
24 	NULL1_ETSIC = 0x08,
25 	FCC1_FCCA = 0x10,
26 	FCC1_WORLD = 0x11,
27 	FCC4_FCCA = 0x12,
28 	FCC5_FCCA = 0x13,
29 	FCC6_FCCA = 0x14,
30 
31 	FCC2_FCCA = 0x20,
32 	FCC2_WORLD = 0x21,
33 	FCC2_ETSIC = 0x22,
34 	FCC6_WORLD = 0x23,
35 	FRANCE_RES = 0x31,
36 	FCC3_FCCA = 0x3A,
37 	FCC3_WORLD = 0x3B,
38 
39 	ETSI1_WORLD = 0x37,
40 	ETSI3_ETSIA = 0x32,
41 	ETSI2_WORLD = 0x35,
42 	ETSI3_WORLD = 0x36,
43 	ETSI4_WORLD = 0x30,
44 	ETSI4_ETSIC = 0x38,
45 	ETSI5_WORLD = 0x39,
46 	ETSI6_WORLD = 0x34,
47 	ETSI_RESERVED = 0x33,
48 
49 	MKK1_MKKA = 0x40,
50 	MKK1_MKKB = 0x41,
51 	APL4_WORLD = 0x42,
52 	MKK2_MKKA = 0x43,
53 	APL_RESERVED = 0x44,
54 	APL2_WORLD = 0x45,
55 	APL2_APLC = 0x46,
56 	APL3_WORLD = 0x47,
57 	MKK1_FCCA = 0x48,
58 	APL2_APLD = 0x49,
59 	MKK1_MKKA1 = 0x4A,
60 	MKK1_MKKA2 = 0x4B,
61 	MKK1_MKKC = 0x4C,
62 
63 	APL3_FCCA = 0x50,
64 	APL1_WORLD = 0x52,
65 	APL1_FCCA = 0x53,
66 	APL1_APLA = 0x54,
67 	APL1_ETSIC = 0x55,
68 	APL2_ETSIC = 0x56,
69 	APL5_WORLD = 0x58,
70 	APL6_WORLD = 0x5B,
71 	APL7_FCCA = 0x5C,
72 	APL8_WORLD = 0x5D,
73 	APL9_WORLD = 0x5E,
74 
75 	WOR0_WORLD = 0x60,
76 	WOR1_WORLD = 0x61,
77 	WOR2_WORLD = 0x62,
78 	WOR3_WORLD = 0x63,
79 	WOR4_WORLD = 0x64,
80 	WOR5_ETSIC = 0x65,
81 
82 	WOR01_WORLD = 0x66,
83 	WOR02_WORLD = 0x67,
84 	EU1_WORLD = 0x68,
85 
86 	WOR9_WORLD = 0x69,
87 	WORA_WORLD = 0x6A,
88 	WORB_WORLD = 0x6B,
89 
90 	MKK3_MKKB = 0x80,
91 	MKK3_MKKA2 = 0x81,
92 	MKK3_MKKC = 0x82,
93 
94 	MKK4_MKKB = 0x83,
95 	MKK4_MKKA2 = 0x84,
96 	MKK4_MKKC = 0x85,
97 
98 	MKK5_MKKB = 0x86,
99 	MKK5_MKKA2 = 0x87,
100 	MKK5_MKKC = 0x88,
101 
102 	MKK6_MKKB = 0x89,
103 	MKK6_MKKA2 = 0x8A,
104 	MKK6_MKKC = 0x8B,
105 
106 	MKK7_MKKB = 0x8C,
107 	MKK7_MKKA2 = 0x8D,
108 	MKK7_MKKC = 0x8E,
109 
110 	MKK8_MKKB = 0x8F,
111 	MKK8_MKKA2 = 0x90,
112 	MKK8_MKKC = 0x91,
113 
114 	MKK14_MKKA1 = 0x92,
115 	MKK15_MKKA1 = 0x93,
116 
117 	MKK10_FCCA = 0xD0,
118 	MKK10_MKKA1 = 0xD1,
119 	MKK10_MKKC = 0xD2,
120 	MKK10_MKKA2 = 0xD3,
121 
122 	MKK11_MKKA = 0xD4,
123 	MKK11_FCCA = 0xD5,
124 	MKK11_MKKA1 = 0xD6,
125 	MKK11_MKKC = 0xD7,
126 	MKK11_MKKA2 = 0xD8,
127 
128 	MKK12_MKKA = 0xD9,
129 	MKK12_FCCA = 0xDA,
130 	MKK12_MKKA1 = 0xDB,
131 	MKK12_MKKC = 0xDC,
132 	MKK12_MKKA2 = 0xDD,
133 
134 	MKK13_MKKB = 0xDE,
135 
136 	MKK3_MKKA = 0xF0,
137 	MKK3_MKKA1 = 0xF1,
138 	MKK3_FCCA = 0xF2,
139 	MKK4_MKKA = 0xF3,
140 	MKK4_MKKA1 = 0xF4,
141 	MKK4_FCCA = 0xF5,
142 	MKK9_MKKA = 0xF6,
143 	MKK10_MKKA = 0xF7,
144 	MKK6_MKKA1 = 0xF8,
145 	MKK6_FCCA = 0xF9,
146 	MKK7_MKKA1 = 0xFA,
147 	MKK7_FCCA = 0xFB,
148 	MKK9_FCCA = 0xFC,
149 	MKK9_MKKA1 = 0xFD,
150 	MKK9_MKKC = 0xFE,
151 	MKK9_MKKA2 = 0xFF,
152 
153 	APL1 = 0x0150,
154 	APL2 = 0x0250,
155 	APL3 = 0x0350,
156 	APL4 = 0x0450,
157 	APL5 = 0x0550,
158 	APL6 = 0x0650,
159 	APL7 = 0x0750,
160 	APL8 = 0x0850,
161 	APL9 = 0x0950,
162 	APL10 = 0x1050,
163 
164 	ETSI1 = 0x0130,
165 	ETSI2 = 0x0230,
166 	ETSI3 = 0x0330,
167 	ETSI4 = 0x0430,
168 	ETSI5 = 0x0530,
169 	ETSI6 = 0x0630,
170 	ETSIA = 0x0A30,
171 	ETSIB = 0x0B30,
172 	ETSIC = 0x0C30,
173 
174 	FCC1 = 0x0110,
175 	FCC2 = 0x0120,
176 	FCC3 = 0x0160,
177 	FCC4 = 0x0165,
178 	FCC5 = 0x0510,
179 	FCC6 = 0x0610,
180 	FCCA = 0x0A10,
181 
182 	APLD = 0x0D50,
183 
184 	MKK1 = 0x0140,
185 	MKK2 = 0x0240,
186 	MKK3 = 0x0340,
187 	MKK4 = 0x0440,
188 	MKK5 = 0x0540,
189 	MKK6 = 0x0640,
190 	MKK7 = 0x0740,
191 	MKK8 = 0x0840,
192 	MKK9 = 0x0940,
193 	MKK10 = 0x0B40,
194 	MKK11 = 0x1140,
195 	MKK12 = 0x1240,
196 	MKK13 = 0x0C40,
197 	MKK14 = 0x1440,
198 	MKK15 = 0x1540,
199 	MKKA = 0x0A40,
200 	MKKC = 0x0A50,
201 
202 	NULL1 = 0x0198,
203 	WORLD = 0x0199,
204 	DEBUG_REG_DMN = 0x01ff,
205 };
206 
207 enum {
208 	FCC = 0x10,
209 	MKK = 0x40,
210 	ETSI = 0x30,
211 };
212 
213 enum {
214 	NO_REQ = 0x00000000,
215 	DISALLOW_ADHOC_11A = 0x00000001,
216 	DISALLOW_ADHOC_11A_TURB = 0x00000002,
217 	NEED_NFC = 0x00000004,
218 
219 	ADHOC_PER_11D = 0x00000008,
220 	ADHOC_NO_11A = 0x00000010,
221 
222 	PUBLIC_SAFETY_DOMAIN = 0x00000020,
223 	LIMIT_FRAME_4MS = 0x00000040,
224 
225 	NO_HOSTAP = 0x00000080,
226 
227 	REQ_MASK = 0x000000FF,
228 };
229 
230 #define REG_DOMAIN_2GHZ_MASK    (REQ_MASK & \
231 	(~(ADHOC_NO_11A | DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB)))
232 #define REG_DOMAIN_5GHZ_MASK    REQ_MASK
233 
234 static struct reg_dmn_pair_mapping regDomainPairs[] = {
235 	{NO_ENUMRD, DEBUG_REG_DMN, DEBUG_REG_DMN, NO_REQ, NO_REQ,
236 	 PSCAN_DEFER, 0},
237 	{NULL1_WORLD, NULL1, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
238 	{NULL1_ETSIB, NULL1, ETSIB, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
239 	{NULL1_ETSIC, NULL1, ETSIC, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
240 
241 	{FCC2_FCCA, FCC2, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
242 	{FCC2_WORLD, FCC2, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
243 	{FCC2_ETSIC, FCC2, ETSIC, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
244 	{FCC3_FCCA, FCC3, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
245 	{FCC3_WORLD, FCC3, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
246 	{FCC4_FCCA, FCC4, FCCA,
247 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
248 	 0},
249 	{FCC5_FCCA, FCC5, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
250 	{FCC6_FCCA, FCC6, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
251 	{FCC6_WORLD, FCC6, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
252 
253 	{ETSI1_WORLD, ETSI1, WORLD,
254 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
255 	 0},
256 	{ETSI2_WORLD, ETSI2, WORLD,
257 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
258 	 0},
259 	{ETSI3_WORLD, ETSI3, WORLD,
260 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
261 	 0},
262 	{ETSI4_WORLD, ETSI4, WORLD,
263 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
264 	 0},
265 	{ETSI5_WORLD, ETSI5, WORLD,
266 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
267 	 0},
268 	{ETSI6_WORLD, ETSI6, WORLD,
269 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
270 	 0},
271 
272 	{ETSI3_ETSIA, ETSI3, WORLD,
273 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
274 	 0},
275 	{FRANCE_RES, ETSI3, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
276 
277 	{FCC1_WORLD, FCC1, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
278 	{FCC1_FCCA, FCC1, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
279 	{APL1_WORLD, APL1, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
280 	{APL2_WORLD, APL2, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
281 	{APL3_WORLD, APL3, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
282 	{APL4_WORLD, APL4, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
283 	{APL5_WORLD, APL5, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
284 	{APL6_WORLD, APL6, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
285 	{APL8_WORLD, APL8, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
286 	{APL9_WORLD, APL9, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
287 
288 	{APL3_FCCA, APL3, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
289 	{APL1_ETSIC, APL1, ETSIC, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
290 	{APL2_ETSIC, APL2, ETSIC, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
291 	{APL2_APLD, APL2, APLD, NO_REQ, NO_REQ, PSCAN_DEFER,},
292 
293 	{MKK1_MKKA, MKK1, MKKA,
294 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
295 	 PSCAN_MKK1 | PSCAN_MKKA, CTRY_JAPAN},
296 	{MKK1_MKKB, MKK1, MKKA,
297 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC |
298 	 LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKK1 | PSCAN_MKKA | PSCAN_MKKA_G,
299 	 CTRY_JAPAN1},
300 	{MKK1_FCCA, MKK1, FCCA,
301 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
302 	 PSCAN_MKK1, CTRY_JAPAN2},
303 	{MKK1_MKKA1, MKK1, MKKA,
304 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
305 	 PSCAN_MKK1 | PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN4},
306 	{MKK1_MKKA2, MKK1, MKKA,
307 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
308 	 PSCAN_MKK1 | PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN5},
309 	{MKK1_MKKC, MKK1, MKKC,
310 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
311 	 PSCAN_MKK1, CTRY_JAPAN6},
312 
313 	{MKK2_MKKA, MKK2, MKKA,
314 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC |
315 	 LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKK2 | PSCAN_MKKA | PSCAN_MKKA_G,
316 	 CTRY_JAPAN3},
317 
318 	{MKK3_MKKA, MKK3, MKKA,
319 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
320 	 PSCAN_MKKA, CTRY_JAPAN25},
321 	{MKK3_MKKB, MKK3, MKKA,
322 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC |
323 	 LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKKA | PSCAN_MKKA_G,
324 	 CTRY_JAPAN7},
325 	{MKK3_MKKA1, MKK3, MKKA,
326 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
327 	 PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN26},
328 	{MKK3_MKKA2, MKK3, MKKA,
329 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
330 	 PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN8},
331 	{MKK3_MKKC, MKK3, MKKC,
332 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
333 	 NO_PSCAN, CTRY_JAPAN9},
334 	{MKK3_FCCA, MKK3, FCCA,
335 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
336 	 NO_PSCAN, CTRY_JAPAN27},
337 
338 	{MKK4_MKKA, MKK4, MKKA,
339 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
340 	 PSCAN_MKK3, CTRY_JAPAN36},
341 	{MKK4_MKKB, MKK4, MKKA,
342 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC |
343 	 LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKK3 | PSCAN_MKKA | PSCAN_MKKA_G,
344 	 CTRY_JAPAN10},
345 	{MKK4_MKKA1, MKK4, MKKA,
346 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
347 	 PSCAN_MKK3 | PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN28},
348 	{MKK4_MKKA2, MKK4, MKKA,
349 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
350 	 PSCAN_MKK3 | PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN11},
351 	{MKK4_MKKC, MKK4, MKKC,
352 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
353 	 PSCAN_MKK3, CTRY_JAPAN12},
354 	{MKK4_FCCA, MKK4, FCCA,
355 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
356 	 PSCAN_MKK3, CTRY_JAPAN29},
357 
358 	{MKK5_MKKB, MKK5, MKKA,
359 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC |
360 	 LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKK3 | PSCAN_MKKA | PSCAN_MKKA_G,
361 	 CTRY_JAPAN13},
362 	{MKK5_MKKA2, MKK5, MKKA,
363 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
364 	 PSCAN_MKK3 | PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN14},
365 	{MKK5_MKKC, MKK5, MKKC,
366 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
367 	 PSCAN_MKK3, CTRY_JAPAN15},
368 
369 	{MKK6_MKKB, MKK6, MKKA,
370 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
371 	 PSCAN_MKK1 | PSCAN_MKKA | PSCAN_MKKA_G, CTRY_JAPAN16},
372 	{MKK6_MKKA1, MKK6, MKKA,
373 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
374 	 PSCAN_MKK1 | PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN30},
375 	{MKK6_MKKA2, MKK6, MKKA,
376 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
377 	 PSCAN_MKK1 | PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN17},
378 	{MKK6_MKKC, MKK6, MKKC,
379 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
380 	 PSCAN_MKK1, CTRY_JAPAN18},
381 	{MKK6_FCCA, MKK6, FCCA,
382 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
383 	 NO_PSCAN, CTRY_JAPAN31},
384 
385 	{MKK7_MKKB, MKK7, MKKA,
386 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
387 	 PSCAN_MKK1 | PSCAN_MKK3 | PSCAN_MKKA | PSCAN_MKKA_G,
388 	 CTRY_JAPAN19},
389 	{MKK7_MKKA1, MKK7, MKKA,
390 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
391 	 PSCAN_MKK1 | PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN32},
392 	{MKK7_MKKA2, MKK7, MKKA,
393 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
394 	 PSCAN_MKK1 | PSCAN_MKK3 | PSCAN_MKKA2 | PSCAN_MKKA2_G,
395 	 CTRY_JAPAN20},
396 	{MKK7_MKKC, MKK7, MKKC,
397 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
398 	 PSCAN_MKK1 | PSCAN_MKK3, CTRY_JAPAN21},
399 	{MKK7_FCCA, MKK7, FCCA,
400 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
401 	 PSCAN_MKK1 | PSCAN_MKK3, CTRY_JAPAN33},
402 
403 	{MKK8_MKKB, MKK8, MKKA,
404 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
405 	 PSCAN_MKK1 | PSCAN_MKK3 | PSCAN_MKKA | PSCAN_MKKA_G,
406 	 CTRY_JAPAN22},
407 	{MKK8_MKKA2, MKK8, MKKA,
408 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
409 	 PSCAN_MKK1 | PSCAN_MKK3 | PSCAN_MKKA2 | PSCAN_MKKA2_G,
410 	 CTRY_JAPAN23},
411 	{MKK8_MKKC, MKK8, MKKC,
412 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
413 	 PSCAN_MKK1 | PSCAN_MKK3, CTRY_JAPAN24},
414 
415 	{MKK9_MKKA, MKK9, MKKA,
416 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC |
417 	 LIMIT_FRAME_4MS, NEED_NFC,
418 	 PSCAN_MKK2 | PSCAN_MKK3 | PSCAN_MKKA | PSCAN_MKKA_G,
419 	 CTRY_JAPAN34},
420 	{MKK9_FCCA, MKK9, FCCA,
421 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
422 	 NO_PSCAN, CTRY_JAPAN37},
423 	{MKK9_MKKA1, MKK9, MKKA,
424 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
425 	 PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN38},
426 	{MKK9_MKKA2, MKK9, MKKA,
427 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
428 	 PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN40},
429 	{MKK9_MKKC, MKK9, MKKC,
430 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
431 	 NO_PSCAN, CTRY_JAPAN39},
432 
433 	{MKK10_MKKA, MKK10, MKKA,
434 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC |
435 	 LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKK2 | PSCAN_MKK3, CTRY_JAPAN35},
436 	{MKK10_FCCA, MKK10, FCCA,
437 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
438 	 NO_PSCAN, CTRY_JAPAN41},
439 	{MKK10_MKKA1, MKK10, MKKA,
440 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
441 	 PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN42},
442 	{MKK10_MKKA2, MKK10, MKKA,
443 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
444 	 PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN44},
445 	{MKK10_MKKC, MKK10, MKKC,
446 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
447 	 NO_PSCAN, CTRY_JAPAN43},
448 
449 	{MKK11_MKKA, MKK11, MKKA,
450 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
451 	 PSCAN_MKK3, CTRY_JAPAN45},
452 	{MKK11_FCCA, MKK11, FCCA,
453 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
454 	 PSCAN_MKK3, CTRY_JAPAN46},
455 	{MKK11_MKKA1, MKK11, MKKA,
456 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
457 	 PSCAN_MKK3 | PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN47},
458 	{MKK11_MKKA2, MKK11, MKKA,
459 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
460 	 PSCAN_MKK3 | PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN49},
461 	{MKK11_MKKC, MKK11, MKKC,
462 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
463 	 PSCAN_MKK3, CTRY_JAPAN48},
464 
465 	{MKK12_MKKA, MKK12, MKKA,
466 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
467 	 PSCAN_MKK1 | PSCAN_MKK3, CTRY_JAPAN50},
468 	{MKK12_FCCA, MKK12, FCCA,
469 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
470 	 PSCAN_MKK1 | PSCAN_MKK3, CTRY_JAPAN51},
471 	{MKK12_MKKA1, MKK12, MKKA,
472 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
473 	 PSCAN_MKK1 | PSCAN_MKK3 | PSCAN_MKKA1 | PSCAN_MKKA1_G,
474 	 CTRY_JAPAN52},
475 	{MKK12_MKKA2, MKK12, MKKA,
476 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
477 	 PSCAN_MKK1 | PSCAN_MKK3 | PSCAN_MKKA2 | PSCAN_MKKA2_G,
478 	 CTRY_JAPAN54},
479 	{MKK12_MKKC, MKK12, MKKC,
480 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
481 	 PSCAN_MKK1 | PSCAN_MKK3, CTRY_JAPAN53},
482 
483 	{MKK13_MKKB, MKK13, MKKA,
484 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC |
485 	 LIMIT_FRAME_4MS, NEED_NFC,
486 	 PSCAN_MKK1 | PSCAN_MKK3 | PSCAN_MKKA | PSCAN_MKKA_G,
487 	 CTRY_JAPAN57},
488 
489 	{MKK14_MKKA1, MKK14, MKKA,
490 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
491 	 PSCAN_MKK1 | PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN58},
492 	{MKK15_MKKA1, MKK15, MKKA,
493 	 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
494 	 PSCAN_MKK1 | PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN59},
495 
496 	{WOR0_WORLD, WOR0_WORLD, WOR0_WORLD, NO_REQ, NO_REQ, PSCAN_DEFER,
497 	 0},
498 	{WOR1_WORLD, WOR1_WORLD, WOR1_WORLD,
499 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
500 	 0},
501 	{WOR2_WORLD, WOR2_WORLD, WOR2_WORLD, DISALLOW_ADHOC_11A_TURB,
502 	 NO_REQ, PSCAN_DEFER, 0},
503 	{WOR3_WORLD, WOR3_WORLD, WOR3_WORLD, NO_REQ, NO_REQ, PSCAN_DEFER,
504 	 0},
505 	{WOR4_WORLD, WOR4_WORLD, WOR4_WORLD,
506 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
507 	 0},
508 	{WOR5_ETSIC, WOR5_ETSIC, WOR5_ETSIC,
509 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
510 	 0},
511 	{WOR01_WORLD, WOR01_WORLD, WOR01_WORLD, NO_REQ, NO_REQ,
512 	 PSCAN_DEFER, 0},
513 	{WOR02_WORLD, WOR02_WORLD, WOR02_WORLD, NO_REQ, NO_REQ,
514 	 PSCAN_DEFER, 0},
515 	{EU1_WORLD, EU1_WORLD, EU1_WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
516 	{WOR9_WORLD, WOR9_WORLD, WOR9_WORLD,
517 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
518 	 0},
519 	{WORA_WORLD, WORA_WORLD, WORA_WORLD,
520 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
521 	 0},
522 	{WORB_WORLD, WORB_WORLD, WORB_WORLD,
523 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
524 	 0},
525 };
526 
527 #define	NO_INTERSECT_REQ	0xFFFFFFFF
528 #define	NO_UNION_REQ		0
529 
530 static struct country_code_to_enum_rd allCountries[] = {
531 	{CTRY_DEBUG, NO_ENUMRD, "DB", "DEBUG", YES, YES, YES, YES, YES,
532 	 YES, YES, 7000},
533 	{CTRY_DEFAULT, DEF_REGDMN, "NA", "NO_COUNTRY_SET", YES, YES, YES,
534 	 YES, YES, YES, YES, 7000},
535 	{CTRY_ALBANIA, NULL1_WORLD, "AL", "ALBANIA", YES, NO, YES, YES, NO,
536 	 NO, NO, 7000},
537 	{CTRY_ALGERIA, NULL1_WORLD, "DZ", "ALGERIA", YES, NO, YES, YES, NO,
538 	 NO, NO, 7000},
539 	{CTRY_ARGENTINA, APL3_WORLD, "AR", "ARGENTINA", YES, NO, NO, YES,
540 	 NO, YES, NO, 7000},
541 	{CTRY_ARMENIA, ETSI4_WORLD, "AM", "ARMENIA", YES, NO, YES, YES,
542 	 YES, NO, NO, 7000},
543 	{CTRY_AUSTRALIA, FCC2_WORLD, "AU", "AUSTRALIA", YES, YES, YES, YES,
544 	 YES, YES, YES, 7000},
545 	{CTRY_AUSTRALIA2, FCC6_WORLD, "AU", "AUSTRALIA2", YES, YES, YES,
546 	 YES, YES, YES, YES, 7000},
547 	{CTRY_AUSTRIA, ETSI1_WORLD, "AT", "AUSTRIA", YES, NO, YES, YES,
548 	 YES, YES, YES, 7000},
549 	{CTRY_AZERBAIJAN, ETSI4_WORLD, "AZ", "AZERBAIJAN", YES, YES, YES,
550 	 YES, YES, YES, YES, 7000},
551 	{CTRY_BAHRAIN, APL6_WORLD, "BH", "BAHRAIN", YES, NO, YES, YES, YES,
552 	 YES, NO, 7000},
553 	{CTRY_BELARUS, ETSI1_WORLD, "BY", "BELARUS", YES, NO, YES, YES,
554 	 YES, YES, YES, 7000},
555 	{CTRY_BELGIUM, ETSI1_WORLD, "BE", "BELGIUM", YES, NO, YES, YES,
556 	 YES, YES, YES, 7000},
557 	{CTRY_BELGIUM2, ETSI4_WORLD, "BL", "BELGIUM", YES, NO, YES, YES,
558 	 YES, YES, YES, 7000},
559 	{CTRY_BELIZE, APL1_ETSIC, "BZ", "BELIZE", YES, YES, YES, YES, YES,
560 	 YES, YES, 7000},
561 	{CTRY_BOLIVIA, APL1_ETSIC, "BO", "BOLVIA", YES, YES, YES, YES, YES,
562 	 YES, YES, 7000},
563 	{CTRY_BOSNIA_HERZ, ETSI1_WORLD, "BA", "BOSNIA_HERZGOWINA", YES, NO,
564 	 YES, YES, YES, YES, NO, 7000},
565 	{CTRY_BRAZIL, FCC3_WORLD, "BR", "BRAZIL", YES, NO, NO, YES, NO,
566 	 YES, NO, 7000},
567 	{CTRY_BRUNEI_DARUSSALAM, APL1_WORLD, "BN", "BRUNEI DARUSSALAM",
568 	 YES, YES, YES, YES, YES, YES, YES, 7000},
569 	{CTRY_BULGARIA, ETSI6_WORLD, "BG", "BULGARIA", YES, NO, YES, YES,
570 	 YES, YES, YES, 7000},
571 	{CTRY_CANADA, FCC2_FCCA, "CA", "CANADA", YES, YES, YES, YES, YES,
572 	 YES, YES, 7000},
573 	{CTRY_CANADA2, FCC6_FCCA, "CA", "CANADA2", YES, YES, YES, YES, YES,
574 	 YES, YES, 7000},
575 	{CTRY_CHILE, APL6_WORLD, "CL", "CHILE", YES, YES, YES, YES, YES,
576 	 YES, YES, 7000},
577 	{CTRY_CHINA, APL1_WORLD, "CN", "CHINA", YES, YES, YES, YES, YES,
578 	 YES, YES, 7000},
579 	{CTRY_COLOMBIA, FCC1_FCCA, "CO", "COLOMBIA", YES, NO, YES, YES,
580 	 YES, YES, NO, 7000},
581 	{CTRY_COSTA_RICA, FCC1_WORLD, "CR", "COSTA RICA", YES, NO, YES,
582 	 YES, YES, YES, NO, 7000},
583 	{CTRY_CROATIA, ETSI3_WORLD, "HR", "CROATIA", YES, NO, YES, YES,
584 	 YES, YES, NO, 7000},
585 	{CTRY_CYPRUS, ETSI1_WORLD, "CY", "CYPRUS", YES, YES, YES, YES, YES,
586 	 YES, YES, 7000},
587 	{CTRY_CZECH, ETSI3_WORLD, "CZ", "CZECH REPUBLIC", YES, NO, YES,
588 	 YES, YES, YES, YES, 7000},
589 	{CTRY_DENMARK, ETSI1_WORLD, "DK", "DENMARK", YES, NO, YES, YES,
590 	 YES, YES, YES, 7000},
591 	{CTRY_DOMINICAN_REPUBLIC, FCC1_FCCA, "DO", "DOMINICAN REPUBLIC",
592 	 YES, YES, YES, YES, YES, YES, YES, 7000},
593 	{CTRY_ECUADOR, FCC1_WORLD, "EC", "ECUADOR", YES, NO, NO, YES, YES,
594 	 YES, NO, 7000},
595 	{CTRY_EGYPT, ETSI3_WORLD, "EG", "EGYPT", YES, NO, YES, YES, YES,
596 	 YES, NO, 7000},
597 	{CTRY_EL_SALVADOR, FCC1_WORLD, "SV", "EL SALVADOR", YES, NO, YES,
598 	 YES, YES, YES, NO, 7000},
599 	{CTRY_ESTONIA, ETSI1_WORLD, "EE", "ESTONIA", YES, NO, YES, YES,
600 	 YES, YES, YES, 7000},
601 	{CTRY_FINLAND, ETSI1_WORLD, "FI", "FINLAND", YES, NO, YES, YES,
602 	 YES, YES, YES, 7000},
603 	{CTRY_FRANCE, ETSI1_WORLD, "FR", "FRANCE", YES, NO, YES, YES, YES,
604 	 YES, YES, 7000},
605 	{CTRY_GEORGIA, ETSI4_WORLD, "GE", "GEORGIA", YES, YES, YES, YES,
606 	 YES, YES, YES, 7000},
607 	{CTRY_GERMANY, ETSI1_WORLD, "DE", "GERMANY", YES, NO, YES, YES,
608 	 YES, YES, YES, 7000},
609 	{CTRY_GREECE, ETSI1_WORLD, "GR", "GREECE", YES, NO, YES, YES, YES,
610 	 YES, YES, 7000},
611 	{CTRY_GUATEMALA, FCC1_FCCA, "GT", "GUATEMALA", YES, YES, YES, YES,
612 	 YES, YES, YES, 7000},
613 	{CTRY_HONDURAS, NULL1_WORLD, "HN", "HONDURAS", YES, NO, YES, YES,
614 	 YES, NO, NO, 7000},
615 	{CTRY_HONG_KONG, FCC2_WORLD, "HK", "HONG KONG", YES, YES, YES, YES,
616 	 YES, YES, YES, 7000},
617 	{CTRY_HUNGARY, ETSI1_WORLD, "HU", "HUNGARY", YES, NO, YES, YES,
618 	 YES, YES, YES, 7000},
619 	{CTRY_ICELAND, ETSI1_WORLD, "IS", "ICELAND", YES, NO, YES, YES,
620 	 YES, YES, YES, 7000},
621 	{CTRY_INDIA, APL6_WORLD, "IN", "INDIA", YES, NO, YES, YES, YES,
622 	 YES, NO, 7000},
623 	{CTRY_INDONESIA, APL1_WORLD, "ID", "INDONESIA", YES, NO, YES, YES,
624 	 YES, YES, NO, 7000},
625 	{CTRY_IRAN, APL1_WORLD, "IR", "IRAN", YES, YES, YES, YES, YES, YES,
626 	 YES, 7000},
627 	{CTRY_IRELAND, ETSI1_WORLD, "IE", "IRELAND", YES, NO, YES, YES,
628 	 YES, YES, YES, 7000},
629 	{CTRY_ISRAEL, NULL1_WORLD, "IL", "ISRAEL", YES, NO, YES, YES, YES,
630 	 NO, NO, 7000},
631 	{CTRY_ITALY, ETSI1_WORLD, "IT", "ITALY", YES, NO, YES, YES, YES,
632 	 YES, YES, 7000},
633 	{CTRY_JAMAICA, ETSI1_WORLD, "JM", "JAMAICA", YES, NO, YES, YES,
634 	 YES, YES, YES, 7000},
635 
636 	{CTRY_JAPAN, MKK1_MKKA, "JP", "JAPAN", YES, NO, NO, YES, YES, YES,
637 	 YES, 7000},
638 	{CTRY_JAPAN1, MKK1_MKKB, "JP", "JAPAN1", YES, NO, NO, YES, YES,
639 	 YES, YES, 7000},
640 	{CTRY_JAPAN2, MKK1_FCCA, "JP", "JAPAN2", YES, NO, NO, YES, YES,
641 	 YES, YES, 7000},
642 	{CTRY_JAPAN3, MKK2_MKKA, "JP", "JAPAN3", YES, NO, NO, YES, YES,
643 	 YES, YES, 7000},
644 	{CTRY_JAPAN4, MKK1_MKKA1, "JP", "JAPAN4", YES, NO, NO, YES, YES,
645 	 YES, YES, 7000},
646 	{CTRY_JAPAN5, MKK1_MKKA2, "JP", "JAPAN5", YES, NO, NO, YES, YES,
647 	 YES, YES, 7000},
648 	{CTRY_JAPAN6, MKK1_MKKC, "JP", "JAPAN6", YES, NO, NO, YES, YES,
649 	 YES, YES, 7000},
650 
651 	{CTRY_JAPAN7, MKK3_MKKB, "JP", "JAPAN7", YES, NO, NO, YES, YES,
652 	 YES, YES, 7000},
653 	{CTRY_JAPAN8, MKK3_MKKA2, "JP", "JAPAN8", YES, NO, NO, YES, YES,
654 	 YES, YES, 7000},
655 	{CTRY_JAPAN9, MKK3_MKKC, "JP", "JAPAN9", YES, NO, NO, YES, YES,
656 	 YES, YES, 7000},
657 
658 	{CTRY_JAPAN10, MKK4_MKKB, "JP", "JAPAN10", YES, NO, NO, YES, YES,
659 	 YES, YES, 7000},
660 	{CTRY_JAPAN11, MKK4_MKKA2, "JP", "JAPAN11", YES, NO, NO, YES, YES,
661 	 YES, YES, 7000},
662 	{CTRY_JAPAN12, MKK4_MKKC, "JP", "JAPAN12", YES, NO, NO, YES, YES,
663 	 YES, YES, 7000},
664 
665 	{CTRY_JAPAN13, MKK5_MKKB, "JP", "JAPAN13", YES, NO, NO, YES, YES,
666 	 YES, YES, 7000},
667 	{CTRY_JAPAN14, MKK5_MKKA2, "JP", "JAPAN14", YES, NO, NO, YES, YES,
668 	 YES, YES, 7000},
669 	{CTRY_JAPAN15, MKK5_MKKC, "JP", "JAPAN15", YES, NO, NO, YES, YES,
670 	 YES, YES, 7000},
671 
672 	{CTRY_JAPAN16, MKK6_MKKB, "JP", "JAPAN16", YES, NO, NO, YES, YES,
673 	 YES, YES, 7000},
674 	{CTRY_JAPAN17, MKK6_MKKA2, "JP", "JAPAN17", YES, NO, NO, YES, YES,
675 	 YES, YES, 7000},
676 	{CTRY_JAPAN18, MKK6_MKKC, "JP", "JAPAN18", YES, NO, NO, YES, YES,
677 	 YES, YES, 7000},
678 
679 	{CTRY_JAPAN19, MKK7_MKKB, "JP", "JAPAN19", YES, NO, NO, YES, YES,
680 	 YES, YES, 7000},
681 	{CTRY_JAPAN20, MKK7_MKKA2, "JP", "JAPAN20", YES, NO, NO, YES, YES,
682 	 YES, YES, 7000},
683 	{CTRY_JAPAN21, MKK7_MKKC, "JP", "JAPAN21", YES, NO, NO, YES, YES,
684 	 YES, YES, 7000},
685 
686 	{CTRY_JAPAN22, MKK8_MKKB, "JP", "JAPAN22", YES, NO, NO, YES, YES,
687 	 YES, YES, 7000},
688 	{CTRY_JAPAN23, MKK8_MKKA2, "JP", "JAPAN23", YES, NO, NO, YES, YES,
689 	 YES, YES, 7000},
690 	{CTRY_JAPAN24, MKK8_MKKC, "JP", "JAPAN24", YES, NO, NO, YES, YES,
691 	 YES, YES, 7000},
692 
693 	{CTRY_JAPAN25, MKK3_MKKA, "JP", "JAPAN25", YES, NO, NO, YES, YES,
694 	 YES, YES, 7000},
695 	{CTRY_JAPAN26, MKK3_MKKA1, "JP", "JAPAN26", YES, NO, NO, YES, YES,
696 	 YES, YES, 7000},
697 	{CTRY_JAPAN27, MKK3_FCCA, "JP", "JAPAN27", YES, NO, NO, YES, YES,
698 	 YES, YES, 7000},
699 	{CTRY_JAPAN28, MKK4_MKKA1, "JP", "JAPAN28", YES, NO, NO, YES, YES,
700 	 YES, YES, 7000},
701 	{CTRY_JAPAN29, MKK4_FCCA, "JP", "JAPAN29", YES, NO, NO, YES, YES,
702 	 YES, YES, 7000},
703 	{CTRY_JAPAN30, MKK6_MKKA1, "JP", "JAPAN30", YES, NO, NO, YES, YES,
704 	 YES, YES, 7000},
705 	{CTRY_JAPAN31, MKK6_FCCA, "JP", "JAPAN31", YES, NO, NO, YES, YES,
706 	 YES, YES, 7000},
707 	{CTRY_JAPAN32, MKK7_MKKA1, "JP", "JAPAN32", YES, NO, NO, YES, YES,
708 	 YES, YES, 7000},
709 	{CTRY_JAPAN33, MKK7_FCCA, "JP", "JAPAN33", YES, NO, NO, YES, YES,
710 	 YES, YES, 7000},
711 	{CTRY_JAPAN34, MKK9_MKKA, "JP", "JAPAN34", YES, NO, NO, YES, YES,
712 	 YES, YES, 7000},
713 	{CTRY_JAPAN35, MKK10_MKKA, "JP", "JAPAN35", YES, NO, NO, YES, YES,
714 	 YES, YES, 7000},
715 	{CTRY_JAPAN36, MKK4_MKKA, "JP", "JAPAN36", YES, NO, NO, YES, YES,
716 	 YES, YES, 7000},
717 	{CTRY_JAPAN37, MKK9_FCCA, "JP", "JAPAN37", YES, NO, NO, YES, YES,
718 	 YES, YES, 7000},
719 	{CTRY_JAPAN38, MKK9_MKKA1, "JP", "JAPAN38", YES, NO, NO, YES, YES,
720 	 YES, YES, 7000},
721 	{CTRY_JAPAN39, MKK9_MKKC, "JP", "JAPAN39", YES, NO, NO, YES, YES,
722 	 YES, YES, 7000},
723 	{CTRY_JAPAN40, MKK9_MKKA2, "JP", "JAPAN40", YES, NO, NO, YES, YES,
724 	 YES, YES, 7000},
725 	{CTRY_JAPAN41, MKK10_FCCA, "JP", "JAPAN41", YES, NO, NO, YES, YES,
726 	 YES, YES, 7000},
727 	{CTRY_JAPAN42, MKK10_MKKA1, "JP", "JAPAN42", YES, NO, NO, YES, YES,
728 	 YES, YES, 7000},
729 	{CTRY_JAPAN43, MKK10_MKKC, "JP", "JAPAN43", YES, NO, NO, YES, YES,
730 	 YES, YES, 7000},
731 	{CTRY_JAPAN44, MKK10_MKKA2, "JP", "JAPAN44", YES, NO, NO, YES, YES,
732 	 YES, YES, 7000},
733 	{CTRY_JAPAN45, MKK11_MKKA, "JP", "JAPAN45", YES, NO, NO, YES, YES,
734 	 YES, YES, 7000},
735 	{CTRY_JAPAN46, MKK11_FCCA, "JP", "JAPAN46", YES, NO, NO, YES, YES,
736 	 YES, YES, 7000},
737 	{CTRY_JAPAN47, MKK11_MKKA1, "JP", "JAPAN47", YES, NO, NO, YES, YES,
738 	 YES, YES, 7000},
739 	{CTRY_JAPAN48, MKK11_MKKC, "JP", "JAPAN48", YES, NO, NO, YES, YES,
740 	 YES, YES, 7000},
741 	{CTRY_JAPAN49, MKK11_MKKA2, "JP", "JAPAN49", YES, NO, NO, YES, YES,
742 	 YES, YES, 7000},
743 	{CTRY_JAPAN50, MKK12_MKKA, "JP", "JAPAN50", YES, NO, NO, YES, YES,
744 	 YES, YES, 7000},
745 	{CTRY_JAPAN51, MKK12_FCCA, "JP", "JAPAN51", YES, NO, NO, YES, YES,
746 	 YES, YES, 7000},
747 	{CTRY_JAPAN52, MKK12_MKKA1, "JP", "JAPAN52", YES, NO, NO, YES, YES,
748 	 YES, YES, 7000},
749 	{CTRY_JAPAN53, MKK12_MKKC, "JP", "JAPAN53", YES, NO, NO, YES, YES,
750 	 YES, YES, 7000},
751 	{CTRY_JAPAN54, MKK12_MKKA2, "JP", "JAPAN54", YES, NO, NO, YES, YES,
752 	 YES, YES, 7000},
753 
754 	{CTRY_JAPAN57, MKK13_MKKB, "JP", "JAPAN57", YES, NO, NO, YES, YES,
755 	 YES, YES, 7000},
756 	{CTRY_JAPAN58, MKK14_MKKA1, "JP", "JAPAN58", YES, NO, NO, YES, YES,
757 	 YES, YES, 7000},
758 	{CTRY_JAPAN59, MKK15_MKKA1, "JP", "JAPAN59", YES, NO, NO, YES, YES,
759 	 YES, YES, 7000},
760 
761 	{CTRY_JORDAN, ETSI2_WORLD, "JO", "JORDAN", YES, NO, YES, YES, YES,
762 	 YES, NO, 7000},
763 	{CTRY_KAZAKHSTAN, NULL1_WORLD, "KZ", "KAZAKHSTAN", YES, NO, YES,
764 	 YES, YES, NO, NO, 7000},
765 	{CTRY_KOREA_NORTH, APL9_WORLD, "KP", "NORTH KOREA", YES, NO, NO,
766 	 YES, YES, YES, YES, 7000},
767 	{CTRY_KOREA_ROC, APL9_WORLD, "KR", "KOREA REPUBLIC", YES, NO, NO,
768 	 YES, NO, YES, NO, 7000},
769 	{CTRY_KOREA_ROC2, APL2_WORLD, "K2", "KOREA REPUBLIC2", YES, NO, NO,
770 	 YES, NO, YES, NO, 7000},
771 	{CTRY_KOREA_ROC3, APL9_WORLD, "K3", "KOREA REPUBLIC3", YES, NO, NO,
772 	 YES, NO, YES, NO, 7000},
773 	{CTRY_KUWAIT, NULL1_WORLD, "KW", "KUWAIT", YES, NO, YES, YES, YES,
774 	 NO, NO, 7000},
775 	{CTRY_LATVIA, ETSI1_WORLD, "LV", "LATVIA", YES, NO, YES, YES, YES,
776 	 YES, YES, 7000},
777 	{CTRY_LEBANON, NULL1_WORLD, "LB", "LEBANON", YES, NO, YES, YES,
778 	 YES, NO, NO, 7000},
779 	{CTRY_LIECHTENSTEIN, ETSI1_WORLD, "LI", "LIECHTENSTEIN", YES, NO,
780 	 YES, YES, YES, YES, YES, 7000},
781 	{CTRY_LITHUANIA, ETSI1_WORLD, "LT", "LITHUANIA", YES, NO, YES, YES,
782 	 YES, YES, YES, 7000},
783 	{CTRY_LUXEMBOURG, ETSI1_WORLD, "LU", "LUXEMBOURG", YES, NO, YES,
784 	 YES, YES, YES, YES, 7000},
785 	{CTRY_MACAU, FCC2_WORLD, "MO", "MACAU", YES, YES, YES, YES, YES,
786 	 YES, YES, 7000},
787 	{CTRY_MACEDONIA, NULL1_WORLD, "MK", "MACEDONIA", YES, NO, YES, YES,
788 	 YES, NO, NO, 7000},
789 	{CTRY_MALAYSIA, APL8_WORLD, "MY", "MALAYSIA", YES, NO, NO, YES, NO,
790 	 YES, NO, 7000},
791 	{CTRY_MALTA, ETSI1_WORLD, "MT", "MALTA", YES, NO, YES, YES, YES,
792 	 YES, YES, 7000},
793 	{CTRY_MEXICO, FCC1_FCCA, "MX", "MEXICO", YES, YES, YES, YES, YES,
794 	 YES, YES, 7000},
795 	{CTRY_MONACO, ETSI4_WORLD, "MC", "MONACO", YES, YES, YES, YES, YES,
796 	 YES, YES, 7000},
797 	{CTRY_MOROCCO, NULL1_WORLD, "MA", "MOROCCO", YES, NO, YES, YES,
798 	 YES, NO, NO, 7000},
799 	{CTRY_NEPAL, APL1_WORLD, "NP", "NEPAL", YES, NO, YES, YES, YES,
800 	 YES, YES, 7000},
801 	{CTRY_NETHERLANDS, ETSI1_WORLD, "NL", "NETHERLANDS", YES, NO, YES,
802 	 YES, YES, YES, YES, 7000},
803 	{CTRY_NETHERLANDS_ANTILLES, ETSI1_WORLD, "AN",
804 	 "NETHERLANDS-ANTILLES", YES, NO, YES, YES, YES, YES, YES, 7000},
805 	{CTRY_NEW_ZEALAND, FCC2_ETSIC, "NZ", "NEW ZEALAND", YES, NO, YES,
806 	 YES, YES, YES, NO, 7000},
807 	{CTRY_NORWAY, ETSI1_WORLD, "NO", "NORWAY", YES, NO, YES, YES, YES,
808 	 YES, YES, 7000},
809 	{CTRY_OMAN, APL6_WORLD, "OM", "OMAN", YES, NO, YES, YES, YES, YES,
810 	 NO, 7000},
811 	{CTRY_PAKISTAN, NULL1_WORLD, "PK", "PAKISTAN", YES, NO, YES, YES,
812 	 YES, NO, NO, 7000},
813 	{CTRY_PANAMA, FCC1_FCCA, "PA", "PANAMA", YES, YES, YES, YES, YES,
814 	 YES, YES, 7000},
815 	{CTRY_PAPUA_NEW_GUINEA, FCC1_WORLD, "PG", "PAPUA NEW GUINEA", YES,
816 	 YES, YES, YES, YES, YES, YES, 7000},
817 	{CTRY_PERU, APL1_WORLD, "PE", "PERU", YES, NO, YES, YES, YES, YES,
818 	 NO, 7000},
819 	{CTRY_PHILIPPINES, APL1_WORLD, "PH", "PHILIPPINES", YES, YES, YES,
820 	 YES, YES, YES, YES, 7000},
821 	{CTRY_POLAND, ETSI1_WORLD, "PL", "POLAND", YES, NO, YES, YES, YES,
822 	 YES, YES, 7000},
823 	{CTRY_PORTUGAL, ETSI1_WORLD, "PT", "PORTUGAL", YES, NO, YES, YES,
824 	 YES, YES, YES, 7000},
825 	{CTRY_PUERTO_RICO, FCC1_FCCA, "PR", "PUERTO RICO", YES, YES, YES,
826 	 YES, YES, YES, YES, 7000},
827 	{CTRY_QATAR, NULL1_WORLD, "QA", "QATAR", YES, NO, YES, YES, YES,
828 	 NO, NO, 7000},
829 	{CTRY_ROMANIA, NULL1_WORLD, "RO", "ROMANIA", YES, NO, YES, YES,
830 	 YES, NO, NO, 7000},
831 	{CTRY_RUSSIA, NULL1_WORLD, "RU", "RUSSIA", YES, NO, YES, YES, YES,
832 	 NO, NO, 7000},
833 	{CTRY_SAUDI_ARABIA, NULL1_WORLD, "SA", "SAUDI ARABIA", YES, NO,
834 	 YES, YES, YES, NO, NO, 7000},
835 	{CTRY_SERBIA_MONTENEGRO, ETSI1_WORLD, "CS", "SERBIA & MONTENEGRO",
836 	 YES, NO, YES, YES, YES, YES, YES, 7000},
837 	{CTRY_SINGAPORE, APL6_WORLD, "SG", "SINGAPORE", YES, YES, YES, YES,
838 	 YES, YES, YES, 7000},
839 	{CTRY_SLOVAKIA, ETSI1_WORLD, "SK", "SLOVAK REPUBLIC", YES, NO, YES,
840 	 YES, YES, YES, YES, 7000},
841 	{CTRY_SLOVENIA, ETSI1_WORLD, "SI", "SLOVENIA", YES, NO, YES, YES,
842 	 YES, YES, YES, 7000},
843 	{CTRY_SOUTH_AFRICA, FCC3_WORLD, "ZA", "SOUTH AFRICA", YES, NO, YES,
844 	 YES, YES, YES, NO, 7000},
845 	{CTRY_SPAIN, ETSI1_WORLD, "ES", "SPAIN", YES, NO, YES, YES, YES,
846 	 YES, YES, 7000},
847 	{CTRY_SRI_LANKA, FCC3_WORLD, "LK", "SRI LANKA", YES, NO, YES, YES,
848 	 YES, YES, NO, 7000},
849 	{CTRY_SWEDEN, ETSI1_WORLD, "SE", "SWEDEN", YES, NO, YES, YES, YES,
850 	 YES, YES, 7000},
851 	{CTRY_SWITZERLAND, ETSI1_WORLD, "CH", "SWITZERLAND", YES, NO, YES,
852 	 YES, YES, YES, YES, 7000},
853 	{CTRY_SYRIA, NULL1_WORLD, "SY", "SYRIA", YES, NO, YES, YES, YES,
854 	 NO, NO, 7000},
855 	{CTRY_TAIWAN, APL3_FCCA, "TW", "TAIWAN", YES, YES, YES, YES, YES,
856 	 YES, YES, 7000},
857 	{CTRY_THAILAND, NULL1_WORLD, "TH", "THAILAND", YES, NO, YES, YES,
858 	 YES, NO, NO, 7000},
859 	{CTRY_TRINIDAD_Y_TOBAGO, ETSI4_WORLD, "TT", "TRINIDAD & TOBAGO",
860 	 YES, NO, YES, YES, YES, YES, NO, 7000},
861 	{CTRY_TUNISIA, ETSI3_WORLD, "TN", "TUNISIA", YES, NO, YES, YES,
862 	 YES, YES, NO, 7000},
863 	{CTRY_TURKEY, ETSI3_WORLD, "TR", "TURKEY", YES, NO, YES, YES, YES,
864 	 YES, NO, 7000},
865 	{CTRY_UKRAINE, NULL1_WORLD, "UA", "UKRAINE", YES, NO, YES, YES,
866 	 YES, NO, NO, 7000},
867 	{CTRY_UAE, NULL1_WORLD, "AE", "UNITED ARAB EMIRATES", YES, NO, YES,
868 	 YES, YES, NO, NO, 7000},
869 	{CTRY_UNITED_KINGDOM, ETSI1_WORLD, "GB", "UNITED KINGDOM", YES, NO,
870 	 YES, YES, YES, YES, YES, 7000},
871 	{CTRY_UNITED_STATES, FCC3_FCCA, "US", "UNITED STATES", YES, YES,
872 	 YES, YES, YES, YES, YES, 5825},
873 	{CTRY_UNITED_STATES_FCC49, FCC4_FCCA, "PS",
874 	 "UNITED STATES (PUBLIC SAFETY)", YES, YES, YES, YES, YES, YES,
875 	 YES, 7000},
876 	{CTRY_URUGUAY, APL2_WORLD, "UY", "URUGUAY", YES, NO, YES, YES, YES,
877 	 YES, NO, 7000},
878 	{CTRY_UZBEKISTAN, FCC3_FCCA, "UZ", "UZBEKISTAN", YES, YES, YES,
879 	 YES, YES, YES, YES, 7000},
880 	{CTRY_VENEZUELA, APL2_ETSIC, "VE", "VENEZUELA", YES, NO, YES, YES,
881 	 YES, YES, NO, 7000},
882 	{CTRY_VIET_NAM, NULL1_WORLD, "VN", "VIET NAM", YES, NO, YES, YES,
883 	 YES, NO, NO, 7000},
884 	{CTRY_YEMEN, NULL1_WORLD, "YE", "YEMEN", YES, NO, YES, YES, YES,
885 	 NO, NO, 7000},
886 	{CTRY_ZIMBABWE, NULL1_WORLD, "ZW", "ZIMBABWE", YES, NO, YES, YES,
887 	 YES, NO, NO, 7000}
888 };
889 
890 enum {
891 	NO_DFS = 0x0000000000000000ULL,
892 	DFS_FCC3 = 0x0000000000000001ULL,
893 	DFS_ETSI = 0x0000000000000002ULL,
894 	DFS_MKK4 = 0x0000000000000004ULL,
895 };
896 
897 enum {
898 	F1_4915_4925,
899 	F1_4935_4945,
900 	F1_4920_4980,
901 	F1_4942_4987,
902 	F1_4945_4985,
903 	F1_4950_4980,
904 	F1_5035_5040,
905 	F1_5040_5080,
906 	F1_5055_5055,
907 
908 	F1_5120_5240,
909 
910 	F1_5170_5230,
911 	F2_5170_5230,
912 
913 	F1_5180_5240,
914 	F2_5180_5240,
915 	F3_5180_5240,
916 	F4_5180_5240,
917 	F5_5180_5240,
918 	F6_5180_5240,
919 	F7_5180_5240,
920 	F8_5180_5240,
921 
922 	F1_5180_5320,
923 
924 	F1_5240_5280,
925 
926 	F1_5260_5280,
927 
928 	F1_5260_5320,
929 	F2_5260_5320,
930 	F3_5260_5320,
931 	F4_5260_5320,
932 	F5_5260_5320,
933 	F6_5260_5320,
934 
935 	F1_5260_5700,
936 
937 	F1_5280_5320,
938 
939 	F1_5500_5580,
940 
941 	F1_5500_5620,
942 
943 	F1_5500_5700,
944 	F2_5500_5700,
945 	F3_5500_5700,
946 	F4_5500_5700,
947 	F5_5500_5700,
948 
949 	F1_5660_5700,
950 
951 	F1_5745_5805,
952 	F2_5745_5805,
953 	F3_5745_5805,
954 
955 	F1_5745_5825,
956 	F2_5745_5825,
957 	F3_5745_5825,
958 	F4_5745_5825,
959 	F5_5745_5825,
960 	F6_5745_5825,
961 
962 	W1_4920_4980,
963 	W1_5040_5080,
964 	W1_5170_5230,
965 	W1_5180_5240,
966 	W1_5260_5320,
967 	W1_5745_5825,
968 	W1_5500_5700,
969 	A_DEMO_ALL_CHANNELS
970 };
971 
972 static struct RegDmnFreqBand regDmn5GhzFreq[] = {
973 	{4915, 4925, 23, 0, 10, 5, NO_DFS, PSCAN_MKK2, 16},
974 	{4935, 4945, 23, 0, 10, 5, NO_DFS, PSCAN_MKK2, 16},
975 	{4920, 4980, 23, 0, 20, 20, NO_DFS, PSCAN_MKK2, 7},
976 	{4942, 4987, 27, 6, 5, 5, NO_DFS, PSCAN_FCC, 0},
977 	{4945, 4985, 30, 6, 10, 5, NO_DFS, PSCAN_FCC, 0},
978 	{4950, 4980, 33, 6, 20, 5, NO_DFS, PSCAN_FCC, 0},
979 	{5035, 5040, 23, 0, 10, 5, NO_DFS, PSCAN_MKK2, 12},
980 	{5040, 5080, 23, 0, 20, 20, NO_DFS, PSCAN_MKK2, 2},
981 	{5055, 5055, 23, 0, 10, 5, NO_DFS, PSCAN_MKK2, 12},
982 
983 	{5120, 5240, 5, 6, 20, 20, NO_DFS, NO_PSCAN, 0},
984 
985 	{5170, 5230, 23, 0, 20, 20, NO_DFS, PSCAN_MKK1 | PSCAN_MKK2, 1},
986 	{5170, 5230, 20, 0, 20, 20, NO_DFS, PSCAN_MKK1 | PSCAN_MKK2, 1},
987 
988 	{5180, 5240, 15, 0, 20, 20, NO_DFS, PSCAN_FCC | PSCAN_ETSI, 0},
989 	{5180, 5240, 17, 6, 20, 20, NO_DFS, NO_PSCAN, 1},
990 	{5180, 5240, 18, 0, 20, 20, NO_DFS, PSCAN_FCC | PSCAN_ETSI, 0},
991 	{5180, 5240, 20, 0, 20, 20, NO_DFS, PSCAN_FCC | PSCAN_ETSI, 0},
992 	{5180, 5240, 23, 0, 20, 20, NO_DFS, PSCAN_FCC | PSCAN_ETSI, 0},
993 	{5180, 5240, 23, 6, 20, 20, NO_DFS, PSCAN_FCC, 0},
994 	{5180, 5240, 20, 0, 20, 20, NO_DFS, PSCAN_MKK1 | PSCAN_MKK3, 0},
995 	{5180, 5240, 23, 6, 20, 20, NO_DFS, NO_PSCAN, 0},
996 
997 	{5180, 5320, 20, 6, 20, 20, NO_DFS, PSCAN_ETSI, 0},
998 
999 	{5240, 5280, 23, 0, 20, 20, DFS_FCC3, PSCAN_FCC | PSCAN_ETSI, 0},
1000 
1001 	{5260, 5280, 23, 0, 20, 20, DFS_FCC3 | DFS_ETSI,
1002 	 PSCAN_FCC | PSCAN_ETSI, 0},
1003 
1004 	{5260, 5320, 18, 0, 20, 20, DFS_FCC3 | DFS_ETSI,
1005 	 PSCAN_FCC | PSCAN_ETSI, 0},
1006 
1007 	{5260, 5320, 20, 0, 20, 20, DFS_FCC3 | DFS_ETSI | DFS_MKK4,
1008 	 PSCAN_FCC | PSCAN_ETSI | PSCAN_MKK3, 0},
1009 
1010 
1011 	{5260, 5320, 20, 6, 20, 20, DFS_FCC3 | DFS_ETSI,
1012 	 PSCAN_FCC | PSCAN_ETSI, 2},
1013 	{5260, 5320, 23, 6, 20, 20, DFS_FCC3 | DFS_ETSI, PSCAN_FCC, 2},
1014 	{5260, 5320, 23, 6, 20, 20, DFS_FCC3 | DFS_ETSI, PSCAN_FCC, 0},
1015 	{5260, 5320, 30, 0, 20, 20, NO_DFS, NO_PSCAN, 0},
1016 
1017 	{5260, 5700, 5, 6, 20, 20, DFS_FCC3 | DFS_ETSI, NO_PSCAN, 0},
1018 
1019 	{5280, 5320, 17, 6, 20, 20, DFS_FCC3 | DFS_ETSI, PSCAN_FCC, 0},
1020 
1021 	{5500, 5580, 23, 6, 20, 20, DFS_FCC3, PSCAN_FCC, 0},
1022 
1023 	{5500, 5620, 30, 6, 20, 20, DFS_ETSI, PSCAN_ETSI, 0},
1024 
1025 	{5500, 5700, 20, 6, 20, 20, DFS_FCC3 | DFS_ETSI, PSCAN_FCC, 4},
1026 	{5500, 5700, 27, 0, 20, 20, DFS_FCC3 | DFS_ETSI,
1027 	 PSCAN_FCC | PSCAN_ETSI, 0},
1028 	{5500, 5700, 30, 0, 20, 20, DFS_FCC3 | DFS_ETSI,
1029 	 PSCAN_FCC | PSCAN_ETSI, 0},
1030 	{5500, 5700, 23, 0, 20, 20, DFS_FCC3 | DFS_ETSI | DFS_MKK4,
1031 	 PSCAN_MKK3 | PSCAN_FCC, 0},
1032 	{5500, 5700, 30, 6, 20, 20, DFS_ETSI, PSCAN_ETSI, 0},
1033 
1034 	{5660, 5700, 23, 6, 20, 20, DFS_FCC3, PSCAN_FCC, 0},
1035 
1036 	{5745, 5805, 23, 0, 20, 20, NO_DFS, NO_PSCAN, 0},
1037 	{5745, 5805, 30, 6, 20, 20, NO_DFS, NO_PSCAN, 0},
1038 	{5745, 5805, 30, 6, 20, 20, NO_DFS, PSCAN_ETSI, 0},
1039 	{5745, 5825, 5, 6, 20, 20, NO_DFS, NO_PSCAN, 0},
1040 	{5745, 5825, 17, 0, 20, 20, NO_DFS, NO_PSCAN, 0},
1041 	{5745, 5825, 20, 0, 20, 20, NO_DFS, NO_PSCAN, 0},
1042 	{5745, 5825, 30, 0, 20, 20, NO_DFS, NO_PSCAN, 0},
1043 	{5745, 5825, 30, 6, 20, 20, NO_DFS, NO_PSCAN, 3},
1044 	{5745, 5825, 30, 6, 20, 20, NO_DFS, NO_PSCAN, 0},
1045 
1046 
1047 	{4920, 4980, 30, 0, 20, 20, NO_DFS, PSCAN_WWR, 0},
1048 	{5040, 5080, 30, 0, 20, 20, NO_DFS, PSCAN_WWR, 0},
1049 	{5170, 5230, 30, 0, 20, 20, NO_DFS, PSCAN_WWR, 0},
1050 	{5180, 5240, 30, 0, 20, 20, NO_DFS, PSCAN_WWR, 0},
1051 	{5260, 5320, 30, 0, 20, 20, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, 0},
1052 	{5745, 5825, 30, 0, 20, 20, NO_DFS, PSCAN_WWR, 0},
1053 	{5500, 5700, 30, 0, 20, 20, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, 0},
1054 	{4920, 6100, 30, 6, 20, 20, NO_DFS, NO_PSCAN, 0},
1055 };
1056 
1057 enum {
1058 	T1_5130_5650,
1059 	T1_5150_5670,
1060 
1061 	T1_5200_5200,
1062 	T2_5200_5200,
1063 	T3_5200_5200,
1064 	T4_5200_5200,
1065 	T5_5200_5200,
1066 	T6_5200_5200,
1067 	T7_5200_5200,
1068 	T8_5200_5200,
1069 
1070 	T1_5200_5280,
1071 	T2_5200_5280,
1072 	T3_5200_5280,
1073 	T4_5200_5280,
1074 	T5_5200_5280,
1075 	T6_5200_5280,
1076 
1077 	T1_5200_5240,
1078 	T1_5210_5210,
1079 	T2_5210_5210,
1080 	T3_5210_5210,
1081 	T4_5210_5210,
1082 	T5_5210_5210,
1083 	T6_5210_5210,
1084 	T7_5210_5210,
1085 	T8_5210_5210,
1086 	T9_5210_5210,
1087 	T10_5210_5210,
1088 	T1_5240_5240,
1089 
1090 	T1_5210_5250,
1091 	T1_5210_5290,
1092 	T2_5210_5290,
1093 	T3_5210_5290,
1094 
1095 	T1_5280_5280,
1096 	T2_5280_5280,
1097 	T1_5290_5290,
1098 	T2_5290_5290,
1099 	T3_5290_5290,
1100 	T1_5250_5290,
1101 	T2_5250_5290,
1102 	T3_5250_5290,
1103 	T4_5250_5290,
1104 
1105 	T1_5540_5660,
1106 	T2_5540_5660,
1107 	T3_5540_5660,
1108 	T1_5760_5800,
1109 	T2_5760_5800,
1110 	T3_5760_5800,
1111 	T4_5760_5800,
1112 	T5_5760_5800,
1113 	T6_5760_5800,
1114 	T7_5760_5800,
1115 
1116 	T1_5765_5805,
1117 	T2_5765_5805,
1118 	T3_5765_5805,
1119 	T4_5765_5805,
1120 	T5_5765_5805,
1121 	T6_5765_5805,
1122 	T7_5765_5805,
1123 	T8_5765_5805,
1124 	T9_5765_5805,
1125 
1126 	WT1_5210_5250,
1127 	WT1_5290_5290,
1128 	WT1_5540_5660,
1129 	WT1_5760_5800,
1130 };
1131 
1132 enum {
1133 	F1_2312_2372,
1134 	F2_2312_2372,
1135 
1136 	F1_2412_2472,
1137 	F2_2412_2472,
1138 	F3_2412_2472,
1139 
1140 	F1_2412_2462,
1141 	F2_2412_2462,
1142 
1143 	F1_2432_2442,
1144 
1145 	F1_2457_2472,
1146 
1147 	F1_2467_2472,
1148 
1149 	F1_2484_2484,
1150 	F2_2484_2484,
1151 
1152 	F1_2512_2732,
1153 
1154 	W1_2312_2372,
1155 	W1_2412_2412,
1156 	W1_2417_2432,
1157 	W1_2437_2442,
1158 	W1_2447_2457,
1159 	W1_2462_2462,
1160 	W1_2467_2467,
1161 	W2_2467_2467,
1162 	W1_2472_2472,
1163 	W2_2472_2472,
1164 	W1_2484_2484,
1165 	W2_2484_2484,
1166 };
1167 
1168 static struct RegDmnFreqBand regDmn2GhzFreq[] = {
1169 	{2312, 2372, 5, 6, 20, 5, NO_DFS, NO_PSCAN, 0},
1170 	{2312, 2372, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
1171 
1172 	{2412, 2472, 5, 6, 20, 5, NO_DFS, NO_PSCAN, 0},
1173 	{2412, 2472, 20, 0, 20, 5, NO_DFS, PSCAN_MKKA, 0},
1174 	{2412, 2472, 30, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
1175 
1176 	{2412, 2462, 27, 6, 20, 5, NO_DFS, NO_PSCAN, 0},
1177 	{2412, 2462, 20, 0, 20, 5, NO_DFS, PSCAN_MKKA, 0},
1178 
1179 	{2432, 2442, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
1180 
1181 	{2457, 2472, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
1182 
1183 	{2467, 2472, 20, 0, 20, 5, NO_DFS, PSCAN_MKKA2 | PSCAN_MKKA, 0},
1184 
1185 	{2484, 2484, 5, 6, 20, 5, NO_DFS, NO_PSCAN, 0},
1186 	{2484, 2484, 20, 0, 20, 5, NO_DFS,
1187 	 PSCAN_MKKA | PSCAN_MKKA1 | PSCAN_MKKA2, 0},
1188 
1189 	{2512, 2732, 5, 6, 20, 5, NO_DFS, NO_PSCAN, 0},
1190 
1191 	{2312, 2372, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
1192 	{2412, 2412, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
1193 	{2417, 2432, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
1194 	{2437, 2442, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
1195 	{2447, 2457, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
1196 	{2462, 2462, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
1197 	{2467, 2467, 20, 0, 20, 5, NO_DFS, PSCAN_WWR | IS_ECM_CHAN, 0},
1198 	{2467, 2467, 20, 0, 20, 5, NO_DFS, NO_PSCAN | IS_ECM_CHAN, 0},
1199 	{2472, 2472, 20, 0, 20, 5, NO_DFS, PSCAN_WWR | IS_ECM_CHAN, 0},
1200 	{2472, 2472, 20, 0, 20, 5, NO_DFS, NO_PSCAN | IS_ECM_CHAN, 0},
1201 	{2484, 2484, 20, 0, 20, 5, NO_DFS, PSCAN_WWR | IS_ECM_CHAN, 0},
1202 	{2484, 2484, 20, 0, 20, 5, NO_DFS, NO_PSCAN | IS_ECM_CHAN, 0},
1203 };
1204 
1205 enum {
1206 	G1_2312_2372,
1207 	G2_2312_2372,
1208 
1209 	G1_2412_2472,
1210 	G2_2412_2472,
1211 	G3_2412_2472,
1212 
1213 	G1_2412_2462,
1214 	G2_2412_2462,
1215 
1216 	G1_2432_2442,
1217 
1218 	G1_2457_2472,
1219 
1220 	G1_2512_2732,
1221 
1222 	G1_2467_2472,
1223 
1224 	WG1_2312_2372,
1225 	WG1_2412_2462,
1226 	WG1_2467_2472,
1227 	WG2_2467_2472,
1228 	G_DEMO_ALL_CHANNELS
1229 };
1230 
1231 static struct RegDmnFreqBand regDmn2Ghz11gFreq[] = {
1232 	{2312, 2372, 5, 6, 20, 5, NO_DFS, NO_PSCAN, 0},
1233 	{2312, 2372, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
1234 
1235 	{2412, 2472, 5, 6, 20, 5, NO_DFS, NO_PSCAN, 0},
1236 	{2412, 2472, 20, 0, 20, 5, NO_DFS, PSCAN_MKKA_G, 0},
1237 	{2412, 2472, 30, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
1238 
1239 	{2412, 2462, 27, 6, 20, 5, NO_DFS, NO_PSCAN, 0},
1240 	{2412, 2462, 20, 0, 20, 5, NO_DFS, PSCAN_MKKA_G, 0},
1241 
1242 	{2432, 2442, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
1243 
1244 	{2457, 2472, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
1245 
1246 	{2512, 2732, 5, 6, 20, 5, NO_DFS, NO_PSCAN, 0},
1247 
1248 	{2467, 2472, 20, 0, 20, 5, NO_DFS, PSCAN_MKKA2 | PSCAN_MKKA, 0},
1249 
1250 	{2312, 2372, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
1251 	{2412, 2462, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
1252 	{2467, 2472, 20, 0, 20, 5, NO_DFS, PSCAN_WWR | IS_ECM_CHAN, 0},
1253 	{2467, 2472, 20, 0, 20, 5, NO_DFS, NO_PSCAN | IS_ECM_CHAN, 0},
1254 	{2312, 2732, 27, 6, 20, 5, NO_DFS, NO_PSCAN, 0},
1255 };
1256 
1257 enum {
1258 	T1_2312_2372,
1259 	T1_2437_2437,
1260 	T2_2437_2437,
1261 	T3_2437_2437,
1262 	T1_2512_2732
1263 };
1264 
1265 static struct regDomain regDomains[] = {
1266 
1267 	{DEBUG_REG_DMN, FCC, DFS_FCC3, NO_PSCAN, NO_REQ,
1268 	 BM(A_DEMO_ALL_CHANNELS, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1269 	    -1),
1270 	 BM(T1_5130_5650, T1_5150_5670, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1271 	    -1),
1272 	 BM(T1_5200_5240, T1_5280_5280, T1_5540_5660, T1_5765_5805, -1, -1,
1273 	    -1, -1, -1, -1, -1, -1),
1274 	 BM(F1_2312_2372, F1_2412_2472, F1_2484_2484, F1_2512_2732, -1, -1,
1275 	    -1, -1, -1, -1, -1, -1),
1276 	 BM(G_DEMO_ALL_CHANNELS, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1277 	    -1),
1278 	 BM(T1_2312_2372, T1_2437_2437, T1_2512_2732, -1, -1, -1, -1, -1,
1279 	    -1, -1, -1, -1)},
1280 
1281 	{APL1, FCC, NO_DFS, NO_PSCAN, NO_REQ,
1282 	 BM(F4_5745_5825, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1283 	 BM(T2_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1284 	 BM(T1_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1285 	 BMZERO,
1286 	 BMZERO,
1287 	 BMZERO},
1288 
1289 	{APL2, FCC, NO_DFS, NO_PSCAN, NO_REQ,
1290 	 BM(F1_5745_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1291 	 BM(T1_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1292 	 BM(T2_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1293 	 BMZERO,
1294 	 BMZERO,
1295 	 BMZERO},
1296 
1297 	{APL3, FCC, NO_DFS, NO_PSCAN, NO_REQ,
1298 	 BM(F1_5280_5320, F2_5745_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1299 	    -1),
1300 	 BM(T1_5290_5290, T1_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1301 	    -1),
1302 	 BM(T1_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1303 	 BMZERO,
1304 	 BMZERO,
1305 	 BMZERO},
1306 
1307 	{APL4, FCC, NO_DFS, NO_PSCAN, NO_REQ,
1308 	 BM(F4_5180_5240, F3_5745_5825, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1309 	    -1),
1310 	 BM(T1_5210_5210, T3_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1311 	    -1),
1312 	 BM(T1_5200_5200, T3_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1313 	    -1),
1314 	 BMZERO,
1315 	 BMZERO,
1316 	 BMZERO},
1317 
1318 	{APL5, FCC, NO_DFS, NO_PSCAN, NO_REQ,
1319 	 BM(F2_5745_5825, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1320 	 BM(T4_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1321 	 BM(T4_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1322 	 BMZERO,
1323 	 BMZERO,
1324 	 BMZERO},
1325 
1326 	{APL6, ETSI, DFS_ETSI, PSCAN_FCC_T | PSCAN_FCC, NO_REQ,
1327 	 BM(F4_5180_5240, F2_5260_5320, F3_5745_5825, -1, -1, -1, -1, -1,
1328 	    -1, -1, -1, -1),
1329 	 BM(T2_5210_5210, T1_5250_5290, T1_5760_5800, -1, -1, -1, -1, -1,
1330 	    -1, -1, -1, -1),
1331 	 BM(T1_5200_5280, T5_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1332 	    -1),
1333 	 BMZERO,
1334 	 BMZERO,
1335 	 BMZERO},
1336 
1337 	{APL7, ETSI, DFS_ETSI, PSCAN_ETSI, NO_REQ,
1338 	 BM(F1_5280_5320, F5_5500_5700, F3_5745_5805, -1, -1, -1, -1, -1,
1339 	    -1, -1, -1, -1),
1340 	 BM(T3_5290_5290, T5_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1341 	    -1),
1342 	 BM(T1_5540_5660, T6_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1343 	    -1),
1344 	 BMZERO,
1345 	 BMZERO,
1346 	 BMZERO},
1347 
1348 	{APL8, ETSI, NO_DFS, NO_PSCAN,
1349 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
1350 	 BM(F6_5260_5320, F4_5745_5825, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1351 	    -1),
1352 	 BM(T2_5290_5290, T2_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1353 	    -1),
1354 	 BM(T1_5280_5280, T1_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1355 	    -1),
1356 	 BMZERO,
1357 	 BMZERO,
1358 	 BMZERO},
1359 
1360 	{APL9, ETSI, DFS_ETSI, PSCAN_ETSI,
1361 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
1362 	 BM(F1_5180_5320, F1_5500_5620, F3_5745_5805, -1, -1, -1, -1, -1,
1363 	    -1, -1, -1, -1),
1364 	 BM(T3_5290_5290, T5_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1365 	    -1),
1366 	 BM(T1_5540_5660, T6_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1367 	    -1),
1368 	 BMZERO,
1369 	 BMZERO,
1370 	 BMZERO},
1371 
1372 	{APL10, ETSI, DFS_ETSI, PSCAN_ETSI,
1373 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
1374 	 BM(F1_5180_5320, F5_5500_5700, F3_5745_5805, -1, -1, -1, -1, -1,
1375 	    -1, -1, -1, -1),
1376 	 BM(T3_5290_5290, T5_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1377 	    -1),
1378 	 BM(T1_5540_5660, T6_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1379 	    -1),
1380 	 BMZERO,
1381 	 BMZERO,
1382 	 BMZERO},
1383 
1384 	{ETSI1, ETSI, DFS_ETSI, PSCAN_ETSI,
1385 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
1386 	 BM(F4_5180_5240, F2_5260_5320, F2_5500_5700, -1, -1, -1, -1, -1,
1387 	    -1, -1, -1, -1),
1388 	 BM(T1_5210_5290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1389 	 BM(T2_5200_5280, T2_5540_5660, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1390 	    -1),
1391 	 BMZERO,
1392 	 BMZERO,
1393 	 BMZERO},
1394 
1395 	{ETSI2, ETSI, DFS_ETSI, PSCAN_ETSI,
1396 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
1397 	 BM(F3_5180_5240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1398 	 BM(T3_5210_5210, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1399 	 BM(T2_5200_5200, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1400 	 BMZERO,
1401 	 BMZERO,
1402 	 BMZERO},
1403 
1404 	{ETSI3, ETSI, DFS_ETSI, PSCAN_ETSI,
1405 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
1406 	 BM(F4_5180_5240, F2_5260_5320, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1407 	    -1),
1408 	 BM(T1_5210_5290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1409 	 BM(T2_5200_5280, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1410 	 BMZERO,
1411 	 BMZERO,
1412 	 BMZERO},
1413 
1414 	{ETSI4, ETSI, DFS_ETSI, PSCAN_ETSI,
1415 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
1416 	 BM(F3_5180_5240, F1_5260_5320, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1417 	    -1),
1418 	 BM(T2_5210_5290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1419 	 BM(T3_5200_5280, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1420 	 BMZERO,
1421 	 BMZERO,
1422 	 BMZERO},
1423 
1424 	{ETSI5, ETSI, DFS_ETSI, PSCAN_ETSI,
1425 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
1426 	 BM(F1_5180_5240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1427 	 BM(T4_5210_5210, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1428 	 BM(T3_5200_5200, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1429 	 BMZERO,
1430 	 BMZERO,
1431 	 BMZERO},
1432 
1433 	{ETSI6, ETSI, DFS_ETSI, PSCAN_ETSI,
1434 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
1435 	 BM(F5_5180_5240, F1_5260_5280, F3_5500_5700, -1, -1, -1, -1, -1,
1436 	    -1, -1, -1, -1),
1437 	 BM(T1_5210_5250, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1438 	 BM(T4_5200_5280, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1439 	 BMZERO,
1440 	 BMZERO,
1441 	 BMZERO},
1442 
1443 	{FCC1, FCC, NO_DFS, NO_PSCAN, NO_REQ,
1444 	 BM(F2_5180_5240, F4_5260_5320, F5_5745_5825, -1, -1, -1, -1, -1,
1445 	    -1, -1, -1, -1),
1446 	 BM(T6_5210_5210, T2_5250_5290, T6_5760_5800, -1, -1, -1, -1, -1,
1447 	    -1, -1, -1, -1),
1448 	 BM(T1_5200_5240, T2_5280_5280, T7_5765_5805, -1, -1, -1, -1, -1,
1449 	    -1, -1, -1, -1),
1450 	 BMZERO,
1451 	 BMZERO,
1452 	 BMZERO},
1453 
1454 	{FCC2, FCC, NO_DFS, NO_PSCAN, NO_REQ,
1455 	 BM(F6_5180_5240, F5_5260_5320, F6_5745_5825, -1, -1, -1, -1, -1,
1456 	    -1, -1, -1, -1),
1457 	 BM(T7_5210_5210, T3_5250_5290, T2_5760_5800, -1, -1, -1, -1, -1,
1458 	    -1, -1, -1, -1),
1459 	 BM(T7_5200_5200, T1_5240_5240, T2_5280_5280, T1_5765_5805, -1, -1,
1460 	    -1, -1, -1, -1, -1, -1),
1461 	 BMZERO,
1462 	 BMZERO,
1463 	 BMZERO},
1464 
1465 	{FCC3, FCC, DFS_FCC3, PSCAN_FCC | PSCAN_FCC_T, NO_REQ,
1466 	 BM(F2_5180_5240, F3_5260_5320, F1_5500_5700, F5_5745_5825, -1, -1,
1467 	    -1, -1, -1, -1, -1, -1),
1468 	 BM(T6_5210_5210, T2_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1469 	    -1),
1470 	 BM(T4_5200_5200, T8_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1471 	    -1),
1472 	 BMZERO,
1473 	 BMZERO,
1474 	 BMZERO},
1475 
1476 	{FCC4, FCC, DFS_FCC3, PSCAN_FCC | PSCAN_FCC_T, NO_REQ,
1477 	 BM(F1_4942_4987, F1_4945_4985, F1_4950_4980, -1, -1, -1, -1, -1,
1478 	    -1, -1, -1, -1),
1479 	 BM(T8_5210_5210, T4_5250_5290, T7_5760_5800, -1, -1, -1, -1, -1,
1480 	    -1, -1, -1, -1),
1481 	 BM(T1_5200_5240, T1_5280_5280, T9_5765_5805, -1, -1, -1, -1, -1,
1482 	    -1, -1, -1, -1),
1483 	 BMZERO,
1484 	 BMZERO,
1485 	 BMZERO},
1486 
1487 	{FCC5, FCC, NO_DFS, NO_PSCAN, NO_REQ,
1488 	 BM(F2_5180_5240, F6_5745_5825, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1489 	    -1),
1490 	 BM(T6_5210_5210, T2_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1491 	    -1),
1492 	 BM(T8_5200_5200, T7_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1493 	    -1),
1494 	 BMZERO,
1495 	 BMZERO,
1496 	 BMZERO},
1497 
1498 	{FCC6, FCC, DFS_FCC3, PSCAN_FCC, NO_REQ,
1499 	 BM(F8_5180_5240, F5_5260_5320, F1_5500_5580, F1_5660_5700,
1500 	    F6_5745_5825, -1, -1, -1, -1, -1, -1, -1),
1501 	 BM(T7_5210_5210, T3_5250_5290, T2_5760_5800, -1, -1, -1, -1, -1,
1502 	    -1, -1, -1, -1),
1503 	 BM(T7_5200_5200, T1_5240_5240, T2_5280_5280, T1_5765_5805, -1, -1,
1504 	    -1, -1, -1, -1, -1, -1),
1505 	 BMZERO,
1506 	 BMZERO,
1507 	 BMZERO},
1508 
1509 	{MKK1, MKK, NO_DFS, PSCAN_MKK1, DISALLOW_ADHOC_11A_TURB,
1510 	 BM(F1_5170_5230, F4_5180_5240, F2_5260_5320, F4_5500_5700, -1, -1,
1511 	    -1, -1, -1, -1, -1, -1),
1512 	 BM(T7_5210_5210, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1513 	 BM(T5_5200_5200, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1514 	 BMZERO,
1515 	 BMZERO,
1516 	 BMZERO},
1517 
1518 	{MKK2, MKK, NO_DFS, PSCAN_MKK2, DISALLOW_ADHOC_11A_TURB,
1519 	 BM(F1_4915_4925, F1_4935_4945, F1_4920_4980, F1_5035_5040,
1520 	    F1_5055_5055, F1_5040_5080, F1_5170_5230, F4_5180_5240,
1521 	    F2_5260_5320, F4_5500_5700, -1, -1),
1522 	 BM(T7_5210_5210, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1523 	 BM(T5_5200_5200, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1524 	 BMZERO,
1525 	 BMZERO,
1526 	 BMZERO},
1527 
1528 
1529 	{MKK3, MKK, NO_DFS, PSCAN_MKK3, DISALLOW_ADHOC_11A_TURB,
1530 	 BM(F4_5180_5240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1531 	 BM(T9_5210_5210, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1532 	 BM(T1_5200_5200, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1533 	 BMZERO,
1534 	 BMZERO,
1535 	 BMZERO},
1536 
1537 
1538 	{MKK4, MKK, DFS_MKK4, PSCAN_MKK3, DISALLOW_ADHOC_11A_TURB,
1539 	 BM(F4_5180_5240, F2_5260_5320, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1540 	    -1),
1541 	 BM(T10_5210_5210, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1542 	 BM(T6_5200_5200, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1543 	 BMZERO,
1544 	 BMZERO,
1545 	 BMZERO},
1546 
1547 
1548 	{MKK5, MKK, DFS_MKK4, PSCAN_MKK3, DISALLOW_ADHOC_11A_TURB,
1549 	 BM(F4_5180_5240, F2_5260_5320, F4_5500_5700, -1, -1, -1, -1, -1,
1550 	    -1, -1, -1, -1),
1551 	 BM(T3_5210_5290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1552 	 BM(T5_5200_5280, T3_5540_5660, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1553 	    -1),
1554 	 BMZERO,
1555 	 BMZERO,
1556 	 BMZERO},
1557 
1558 
1559 	{MKK6, MKK, NO_DFS, PSCAN_MKK1, DISALLOW_ADHOC_11A_TURB,
1560 	 BM(F2_5170_5230, F4_5180_5240, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1561 	    -1),
1562 	 BM(T3_5210_5210, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1563 	 BM(T6_5200_5200, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1564 	 BMZERO,
1565 	 BMZERO,
1566 	 BMZERO},
1567 
1568 
1569 	{MKK7, MKK, DFS_MKK4, PSCAN_MKK1 | PSCAN_MKK3,
1570 	 DISALLOW_ADHOC_11A_TURB,
1571 	 BM(F1_5170_5230, F4_5180_5240, F2_5260_5320, -1, -1, -1, -1, -1,
1572 	    -1, -1, -1, -1),
1573 	 BM(T3_5210_5290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1574 	 BM(T5_5200_5280, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1575 	 BMZERO,
1576 	 BMZERO,
1577 	 BMZERO},
1578 
1579 
1580 	{MKK8, MKK, DFS_MKK4, PSCAN_MKK1 | PSCAN_MKK3,
1581 	 DISALLOW_ADHOC_11A_TURB,
1582 	 BM(F1_5170_5230, F4_5180_5240, F2_5260_5320, F4_5500_5700, -1, -1,
1583 	    -1, -1, -1, -1, -1, -1),
1584 	 BM(T3_5210_5290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1585 	 BM(T5_5200_5280, T3_5540_5660, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1586 	    -1),
1587 	 BMZERO,
1588 	 BMZERO,
1589 	 BMZERO},
1590 
1591 
1592 	{MKK9, MKK, NO_DFS, PSCAN_MKK2 | PSCAN_MKK3,
1593 	 DISALLOW_ADHOC_11A_TURB,
1594 	 BM(F1_4915_4925, F1_4935_4945, F1_4920_4980, F1_5035_5040,
1595 	    F1_5055_5055, F1_5040_5080, F4_5180_5240, -1, -1, -1, -1, -1),
1596 	 BM(T9_5210_5210, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1597 	 BM(T1_5200_5200, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1598 	 BMZERO,
1599 	 BMZERO,
1600 	 BMZERO},
1601 
1602 
1603 	{MKK10, MKK, DFS_MKK4, PSCAN_MKK2 | PSCAN_MKK3,
1604 	 DISALLOW_ADHOC_11A_TURB,
1605 	 BM(F1_4915_4925, F1_4935_4945, F1_4920_4980, F1_5035_5040,
1606 	    F1_5055_5055, F1_5040_5080, F4_5180_5240, F2_5260_5320, -1, -1,
1607 	    -1, -1),
1608 	 BM(T3_5210_5290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1609 	 BM(T1_5200_5280, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1610 	 BMZERO,
1611 	 BMZERO,
1612 	 BMZERO},
1613 
1614 
1615 	{MKK11, MKK, DFS_MKK4, PSCAN_MKK3, DISALLOW_ADHOC_11A_TURB,
1616 	 BM(F1_4915_4925, F1_4935_4945, F1_4920_4980, F1_5035_5040,
1617 	    F1_5055_5055, F1_5040_5080, F4_5180_5240, F2_5260_5320,
1618 	    F4_5500_5700, -1, -1, -1),
1619 	 BM(T3_5210_5290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1620 	 BM(T1_5200_5280, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1621 	 BMZERO,
1622 	 BMZERO,
1623 	 BMZERO},
1624 
1625 
1626 	{MKK12, MKK, DFS_MKK4, PSCAN_MKK1 | PSCAN_MKK3,
1627 	 DISALLOW_ADHOC_11A_TURB,
1628 	 BM(F1_4915_4925, F1_4935_4945, F1_4920_4980, F1_5035_5040,
1629 	    F1_5055_5055, F1_5040_5080, F1_5170_5230, F4_5180_5240,
1630 	    F2_5260_5320, F4_5500_5700, -1, -1),
1631 	 BM(T3_5210_5290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1632 	 BM(T1_5200_5280, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1633 	 BMZERO,
1634 	 BMZERO,
1635 	 BMZERO},
1636 
1637 
1638 	{MKK13, MKK, DFS_MKK4, PSCAN_MKK1 | PSCAN_MKK3,
1639 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
1640 	 BM(F1_5170_5230, F7_5180_5240, F2_5260_5320, F4_5500_5700, -1, -1,
1641 	    -1, -1, -1, -1, -1, -1),
1642 	 BMZERO,
1643 	 BMZERO,
1644 	 BMZERO,
1645 	 BMZERO,
1646 	 BMZERO},
1647 
1648 
1649 	{MKK14, MKK, DFS_MKK4, PSCAN_MKK1, DISALLOW_ADHOC_11A_TURB,
1650 	 BM(F1_4915_4925, F1_4935_4945, F1_4920_4980, F1_5035_5040,
1651 	    F1_5040_5080, F1_5055_5055, F1_5170_5230, F4_5180_5240, -1, -1,
1652 	    -1, -1),
1653 	 BMZERO,
1654 	 BMZERO,
1655 	 BMZERO,
1656 	 BMZERO,
1657 	 BMZERO},
1658 
1659 
1660 	{MKK15, MKK, DFS_MKK4, PSCAN_MKK1, DISALLOW_ADHOC_11A_TURB,
1661 	 BM(F1_4915_4925, F1_4935_4945, F1_4920_4980, F1_5035_5040,
1662 	    F1_5040_5080, F1_5055_5055, F1_5170_5230, F4_5180_5240,
1663 	    F2_5260_5320, -1, -1, -1),
1664 	 BMZERO,
1665 	 BMZERO,
1666 	 BMZERO,
1667 	 BMZERO,
1668 	 BMZERO},
1669 
1670 
1671 	{APLD, NO_CTL, NO_DFS, NO_PSCAN, NO_REQ,
1672 	 BMZERO,
1673 	 BMZERO,
1674 	 BMZERO,
1675 	 BM(F2_2312_2372, F2_2412_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1676 	    -1),
1677 	 BM(G2_2312_2372, G2_2412_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1678 	    -1),
1679 	 BMZERO},
1680 
1681 	{ETSIA, NO_CTL, NO_DFS, PSCAN_ETSIA,
1682 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
1683 	 BMZERO,
1684 	 BMZERO,
1685 	 BMZERO,
1686 	 BM(F1_2457_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1687 	 BM(G1_2457_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1688 	 BM(T2_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
1689 
1690 	{ETSIB, ETSI, NO_DFS, PSCAN_ETSIB,
1691 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
1692 	 BMZERO,
1693 	 BMZERO,
1694 	 BMZERO,
1695 	 BM(F1_2432_2442, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1696 	 BM(G1_2432_2442, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1697 	 BM(T2_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
1698 
1699 	{ETSIC, ETSI, NO_DFS, PSCAN_ETSIC,
1700 	 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
1701 	 BMZERO,
1702 	 BMZERO,
1703 	 BMZERO,
1704 	 BM(F3_2412_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1705 	 BM(G3_2412_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1706 	 BM(T2_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
1707 
1708 	{FCCA, FCC, NO_DFS, NO_PSCAN, NO_REQ,
1709 	 BMZERO,
1710 	 BMZERO,
1711 	 BMZERO,
1712 	 BM(F1_2412_2462, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1713 	 BM(G1_2412_2462, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1714 	 BM(T2_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
1715 
1716 	{MKKA, MKK, NO_DFS,
1717 	 PSCAN_MKKA | PSCAN_MKKA_G | PSCAN_MKKA1 | PSCAN_MKKA1_G |
1718 	 PSCAN_MKKA2 | PSCAN_MKKA2_G, DISALLOW_ADHOC_11A_TURB,
1719 	 BMZERO,
1720 	 BMZERO,
1721 	 BMZERO,
1722 	 BM(F2_2412_2462, F1_2467_2472, F2_2484_2484, -1, -1, -1, -1, -1,
1723 	    -1, -1, -1, -1),
1724 	 BM(G2_2412_2462, G1_2467_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1725 	    -1),
1726 	 BM(T2_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
1727 
1728 	{MKKC, MKK, NO_DFS, NO_PSCAN, NO_REQ,
1729 	 BMZERO,
1730 	 BMZERO,
1731 	 BMZERO,
1732 	 BM(F2_2412_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1733 	 BM(G2_2412_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1734 	 BM(T2_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
1735 
1736 	{WORLD, ETSI, NO_DFS, NO_PSCAN, NO_REQ,
1737 	 BMZERO,
1738 	 BMZERO,
1739 	 BMZERO,
1740 	 BM(F2_2412_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1741 	 BM(G2_2412_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1742 	 BM(T2_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
1743 
1744 	{WOR0_WORLD, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, ADHOC_PER_11D,
1745 	 BM(W1_5260_5320, W1_5180_5240, W1_5170_5230, W1_5745_5825,
1746 	    W1_5500_5700, -1, -1, -1, -1, -1, -1, -1),
1747 	 BM(WT1_5210_5250, WT1_5290_5290, WT1_5760_5800, -1, -1, -1, -1,
1748 	    -1, -1, -1, -1, -1),
1749 	 BMZERO,
1750 	 BM(W1_2412_2412, W1_2437_2442, W1_2462_2462, W1_2472_2472,
1751 	    W1_2417_2432, W1_2447_2457, W1_2467_2467, W1_2484_2484, -1, -1,
1752 	    -1, -1),
1753 	 BM(WG1_2412_2462, WG1_2467_2472, -1, -1, -1, -1, -1, -1, -1, -1,
1754 	    -1, -1),
1755 	 BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
1756 
1757 	{WOR01_WORLD, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR,
1758 	 ADHOC_PER_11D,
1759 	 BM(W1_5260_5320, W1_5180_5240, W1_5170_5230, W1_5745_5825,
1760 	    W1_5500_5700, -1, -1, -1, -1, -1, -1, -1),
1761 	 BM(WT1_5210_5250, WT1_5290_5290, WT1_5760_5800, -1, -1, -1, -1,
1762 	    -1, -1, -1, -1, -1),
1763 	 BMZERO,
1764 	 BM(W1_2412_2412, W1_2437_2442, W1_2462_2462, W1_2417_2432,
1765 	    W1_2447_2457, -1, -1, -1, -1, -1, -1, -1),
1766 	 BM(WG1_2412_2462, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1767 	 BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
1768 
1769 	{WOR02_WORLD, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR,
1770 	 ADHOC_PER_11D,
1771 	 BM(W1_5260_5320, W1_5180_5240, W1_5170_5230, W1_5745_5825,
1772 	    W1_5500_5700, -1, -1, -1, -1, -1, -1, -1),
1773 	 BM(WT1_5210_5250, WT1_5290_5290, WT1_5760_5800, -1, -1, -1, -1,
1774 	    -1, -1, -1, -1, -1),
1775 	 BMZERO,
1776 	 BM(W1_2412_2412, W1_2437_2442, W1_2462_2462, W1_2472_2472,
1777 	    W1_2417_2432, W1_2447_2457, W1_2467_2467, -1, -1, -1, -1, -1),
1778 	 BM(WG1_2412_2462, WG1_2467_2472, -1, -1, -1, -1, -1, -1, -1, -1,
1779 	    -1, -1),
1780 	 BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
1781 
1782 	{EU1_WORLD, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, ADHOC_PER_11D,
1783 	 BM(W1_5260_5320, W1_5180_5240, W1_5170_5230, W1_5745_5825,
1784 	    W1_5500_5700, -1, -1, -1, -1, -1, -1, -1),
1785 	 BM(WT1_5210_5250, WT1_5290_5290, WT1_5760_5800, -1, -1, -1, -1,
1786 	    -1, -1, -1, -1, -1),
1787 	 BMZERO,
1788 	 BM(W1_2412_2412, W1_2437_2442, W1_2462_2462, W2_2472_2472,
1789 	    W1_2417_2432, W1_2447_2457, W2_2467_2467, -1, -1, -1, -1, -1),
1790 	 BM(WG1_2412_2462, WG2_2467_2472, -1, -1, -1, -1, -1, -1, -1, -1,
1791 	    -1, -1),
1792 	 BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
1793 
1794 	{WOR1_WORLD, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, ADHOC_NO_11A,
1795 	 BM(W1_5260_5320, W1_5180_5240, W1_5170_5230, W1_5745_5825,
1796 	    W1_5500_5700, -1, -1, -1, -1, -1, -1, -1),
1797 	 BMZERO,
1798 	 BMZERO,
1799 	 BM(W1_2412_2412, W1_2437_2442, W1_2462_2462, W1_2472_2472,
1800 	    W1_2417_2432, W1_2447_2457, W1_2467_2467, W1_2484_2484, -1, -1,
1801 	    -1, -1),
1802 	 BM(WG1_2412_2462, WG1_2467_2472, -1, -1, -1, -1, -1, -1, -1, -1,
1803 	    -1, -1),
1804 	 BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
1805 
1806 	{WOR2_WORLD, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, ADHOC_NO_11A,
1807 	 BM(W1_5260_5320, W1_5180_5240, W1_5170_5230, W1_5745_5825,
1808 	    W1_5500_5700, -1, -1, -1, -1, -1, -1, -1),
1809 	 BM(WT1_5210_5250, WT1_5290_5290, WT1_5760_5800, -1, -1, -1, -1,
1810 	    -1, -1, -1, -1, -1),
1811 	 BMZERO,
1812 	 BM(W1_2412_2412, W1_2437_2442, W1_2462_2462, W1_2472_2472,
1813 	    W1_2417_2432, W1_2447_2457, W1_2467_2467, W1_2484_2484, -1, -1,
1814 	    -1, -1),
1815 	 BM(WG1_2412_2462, WG1_2467_2472, -1, -1, -1, -1, -1, -1, -1, -1,
1816 	    -1, -1),
1817 	 BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
1818 
1819 	{WOR3_WORLD, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, ADHOC_PER_11D,
1820 	 BM(W1_5260_5320, W1_5180_5240, W1_5170_5230, W1_5745_5825, -1, -1,
1821 	    -1, -1, -1, -1, -1, -1),
1822 	 BM(WT1_5210_5250, WT1_5290_5290, WT1_5760_5800, -1, -1, -1, -1,
1823 	    -1, -1, -1, -1, -1),
1824 	 BMZERO,
1825 	 BM(W1_2412_2412, W1_2437_2442, W1_2462_2462, W1_2472_2472,
1826 	    W1_2417_2432, W1_2447_2457, W1_2467_2467, -1, -1, -1, -1, -1),
1827 	 BM(WG1_2412_2462, WG2_2467_2472, -1, -1, -1, -1, -1, -1, -1, -1,
1828 	    -1, -1),
1829 	 BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
1830 
1831 	{WOR4_WORLD, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, ADHOC_NO_11A,
1832 	 BM(W1_5260_5320, W1_5180_5240, W1_5745_5825, -1, -1, -1, -1, -1,
1833 	    -1, -1, -1, -1),
1834 	 BM(WT1_5210_5250, WT1_5290_5290, WT1_5760_5800, -1, -1, -1, -1,
1835 	    -1, -1, -1, -1, -1),
1836 	 BMZERO,
1837 	 BM(W1_2412_2412, W1_2437_2442, W1_2462_2462, W1_2417_2432,
1838 	    W1_2447_2457, -1, -1, -1, -1, -1, -1, -1),
1839 	 BM(WG1_2412_2462, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1840 	 BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
1841 
1842 	{WOR5_ETSIC, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, ADHOC_NO_11A,
1843 	 BM(W1_5260_5320, W1_5180_5240, W1_5745_5825, -1, -1, -1, -1, -1,
1844 	    -1, -1, -1, -1),
1845 	 BMZERO,
1846 	 BMZERO,
1847 	 BM(W1_2412_2412, W1_2437_2442, W1_2462_2462, W1_2472_2472,
1848 	    W1_2417_2432, W1_2447_2457, W1_2467_2467, -1, -1, -1, -1, -1),
1849 	 BM(WG1_2412_2462, WG1_2467_2472, -1, -1, -1, -1, -1, -1, -1, -1,
1850 	    -1, -1),
1851 	 BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
1852 
1853 	{WOR9_WORLD, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, ADHOC_NO_11A,
1854 	 BM(W1_5260_5320, W1_5180_5240, W1_5745_5825, W1_5500_5700, -1, -1,
1855 	    -1, -1, -1, -1, -1, -1),
1856 	 BM(WT1_5210_5250, WT1_5290_5290, WT1_5760_5800, -1, -1, -1, -1,
1857 	    -1, -1, -1, -1, -1),
1858 	 BMZERO,
1859 	 BM(W1_2412_2412, W1_2437_2442, W1_2462_2462, W1_2417_2432,
1860 	    W1_2447_2457, -1, -1, -1, -1, -1, -1, -1),
1861 	 BM(WG1_2412_2462, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
1862 	 BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
1863 
1864 	{WORA_WORLD, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, ADHOC_NO_11A,
1865 	 BM(W1_5260_5320, W1_5180_5240, W1_5745_5825, W1_5500_5700, -1, -1,
1866 	    -1, -1, -1, -1, -1, -1),
1867 	 BMZERO,
1868 	 BMZERO,
1869 	 BM(W1_2412_2412, W1_2437_2442, W1_2462_2462, W1_2472_2472,
1870 	    W1_2417_2432, W1_2447_2457, W1_2467_2467, -1, -1, -1, -1, -1),
1871 	 BM(WG1_2412_2462, WG1_2467_2472, -1, -1, -1, -1, -1, -1, -1, -1,
1872 	    -1, -1),
1873 	 BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
1874 
1875 	{WORB_WORLD, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, ADHOC_NO_11A,
1876 	 BM(W1_5260_5320, W1_5180_5240, W1_5500_5700, -1, -1, -1, -1, -1,
1877 	    -1, -1, -1, -1),
1878 	 BMZERO,
1879 	 BMZERO,
1880 	 BM(W1_2412_2412, W1_2437_2442, W1_2462_2462, W1_2472_2472,
1881 	    W1_2417_2432, W1_2447_2457, W1_2467_2467, -1, -1, -1, -1, -1),
1882 	 BM(WG1_2412_2462, WG1_2467_2472, -1, -1, -1, -1, -1, -1, -1, -1,
1883 	    -1, -1),
1884 	 BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
1885 
1886 	{NULL1, NO_CTL, NO_DFS, NO_PSCAN, NO_REQ,
1887 	 BMZERO,
1888 	 BMZERO,
1889 	 BMZERO,
1890 	 BMZERO,
1891 	 BMZERO,
1892 	 BMZERO}
1893 };
1894 
1895 static const struct cmode modes[] = {
1896 	{ATH9K_MODE_11A, CHANNEL_A},
1897 	{ATH9K_MODE_11B, CHANNEL_B},
1898 	{ATH9K_MODE_11G, CHANNEL_G},
1899 	{ATH9K_MODE_11NG_HT20, CHANNEL_G_HT20},
1900 	{ATH9K_MODE_11NG_HT40PLUS, CHANNEL_G_HT40PLUS},
1901 	{ATH9K_MODE_11NG_HT40MINUS, CHANNEL_G_HT40MINUS},
1902 	{ATH9K_MODE_11NA_HT20, CHANNEL_A_HT20},
1903 	{ATH9K_MODE_11NA_HT40PLUS, CHANNEL_A_HT40PLUS},
1904 	{ATH9K_MODE_11NA_HT40MINUS, CHANNEL_A_HT40MINUS},
1905 };
1906 
1907 static struct japan_bandcheck j_bandcheck[] = {
1908 	{F1_5170_5230, AR_EEPROM_EEREGCAP_EN_KK_U1_ODD},
1909 	{F4_5180_5240, AR_EEPROM_EEREGCAP_EN_KK_U1_EVEN},
1910 	{F2_5260_5320, AR_EEPROM_EEREGCAP_EN_KK_U2},
1911 	{F4_5500_5700, AR_EEPROM_EEREGCAP_EN_KK_MIDBAND}
1912 };
1913 
1914 
1915 #endif
1916