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