xref: /linux/drivers/net/wireless/ath/regd_common.h (revision 58d30d14)
13a702e49SBob Copeland /*
23a702e49SBob Copeland  * Copyright (c) 2008-2009 Atheros Communications Inc.
33a702e49SBob Copeland  *
43a702e49SBob Copeland  * Permission to use, copy, modify, and/or distribute this software for any
53a702e49SBob Copeland  * purpose with or without fee is hereby granted, provided that the above
63a702e49SBob Copeland  * copyright notice and this permission notice appear in all copies.
73a702e49SBob Copeland  *
83a702e49SBob Copeland  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
93a702e49SBob Copeland  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
103a702e49SBob Copeland  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
113a702e49SBob Copeland  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
123a702e49SBob Copeland  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
133a702e49SBob Copeland  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
143a702e49SBob Copeland  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
153a702e49SBob Copeland  */
163a702e49SBob Copeland 
173a702e49SBob Copeland #ifndef REGD_COMMON_H
183a702e49SBob Copeland #define REGD_COMMON_H
193a702e49SBob Copeland 
203a702e49SBob Copeland enum EnumRd {
213a702e49SBob Copeland 	NO_ENUMRD = 0x00,
223a702e49SBob Copeland 	NULL1_WORLD = 0x03,
233a702e49SBob Copeland 	NULL1_ETSIB = 0x07,
243a702e49SBob Copeland 	NULL1_ETSIC = 0x08,
253a702e49SBob Copeland 	FCC1_FCCA = 0x10,
263a702e49SBob Copeland 	FCC1_WORLD = 0x11,
273a702e49SBob Copeland 	FCC4_FCCA = 0x12,
283a702e49SBob Copeland 	FCC5_FCCA = 0x13,
293a702e49SBob Copeland 	FCC6_FCCA = 0x14,
303a702e49SBob Copeland 
313a702e49SBob Copeland 	FCC2_FCCA = 0x20,
323a702e49SBob Copeland 	FCC2_WORLD = 0x21,
333a702e49SBob Copeland 	FCC2_ETSIC = 0x22,
343a702e49SBob Copeland 	FCC6_WORLD = 0x23,
353a702e49SBob Copeland 	FRANCE_RES = 0x31,
363a702e49SBob Copeland 	FCC3_FCCA = 0x3A,
373a702e49SBob Copeland 	FCC3_WORLD = 0x3B,
383a702e49SBob Copeland 
393a702e49SBob Copeland 	ETSI1_WORLD = 0x37,
403a702e49SBob Copeland 	ETSI3_ETSIA = 0x32,
413a702e49SBob Copeland 	ETSI2_WORLD = 0x35,
423a702e49SBob Copeland 	ETSI3_WORLD = 0x36,
433a702e49SBob Copeland 	ETSI4_WORLD = 0x30,
443a702e49SBob Copeland 	ETSI4_ETSIC = 0x38,
453a702e49SBob Copeland 	ETSI5_WORLD = 0x39,
463a702e49SBob Copeland 	ETSI6_WORLD = 0x34,
473a702e49SBob Copeland 	ETSI_RESERVED = 0x33,
483a702e49SBob Copeland 
493a702e49SBob Copeland 	MKK1_MKKA = 0x40,
503a702e49SBob Copeland 	MKK1_MKKB = 0x41,
513a702e49SBob Copeland 	APL4_WORLD = 0x42,
523a702e49SBob Copeland 	MKK2_MKKA = 0x43,
533a702e49SBob Copeland 	APL_RESERVED = 0x44,
543a702e49SBob Copeland 	APL2_WORLD = 0x45,
553a702e49SBob Copeland 	APL2_APLC = 0x46,
563a702e49SBob Copeland 	APL3_WORLD = 0x47,
573a702e49SBob Copeland 	MKK1_FCCA = 0x48,
583a702e49SBob Copeland 	APL2_APLD = 0x49,
593a702e49SBob Copeland 	MKK1_MKKA1 = 0x4A,
603a702e49SBob Copeland 	MKK1_MKKA2 = 0x4B,
613a702e49SBob Copeland 	MKK1_MKKC = 0x4C,
623a702e49SBob Copeland 
633a702e49SBob Copeland 	APL3_FCCA = 0x50,
643a702e49SBob Copeland 	APL1_WORLD = 0x52,
653a702e49SBob Copeland 	APL1_FCCA = 0x53,
663a702e49SBob Copeland 	APL1_APLA = 0x54,
673a702e49SBob Copeland 	APL1_ETSIC = 0x55,
683a702e49SBob Copeland 	APL2_ETSIC = 0x56,
693a702e49SBob Copeland 	APL5_WORLD = 0x58,
703a702e49SBob Copeland 	APL6_WORLD = 0x5B,
713a702e49SBob Copeland 	APL7_FCCA = 0x5C,
723a702e49SBob Copeland 	APL8_WORLD = 0x5D,
733a702e49SBob Copeland 	APL9_WORLD = 0x5E,
743a702e49SBob Copeland 
753a702e49SBob Copeland 	WOR0_WORLD = 0x60,
763a702e49SBob Copeland 	WOR1_WORLD = 0x61,
773a702e49SBob Copeland 	WOR2_WORLD = 0x62,
783a702e49SBob Copeland 	WOR3_WORLD = 0x63,
793a702e49SBob Copeland 	WOR4_WORLD = 0x64,
803a702e49SBob Copeland 	WOR5_ETSIC = 0x65,
813a702e49SBob Copeland 
823a702e49SBob Copeland 	WOR01_WORLD = 0x66,
833a702e49SBob Copeland 	WOR02_WORLD = 0x67,
843a702e49SBob Copeland 	EU1_WORLD = 0x68,
853a702e49SBob Copeland 
863a702e49SBob Copeland 	WOR9_WORLD = 0x69,
873a702e49SBob Copeland 	WORA_WORLD = 0x6A,
883a702e49SBob Copeland 	WORB_WORLD = 0x6B,
893a702e49SBob Copeland 
903a702e49SBob Copeland 	MKK3_MKKB = 0x80,
913a702e49SBob Copeland 	MKK3_MKKA2 = 0x81,
923a702e49SBob Copeland 	MKK3_MKKC = 0x82,
933a702e49SBob Copeland 
943a702e49SBob Copeland 	MKK4_MKKB = 0x83,
953a702e49SBob Copeland 	MKK4_MKKA2 = 0x84,
963a702e49SBob Copeland 	MKK4_MKKC = 0x85,
973a702e49SBob Copeland 
983a702e49SBob Copeland 	MKK5_MKKB = 0x86,
993a702e49SBob Copeland 	MKK5_MKKA2 = 0x87,
1003a702e49SBob Copeland 	MKK5_MKKC = 0x88,
1013a702e49SBob Copeland 
1023a702e49SBob Copeland 	MKK6_MKKB = 0x89,
1033a702e49SBob Copeland 	MKK6_MKKA2 = 0x8A,
1043a702e49SBob Copeland 	MKK6_MKKC = 0x8B,
1053a702e49SBob Copeland 
1063a702e49SBob Copeland 	MKK7_MKKB = 0x8C,
1073a702e49SBob Copeland 	MKK7_MKKA2 = 0x8D,
1083a702e49SBob Copeland 	MKK7_MKKC = 0x8E,
1093a702e49SBob Copeland 
1103a702e49SBob Copeland 	MKK8_MKKB = 0x8F,
1113a702e49SBob Copeland 	MKK8_MKKA2 = 0x90,
1123a702e49SBob Copeland 	MKK8_MKKC = 0x91,
1133a702e49SBob Copeland 
1143a702e49SBob Copeland 	MKK14_MKKA1 = 0x92,
1153a702e49SBob Copeland 	MKK15_MKKA1 = 0x93,
1163a702e49SBob Copeland 
1173a702e49SBob Copeland 	MKK10_FCCA = 0xD0,
1183a702e49SBob Copeland 	MKK10_MKKA1 = 0xD1,
1193a702e49SBob Copeland 	MKK10_MKKC = 0xD2,
1203a702e49SBob Copeland 	MKK10_MKKA2 = 0xD3,
1213a702e49SBob Copeland 
1223a702e49SBob Copeland 	MKK11_MKKA = 0xD4,
1233a702e49SBob Copeland 	MKK11_FCCA = 0xD5,
1243a702e49SBob Copeland 	MKK11_MKKA1 = 0xD6,
1253a702e49SBob Copeland 	MKK11_MKKC = 0xD7,
1263a702e49SBob Copeland 	MKK11_MKKA2 = 0xD8,
1273a702e49SBob Copeland 
1283a702e49SBob Copeland 	MKK12_MKKA = 0xD9,
1293a702e49SBob Copeland 	MKK12_FCCA = 0xDA,
1303a702e49SBob Copeland 	MKK12_MKKA1 = 0xDB,
1313a702e49SBob Copeland 	MKK12_MKKC = 0xDC,
1323a702e49SBob Copeland 	MKK12_MKKA2 = 0xDD,
1333a702e49SBob Copeland 
1343a702e49SBob Copeland 	MKK13_MKKB = 0xDE,
1353a702e49SBob Copeland 
1363a702e49SBob Copeland 	MKK3_MKKA = 0xF0,
1373a702e49SBob Copeland 	MKK3_MKKA1 = 0xF1,
1383a702e49SBob Copeland 	MKK3_FCCA = 0xF2,
1393a702e49SBob Copeland 	MKK4_MKKA = 0xF3,
1403a702e49SBob Copeland 	MKK4_MKKA1 = 0xF4,
1413a702e49SBob Copeland 	MKK4_FCCA = 0xF5,
1423a702e49SBob Copeland 	MKK9_MKKA = 0xF6,
1433a702e49SBob Copeland 	MKK10_MKKA = 0xF7,
1443a702e49SBob Copeland 	MKK6_MKKA1 = 0xF8,
1453a702e49SBob Copeland 	MKK6_FCCA = 0xF9,
1463a702e49SBob Copeland 	MKK7_MKKA1 = 0xFA,
1473a702e49SBob Copeland 	MKK7_FCCA = 0xFB,
1483a702e49SBob Copeland 	MKK9_FCCA = 0xFC,
1493a702e49SBob Copeland 	MKK9_MKKA1 = 0xFD,
1503a702e49SBob Copeland 	MKK9_MKKC = 0xFE,
1513a702e49SBob Copeland 	MKK9_MKKA2 = 0xFF,
1523a702e49SBob Copeland 
1533a702e49SBob Copeland 	WORLD = 0x0199,
1543a702e49SBob Copeland 	DEBUG_REG_DMN = 0x01ff,
1553a702e49SBob Copeland };
1563a702e49SBob Copeland 
1573a702e49SBob Copeland enum ctl_group {
1583a702e49SBob Copeland 	CTL_FCC = 0x10,
1593a702e49SBob Copeland 	CTL_MKK = 0x40,
1603a702e49SBob Copeland 	CTL_ETSI = 0x30,
1613a702e49SBob Copeland };
1623a702e49SBob Copeland 
1633a702e49SBob Copeland /* Regpair to CTL band mapping */
1643a702e49SBob Copeland static struct reg_dmn_pair_mapping regDomainPairs[] = {
1653a702e49SBob Copeland 	/* regpair, 5 GHz CTL, 2 GHz CTL */
1663a702e49SBob Copeland 	{NO_ENUMRD, DEBUG_REG_DMN, DEBUG_REG_DMN},
1673a702e49SBob Copeland 	{NULL1_WORLD, NO_CTL, CTL_ETSI},
1683a702e49SBob Copeland 	{NULL1_ETSIB, NO_CTL, CTL_ETSI},
1693a702e49SBob Copeland 	{NULL1_ETSIC, NO_CTL, CTL_ETSI},
1703a702e49SBob Copeland 
1713a702e49SBob Copeland 	{FCC2_FCCA, CTL_FCC, CTL_FCC},
1723a702e49SBob Copeland 	{FCC2_WORLD, CTL_FCC, CTL_ETSI},
1733a702e49SBob Copeland 	{FCC2_ETSIC, CTL_FCC, CTL_ETSI},
1743a702e49SBob Copeland 	{FCC3_FCCA, CTL_FCC, CTL_FCC},
1753a702e49SBob Copeland 	{FCC3_WORLD, CTL_FCC, CTL_ETSI},
1763a702e49SBob Copeland 	{FCC4_FCCA, CTL_FCC, CTL_FCC},
1773a702e49SBob Copeland 	{FCC5_FCCA, CTL_FCC, CTL_FCC},
1783a702e49SBob Copeland 	{FCC6_FCCA, CTL_FCC, CTL_FCC},
1793a702e49SBob Copeland 	{FCC6_WORLD, CTL_FCC, CTL_ETSI},
1803a702e49SBob Copeland 
1813a702e49SBob Copeland 	{ETSI1_WORLD, CTL_ETSI, CTL_ETSI},
1823a702e49SBob Copeland 	{ETSI2_WORLD, CTL_ETSI, CTL_ETSI},
1833a702e49SBob Copeland 	{ETSI3_WORLD, CTL_ETSI, CTL_ETSI},
1843a702e49SBob Copeland 	{ETSI4_WORLD, CTL_ETSI, CTL_ETSI},
1853a702e49SBob Copeland 	{ETSI5_WORLD, CTL_ETSI, CTL_ETSI},
1863a702e49SBob Copeland 	{ETSI6_WORLD, CTL_ETSI, CTL_ETSI},
1873a702e49SBob Copeland 
1883a702e49SBob Copeland 	/* XXX: For ETSI3_ETSIA, Was NO_CTL meant for the 2 GHz band ? */
1893a702e49SBob Copeland 	{ETSI3_ETSIA, CTL_ETSI, CTL_ETSI},
1903a702e49SBob Copeland 	{FRANCE_RES, CTL_ETSI, CTL_ETSI},
1913a702e49SBob Copeland 
1923a702e49SBob Copeland 	{FCC1_WORLD, CTL_FCC, CTL_ETSI},
1933a702e49SBob Copeland 	{FCC1_FCCA, CTL_FCC, CTL_FCC},
1943a702e49SBob Copeland 	{APL1_WORLD, CTL_FCC, CTL_ETSI},
1953a702e49SBob Copeland 	{APL2_WORLD, CTL_FCC, CTL_ETSI},
1963a702e49SBob Copeland 	{APL3_WORLD, CTL_FCC, CTL_ETSI},
1973a702e49SBob Copeland 	{APL4_WORLD, CTL_FCC, CTL_ETSI},
1983a702e49SBob Copeland 	{APL5_WORLD, CTL_FCC, CTL_ETSI},
1993a702e49SBob Copeland 	{APL6_WORLD, CTL_ETSI, CTL_ETSI},
2003a702e49SBob Copeland 	{APL8_WORLD, CTL_ETSI, CTL_ETSI},
2013a702e49SBob Copeland 	{APL9_WORLD, CTL_ETSI, CTL_ETSI},
2023a702e49SBob Copeland 
2033a702e49SBob Copeland 	{APL3_FCCA, CTL_FCC, CTL_FCC},
2043a702e49SBob Copeland 	{APL1_ETSIC, CTL_FCC, CTL_ETSI},
2053a702e49SBob Copeland 	{APL2_ETSIC, CTL_FCC, CTL_ETSI},
2063a702e49SBob Copeland 	{APL2_APLD, CTL_FCC, NO_CTL},
2073a702e49SBob Copeland 
2083a702e49SBob Copeland 	{MKK1_MKKA, CTL_MKK, CTL_MKK},
2093a702e49SBob Copeland 	{MKK1_MKKB, CTL_MKK, CTL_MKK},
2103a702e49SBob Copeland 	{MKK1_FCCA, CTL_MKK, CTL_FCC},
2113a702e49SBob Copeland 	{MKK1_MKKA1, CTL_MKK, CTL_MKK},
2123a702e49SBob Copeland 	{MKK1_MKKA2, CTL_MKK, CTL_MKK},
2133a702e49SBob Copeland 	{MKK1_MKKC, CTL_MKK, CTL_MKK},
2143a702e49SBob Copeland 
2153a702e49SBob Copeland 	{MKK2_MKKA, CTL_MKK, CTL_MKK},
2163a702e49SBob Copeland 	{MKK3_MKKA, CTL_MKK, CTL_MKK},
2173a702e49SBob Copeland 	{MKK3_MKKB, CTL_MKK, CTL_MKK},
2183a702e49SBob Copeland 	{MKK3_MKKA1, CTL_MKK, CTL_MKK},
2193a702e49SBob Copeland 	{MKK3_MKKA2, CTL_MKK, CTL_MKK},
2203a702e49SBob Copeland 	{MKK3_MKKC, CTL_MKK, CTL_MKK},
2213a702e49SBob Copeland 	{MKK3_FCCA, CTL_MKK, CTL_FCC},
2223a702e49SBob Copeland 
2233a702e49SBob Copeland 	{MKK4_MKKA, CTL_MKK, CTL_MKK},
2243a702e49SBob Copeland 	{MKK4_MKKB, CTL_MKK, CTL_MKK},
2253a702e49SBob Copeland 	{MKK4_MKKA1, CTL_MKK, CTL_MKK},
2263a702e49SBob Copeland 	{MKK4_MKKA2, CTL_MKK, CTL_MKK},
2273a702e49SBob Copeland 	{MKK4_MKKC, CTL_MKK, CTL_MKK},
2283a702e49SBob Copeland 	{MKK4_FCCA, CTL_MKK, CTL_FCC},
2293a702e49SBob Copeland 
2303a702e49SBob Copeland 	{MKK5_MKKB, CTL_MKK, CTL_MKK},
2313a702e49SBob Copeland 	{MKK5_MKKA2, CTL_MKK, CTL_MKK},
2323a702e49SBob Copeland 	{MKK5_MKKC, CTL_MKK, CTL_MKK},
2333a702e49SBob Copeland 
2343a702e49SBob Copeland 	{MKK6_MKKB, CTL_MKK, CTL_MKK},
2353a702e49SBob Copeland 	{MKK6_MKKA1, CTL_MKK, CTL_MKK},
2363a702e49SBob Copeland 	{MKK6_MKKA2, CTL_MKK, CTL_MKK},
2373a702e49SBob Copeland 	{MKK6_MKKC, CTL_MKK, CTL_MKK},
2383a702e49SBob Copeland 	{MKK6_FCCA, CTL_MKK, CTL_FCC},
2393a702e49SBob Copeland 
2403a702e49SBob Copeland 	{MKK7_MKKB, CTL_MKK, CTL_MKK},
2413a702e49SBob Copeland 	{MKK7_MKKA1, CTL_MKK, CTL_MKK},
2423a702e49SBob Copeland 	{MKK7_MKKA2, CTL_MKK, CTL_MKK},
2433a702e49SBob Copeland 	{MKK7_MKKC, CTL_MKK, CTL_MKK},
2443a702e49SBob Copeland 	{MKK7_FCCA, CTL_MKK, CTL_FCC},
2453a702e49SBob Copeland 
2463a702e49SBob Copeland 	{MKK8_MKKB, CTL_MKK, CTL_MKK},
2473a702e49SBob Copeland 	{MKK8_MKKA2, CTL_MKK, CTL_MKK},
2483a702e49SBob Copeland 	{MKK8_MKKC, CTL_MKK, CTL_MKK},
2493a702e49SBob Copeland 
2503a702e49SBob Copeland 	{MKK9_MKKA, CTL_MKK, CTL_MKK},
2513a702e49SBob Copeland 	{MKK9_FCCA, CTL_MKK, CTL_FCC},
2523a702e49SBob Copeland 	{MKK9_MKKA1, CTL_MKK, CTL_MKK},
2533a702e49SBob Copeland 	{MKK9_MKKA2, CTL_MKK, CTL_MKK},
2543a702e49SBob Copeland 	{MKK9_MKKC, CTL_MKK, CTL_MKK},
2553a702e49SBob Copeland 
2563a702e49SBob Copeland 	{MKK10_MKKA, CTL_MKK, CTL_MKK},
2573a702e49SBob Copeland 	{MKK10_FCCA, CTL_MKK, CTL_FCC},
2583a702e49SBob Copeland 	{MKK10_MKKA1, CTL_MKK, CTL_MKK},
2593a702e49SBob Copeland 	{MKK10_MKKA2, CTL_MKK, CTL_MKK},
2603a702e49SBob Copeland 	{MKK10_MKKC, CTL_MKK, CTL_MKK},
2613a702e49SBob Copeland 
2623a702e49SBob Copeland 	{MKK11_MKKA, CTL_MKK, CTL_MKK},
2633a702e49SBob Copeland 	{MKK11_FCCA, CTL_MKK, CTL_FCC},
2643a702e49SBob Copeland 	{MKK11_MKKA1, CTL_MKK, CTL_MKK},
2653a702e49SBob Copeland 	{MKK11_MKKA2, CTL_MKK, CTL_MKK},
2663a702e49SBob Copeland 	{MKK11_MKKC, CTL_MKK, CTL_MKK},
2673a702e49SBob Copeland 
2683a702e49SBob Copeland 	{MKK12_MKKA, CTL_MKK, CTL_MKK},
2693a702e49SBob Copeland 	{MKK12_FCCA, CTL_MKK, CTL_FCC},
2703a702e49SBob Copeland 	{MKK12_MKKA1, CTL_MKK, CTL_MKK},
2713a702e49SBob Copeland 	{MKK12_MKKA2, CTL_MKK, CTL_MKK},
2723a702e49SBob Copeland 	{MKK12_MKKC, CTL_MKK, CTL_MKK},
2733a702e49SBob Copeland 
2743a702e49SBob Copeland 	{MKK13_MKKB, CTL_MKK, CTL_MKK},
2753a702e49SBob Copeland 	{MKK14_MKKA1, CTL_MKK, CTL_MKK},
2763a702e49SBob Copeland 	{MKK15_MKKA1, CTL_MKK, CTL_MKK},
2773a702e49SBob Copeland 
2783a702e49SBob Copeland 	{WOR0_WORLD, NO_CTL, NO_CTL},
2793a702e49SBob Copeland 	{WOR1_WORLD, NO_CTL, NO_CTL},
2803a702e49SBob Copeland 	{WOR2_WORLD, NO_CTL, NO_CTL},
2813a702e49SBob Copeland 	{WOR3_WORLD, NO_CTL, NO_CTL},
2823a702e49SBob Copeland 	{WOR4_WORLD, NO_CTL, NO_CTL},
2833a702e49SBob Copeland 	{WOR5_ETSIC, NO_CTL, NO_CTL},
2843a702e49SBob Copeland 	{WOR01_WORLD, NO_CTL, NO_CTL},
2853a702e49SBob Copeland 	{WOR02_WORLD, NO_CTL, NO_CTL},
2863a702e49SBob Copeland 	{EU1_WORLD, NO_CTL, NO_CTL},
2873a702e49SBob Copeland 	{WOR9_WORLD, NO_CTL, NO_CTL},
2883a702e49SBob Copeland 	{WORA_WORLD, NO_CTL, NO_CTL},
2893a702e49SBob Copeland 	{WORB_WORLD, NO_CTL, NO_CTL},
2903a702e49SBob Copeland };
2913a702e49SBob Copeland 
2923a702e49SBob Copeland static struct country_code_to_enum_rd allCountries[] = {
2933a702e49SBob Copeland 	{CTRY_DEBUG, NO_ENUMRD, "DB"},
2943a702e49SBob Copeland 	{CTRY_DEFAULT, FCC1_FCCA, "CO"},
2953a702e49SBob Copeland 	{CTRY_ALBANIA, NULL1_WORLD, "AL"},
2963a702e49SBob Copeland 	{CTRY_ALGERIA, NULL1_WORLD, "DZ"},
2973a702e49SBob Copeland 	{CTRY_ARGENTINA, APL3_WORLD, "AR"},
2983a702e49SBob Copeland 	{CTRY_ARMENIA, ETSI4_WORLD, "AM"},
2993a702e49SBob Copeland 	{CTRY_AUSTRALIA, FCC2_WORLD, "AU"},
3003a702e49SBob Copeland 	{CTRY_AUSTRALIA2, FCC6_WORLD, "AU"},
3013a702e49SBob Copeland 	{CTRY_AUSTRIA, ETSI1_WORLD, "AT"},
3023a702e49SBob Copeland 	{CTRY_AZERBAIJAN, ETSI4_WORLD, "AZ"},
3033a702e49SBob Copeland 	{CTRY_BAHRAIN, APL6_WORLD, "BH"},
3043a702e49SBob Copeland 	{CTRY_BELARUS, ETSI1_WORLD, "BY"},
3053a702e49SBob Copeland 	{CTRY_BELGIUM, ETSI1_WORLD, "BE"},
3063a702e49SBob Copeland 	{CTRY_BELGIUM2, ETSI4_WORLD, "BL"},
3073a702e49SBob Copeland 	{CTRY_BELIZE, APL1_ETSIC, "BZ"},
3083a702e49SBob Copeland 	{CTRY_BOLIVIA, APL1_ETSIC, "BO"},
3093a702e49SBob Copeland 	{CTRY_BOSNIA_HERZ, ETSI1_WORLD, "BA"},
3103a702e49SBob Copeland 	{CTRY_BRAZIL, FCC3_WORLD, "BR"},
3113a702e49SBob Copeland 	{CTRY_BRUNEI_DARUSSALAM, APL1_WORLD, "BN"},
3123a702e49SBob Copeland 	{CTRY_BULGARIA, ETSI6_WORLD, "BG"},
3133a702e49SBob Copeland 	{CTRY_CANADA, FCC2_FCCA, "CA"},
3143a702e49SBob Copeland 	{CTRY_CANADA2, FCC6_FCCA, "CA"},
3153a702e49SBob Copeland 	{CTRY_CHILE, APL6_WORLD, "CL"},
3163a702e49SBob Copeland 	{CTRY_CHINA, APL1_WORLD, "CN"},
3173a702e49SBob Copeland 	{CTRY_COLOMBIA, FCC1_FCCA, "CO"},
3183a702e49SBob Copeland 	{CTRY_COSTA_RICA, FCC1_WORLD, "CR"},
3193a702e49SBob Copeland 	{CTRY_CROATIA, ETSI3_WORLD, "HR"},
3203a702e49SBob Copeland 	{CTRY_CYPRUS, ETSI1_WORLD, "CY"},
3213a702e49SBob Copeland 	{CTRY_CZECH, ETSI3_WORLD, "CZ"},
3223a702e49SBob Copeland 	{CTRY_DENMARK, ETSI1_WORLD, "DK"},
3233a702e49SBob Copeland 	{CTRY_DOMINICAN_REPUBLIC, FCC1_FCCA, "DO"},
3243a702e49SBob Copeland 	{CTRY_ECUADOR, FCC1_WORLD, "EC"},
3253a702e49SBob Copeland 	{CTRY_EGYPT, ETSI3_WORLD, "EG"},
3263a702e49SBob Copeland 	{CTRY_EL_SALVADOR, FCC1_WORLD, "SV"},
3273a702e49SBob Copeland 	{CTRY_ESTONIA, ETSI1_WORLD, "EE"},
3283a702e49SBob Copeland 	{CTRY_FINLAND, ETSI1_WORLD, "FI"},
3293a702e49SBob Copeland 	{CTRY_FRANCE, ETSI1_WORLD, "FR"},
3303a702e49SBob Copeland 	{CTRY_GEORGIA, ETSI4_WORLD, "GE"},
3313a702e49SBob Copeland 	{CTRY_GERMANY, ETSI1_WORLD, "DE"},
3323a702e49SBob Copeland 	{CTRY_GREECE, ETSI1_WORLD, "GR"},
3333a702e49SBob Copeland 	{CTRY_GUATEMALA, FCC1_FCCA, "GT"},
3343a702e49SBob Copeland 	{CTRY_HONDURAS, NULL1_WORLD, "HN"},
3353a702e49SBob Copeland 	{CTRY_HONG_KONG, FCC2_WORLD, "HK"},
3363a702e49SBob Copeland 	{CTRY_HUNGARY, ETSI1_WORLD, "HU"},
3373a702e49SBob Copeland 	{CTRY_ICELAND, ETSI1_WORLD, "IS"},
3383a702e49SBob Copeland 	{CTRY_INDIA, APL6_WORLD, "IN"},
3393a702e49SBob Copeland 	{CTRY_INDONESIA, APL1_WORLD, "ID"},
3403a702e49SBob Copeland 	{CTRY_IRAN, APL1_WORLD, "IR"},
3413a702e49SBob Copeland 	{CTRY_IRELAND, ETSI1_WORLD, "IE"},
3423a702e49SBob Copeland 	{CTRY_ISRAEL, NULL1_WORLD, "IL"},
3433a702e49SBob Copeland 	{CTRY_ITALY, ETSI1_WORLD, "IT"},
3443a702e49SBob Copeland 	{CTRY_JAMAICA, ETSI1_WORLD, "JM"},
3453a702e49SBob Copeland 
3463a702e49SBob Copeland 	{CTRY_JAPAN, MKK1_MKKA, "JP"},
3473a702e49SBob Copeland 	{CTRY_JAPAN1, MKK1_MKKB, "JP"},
3483a702e49SBob Copeland 	{CTRY_JAPAN2, MKK1_FCCA, "JP"},
3493a702e49SBob Copeland 	{CTRY_JAPAN3, MKK2_MKKA, "JP"},
3503a702e49SBob Copeland 	{CTRY_JAPAN4, MKK1_MKKA1, "JP"},
3513a702e49SBob Copeland 	{CTRY_JAPAN5, MKK1_MKKA2, "JP"},
3523a702e49SBob Copeland 	{CTRY_JAPAN6, MKK1_MKKC, "JP"},
3533a702e49SBob Copeland 	{CTRY_JAPAN7, MKK3_MKKB, "JP"},
3543a702e49SBob Copeland 	{CTRY_JAPAN8, MKK3_MKKA2, "JP"},
3553a702e49SBob Copeland 	{CTRY_JAPAN9, MKK3_MKKC, "JP"},
3563a702e49SBob Copeland 	{CTRY_JAPAN10, MKK4_MKKB, "JP"},
3573a702e49SBob Copeland 	{CTRY_JAPAN11, MKK4_MKKA2, "JP"},
3583a702e49SBob Copeland 	{CTRY_JAPAN12, MKK4_MKKC, "JP"},
3593a702e49SBob Copeland 	{CTRY_JAPAN13, MKK5_MKKB, "JP"},
3603a702e49SBob Copeland 	{CTRY_JAPAN14, MKK5_MKKA2, "JP"},
3613a702e49SBob Copeland 	{CTRY_JAPAN15, MKK5_MKKC, "JP"},
3623a702e49SBob Copeland 	{CTRY_JAPAN16, MKK6_MKKB, "JP"},
3633a702e49SBob Copeland 	{CTRY_JAPAN17, MKK6_MKKA2, "JP"},
3643a702e49SBob Copeland 	{CTRY_JAPAN18, MKK6_MKKC, "JP"},
3653a702e49SBob Copeland 	{CTRY_JAPAN19, MKK7_MKKB, "JP"},
3663a702e49SBob Copeland 	{CTRY_JAPAN20, MKK7_MKKA2, "JP"},
3673a702e49SBob Copeland 	{CTRY_JAPAN21, MKK7_MKKC, "JP"},
3683a702e49SBob Copeland 	{CTRY_JAPAN22, MKK8_MKKB, "JP"},
3693a702e49SBob Copeland 	{CTRY_JAPAN23, MKK8_MKKA2, "JP"},
3703a702e49SBob Copeland 	{CTRY_JAPAN24, MKK8_MKKC, "JP"},
3713a702e49SBob Copeland 	{CTRY_JAPAN25, MKK3_MKKA, "JP"},
3723a702e49SBob Copeland 	{CTRY_JAPAN26, MKK3_MKKA1, "JP"},
3733a702e49SBob Copeland 	{CTRY_JAPAN27, MKK3_FCCA, "JP"},
3743a702e49SBob Copeland 	{CTRY_JAPAN28, MKK4_MKKA1, "JP"},
3753a702e49SBob Copeland 	{CTRY_JAPAN29, MKK4_FCCA, "JP"},
3763a702e49SBob Copeland 	{CTRY_JAPAN30, MKK6_MKKA1, "JP"},
3773a702e49SBob Copeland 	{CTRY_JAPAN31, MKK6_FCCA, "JP"},
3783a702e49SBob Copeland 	{CTRY_JAPAN32, MKK7_MKKA1, "JP"},
3793a702e49SBob Copeland 	{CTRY_JAPAN33, MKK7_FCCA, "JP"},
3803a702e49SBob Copeland 	{CTRY_JAPAN34, MKK9_MKKA, "JP"},
3813a702e49SBob Copeland 	{CTRY_JAPAN35, MKK10_MKKA, "JP"},
3823a702e49SBob Copeland 	{CTRY_JAPAN36, MKK4_MKKA, "JP"},
3833a702e49SBob Copeland 	{CTRY_JAPAN37, MKK9_FCCA, "JP"},
3843a702e49SBob Copeland 	{CTRY_JAPAN38, MKK9_MKKA1, "JP"},
3853a702e49SBob Copeland 	{CTRY_JAPAN39, MKK9_MKKC, "JP"},
3863a702e49SBob Copeland 	{CTRY_JAPAN40, MKK9_MKKA2, "JP"},
3873a702e49SBob Copeland 	{CTRY_JAPAN41, MKK10_FCCA, "JP"},
3883a702e49SBob Copeland 	{CTRY_JAPAN42, MKK10_MKKA1, "JP"},
3893a702e49SBob Copeland 	{CTRY_JAPAN43, MKK10_MKKC, "JP"},
3903a702e49SBob Copeland 	{CTRY_JAPAN44, MKK10_MKKA2, "JP"},
3913a702e49SBob Copeland 	{CTRY_JAPAN45, MKK11_MKKA, "JP"},
3923a702e49SBob Copeland 	{CTRY_JAPAN46, MKK11_FCCA, "JP"},
3933a702e49SBob Copeland 	{CTRY_JAPAN47, MKK11_MKKA1, "JP"},
3943a702e49SBob Copeland 	{CTRY_JAPAN48, MKK11_MKKC, "JP"},
3953a702e49SBob Copeland 	{CTRY_JAPAN49, MKK11_MKKA2, "JP"},
3963a702e49SBob Copeland 	{CTRY_JAPAN50, MKK12_MKKA, "JP"},
3973a702e49SBob Copeland 	{CTRY_JAPAN51, MKK12_FCCA, "JP"},
3983a702e49SBob Copeland 	{CTRY_JAPAN52, MKK12_MKKA1, "JP"},
3993a702e49SBob Copeland 	{CTRY_JAPAN53, MKK12_MKKC, "JP"},
4003a702e49SBob Copeland 	{CTRY_JAPAN54, MKK12_MKKA2, "JP"},
4013a702e49SBob Copeland 	{CTRY_JAPAN57, MKK13_MKKB, "JP"},
4023a702e49SBob Copeland 	{CTRY_JAPAN58, MKK14_MKKA1, "JP"},
4033a702e49SBob Copeland 	{CTRY_JAPAN59, MKK15_MKKA1, "JP"},
4043a702e49SBob Copeland 
4053a702e49SBob Copeland 	{CTRY_JORDAN, ETSI2_WORLD, "JO"},
4063a702e49SBob Copeland 	{CTRY_KAZAKHSTAN, NULL1_WORLD, "KZ"},
4073a702e49SBob Copeland 	{CTRY_KOREA_NORTH, APL9_WORLD, "KP"},
4083a702e49SBob Copeland 	{CTRY_KOREA_ROC, APL9_WORLD, "KR"},
4093a702e49SBob Copeland 	{CTRY_KOREA_ROC2, APL2_WORLD, "K2"},
4103a702e49SBob Copeland 	{CTRY_KOREA_ROC3, APL9_WORLD, "K3"},
4113a702e49SBob Copeland 	{CTRY_KUWAIT, NULL1_WORLD, "KW"},
4123a702e49SBob Copeland 	{CTRY_LATVIA, ETSI1_WORLD, "LV"},
4133a702e49SBob Copeland 	{CTRY_LEBANON, NULL1_WORLD, "LB"},
4143a702e49SBob Copeland 	{CTRY_LIECHTENSTEIN, ETSI1_WORLD, "LI"},
4153a702e49SBob Copeland 	{CTRY_LITHUANIA, ETSI1_WORLD, "LT"},
4163a702e49SBob Copeland 	{CTRY_LUXEMBOURG, ETSI1_WORLD, "LU"},
4173a702e49SBob Copeland 	{CTRY_MACAU, FCC2_WORLD, "MO"},
4183a702e49SBob Copeland 	{CTRY_MACEDONIA, NULL1_WORLD, "MK"},
4193a702e49SBob Copeland 	{CTRY_MALAYSIA, APL8_WORLD, "MY"},
4203a702e49SBob Copeland 	{CTRY_MALTA, ETSI1_WORLD, "MT"},
4213a702e49SBob Copeland 	{CTRY_MEXICO, FCC1_FCCA, "MX"},
4223a702e49SBob Copeland 	{CTRY_MONACO, ETSI4_WORLD, "MC"},
4233a702e49SBob Copeland 	{CTRY_MOROCCO, NULL1_WORLD, "MA"},
4243a702e49SBob Copeland 	{CTRY_NEPAL, APL1_WORLD, "NP"},
4253a702e49SBob Copeland 	{CTRY_NETHERLANDS, ETSI1_WORLD, "NL"},
4263a702e49SBob Copeland 	{CTRY_NETHERLANDS_ANTILLES, ETSI1_WORLD, "AN"},
4273a702e49SBob Copeland 	{CTRY_NEW_ZEALAND, FCC2_ETSIC, "NZ"},
4283a702e49SBob Copeland 	{CTRY_NORWAY, ETSI1_WORLD, "NO"},
4293a702e49SBob Copeland 	{CTRY_OMAN, APL6_WORLD, "OM"},
4303a702e49SBob Copeland 	{CTRY_PAKISTAN, NULL1_WORLD, "PK"},
4313a702e49SBob Copeland 	{CTRY_PANAMA, FCC1_FCCA, "PA"},
4323a702e49SBob Copeland 	{CTRY_PAPUA_NEW_GUINEA, FCC1_WORLD, "PG"},
4333a702e49SBob Copeland 	{CTRY_PERU, APL1_WORLD, "PE"},
4343a702e49SBob Copeland 	{CTRY_PHILIPPINES, APL1_WORLD, "PH"},
4353a702e49SBob Copeland 	{CTRY_POLAND, ETSI1_WORLD, "PL"},
4363a702e49SBob Copeland 	{CTRY_PORTUGAL, ETSI1_WORLD, "PT"},
4373a702e49SBob Copeland 	{CTRY_PUERTO_RICO, FCC1_FCCA, "PR"},
4383a702e49SBob Copeland 	{CTRY_QATAR, NULL1_WORLD, "QA"},
4393a702e49SBob Copeland 	{CTRY_ROMANIA, NULL1_WORLD, "RO"},
4403a702e49SBob Copeland 	{CTRY_RUSSIA, NULL1_WORLD, "RU"},
4413a702e49SBob Copeland 	{CTRY_SAUDI_ARABIA, NULL1_WORLD, "SA"},
4423a702e49SBob Copeland 	{CTRY_SERBIA_MONTENEGRO, ETSI1_WORLD, "CS"},
4433a702e49SBob Copeland 	{CTRY_SINGAPORE, APL6_WORLD, "SG"},
4443a702e49SBob Copeland 	{CTRY_SLOVAKIA, ETSI1_WORLD, "SK"},
4453a702e49SBob Copeland 	{CTRY_SLOVENIA, ETSI1_WORLD, "SI"},
4463a702e49SBob Copeland 	{CTRY_SOUTH_AFRICA, FCC3_WORLD, "ZA"},
4473a702e49SBob Copeland 	{CTRY_SPAIN, ETSI1_WORLD, "ES"},
4483a702e49SBob Copeland 	{CTRY_SRI_LANKA, FCC3_WORLD, "LK"},
4493a702e49SBob Copeland 	{CTRY_SWEDEN, ETSI1_WORLD, "SE"},
4503a702e49SBob Copeland 	{CTRY_SWITZERLAND, ETSI1_WORLD, "CH"},
4513a702e49SBob Copeland 	{CTRY_SYRIA, NULL1_WORLD, "SY"},
4523a702e49SBob Copeland 	{CTRY_TAIWAN, APL3_FCCA, "TW"},
453*58d30d14SLuis R. Rodriguez 	{CTRY_THAILAND, FCC3_WORLD, "TH"},
4543a702e49SBob Copeland 	{CTRY_TRINIDAD_Y_TOBAGO, ETSI4_WORLD, "TT"},
4553a702e49SBob Copeland 	{CTRY_TUNISIA, ETSI3_WORLD, "TN"},
4563a702e49SBob Copeland 	{CTRY_TURKEY, ETSI3_WORLD, "TR"},
4573a702e49SBob Copeland 	{CTRY_UKRAINE, NULL1_WORLD, "UA"},
4583a702e49SBob Copeland 	{CTRY_UAE, NULL1_WORLD, "AE"},
4593a702e49SBob Copeland 	{CTRY_UNITED_KINGDOM, ETSI1_WORLD, "GB"},
4603a702e49SBob Copeland 	{CTRY_UNITED_STATES, FCC3_FCCA, "US"},
4613a702e49SBob Copeland 	/* This "PS" is for US public safety actually... to support this we
4623a702e49SBob Copeland 	 * would need to assign new special alpha2 to CRDA db as with the world
4633a702e49SBob Copeland 	 * regdomain and use another alpha2 */
4643a702e49SBob Copeland 	{CTRY_UNITED_STATES_FCC49, FCC4_FCCA, "PS"},
4653a702e49SBob Copeland 	{CTRY_URUGUAY, APL2_WORLD, "UY"},
4663a702e49SBob Copeland 	{CTRY_UZBEKISTAN, FCC3_FCCA, "UZ"},
4673a702e49SBob Copeland 	{CTRY_VENEZUELA, APL2_ETSIC, "VE"},
4683a702e49SBob Copeland 	{CTRY_VIET_NAM, NULL1_WORLD, "VN"},
4693a702e49SBob Copeland 	{CTRY_YEMEN, NULL1_WORLD, "YE"},
4703a702e49SBob Copeland 	{CTRY_ZIMBABWE, NULL1_WORLD, "ZW"},
4713a702e49SBob Copeland };
4723a702e49SBob Copeland 
4733a702e49SBob Copeland #endif
474