diff --git a/core/cds/inc/cds_regdomain.h b/core/cds/inc/cds_regdomain.h index 4a54aaf9ed59..f101f0b44e4c 100644 --- a/core/cds/inc/cds_regdomain.h +++ b/core/cds/inc/cds_regdomain.h @@ -71,53 +71,19 @@ #ifndef REGULATORY_H #define REGULATORY_H -enum { - CTRY_DEBUG = 0x1ff, /* debug country code */ - CTRY_DEFAULT = 0 /* default country code */ -}; - -#define BMLEN 2 /* Use 2 64 bit uint for channel bitmask */ - -/* - * The following table is the master list for all different freqeuncy - * bands with the complete matrix of all possible flags and settings - * for each band if it is used in ANY reg domain. - */ - -#define DEF_REGDMN FCC3_FCCA -#define DEF_DMN_5 FCC1 -#define DEF_DMN_2 FCCA -#define COUNTRY_ERD_FLAG 0x8000 +#define CTRY_DEBUG 0x1ff +#define CTRY_DEFAULT 0 +#define COUNTRY_ERD_FLAG 0x8000 #define WORLDWIDE_ROAMING_FLAG 0x4000 -#define SUPER_DOMAIN_MASK 0x0fff -#define COUNTRY_CODE_MASK 0x3fff -#define CF_INTERFERENCE (CHANNEL_CW_INT | CHANNEL_RADAR_INT) -#define NO_CTL 0xff +#define DEF_REGDMN FCC3_FCCA -/* - * The following describe the bit masks for different passive scan - * capability/requirements per regdomain. - */ -#define NO_PSCAN 0x0ULL -#define PSCAN_FCC 0x0000000000000001ULL -#define PSCAN_FCC_T 0x0000000000000002ULL -#define PSCAN_ETSI 0x0000000000000004ULL -#define PSCAN_MKK1 0x0000000000000008ULL -#define PSCAN_MKK2 0x0000000000000010ULL -#define PSCAN_MKKA 0x0000000000000020ULL -#define PSCAN_MKKA_G 0x0000000000000040ULL -#define PSCAN_ETSIA 0x0000000000000080ULL -#define PSCAN_ETSIB 0x0000000000000100ULL -#define PSCAN_ETSIC 0x0000000000000200ULL -#define PSCAN_WWR 0x0000000000000400ULL -#define PSCAN_MKKA1 0x0000000000000800ULL -#define PSCAN_MKKA1_G 0x0000000000001000ULL -#define PSCAN_MKKA2 0x0000000000002000ULL -#define PSCAN_MKKA2_G 0x0000000000004000ULL -#define PSCAN_MKK3 0x0000000000008000ULL -#define PSCAN_EXT_CHAN 0x0000000000010000ULL -#define PSCAN_DEFER 0x7FFFFFFFFFFFFFFFULL -#define IS_ECM_CHAN 0x8000000000000000ULL +/* These defines should match the table from ah_internal.h */ +enum HAL_DFS_DOMAIN { + DFS_UNINIT_DOMAIN = 0, /* Uninitialized dfs domain */ + DFS_FCC_DOMAIN = 1, /* FCC3 dfs domain */ + DFS_ETSI_DOMAIN = 2, /* ETSI dfs domain */ + DFS_MKK4_DOMAIN = 3 /* Japan dfs domain */ +}; /* @@ -129,17 +95,6 @@ typedef struct reg_dmn_pair_mapping { uint16_t regDmnEnum; /* 16 bit reg domain pair */ uint16_t regDmn5GHz; /* 5GHz reg domain */ uint16_t regDmn2GHz; /* 2GHz reg domain */ - uint32_t flags5GHz; /* Requirements flags (AdHoc - disallow, noise floor cal needed, - etc) */ - uint32_t flags2GHz; /* Requirements flags (AdHoc - disallow, noise floor cal needed, - etc) */ - uint64_t pscanMask; /* Passive Scan flags which - can override unitary domain - passive scan flags. This - value is used as a mask on - the unitary flags */ uint16_t singleCC; /* Country code of single country if a one-on-one mapping exists */ } REG_DMN_PAIR_MAPPING; @@ -149,72 +104,13 @@ typedef struct { uint16_t regDmnEnum; const char *isoName; const char *name; - uint16_t allow11g : 1, allow11aTurbo : 1, allow11gTurbo : 1, allow11ng20 : 1, /* HT-20 allowed in 2GHz? */ - allow11ng40 : 1, /* HT-40 allowed in 2GHz? */ - allow11na20 : 1, /* HT-20 allowed in 5GHz? */ - allow11na40 : 1, /* HT-40 VHT-40 allowed in 5GHz? */ - allow11na80 : 1; /* VHT-80 allowed in 5GHz */ - uint16_t outdoorChanStart; } COUNTRY_CODE_TO_ENUM_RD; -typedef struct RegDmnFreqBand { - uint16_t lowChannel; /* Low channel center in MHz */ - uint16_t highChannel; /* High Channel center in MHz */ - uint8_t powerDfs; /* Max power (dBm) for channel - range when using DFS */ - uint8_t antennaMax; /* Max allowed antenna gain */ - uint8_t channelBW; /* Bandwidth of the channel */ - uint8_t channelSep; /* Channel separation within - the band */ - uint64_t useDfs; /* Use DFS in the RegDomain - if corresponding bit is set */ - uint64_t usePassScan; /* Use Passive Scan in the RegDomain - if corresponding bit is set */ - uint8_t regClassId; /* Regulatory class id */ -} REG_DMN_FREQ_BAND; - typedef struct reg_domain { uint16_t regDmnEnum; /* value from EnumRd table */ uint8_t conformance_test_limit; - uint64_t dfsMask; /* DFS bitmask for 5Ghz tables */ - uint64_t pscan; /* Bitmask for passive scan */ } REG_DOMAIN; -struct cmode { - uint32_t mode; - uint32_t flags; -}; - -#define YES true -#define NO false - -/* mapping of old skus to new skus for Japan */ -typedef struct { - uint16_t domain; - uint16_t newdomain_pre53; /* pre eeprom version 5.3 */ - uint16_t newdomain_post53; /* post eeprom version 5.3 */ -} JAPAN_SKUMAP; - -/* mapping of countrycode to new skus for Japan */ -typedef struct { - uint16_t ccode; - uint16_t newdomain_pre53; /* pre eeprom version 5.3 */ - uint16_t newdomain_post53; /* post eeprom version 5.3 */ -} JAPAN_COUNTRYMAP; - -/* check rd flags in eeprom for japan */ -typedef struct { - uint16_t freqbandbit; - uint32_t eepromflagtocheck; -} JAPAN_BANDCHECK; - -/* Common mode power table for 5Ghz */ -typedef struct { - uint16_t lchan; - uint16_t hchan; - uint8_t pwrlvl; -} COMMON_MODE_POWER; - /* Multi-Device RegDomain Support */ typedef struct ath_hal_reg_dmn_tables { /* regDomainPairs: Map of 8-bit regdomain values to unitary reg domain */ diff --git a/core/cds/inc/cds_regdomain_common.h b/core/cds/inc/cds_regdomain_common.h index ed762a0296ad..02ab52207a21 100644 --- a/core/cds/inc/cds_regdomain_common.h +++ b/core/cds/inc/cds_regdomain_common.h @@ -76,230 +76,204 @@ * frequency bitmasks and flags set. */ -#include "cds_ieee80211_common.h" -#include -#include "wlan_defs.h" #define MAX_CHANNELS_PER_OPERATING_CLASS 25 enum EnumRd { - /* - * The following regulatory domain definitions are - * found in the EEPROM. Each regulatory domain - * can operate in either a 5GHz or 2.4GHz wireless mode or - * both 5GHz and 2.4GHz wireless modes. - * In general, the value holds no special - * meaning and is used to decode into either specific - * 2.4GHz or 5GHz wireless mode for that particular - * regulatory domain. - */ NO_ENUMRD = 0x00, - NULL1_WORLD = 0x03, /* For 11b-only countries (no 11a allowed) */ - NULL1_ETSIB = 0x07, /* Israel */ + NULL1_WORLD = 0x03, + NULL1_ETSIB = 0x07, NULL1_ETSIC = 0x08, - FCC1_FCCA = 0x10, /* USA */ - FCC1_WORLD = 0x11, /* Hong Kong */ - FCC4_FCCA = 0x12, /* USA - Public Safety */ - FCC5_FCCA = 0x13, /* US with no DFS (UNII-1 + UNII-3 Only) */ - FCC6_FCCA = 0x14, /* Canada for AP only */ + FCC1_FCCA = 0x10, + FCC1_WORLD = 0x11, + FCC4_FCCA = 0x12, + FCC5_FCCA = 0x13, + FCC6_FCCA = 0x14, - FCC2_FCCA = 0x20, /* Canada */ - FCC2_WORLD = 0x21, /* Australia & HK */ + FCC2_FCCA = 0x20, + FCC2_WORLD = 0x21, FCC2_ETSIC = 0x22, - FCC6_WORLD = 0x23, /* Australia for AP only */ - FRANCE_RES = 0x31, /* Legacy France for OEM */ - FCC3_FCCA = 0x3A, /* USA & Canada w/5470 band, 11h, DFS enabled */ - FCC3_WORLD = 0x3B, /* USA & Canada w/5470 band, 11h, DFS enabled */ - FCC3_ETSIC = 0x3F, /* New Zealand, DFS enabled */ + FCC6_WORLD = 0x23, + FRANCE_RES = 0x31, + FCC3_FCCA = 0x3A, + FCC3_WORLD = 0x3B, + FCC3_ETSIC = 0x3F, ETSI1_WORLD = 0x37, - ETSI3_ETSIA = 0x32, /* France (optional) */ - ETSI2_WORLD = 0x35, /* Hungary & others */ - ETSI3_WORLD = 0x36, /* France & others */ + ETSI3_ETSIA = 0x32, + ETSI2_WORLD = 0x35, + ETSI3_WORLD = 0x36, ETSI4_WORLD = 0x30, ETSI4_ETSIC = 0x38, ETSI5_WORLD = 0x39, - ETSI6_WORLD = 0x34, /* Bulgaria */ - ETSI8_WORLD = 0x3D, /* Russia */ - ETSI9_WORLD = 0x3E, /* Ukraine */ - ETSI_RESERVED = 0x33, /* Reserved (Do not used) */ + ETSI6_WORLD = 0x34, + ETSI8_WORLD = 0x3D, + ETSI9_WORLD = 0x3E, + ETSI_RESERVED = 0x33, - MKK1_MKKA = 0x40, /* Japan (JP1) */ - MKK1_MKKB = 0x41, /* Japan (JP0) */ - APL4_WORLD = 0x42, /* Singapore and Morocco */ - MKK2_MKKA = 0x43, /* Japan with 4.9G channels */ - APL_RESERVED = 0x44, /* Reserved (Do not used) */ - APL2_WORLD = 0x45, /* Korea */ + MKK1_MKKA = 0x40, + MKK1_MKKB = 0x41, + APL4_WORLD = 0x42, + MKK2_MKKA = 0x43, + APL_RESERVED = 0x44, + APL2_WORLD = 0x45, APL2_APLC = 0x46, APL3_WORLD = 0x47, - MKK1_FCCA = 0x48, /* Japan (JP1-1) */ - APL2_APLD = 0x49, /* Korea with 2.3G channels */ - MKK1_MKKA1 = 0x4A, /* Japan (JE1) */ - MKK1_MKKA2 = 0x4B, /* Japan (JE2) */ - MKK1_MKKC = 0x4C, /* Japan (MKK1_MKKA,except Ch14) */ - APL2_FCCA = 0x4D, /* Mobile customer */ - APL11_FCCA = 0x4F, /* Specific AP Customer 5GHz, For APs Only */ + MKK1_FCCA = 0x48, + APL2_APLD = 0x49, + MKK1_MKKA1 = 0x4A, + MKK1_MKKA2 = 0x4B, + MKK1_MKKC = 0x4C, + APL2_FCCA = 0x4D, + APL11_FCCA = 0x4F, APL3_FCCA = 0x50, APL12_WORLD = 0x51, - APL1_WORLD = 0x52, /* Latin America */ + APL1_WORLD = 0x52, APL1_FCCA = 0x53, APL1_APLA = 0x54, APL1_ETSIC = 0x55, - APL2_ETSIC = 0x56, /* Venezuela */ - APL5_WORLD = 0x58, /* Chile */ - APL13_WORLD = 0x5A, /* Algeria */ - APL6_WORLD = 0x5B, /* Singapore */ - APL7_FCCA = 0x5C, /* Taiwan 5.47 Band */ - APL8_WORLD = 0x5D, /* Malaysia 5GHz */ - APL9_MKKC = 0x5E, /* Korea 5GHz, Before 11/2007. Now used only by APs */ - APL10_MKKC = 0x5F, /* Korea 5GHz, After 11/2007. For STAs only */ + APL2_ETSIC = 0x56, + APL5_WORLD = 0x58, + APL13_WORLD = 0x5A, + APL6_WORLD = 0x5B, + APL7_FCCA = 0x5C, + APL8_WORLD = 0x5D, + APL9_MKKC = 0x5E, + APL10_MKKC = 0x5F, - /* - * World mode SKUs - */ - WOR0_WORLD = 0x60, /* World0 (WO0 SKU) */ - WOR1_WORLD = 0x61, /* World1 (WO1 SKU) */ - WOR2_WORLD = 0x62, /* World2 (WO2 SKU) */ - WOR3_WORLD = 0x63, /* World3 (WO3 SKU) */ - WOR4_WORLD = 0x64, /* World4 (WO4 SKU) */ - WOR5_ETSIC = 0x65, /* World5 (WO5 SKU) */ + WOR0_WORLD = 0x60, + WOR1_WORLD = 0x61, + WOR2_WORLD = 0x62, + WOR3_WORLD = 0x63, + WOR4_WORLD = 0x64, + WOR5_ETSIC = 0x65, - WOR01_WORLD = 0x66, /* World0-1 (WW0-1 SKU) */ - WOR02_WORLD = 0x67, /* World0-2 (WW0-2 SKU) */ - EU1_WORLD = 0x68, /* Same as World0-2 (WW0-2 SKU), except active scan ch1-13. No ch14 */ + WOR01_WORLD = 0x66, + WOR02_WORLD = 0x67, + EU1_WORLD = 0x68, - WOR9_WORLD = 0x69, /* World9 (WO9 SKU) */ - WORA_WORLD = 0x6A, /* WorldA (WOA SKU) */ - WORB_WORLD = 0x6B, /* WorldB (WOB SKU) */ - WORC_WORLD = 0x6C, /* WorldC (WOC SKU) */ + WOR9_WORLD = 0x69, + WORA_WORLD = 0x6A, + WORB_WORLD = 0x6B, + WORC_WORLD = 0x6C, - MKK3_MKKB = 0x80, /* Japan UNI-1 even + MKKB */ - MKK3_MKKA2 = 0x81, /* Japan UNI-1 even + MKKA2 */ - MKK3_MKKC = 0x82, /* Japan UNI-1 even + MKKC */ + MKK3_MKKB = 0x80, + MKK3_MKKA2 = 0x81, + MKK3_MKKC = 0x82, - MKK4_MKKB = 0x83, /* Japan UNI-1 even + UNI-2 + MKKB */ - MKK4_MKKA2 = 0x84, /* Japan UNI-1 even + UNI-2 + MKKA2 */ - MKK4_MKKC = 0x85, /* Japan UNI-1 even + UNI-2 + MKKC */ + MKK4_MKKB = 0x83, + MKK4_MKKA2 = 0x84, + MKK4_MKKC = 0x85, - MKK5_MKKB = 0x86, /* Japan UNI-1 even + UNI-2 + mid-band + MKKB */ - MKK5_MKKA2 = 0x87, /* Japan UNI-1 even + UNI-2 + mid-band + MKKA2 */ - MKK5_MKKC = 0x88, /* Japan UNI-1 even + UNI-2 + mid-band + MKKC */ + MKK5_MKKB = 0x86, + MKK5_MKKA2 = 0x87, + MKK5_MKKC = 0x88, MKK5_MKKA = 0x99, MKK5_FCCA = 0x9A, - MKK6_MKKB = 0x89, /* Japan UNI-1 even + UNI-1 odd MKKB */ - MKK6_MKKA2 = 0x8A, /* Japan UNI-1 even + UNI-1 odd + MKKA2 */ - MKK6_MKKC = 0x8B, /* Japan UNI-1 even + UNI-1 odd + MKKC */ + MKK6_MKKB = 0x89, + MKK6_MKKA2 = 0x8A, + MKK6_MKKC = 0x8B, - MKK7_MKKB = 0x8C, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + MKKB */ - MKK7_MKKA2 = 0x8D, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + MKKA2 */ - MKK7_MKKC = 0x8E, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + MKKC */ + MKK7_MKKB = 0x8C, + MKK7_MKKA2 = 0x8D, + MKK7_MKKC = 0x8E, - MKK8_MKKB = 0x8F, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + MKKB */ - MKK8_MKKA2 = 0x90, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + MKKA2 */ - MKK8_MKKC = 0x91, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + MKKC */ + MKK8_MKKB = 0x8F, + MKK8_MKKA2 = 0x90, + MKK8_MKKC = 0x91, - MKK14_MKKA1 = 0x92, /* Japan UNI-1 even + UNI-1 odd + 4.9GHz + MKKA1 */ - MKK15_MKKA1 = 0x93, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + 4.9GHz + MKKA1 */ + MKK14_MKKA1 = 0x92, + MKK15_MKKA1 = 0x93, - MKK10_FCCA = 0xD0, /* Japan UNI-1 even + UNI-2 + 4.9GHz + FCCA */ - MKK10_MKKA1 = 0xD1, /* Japan UNI-1 even + UNI-2 + 4.9GHz + MKKA1 */ - MKK10_MKKC = 0xD2, /* Japan UNI-1 even + UNI-2 + 4.9GHz + MKKC */ - MKK10_MKKA2 = 0xD3, /* Japan UNI-1 even + UNI-2 + 4.9GHz + MKKA2 */ + MKK10_FCCA = 0xD0, + MKK10_MKKA1 = 0xD1, + MKK10_MKKC = 0xD2, + MKK10_MKKA2 = 0xD3, - MKK11_MKKA = 0xD4, /* Japan UNI-1 even + UNI-2 + mid-band + 4.9GHz + MKKA */ - MKK11_FCCA = 0xD5, /* Japan UNI-1 even + UNI-2 + mid-band + 4.9GHz + FCCA */ - MKK11_MKKA1 = 0xD6, /* Japan UNI-1 even + UNI-2 + mid-band + 4.9GHz + MKKA1 */ - MKK11_MKKC = 0xD7, /* Japan UNI-1 even + UNI-2 + mid-band + 4.9GHz + MKKC */ - MKK11_MKKA2 = 0xD8, /* Japan UNI-1 even + UNI-2 + mid-band + 4.9GHz + MKKA2 */ + MKK11_MKKA = 0xD4, + MKK11_FCCA = 0xD5, + MKK11_MKKA1 = 0xD6, + MKK11_MKKC = 0xD7, + MKK11_MKKA2 = 0xD8, - MKK12_MKKA = 0xD9, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + 4.9GHz + MKKA */ - MKK12_FCCA = 0xDA, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + 4.9GHz + FCCA */ - MKK12_MKKA1 = 0xDB, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + 4.9GHz + MKKA1 */ - MKK12_MKKC = 0xDC, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + 4.9GHz + MKKC */ - MKK12_MKKA2 = 0xDD, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + 4.9GHz + MKKA2 */ + MKK12_MKKA = 0xD9, + MKK12_FCCA = 0xDA, + MKK12_MKKA1 = 0xDB, + MKK12_MKKC = 0xDC, + MKK12_MKKA2 = 0xDD, - MKK13_MKKB = 0xDE, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + MKKB + All passive + no adhoc */ + MKK13_MKKB = 0xDE, - /* Following definitions are used only by s/w to map old - * Japan SKUs. - */ - MKK3_MKKA = 0xF0, /* Japan UNI-1 even + MKKA */ - MKK3_MKKA1 = 0xF1, /* Japan UNI-1 even + MKKA1 */ - MKK3_FCCA = 0xF2, /* Japan UNI-1 even + FCCA */ - MKK4_MKKA = 0xF3, /* Japan UNI-1 even + UNI-2 + MKKA */ - MKK4_MKKA1 = 0xF4, /* Japan UNI-1 even + UNI-2 + MKKA1 */ - MKK4_FCCA = 0xF5, /* Japan UNI-1 even + UNI-2 + FCCA */ - MKK9_MKKA = 0xF6, /* Japan UNI-1 even + 4.9GHz */ - MKK10_MKKA = 0xF7, /* Japan UNI-1 even + UNI-2 + 4.9GHz */ - MKK6_MKKA1 = 0xF8, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + MKKA1 */ - MKK6_FCCA = 0xF9, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + FCCA */ - MKK7_MKKA1 = 0xFA, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + MKKA1 */ - MKK7_FCCA = 0xFB, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + FCCA */ - MKK9_FCCA = 0xFC, /* Japan UNI-1 even + 4.9GHz + FCCA */ - MKK9_MKKA1 = 0xFD, /* Japan UNI-1 even + 4.9GHz + MKKA1 */ - MKK9_MKKC = 0xFE, /* Japan UNI-1 even + 4.9GHz + MKKC */ - MKK9_MKKA2 = 0xFF, /* Japan UNI-1 even + 4.9GHz + MKKA2 */ + MKK3_MKKA = 0xF0, + MKK3_MKKA1 = 0xF1, + MKK3_FCCA = 0xF2, + MKK4_MKKA = 0xF3, + MKK4_MKKA1 = 0xF4, + MKK4_FCCA = 0xF5, + MKK9_MKKA = 0xF6, + MKK10_MKKA = 0xF7, + MKK6_MKKA1 = 0xF8, + MKK6_FCCA = 0xF9, + MKK7_MKKA1 = 0xFA, + MKK7_FCCA = 0xFB, + MKK9_FCCA = 0xFC, + MKK9_MKKA1 = 0xFD, + MKK9_MKKC = 0xFE, + MKK9_MKKA2 = 0xFF, - /* - * Regulator domains ending in a number (e.g. APL1, - * MK1, ETSI4, etc) apply to 5GHz channel and power - * information. Regulator domains ending in a letter - * (e.g. APLA, FCCA, etc) apply to 2.4GHz channel and - * power information. - */ - APL1 = 0x0150, /* LAT & Asia */ - APL2 = 0x0250, /* LAT & Asia */ - APL3 = 0x0350, /* Taiwan */ - APL4 = 0x0450, /* Jordan */ - APL5 = 0x0550, /* Chile */ - APL6 = 0x0650, /* Singapore */ - APL7 = 0x0750, /* Taiwan, disable ch52 */ - APL8 = 0x0850, /* Malaysia */ - APL9 = 0x0950, /* Korea. Before 11/2007. Now used only by APs */ - APL10 = 0x1050, /* Korea. After 11/2007. For STAs only */ - APL11 = 0x1150, /* Specific AP Customer 5GHz, For APs Only */ - APL12 = 0x1160, /* Kenya */ + APL1 = 0x0150, + APL2 = 0x0250, + APL3 = 0x0350, + APL4 = 0x0450, + APL5 = 0x0550, + APL6 = 0x0650, + APL7 = 0x0750, + APL8 = 0x0850, + APL9 = 0x0950, + APL10 = 0x1050, + APL11 = 0x1150, + APL12 = 0x1160, - ETSI1 = 0x0130, /* Europe & others */ - ETSI2 = 0x0230, /* Europe & others */ - ETSI3 = 0x0330, /* Europe & others */ - ETSI4 = 0x0430, /* Europe & others */ - ETSI5 = 0x0530, /* Europe & others */ - ETSI6 = 0x0630, /* Europe & others */ - ETSI8 = 0x0830, /* Russia */ - ETSI9 = 0x0930, /* Ukraine */ - ETSIA = 0x0A30, /* France */ - ETSIB = 0x0B30, /* Israel */ - ETSIC = 0x0C30, /* Latin America */ + ETSI1 = 0x0130, + ETSI2 = 0x0230, + ETSI3 = 0x0330, + ETSI4 = 0x0430, + ETSI5 = 0x0530, + ETSI6 = 0x0630, + ETSI8 = 0x0830, + ETSI9 = 0x0930, + ETSIA = 0x0A30, + ETSIB = 0x0B30, + ETSIC = 0x0C30, - FCC1 = 0x0110, /* US & others */ - FCC2 = 0x0120, /* Canada, Australia & New Zealand */ - FCC3 = 0x0160, /* US w/new middle band & DFS */ - FCC4 = 0x0165, /* US Public Safety */ + FCC1 = 0x0110, + FCC2 = 0x0120, + FCC3 = 0x0160, + FCC4 = 0x0165, FCC5 = 0x0510, - FCC6 = 0x0610, /* Canada & Australia */ + FCC6 = 0x0610, FCCA = 0x0A10, - APLD = 0x0D50, /* South Korea */ + APLD = 0x0D50, - MKK1 = 0x0140, /* Japan (UNI-1 odd) */ - MKK2 = 0x0240, /* Japan (4.9 GHz + UNI-1 odd) */ - MKK3 = 0x0340, /* Japan (UNI-1 even) */ - MKK4 = 0x0440, /* Japan (UNI-1 even + UNI-2) */ - MKK5 = 0x0540, /* Japan (UNI-1 even + UNI-2 + mid-band) */ - MKK6 = 0x0640, /* Japan (UNI-1 odd + UNI-1 even) */ - MKK7 = 0x0740, /* Japan (UNI-1 odd + UNI-1 even + UNI-2 */ - MKK8 = 0x0840, /* Japan (UNI-1 odd + UNI-1 even + UNI-2 + mid-band) */ - MKK9 = 0x0940, /* Japan (UNI-1 even + 4.9 GHZ) */ - MKK10 = 0x0B40, /* Japan (UNI-1 even + UNI-2 + 4.9 GHZ) */ - MKK11 = 0x1140, /* Japan (UNI-1 even + UNI-2 + 4.9 GHZ) */ - MKK12 = 0x1240, /* Japan (UNI-1 even + UNI-2 + 4.9 GHZ) */ - MKK13 = 0x0C40, /* Same as MKK8 but all passive and no adhoc 11a */ - MKK14 = 0x1440, /* Japan UNI-1 even + UNI-1 odd + 4.9GHz */ - MKK15 = 0x1540, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + 4.9GHz */ - MKKA = 0x0A40, /* Japan */ + MKK1 = 0x0140, + MKK2 = 0x0240, + MKK3 = 0x0340, + MKK4 = 0x0440, + MKK5 = 0x0540, + MKK6 = 0x0640, + MKK7 = 0x0740, + MKK8 = 0x0840, + MKK9 = 0x0940, + MKK10 = 0x0B40, + MKK11 = 0x1140, + MKK12 = 0x1240, + MKK13 = 0x0C40, + MKK14 = 0x1440, + MKK15 = 0x1540, + MKKA = 0x0A40, MKKC = 0x0A50, NULL1 = 0x0198, @@ -307,643 +281,332 @@ enum EnumRd { DEBUG_REG_DMN = 0x01ff, }; -enum { /* conformance test limits */ +enum { FCC = 0x10, MKK = 0x40, ETSI = 0x30, -}; -/* - * The following are flags for different requirements per reg domain. - * These requirements are either inhereted from the reg domain pair or - * from the unitary reg domain if the reg domain pair flags value is - * 0 - */ - -enum { - NO_REQ = 0x00000000, - DISALLOW_ADHOC_11A = 0x00000001, - DISALLOW_ADHOC_11A_TURB = 0x00000002, - NEED_NFC = 0x00000004, - - ADHOC_PER_11D = 0x00000008, /* Start Ad-Hoc mode */ - ADHOC_NO_11A = 0x00000010, - - PUBLIC_SAFETY_DOMAIN = 0x00000020, /* public safety domain */ - LIMIT_FRAME_4MS = 0x00000040, /* 4msec limit on the frame length */ - - NO_HOSTAP = 0x00000080, /* No HOSTAP mode opereation */ - - REQ_MASK = 0x000000FF, /* Requirements bit mask */ + NO_CTL = 0xff }; static const REG_DMN_PAIR_MAPPING ah_cmn_reg_domain_pairs[] = { - {NO_ENUMRD, DEBUG_REG_DMN, DEBUG_REG_DMN, NO_REQ, NO_REQ, PSCAN_DEFER, - 0}, - {NULL1_WORLD, NULL1, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {NULL1_ETSIB, NULL1, ETSIB, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {NULL1_ETSIC, NULL1, ETSIC, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, + {NO_ENUMRD, DEBUG_REG_DMN, DEBUG_REG_DMN, 0}, + {NULL1_WORLD, NULL1, WORLD, 0}, + {NULL1_ETSIB, NULL1, ETSIB, 0}, + {NULL1_ETSIC, NULL1, ETSIC, 0}, + {FCC2_FCCA, FCC2, FCCA, 0}, + {FCC2_WORLD, FCC2, WORLD, 0}, + {FCC2_ETSIC, FCC2, ETSIC, 0}, + {FCC3_FCCA, FCC3, FCCA, 0}, + {FCC3_WORLD, FCC3, WORLD, 0}, + {FCC3_ETSIC, FCC3, ETSIC, 0}, + {FCC4_FCCA, FCC4, FCCA, 0}, + {FCC5_FCCA, FCC5, FCCA, 0}, + {FCC6_FCCA, FCC6, FCCA, 0}, + {FCC6_WORLD, FCC6, WORLD, 0}, + {ETSI1_WORLD, ETSI1, WORLD, 0}, + {ETSI2_WORLD, ETSI2, WORLD, 0}, + {ETSI3_WORLD, ETSI3, WORLD, 0}, + {ETSI4_WORLD, ETSI4, WORLD, 0}, + {ETSI5_WORLD, ETSI5, WORLD, 0}, + {ETSI6_WORLD, ETSI6, WORLD, 0}, + {ETSI8_WORLD, ETSI8, WORLD, 0}, + {ETSI9_WORLD, ETSI9, WORLD, 0}, + {ETSI3_ETSIA, ETSI3, WORLD, 0}, + {FRANCE_RES, ETSI3, WORLD, 0}, + {FCC1_WORLD, FCC1, WORLD, 0}, + {FCC1_FCCA, FCC1, FCCA, 0}, + {APL1_WORLD, APL1, WORLD, 0}, + {APL2_WORLD, APL2, WORLD, 0}, + {APL2_FCCA, APL2, FCCA, 0}, + {APL3_WORLD, APL3, WORLD, 0}, + {APL4_WORLD, APL4, WORLD, 0}, + {APL5_WORLD, APL5, WORLD, 0}, + {APL6_WORLD, APL6, WORLD, 0}, + {APL7_FCCA, APL7, FCCA, 0}, + {APL8_WORLD, APL8, WORLD, 0}, + {APL9_MKKC, APL9, MKKC, 0}, + {APL10_MKKC, APL10, MKKC, 0}, + {APL3_FCCA, APL3, FCCA, 0}, + {APL1_ETSIC, APL1, ETSIC, 0}, + {APL2_ETSIC, APL2, ETSIC, 0}, + {MKK3_MKKA, MKK3, MKKA, CTRY_JAPAN25}, + {MKK3_MKKB, MKK3, MKKA, CTRY_JAPAN7}, + {MKK3_MKKA1, MKK3, MKKA, CTRY_JAPAN26}, + {MKK3_MKKA2, MKK3, MKKA, CTRY_JAPAN8}, + {MKK3_MKKC, MKK3, MKKC, CTRY_JAPAN9}, + {MKK3_FCCA, MKK3, FCCA, CTRY_JAPAN27}, + {MKK4_MKKA, MKK4, MKKA, CTRY_JAPAN36}, + {MKK4_MKKB, MKK4, MKKA, CTRY_JAPAN10}, + {MKK4_MKKA1, MKK4, MKKA, CTRY_JAPAN28}, + {MKK4_MKKA2, MKK4, MKKA, CTRY_JAPAN11}, + {MKK4_MKKC, MKK4, MKKC, CTRY_JAPAN12}, + {MKK4_FCCA, MKK4, FCCA, CTRY_JAPAN29}, + {MKK5_MKKB, MKK5, MKKA, CTRY_JAPAN13}, + {MKK5_MKKA2, MKK5, MKKA, CTRY_JAPAN14}, + {MKK5_MKKC, MKK5, MKKC, CTRY_JAPAN15}, + {MKK5_FCCA, MKK5, FCCA, CTRY_JAPAN56}, + {MKK9_MKKA, MKK9, MKKA, CTRY_JAPAN34}, + {MKK9_FCCA, MKK9, FCCA, CTRY_JAPAN37}, + {MKK9_MKKA1, MKK9, MKKA, CTRY_JAPAN38}, + {MKK9_MKKA2, MKK9, MKKA, CTRY_JAPAN40}, + {MKK9_MKKC, MKK9, MKKC, CTRY_JAPAN39}, + {MKK10_MKKA, MKK10, MKKA, CTRY_JAPAN35}, + {MKK10_FCCA, MKK10, FCCA, CTRY_JAPAN41}, + {MKK10_MKKA1, MKK10, MKKA, CTRY_JAPAN42}, + {MKK10_MKKA2, MKK10, MKKA, CTRY_JAPAN44}, + {MKK10_MKKC, MKK10, MKKC, CTRY_JAPAN43}, + {MKK11_MKKA, MKK11, MKKA, CTRY_JAPAN45}, + {MKK11_FCCA, MKK11, FCCA, CTRY_JAPAN46}, + {MKK11_MKKA1, MKK11, MKKA, CTRY_JAPAN47}, + {MKK11_MKKA2, MKK11, MKKA, CTRY_JAPAN49}, + {MKK11_MKKC, MKK11, MKKC, CTRY_JAPAN48}, - {FCC2_FCCA, FCC2, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {FCC2_WORLD, FCC2, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {FCC2_ETSIC, FCC2, ETSIC, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {FCC3_FCCA, FCC3, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {FCC3_WORLD, FCC3, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {FCC3_ETSIC, FCC3, ETSIC, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {FCC4_FCCA, FCC4, FCCA, DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, - NO_REQ, PSCAN_DEFER, 0}, - {FCC5_FCCA, FCC5, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {FCC6_FCCA, FCC6, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {FCC6_WORLD, FCC6, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - - {ETSI1_WORLD, ETSI1, WORLD, - DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0}, - {ETSI2_WORLD, ETSI2, WORLD, - DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0}, - {ETSI3_WORLD, ETSI3, WORLD, - DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0}, - {ETSI4_WORLD, ETSI4, WORLD, - DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0}, - {ETSI5_WORLD, ETSI5, WORLD, - DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0}, - {ETSI6_WORLD, ETSI6, WORLD, - DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0}, - {ETSI8_WORLD, ETSI8, WORLD, - DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0}, - {ETSI9_WORLD, ETSI9, WORLD, - DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0}, - - {ETSI3_ETSIA, ETSI3, WORLD, - DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0}, - {FRANCE_RES, ETSI3, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - - {FCC1_WORLD, FCC1, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {FCC1_FCCA, FCC1, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {APL1_WORLD, APL1, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {APL2_WORLD, APL2, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {APL2_FCCA, APL2, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {APL3_WORLD, APL3, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {APL4_WORLD, APL4, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {APL5_WORLD, APL5, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {APL6_WORLD, APL6, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {APL7_FCCA, APL7, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {APL8_WORLD, APL8, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {APL9_MKKC, APL9, MKKC, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {APL10_MKKC, APL10, MKKC, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {APL3_FCCA, APL3, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {APL1_ETSIC, APL1, ETSIC, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {APL2_ETSIC, APL2, ETSIC, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - - {MKK3_MKKA, MKK3, MKKA, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - PSCAN_MKKA, CTRY_JAPAN25}, - {MKK3_MKKB, MKK3, MKKA, - DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC | - LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKKA | PSCAN_MKKA_G, CTRY_JAPAN7}, - {MKK3_MKKA1, MKK3, MKKA, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN26}, - {MKK3_MKKA2, MKK3, MKKA, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN8}, - {MKK3_MKKC, MKK3, MKKC, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - NO_PSCAN, CTRY_JAPAN9}, - {MKK3_FCCA, MKK3, FCCA, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - NO_PSCAN, CTRY_JAPAN27}, - - /* MKK4 */ - {MKK4_MKKA, MKK4, MKKA, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - PSCAN_MKK3, CTRY_JAPAN36}, - {MKK4_MKKB, MKK4, MKKA, - DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC | - LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKK3 | PSCAN_MKKA | PSCAN_MKKA_G, - CTRY_JAPAN10}, - {MKK4_MKKA1, MKK4, MKKA, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - PSCAN_MKK3 | PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN28}, - {MKK4_MKKA2, MKK4, MKKA, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - PSCAN_MKK3 | PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN11}, - {MKK4_MKKC, MKK4, MKKC, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - PSCAN_MKK3, CTRY_JAPAN12}, - {MKK4_FCCA, MKK4, FCCA, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - PSCAN_MKK3, CTRY_JAPAN29}, - - /* MKK5 */ -/* {MKK5_MKKA, MKK5, MKKA, DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKK3, CTRY_JAPAN56 },*/ - {MKK5_MKKB, MKK5, MKKA, - DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC | - LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKK3 | PSCAN_MKKA | PSCAN_MKKA_G, - CTRY_JAPAN13}, - {MKK5_MKKA2, MKK5, MKKA, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - PSCAN_MKK3 | PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN14}, - {MKK5_MKKC, MKK5, MKKC, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - PSCAN_MKK3, CTRY_JAPAN15}, - {MKK5_FCCA, MKK5, FCCA, DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKK3, CTRY_JAPAN56 }, - - {MKK9_MKKA, MKK9, MKKA, - DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC | - LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKK3, CTRY_JAPAN34}, - {MKK9_FCCA, MKK9, FCCA, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - NO_PSCAN, CTRY_JAPAN37}, - {MKK9_MKKA1, MKK9, MKKA, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN38}, - {MKK9_MKKA2, MKK9, MKKA, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN40}, - {MKK9_MKKC, MKK9, MKKC, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - NO_PSCAN, CTRY_JAPAN39}, - - {MKK10_MKKA, MKK10, MKKA, - DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC | - LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKK3, CTRY_JAPAN35}, - {MKK10_FCCA, MKK10, FCCA, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - PSCAN_MKK3, CTRY_JAPAN41}, - {MKK10_MKKA1, MKK10, MKKA, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - PSCAN_MKK3 | PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN42}, - {MKK10_MKKA2, MKK10, MKKA, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - PSCAN_MKK3 | PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN44}, - {MKK10_MKKC, MKK10, MKKC, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - PSCAN_MKK3, CTRY_JAPAN43}, - - {MKK11_MKKA, MKK11, MKKA, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - PSCAN_MKK3, CTRY_JAPAN45}, - {MKK11_FCCA, MKK11, FCCA, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - PSCAN_MKK3, CTRY_JAPAN46}, - {MKK11_MKKA1, MKK11, MKKA, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - PSCAN_MKK3 | PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN47}, - {MKK11_MKKA2, MKK11, MKKA, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - PSCAN_MKK3 | PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN49}, - {MKK11_MKKC, MKK11, MKKC, - DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, - PSCAN_MKK3, CTRY_JAPAN48}, - - {WOR0_WORLD, WOR0_WORLD, WOR0_WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {WOR1_WORLD, WOR1_WORLD, WOR1_WORLD, - DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0}, - {WOR2_WORLD, WOR2_WORLD, WOR2_WORLD, DISALLOW_ADHOC_11A_TURB, NO_REQ, - PSCAN_DEFER, 0}, - {WOR3_WORLD, WOR3_WORLD, WOR3_WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {WOR4_WORLD, WOR4_WORLD, WOR4_WORLD, - DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0}, - {WOR5_ETSIC, WOR5_ETSIC, WOR5_ETSIC, - DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0}, - {WOR01_WORLD, WOR01_WORLD, WOR01_WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {WOR02_WORLD, WOR02_WORLD, WOR02_WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {EU1_WORLD, EU1_WORLD, EU1_WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, - {WOR9_WORLD, WOR9_WORLD, WOR9_WORLD, - DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0}, - {WORA_WORLD, WORA_WORLD, WORA_WORLD, - DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0}, - {WORB_WORLD, WORB_WORLD, WORB_WORLD, - DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 0}, - {WORC_WORLD, WORC_WORLD, WORC_WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, + {WOR0_WORLD, WOR0_WORLD, WOR0_WORLD, 0}, + {WOR1_WORLD, WOR1_WORLD, WOR1_WORLD, 0}, + {WOR2_WORLD, WOR2_WORLD, WOR2_WORLD, 0}, + {WOR3_WORLD, WOR3_WORLD, WOR3_WORLD, 0}, + {WOR4_WORLD, WOR4_WORLD, WOR4_WORLD, 0}, + {WOR5_ETSIC, WOR5_ETSIC, WOR5_ETSIC, 0}, + {WOR01_WORLD, WOR01_WORLD, WOR01_WORLD, 0}, + {WOR02_WORLD, WOR02_WORLD, WOR02_WORLD, 0}, + {EU1_WORLD, EU1_WORLD, EU1_WORLD, 0}, + {WOR9_WORLD, WOR9_WORLD, WOR9_WORLD, 0}, + {WORA_WORLD, WORA_WORLD, WORA_WORLD, 0}, + {WORB_WORLD, WORB_WORLD, WORB_WORLD, 0}, + {WORC_WORLD, WORC_WORLD, WORC_WORLD, 0}, }; static const COUNTRY_CODE_TO_ENUM_RD ah_cmn_all_countries[] = { - {CTRY_DEBUG, NO_ENUMRD, "DB", "DEBUG", YES, YES, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_DEFAULT, DEF_REGDMN, "NA", "NO_COUNTRY_SET", YES, YES, YES, YES, - YES, YES, YES, YES, 7000}, - {CTRY_ALBANIA, NULL1_WORLD, "AL", "ALBANIA", YES, NO, YES, YES, YES, NO, - NO, NO, 7000}, - {CTRY_ALGERIA, NULL1_WORLD, "DZ", "ALGERIA", YES, NO, YES, YES, YES, NO, - NO, NO, 7000}, - {CTRY_ARGENTINA, FCC3_WORLD, "AR", "ARGENTINA", YES, NO, NO, YES, YES, - YES, YES, YES, 7000}, - {CTRY_ARMENIA, ETSI4_WORLD, "AM", "ARMENIA", YES, NO, YES, YES, YES, - YES, NO, NO, 7000}, - {CTRY_ARUBA, ETSI1_WORLD, "AW", "ARUBA", YES, NO, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_AUSTRALIA, FCC3_WORLD, "AU", "AUSTRALIA", YES, YES, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_AUSTRIA, ETSI1_WORLD, "AT", "AUSTRIA", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_AZERBAIJAN, ETSI4_WORLD, "AZ", "AZERBAIJAN", YES, YES, YES, YES, - YES, YES, YES, YES, 7000}, - {CTRY_BAHAMAS, FCC3_WORLD, "BS", "BAHAMAS", YES, YES, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_BAHRAIN, APL6_WORLD, "BH", "BAHRAIN", YES, NO, YES, YES, YES, YES, - NO, NO, 7000}, - {CTRY_BANGLADESH, NULL1_WORLD, "BD", "BANGLADESH", YES, NO, YES, YES, - YES, NO, NO, NO, 7000}, - {CTRY_BARBADOS, FCC2_WORLD, "BB", "BARBADOS", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_BELARUS, ETSI1_WORLD, "BY", "BELARUS", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_BELGIUM, ETSI1_WORLD, "BE", "BELGIUM", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_BELIZE, APL1_ETSIC, "BZ", "BELIZE", YES, YES, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_BERMUDA, FCC3_FCCA, "BM", "BERMUDA", YES, YES, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_BOLIVIA, APL1_ETSIC, "BO", "BOLIVIA", YES, YES, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_BOSNIA_HERZ, ETSI1_WORLD, "BA", "BOSNIA AND HERZEGOVINA", YES, NO, - YES, YES, YES, YES, YES, YES, 7000}, - {CTRY_BRAZIL, FCC3_WORLD, "BR", "BRAZIL", YES, NO, NO, YES, YES, YES, - YES, YES, 7000}, - {CTRY_BRUNEI_DARUSSALAM, APL6_WORLD, "BN", "BRUNEI DARUSSALAM", YES, - YES, YES, YES, YES, YES, YES, YES, 7000}, - {CTRY_BULGARIA, ETSI1_WORLD, "BG", "BULGARIA", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_CAMBODIA, ETSI1_WORLD, "KH", "CAMBODIA", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_CANADA, FCC3_FCCA, "CA", "CANADA", YES, YES, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_CHILE, APL6_WORLD, "CL", "CHILE", YES, YES, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_CHINA, APL1_WORLD, "CN", "CHINA", YES, YES, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_COLOMBIA, FCC1_FCCA, "CO", "COLOMBIA", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_COSTA_RICA, FCC1_WORLD, "CR", "COSTA RICA", YES, NO, YES, YES, - YES, YES, NO, NO, 7000}, - {CTRY_CROATIA, ETSI1_WORLD, "HR", "CROATIA", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_CYPRUS, ETSI1_WORLD, "CY", "CYPRUS", YES, YES, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_CZECH, ETSI1_WORLD, "CZ", "CZECH REPUBLIC", YES, NO, YES, YES, - YES, YES, YES, YES, 7000}, - {CTRY_DENMARK, ETSI1_WORLD, "DK", "DENMARK", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_DOMINICAN_REPUBLIC, FCC1_FCCA, "DO", "DOMINICAN REPUBLIC", YES, - YES, YES, YES, YES, YES, YES, YES, 7000}, - {CTRY_ECUADOR, FCC1_WORLD, "EC", "ECUADOR", YES, NO, NO, YES, YES, YES, - NO, NO, 7000}, - {CTRY_EGYPT, ETSI3_WORLD, "EG", "EGYPT", YES, NO, YES, YES, YES, YES, - NO, NO, 7000}, - {CTRY_EL_SALVADOR, FCC1_WORLD, "SV", "EL SALVADOR", YES, NO, YES, YES, - YES, YES, NO, NO, 7000}, - {CTRY_ESTONIA, ETSI1_WORLD, "EE", "ESTONIA", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_FINLAND, ETSI1_WORLD, "FI", "FINLAND", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_FRANCE, ETSI1_WORLD, "FR", "FRANCE", YES, NO, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_GEORGIA, ETSI4_WORLD, "GE", "GEORGIA", YES, YES, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_GERMANY, ETSI1_WORLD, "DE", "GERMANY", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_GREECE, ETSI1_WORLD, "GR", "GREECE", YES, NO, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_GREENLAND, ETSI1_WORLD, "GL", "GREENLAND", YES, NO, YES, YES, YES, - YES, NO, NO, 7000}, - {CTRY_GRENADA, FCC3_FCCA, "GD", "GRENADA", YES, NO, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_GUAM, FCC1_FCCA, "GU", "GUAM", YES, NO, YES, YES, YES, YES, NO, - NO, 7000}, - {CTRY_GUATEMALA, FCC1_FCCA, "GT", "GUATEMALA", YES, YES, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_HAITI, ETSI1_WORLD, "HT", "HAITI", YES, NO, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_HONDURAS, FCC3_WORLD, "HN", "HONDURAS", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_HONG_KONG, FCC3_WORLD, "HK", "HONG KONG", YES, YES, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_HUNGARY, ETSI1_WORLD, "HU", "HUNGARY", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_ICELAND, ETSI1_WORLD, "IS", "ICELAND", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_INDIA, APL6_WORLD, "IN", "INDIA", YES, NO, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_INDONESIA, APL2_WORLD, "ID", "INDONESIA", YES, NO, YES, YES, YES, - YES, NO, NO, 7000}, - {CTRY_IRAN, APL1_WORLD, "IR", "IRAN", YES, YES, YES, YES, YES, YES, YES, - YES, 7000}, - {CTRY_IRELAND, ETSI1_WORLD, "IE", "IRELAND", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_ISRAEL, ETSI3_WORLD, "IL", "ISRAEL", YES, NO, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_ITALY, ETSI1_WORLD, "IT", "ITALY", YES, NO, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_JAMAICA, FCC3_WORLD, "JM", "JAMAICA", YES, NO, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_JAPAN14, MKK5_MKKA2, "JP", "JAPAN", YES, NO, NO, YES, YES, - YES, NO, NO, 7000}, - {CTRY_JAPAN7, MKK3_MKKB, "JP", "JAPAN7", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN8, MKK3_MKKA2, "JP", "JAPAN8", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN9, MKK3_MKKC, "JP", "JAPAN9", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN10, MKK4_MKKB, "JP", "JAPAN10", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN11, MKK4_MKKA2, "JP", "JAPAN11", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN12, MKK4_MKKC, "JP", "JAPAN12", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN13, MKK5_MKKB, "JP", "JAPAN13", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN14, MKK5_MKKA2, "JP", "JAPAN14", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN15, MKK5_MKKC, "JP", "JAPAN15", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN25, MKK3_MKKA, "JP", "JAPAN25", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN26, MKK3_MKKA1, "JP", "JAPAN26", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN27, MKK3_FCCA, "JP", "JAPAN27", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN28, MKK4_MKKA1, "JP", "JAPAN28", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN29, MKK4_FCCA, "JP", "JAPAN29", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN34, MKK9_MKKA, "JP", "JAPAN34", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN35, MKK10_MKKA, "JP", "JAPAN35", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN36, MKK4_MKKA, "JP", "JAPAN36", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN37, MKK9_FCCA, "JP", "JAPAN37", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN38, MKK9_MKKA1, "JP", "JAPAN38", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN39, MKK9_MKKC, "JP", "JAPAN39", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN40, MKK9_MKKA2, "JP", "JAPAN40", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN41, MKK10_FCCA, "JP", "JAPAN41", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN42, MKK10_MKKA1, "JP", "JAPAN42", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN43, MKK10_MKKC, "JP", "JAPAN43", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN44, MKK10_MKKA2, "JP", "JAPAN44", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN45, MKK11_MKKA, "JP", "JAPAN45", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN46, MKK11_FCCA, "JP", "JAPAN46", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN47, MKK11_MKKA1, "JP", "JAPAN47", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN48, MKK11_MKKC, "JP", "JAPAN48", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN49, MKK11_MKKA2, "JP", "JAPAN49", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_JAPAN55, MKK5_MKKA, "JP", "JAPAN55", YES, NO, NO, YES, YES, YES, - YES, NO, 7000 }, - {CTRY_JAPAN56, MKK5_FCCA, "JP", "JAPAN56", YES, NO, NO, - YES, YES, YES, YES, NO, 7000 }, - {CTRY_JORDAN, ETSI2_WORLD, "JO", "JORDAN", YES, NO, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_KAZAKHSTAN, NULL1_WORLD, "KZ", "KAZAKHSTAN", YES, NO, YES, YES, - YES, NO, NO, NO, 7000}, - {CTRY_KENYA, APL1_WORLD, "KE", "KENYA", YES, NO, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_KOREA_NORTH, APL9_MKKC, "KP", "NORTH KOREA", YES, NO, NO, YES, - NO, YES, NO, NO, 7000}, - {CTRY_KOREA_ROC, APL10_MKKC, "KR", "KOREA REPUBLIC", YES, NO, NO, YES, - YES, YES, YES, YES, 7000}, - {CTRY_KOREA_ROC_AP, APL9_MKKC, "KR", "KOREA REPUBLIC3", YES, NO, - NO, YES, NO, YES, NO, NO, 7000}, - {CTRY_KUWAIT, ETSI3_WORLD, "KW", "KUWAIT", YES, NO, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_LATVIA, ETSI1_WORLD, "LV", "LATVIA", YES, NO, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_LEBANON, APL1_WORLD, "LB", "LEBANON", YES, NO, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_LIECHTENSTEIN, ETSI1_WORLD, "LI", "LIECHTENSTEIN", YES, NO, YES, - YES, YES, YES, YES, YES, 7000}, - {CTRY_LITHUANIA, ETSI1_WORLD, "LT", "LITHUANIA", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_LUXEMBOURG, ETSI1_WORLD, "LU", "LUXEMBOURG", YES, NO, YES, YES, - YES, YES, YES, YES, 7000}, - {CTRY_MACAU, FCC2_WORLD, "MO", "MACAU SAR", YES, YES, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_MACEDONIA, ETSI1_WORLD, "MK", "MACEDONIA, FYRO", YES, NO, YES, - YES, YES, YES, YES, YES, 7000}, - {CTRY_MALAYSIA, FCC1_WORLD, "MY", "MALAYSIA", YES, NO, NO, YES, YES, - YES, YES, YES, 7000}, - {CTRY_MALTA, ETSI1_WORLD, "MT", "MALTA", YES, NO, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_MAURITIUS, ETSI1_WORLD, "MU", "MAURITIUS", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_MEXICO, FCC1_WORLD, "MX", "MEXICO", YES, YES, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_MONACO, ETSI4_WORLD, "MC", "MONACO", YES, YES, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_MOROCCO, APL4_WORLD, "MA", "MOROCCO", YES, NO, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_NEPAL, APL1_WORLD, "NP", "NEPAL", YES, NO, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_NETHERLANDS, ETSI1_WORLD, "NL", "NETHERLANDS", YES, NO, YES, YES, - YES, YES, YES, YES, 7000}, - {CTRY_NETHERLANDS_ANTILLES, ETSI1_WORLD, "AN", "NETHERLANDS ANTILLES", - YES, NO, YES, YES, YES, YES, YES, YES, 7000}, - {CTRY_NEW_ZEALAND, FCC3_ETSIC, "NZ", "NEW ZEALAND", YES, NO, YES, YES, - YES, YES, YES, YES, 7000}, - {CTRY_NICARAGUA, FCC3_FCCA, "NI", "NICARAGUA", YES, YES, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_NORWAY, ETSI1_WORLD, "NO", "NORWAY", YES, NO, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_OMAN, FCC3_WORLD, "OM", "OMAN", YES, NO, YES, YES, YES, YES, YES, - YES, 7000}, - {CTRY_PAKISTAN, APL1_WORLD, "PK", "PAKISTAN", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_PANAMA, FCC1_FCCA, "PA", "PANAMA", YES, YES, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_PAPUA_NEW_GUINEA, FCC1_WORLD, "PG", "PAPUA NEW GUINEA", YES, YES, - YES, YES, YES, YES, YES, YES, 7000}, - {CTRY_PARAGUAY, FCC3_WORLD, "PY", "PARAGUAY", YES, YES, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_PERU, FCC3_WORLD, "PE", "PERU", YES, NO, YES, YES, YES, YES, YES, - YES, 7000}, - {CTRY_PHILIPPINES, FCC3_WORLD, "PH", "PHILIPPINES", YES, YES, YES, YES, - YES, YES, YES, YES, 7000}, - {CTRY_POLAND, ETSI1_WORLD, "PL", "POLAND", YES, NO, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_PORTUGAL, ETSI1_WORLD, "PT", "PORTUGAL", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_PUERTO_RICO, FCC1_FCCA, "PR", "PUERTO RICO", YES, YES, YES, YES, - YES, YES, YES, YES, 7000}, - {CTRY_QATAR, APL1_WORLD, "QA", "QATAR", YES, NO, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_ROMANIA, ETSI1_WORLD, "RO", "ROMANIA", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_RUSSIA, ETSI8_WORLD, "RU", "RUSSIA", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_RWANDA, APL1_WORLD, "RW", "RWANDA", YES, NO, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_SAUDI_ARABIA, FCC2_WORLD, "SA", "SAUDI ARABIA", YES, NO, YES, YES, - YES, YES, NO, NO, 7000}, - {CTRY_SERBIA, ETSI1_WORLD, "RS", "REPUBLIC OF SERBIA", YES, NO, YES, - YES, YES, YES, YES, YES, 7000}, - {CTRY_MONTENEGRO, ETSI1_WORLD, "ME", "MONTENEGRO", YES, NO, YES, YES, - YES, YES, YES, YES, 7000}, - {CTRY_SINGAPORE, FCC3_WORLD, "SG", "SINGAPORE", YES, YES, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_SLOVAKIA, ETSI1_WORLD, "SK", "SLOVAKIA", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_SLOVENIA, ETSI1_WORLD, "SI", "SLOVENIA", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_SOUTH_AFRICA, FCC3_WORLD, "ZA", "SOUTH AFRICA", YES, NO, YES, YES, - YES, YES, YES, YES, 7000}, - {CTRY_SPAIN, ETSI1_WORLD, "ES", "SPAIN", YES, NO, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_SRI_LANKA, FCC3_WORLD, "LK", "SRI LANKA", YES, NO, YES, YES, YES, - YES, NO, NO, 7000}, - {CTRY_SWEDEN, ETSI1_WORLD, "SE", "SWEDEN", YES, NO, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_SWITZERLAND, ETSI1_WORLD, "CH", "SWITZERLAND", YES, NO, YES, YES, - YES, YES, YES, YES, 7000}, - {CTRY_SYRIA, NULL1_WORLD, "SY", "SYRIAN ARAB REPUBLIC", YES, NO, YES, - YES, YES, NO, NO, NO, 7000}, - {CTRY_TAIWAN, APL7_FCCA, "TW", "TAIWAN", YES, YES, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_TANZANIA, APL1_WORLD, "TZ", "TANZANIA", YES, YES, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_THAILAND, FCC3_WORLD, "TH", "THAILAND", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_TRINIDAD_Y_TOBAGO, FCC3_WORLD, "TT", "TRINIDAD AND TOBAGO", YES, - NO, YES, YES, YES, YES, YES, YES, 7000}, - {CTRY_TUNISIA, ETSI3_WORLD, "TN", "TUNISIA", YES, NO, YES, YES, YES, - YES, NO, NO, 7000}, - {CTRY_TURKEY, ETSI3_WORLD, "TR", "TURKEY", YES, NO, YES, YES, YES, YES, - NO, NO, 7000}, - {CTRY_UGANDA, FCC3_WORLD, "UG", "UGANDA", YES, NO, NO, YES, YES, YES, - YES, YES, 7000}, - {CTRY_UKRAINE, ETSI9_WORLD, "UA", "UKRAINE", YES, NO, NO, YES, YES, YES, - YES, NO, 7000}, - {CTRY_UAE, ETSI1_WORLD, "AE", "UNITED ARAB EMIRATES", YES, NO, YES, YES, - YES, YES, YES, YES, 7000}, - {CTRY_UNITED_KINGDOM, ETSI1_WORLD, "GB", "UNITED KINGDOM", YES, NO, YES, - YES, YES, YES, YES, YES, 7000}, - {CTRY_UNITED_STATES, FCC3_FCCA, "US", "UNITED STATES", YES, YES, YES, - YES, YES, YES, YES, YES, 5825}, - {CTRY_UNITED_STATES_AP, FCC6_FCCA, "US", "UNITED STATES2", YES, - YES, YES, YES, YES, YES, YES, YES, 7000}, - {CTRY_UNITED_STATES_PS, FCC4_FCCA, "PS", - "UNITED STATES (PUBLIC SAFETY)", YES, YES, YES, YES, YES, YES, YES, - YES, 7000}, - {CTRY_URUGUAY, FCC3_WORLD, "UY", "URUGUAY", YES, NO, YES, YES, YES, YES, - YES, YES, 7000}, - {CTRY_UZBEKISTAN, FCC3_FCCA, "UZ", "UZBEKISTAN", YES, YES, YES, YES, - YES, YES, YES, YES, 7000}, - {CTRY_VENEZUELA, FCC1_WORLD, "VE", "VENEZUELA", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_VIET_NAM, ETSI3_WORLD, "VN", "VIET NAM", YES, NO, YES, YES, YES, - YES, YES, YES, 7000}, - {CTRY_YEMEN, NULL1_WORLD, "YE", "YEMEN", YES, NO, YES, YES, YES, NO, NO, - NO, 7000}, - {CTRY_ZIMBABWE, NULL1_WORLD, "ZW", "ZIMBABWE", YES, NO, YES, YES, YES, - NO, NO, NO, 7000} -}; - -/* Bit masks for DFS per regdomain */ - -enum { - NO_DFS = 0x0000000000000000ULL, - DFS_FCC3 = 0x0000000000000001ULL, - DFS_ETSI = 0x0000000000000002ULL, - DFS_MKK4 = 0x0000000000000004ULL, -}; - -/* The table of frequency bands is indexed by a bitmask. The ordering - * must be consistent with the enum below. When adding a new - * frequency band, be sure to match the location in the enum with the - * comments - */ - -/* regulatory capabilities */ -#define REGDMN_EEPROM_EEREGCAP_EN_KK_U1_EVEN 0x0080 -#define REGDMN_EEPROM_EEREGCAP_EN_KK_U2 0x0100 -#define REGDMN_EEPROM_EEREGCAP_EN_KK_MIDBAND 0x0200 -#define REGDMN_EEPROM_EEREGCAP_EN_KK_U1_ODD 0x0400 - -static const COMMON_MODE_POWER common_mode_pwrtbl[] = { - {4900, 5000, 17}, - {5000, 5100, 17}, - {5150, 5250, 17}, /* ETSI & MKK */ - {5250, 5350, 18}, /* ETSI */ - {5470, 5725, 20}, /* ETSI */ - {5725, 5825, 20}, /* Singapore */ - {5825, 5850, 23} /* Korea */ + {CTRY_DEBUG, NO_ENUMRD, "DB", "DEBUG"}, + {CTRY_DEFAULT, DEF_REGDMN, "NA", "NO_COUNTRY_SET"}, + {CTRY_ALBANIA, NULL1_WORLD, "AL", "ALBANIA"}, + {CTRY_ALGERIA, NULL1_WORLD, "DZ", "ALGERIA"}, + {CTRY_ARGENTINA, FCC3_WORLD, "AR", "ARGENTINA"}, + {CTRY_ARMENIA, ETSI4_WORLD, "AM", "ARMENIA"}, + {CTRY_ARUBA, ETSI1_WORLD, "AW", "ARUBA"}, + {CTRY_AUSTRALIA, FCC3_WORLD, "AU", "AUSTRALIA"}, + {CTRY_AUSTRIA, ETSI1_WORLD, "AT", "AUSTRIA"}, + {CTRY_AZERBAIJAN, ETSI4_WORLD, "AZ", "AZERBAIJAN"}, + {CTRY_BAHAMAS, FCC3_WORLD, "BS", "BAHAMAS"}, + {CTRY_BAHRAIN, APL6_WORLD, "BH", "BAHRAIN"}, + {CTRY_BANGLADESH, NULL1_WORLD, "BD", "BANGLADESH"}, + {CTRY_BARBADOS, FCC2_WORLD, "BB", "BARBADOS"}, + {CTRY_BELARUS, ETSI1_WORLD, "BY", "BELARUS"}, + {CTRY_BELGIUM, ETSI1_WORLD, "BE", "BELGIUM"}, + {CTRY_BELIZE, APL1_ETSIC, "BZ", "BELIZE"}, + {CTRY_BERMUDA, FCC3_FCCA, "BM", "BERMUDA"}, + {CTRY_BOLIVIA, APL1_ETSIC, "BO", "BOLIVIA"}, + {CTRY_BOSNIA_HERZ, ETSI1_WORLD, "BA", "BOSNIA AND HERZEGOVINA"}, + {CTRY_BRAZIL, FCC3_WORLD, "BR", "BRAZIL"}, + {CTRY_BRUNEI_DARUSSALAM, APL6_WORLD, "BN", "BRUNEI DARUSSALAM"}, + {CTRY_BULGARIA, ETSI1_WORLD, "BG", "BULGARIA"}, + {CTRY_CAMBODIA, ETSI1_WORLD, "KH", "CAMBODIA"}, + {CTRY_CANADA, FCC3_FCCA, "CA", "CANADA"}, + {CTRY_CHILE, APL6_WORLD, "CL", "CHILE"}, + {CTRY_CHINA, APL1_WORLD, "CN", "CHINA"}, + {CTRY_COLOMBIA, FCC1_FCCA, "CO", "COLOMBIA"}, + {CTRY_COSTA_RICA, FCC1_WORLD, "CR", "COSTA RICA"}, + {CTRY_CROATIA, ETSI1_WORLD, "HR", "CROATIA"}, + {CTRY_CYPRUS, ETSI1_WORLD, "CY", "CYPRUS"}, + {CTRY_CZECH, ETSI1_WORLD, "CZ", "CZECH REPUBLIC"}, + {CTRY_DENMARK, ETSI1_WORLD, "DK", "DENMARK"}, + {CTRY_DOMINICAN_REPUBLIC, FCC1_FCCA, "DO", "DOMINICAN REPUBLIC"}, + {CTRY_ECUADOR, FCC1_WORLD, "EC", "ECUADOR"}, + {CTRY_EGYPT, ETSI3_WORLD, "EG", "EGYPT"}, + {CTRY_EL_SALVADOR, FCC1_WORLD, "SV", "EL SALVADOR"}, + {CTRY_ESTONIA, ETSI1_WORLD, "EE", "ESTONIA"}, + {CTRY_FINLAND, ETSI1_WORLD, "FI", "FINLAND"}, + {CTRY_FRANCE, ETSI1_WORLD, "FR", "FRANCE"}, + {CTRY_GEORGIA, ETSI4_WORLD, "GE", "GEORGIA"}, + {CTRY_GERMANY, ETSI1_WORLD, "DE", "GERMANY"}, + {CTRY_GREECE, ETSI1_WORLD, "GR", "GREECE"}, + {CTRY_GREENLAND, ETSI1_WORLD, "GL", "GREENLAND"}, + {CTRY_GRENADA, FCC3_FCCA, "GD", "GRENADA"}, + {CTRY_GUAM, FCC1_FCCA, "GU", "GUAM"}, + {CTRY_GUATEMALA, FCC1_FCCA, "GT", "GUATEMALA"}, + {CTRY_HAITI, ETSI1_WORLD, "HT", "HAITI"}, + {CTRY_HONDURAS, FCC3_WORLD, "HN", "HONDURAS"}, + {CTRY_HONG_KONG, FCC3_WORLD, "HK", "HONG KONG"}, + {CTRY_HUNGARY, ETSI1_WORLD, "HU", "HUNGARY"}, + {CTRY_ICELAND, ETSI1_WORLD, "IS", "ICELAND"}, + {CTRY_INDIA, APL6_WORLD, "IN", "INDIA"}, + {CTRY_INDONESIA, APL2_WORLD, "ID", "INDONESIA"}, + {CTRY_IRAN, APL1_WORLD, "IR", "IRAN"}, + {CTRY_IRELAND, ETSI1_WORLD, "IE", "IRELAND"}, + {CTRY_ISRAEL, ETSI3_WORLD, "IL", "ISRAEL"}, + {CTRY_ITALY, ETSI1_WORLD, "IT", "ITALY"}, + {CTRY_JAMAICA, FCC3_WORLD, "JM", "JAMAICA"}, + {CTRY_JAPAN14, MKK5_MKKA2, "JP", "JAPAN"}, + {CTRY_JAPAN7, MKK3_MKKB, "JP", "JAPAN7"}, + {CTRY_JAPAN8, MKK3_MKKA2, "JP", "JAPAN8"}, + {CTRY_JAPAN9, MKK3_MKKC, "JP", "JAPAN9"}, + {CTRY_JAPAN10, MKK4_MKKB, "JP", "JAPAN10"}, + {CTRY_JAPAN11, MKK4_MKKA2, "JP", "JAPAN11"}, + {CTRY_JAPAN12, MKK4_MKKC, "JP", "JAPAN12"}, + {CTRY_JAPAN13, MKK5_MKKB, "JP", "JAPAN13"}, + {CTRY_JAPAN14, MKK5_MKKA2, "JP", "JAPAN14"}, + {CTRY_JAPAN15, MKK5_MKKC, "JP", "JAPAN15"}, + {CTRY_JAPAN25, MKK3_MKKA, "JP", "JAPAN25"}, + {CTRY_JAPAN26, MKK3_MKKA1, "JP", "JAPAN26"}, + {CTRY_JAPAN27, MKK3_FCCA, "JP", "JAPAN27"}, + {CTRY_JAPAN28, MKK4_MKKA1, "JP", "JAPAN28"}, + {CTRY_JAPAN29, MKK4_FCCA, "JP", "JAPAN29"}, + {CTRY_JAPAN34, MKK9_MKKA, "JP", "JAPAN34"}, + {CTRY_JAPAN35, MKK10_MKKA, "JP", "JAPAN35"}, + {CTRY_JAPAN36, MKK4_MKKA, "JP", "JAPAN36"}, + {CTRY_JAPAN37, MKK9_FCCA, "JP", "JAPAN37"}, + {CTRY_JAPAN38, MKK9_MKKA1, "JP", "JAPAN38"}, + {CTRY_JAPAN39, MKK9_MKKC, "JP", "JAPAN39"}, + {CTRY_JAPAN40, MKK9_MKKA2, "JP", "JAPAN40"}, + {CTRY_JAPAN41, MKK10_FCCA, "JP", "JAPAN41"}, + {CTRY_JAPAN42, MKK10_MKKA1, "JP", "JAPAN42"}, + {CTRY_JAPAN43, MKK10_MKKC, "JP", "JAPAN43"}, + {CTRY_JAPAN44, MKK10_MKKA2, "JP", "JAPAN44"}, + {CTRY_JAPAN45, MKK11_MKKA, "JP", "JAPAN45"}, + {CTRY_JAPAN46, MKK11_FCCA, "JP", "JAPAN46"}, + {CTRY_JAPAN47, MKK11_MKKA1, "JP", "JAPAN47"}, + {CTRY_JAPAN48, MKK11_MKKC, "JP", "JAPAN48"}, + {CTRY_JAPAN49, MKK11_MKKA2, "JP", "JAPAN49"}, + {CTRY_JAPAN55, MKK5_MKKA, "JP", "JAPAN55"}, + {CTRY_JAPAN56, MKK5_FCCA, "JP", "JAPAN56"}, + {CTRY_JORDAN, ETSI2_WORLD, "JO", "JORDAN"}, + {CTRY_KAZAKHSTAN, NULL1_WORLD, "KZ", "KAZAKHSTAN"}, + {CTRY_KENYA, APL1_WORLD, "KE", "KENYA"}, + {CTRY_KOREA_NORTH, APL9_MKKC, "KP", "NORTH KOREA"}, + {CTRY_KOREA_ROC, APL10_MKKC, "KR", "KOREA REPUBLIC"}, + {CTRY_KOREA_ROC_AP, APL9_MKKC, "KR", "KOREA REPUBLIC3"}, + {CTRY_KUWAIT, ETSI3_WORLD, "KW", "KUWAIT"}, + {CTRY_LATVIA, ETSI1_WORLD, "LV", "LATVIA"}, + {CTRY_LEBANON, APL1_WORLD, "LB", "LEBANON"}, + {CTRY_LIECHTENSTEIN, ETSI1_WORLD, "LI", "LIECHTENSTEIN"}, + {CTRY_LITHUANIA, ETSI1_WORLD, "LT", "LITHUANIA"}, + {CTRY_LUXEMBOURG, ETSI1_WORLD, "LU", "LUXEMBOURG"}, + {CTRY_MACAU, FCC2_WORLD, "MO", "MACAU SAR"}, + {CTRY_MACEDONIA, ETSI1_WORLD, "MK", "MACEDONIA, FYRO"}, + {CTRY_MALAYSIA, FCC1_WORLD, "MY", "MALAYSIA"}, + {CTRY_MALTA, ETSI1_WORLD, "MT", "MALTA"}, + {CTRY_MAURITIUS, ETSI1_WORLD, "MU", "MAURITIUS"}, + {CTRY_MEXICO, FCC1_WORLD, "MX", "MEXICO"}, + {CTRY_MONACO, ETSI4_WORLD, "MC", "MONACO"}, + {CTRY_MOROCCO, APL4_WORLD, "MA", "MOROCCO"}, + {CTRY_NEPAL, APL1_WORLD, "NP", "NEPAL"}, + {CTRY_NETHERLANDS, ETSI1_WORLD, "NL", "NETHERLANDS"}, + {CTRY_NETHERLANDS_ANTILLES, ETSI1_WORLD, "AN", "NETHERLANDS ANTILLES"}, + {CTRY_NEW_ZEALAND, FCC3_ETSIC, "NZ", "NEW ZEALAND"}, + {CTRY_NICARAGUA, FCC3_FCCA, "NI", "NICARAGUA"}, + {CTRY_NORWAY, ETSI1_WORLD, "NO", "NORWAY"}, + {CTRY_OMAN, FCC3_WORLD, "OM", "OMAN"}, + {CTRY_PAKISTAN, APL1_WORLD, "PK", "PAKISTAN"}, + {CTRY_PANAMA, FCC1_FCCA, "PA", "PANAMA"}, + {CTRY_PAPUA_NEW_GUINEA, FCC1_WORLD, "PG", "PAPUA NEW GUINEA"}, + {CTRY_PARAGUAY, FCC3_WORLD, "PY", "PARAGUAY"}, + {CTRY_PERU, FCC3_WORLD, "PE", "PERU"}, + {CTRY_PHILIPPINES, FCC3_WORLD, "PH", "PHILIPPINES"}, + {CTRY_POLAND, ETSI1_WORLD, "PL", "POLAND"}, + {CTRY_PORTUGAL, ETSI1_WORLD, "PT", "PORTUGAL"}, + {CTRY_PUERTO_RICO, FCC1_FCCA, "PR", "PUERTO RICO"}, + {CTRY_QATAR, APL1_WORLD, "QA", "QATAR"}, + {CTRY_ROMANIA, ETSI1_WORLD, "RO", "ROMANIA"}, + {CTRY_RUSSIA, ETSI8_WORLD, "RU", "RUSSIA"}, + {CTRY_RWANDA, APL1_WORLD, "RW", "RWANDA"}, + {CTRY_SAUDI_ARABIA, FCC2_WORLD, "SA", "SAUDI ARABIA"}, + {CTRY_SERBIA, ETSI1_WORLD, "RS", "REPUBLIC OF SERBIA"}, + {CTRY_MONTENEGRO, ETSI1_WORLD, "ME", "MONTENEGRO"}, + {CTRY_SINGAPORE, FCC3_WORLD, "SG", "SINGAPORE"}, + {CTRY_SLOVAKIA, ETSI1_WORLD, "SK", "SLOVAKIA"}, + {CTRY_SLOVENIA, ETSI1_WORLD, "SI", "SLOVENIA"}, + {CTRY_SOUTH_AFRICA, FCC3_WORLD, "ZA", "SOUTH AFRICA"}, + {CTRY_SPAIN, ETSI1_WORLD, "ES", "SPAIN"}, + {CTRY_SRI_LANKA, FCC3_WORLD, "LK", "SRI LANKA"}, + {CTRY_SWEDEN, ETSI1_WORLD, "SE", "SWEDEN"}, + {CTRY_SWITZERLAND, ETSI1_WORLD, "CH", "SWITZERLAND"}, + {CTRY_SYRIA, NULL1_WORLD, "SY", "SYRIAN ARAB REPUBLIC"}, + {CTRY_TAIWAN, APL7_FCCA, "TW", "TAIWAN"}, + {CTRY_TANZANIA, APL1_WORLD, "TZ", "TANZANIA"}, + {CTRY_THAILAND, FCC3_WORLD, "TH", "THAILAND"}, + {CTRY_TRINIDAD_Y_TOBAGO, FCC3_WORLD, "TT", "TRINIDAD AND TOBAGO"}, + {CTRY_TUNISIA, ETSI3_WORLD, "TN", "TUNISIA"}, + {CTRY_TURKEY, ETSI3_WORLD, "TR", "TURKEY"}, + {CTRY_UGANDA, FCC3_WORLD, "UG", "UGANDA"}, + {CTRY_UKRAINE, ETSI9_WORLD, "UA", "UKRAINE"}, + {CTRY_UAE, ETSI1_WORLD, "AE", "UNITED ARAB EMIRATES"}, + {CTRY_UNITED_KINGDOM, ETSI1_WORLD, "GB", "UNITED KINGDOM"}, + {CTRY_UNITED_STATES, FCC3_FCCA, "US", "UNITED STATES"}, + {CTRY_UNITED_STATES_AP, FCC6_FCCA, "US", "UNITED STATES2"}, + {CTRY_UNITED_STATES_PS, FCC4_FCCA, "PS", "US PUBLIC SAFETY"}, + {CTRY_URUGUAY, FCC3_WORLD, "UY", "URUGUAY"}, + {CTRY_UZBEKISTAN, FCC3_FCCA, "UZ", "UZBEKISTAN"}, + {CTRY_VENEZUELA, FCC1_WORLD, "VE", "VENEZUELA"}, + {CTRY_VIET_NAM, ETSI3_WORLD, "VN", "VIETNAM"}, + {CTRY_YEMEN, NULL1_WORLD, "YE", "YEMEN"}, + {CTRY_ZIMBABWE, NULL1_WORLD, "ZW", "ZIMBABWE"} }; static const REG_DOMAIN ah_cmn_reg_domains[] = { - - {DEBUG_REG_DMN, FCC, DFS_FCC3}, - {APL1, FCC, NO_DFS}, - {APL2, FCC, NO_DFS}, - {APL3, FCC, DFS_FCC3}, - {APL4, FCC, NO_DFS}, - {APL5, FCC, NO_DFS}, - {APL6, ETSI, DFS_ETSI}, - {APL7, FCC, DFS_FCC3}, - {APL8, ETSI, NO_DFS}, - {APL9, ETSI, DFS_ETSI}, - {APL10, ETSI, DFS_ETSI}, - {APL11, ETSI, DFS_ETSI}, - {APL12, ETSI, DFS_ETSI}, - {ETSI1, ETSI, DFS_ETSI}, - {ETSI2, ETSI, DFS_ETSI}, - {ETSI3, ETSI, DFS_ETSI}, - {ETSI4, ETSI, DFS_ETSI}, - {ETSI5, ETSI, DFS_ETSI}, - {ETSI6, ETSI, DFS_ETSI}, - {ETSI8, ETSI, DFS_ETSI}, - {ETSI9, ETSI, DFS_ETSI}, - {FCC1, FCC, NO_DFS}, - {FCC2, FCC, NO_DFS}, - {FCC3, FCC, DFS_FCC3}, - {FCC4, FCC, DFS_FCC3}, - {FCC5, FCC, NO_DFS}, - {FCC6, FCC, DFS_FCC3}, - {MKK1, MKK, DFS_MKK4}, - {MKK2, MKK, DFS_MKK4}, - {MKK3, MKK, NO_DFS}, - {MKK4, MKK, DFS_MKK4}, - {MKK5, MKK, DFS_MKK4}, - {MKK6, MKK, NO_DFS}, - {MKK7, MKK, DFS_MKK4}, - {MKK8, MKK, DFS_MKK4}, - {MKK9, MKK, NO_DFS}, - {MKK10, MKK, DFS_MKK4}, - {MKK11, MKK, DFS_MKK4}, - {MKK12, MKK, DFS_MKK4}, - {MKK13, MKK, DFS_MKK4}, - {MKK14, MKK, DFS_MKK4}, - {MKK15, MKK, DFS_MKK4}, - {APLD, NO_CTL, NO_DFS}, - {ETSIA, NO_CTL, NO_DFS}, - {ETSIB, ETSI, NO_DFS}, - {ETSIC, ETSI, NO_DFS}, - {FCCA, FCC, NO_DFS}, - {MKKA, MKK, NO_DFS}, - {MKKC, MKK, NO_DFS}, - {WORLD, ETSI, NO_DFS}, - {WOR0_WORLD, NO_CTL, DFS_FCC3}, - {WOR01_WORLD, NO_CTL, DFS_FCC3}, - {WOR02_WORLD, NO_CTL, DFS_FCC3}, - {EU1_WORLD, NO_CTL, DFS_FCC3}, - {WOR1_WORLD, NO_CTL, DFS_FCC3}, - {WOR2_WORLD, NO_CTL, DFS_FCC3}, - {WOR3_WORLD, NO_CTL, DFS_FCC3}, - {WOR4_WORLD, NO_CTL, DFS_FCC3}, - {WOR5_ETSIC, NO_CTL, DFS_FCC3}, - {WOR9_WORLD, NO_CTL, DFS_FCC3}, - {WORA_WORLD, NO_CTL, DFS_FCC3}, - {WORB_WORLD, NO_CTL, DFS_FCC3}, - {WORC_WORLD, NO_CTL, DFS_FCC3}, - {NULL1, NO_CTL, NO_DFS}, + {DEBUG_REG_DMN, FCC}, + {APL1, FCC}, + {APL2, FCC}, + {APL3, FCC}, + {APL4, FCC}, + {APL5, FCC}, + {APL6, ETSI}, + {APL7, FCC}, + {APL8, ETSI}, + {APL9, ETSI}, + {APL10, ETSI}, + {APL11, ETSI}, + {APL12, ETSI}, + {ETSI1, ETSI}, + {ETSI2, ETSI}, + {ETSI3, ETSI}, + {ETSI4, ETSI}, + {ETSI5, ETSI}, + {ETSI6, ETSI}, + {ETSI8, ETSI}, + {ETSI9, ETSI}, + {FCC1, FCC}, + {FCC2, FCC}, + {FCC3, FCC}, + {FCC4, FCC}, + {FCC5, FCC}, + {FCC6, FCC}, + {MKK1, MKK}, + {MKK2, MKK}, + {MKK3, MKK}, + {MKK4, MKK}, + {MKK5, MKK}, + {MKK6, MKK}, + {MKK7, MKK}, + {MKK8, MKK}, + {MKK9, MKK}, + {MKK10, MKK}, + {MKK11, MKK}, + {MKK12, MKK}, + {MKK13, MKK}, + {MKK14, MKK}, + {MKK15, MKK}, + {APLD, NO_CTL}, + {ETSIA, NO_CTL}, + {ETSIB, ETSI}, + {ETSIC, ETSI}, + {FCCA, FCC}, + {MKKA, MKK}, + {MKKC, MKK}, + {WORLD, ETSI}, + {WOR0_WORLD, NO_CTL}, + {WOR01_WORLD, NO_CTL}, + {WOR02_WORLD, NO_CTL}, + {EU1_WORLD, NO_CTL}, + {WOR1_WORLD, NO_CTL}, + {WOR2_WORLD, NO_CTL}, + {WOR3_WORLD, NO_CTL}, + {WOR4_WORLD, NO_CTL}, + {WOR5_ETSIC, NO_CTL}, + {WOR9_WORLD, NO_CTL}, + {WORA_WORLD, NO_CTL}, + {WORB_WORLD, NO_CTL}, + {WORC_WORLD, NO_CTL}, + {NULL1, NO_CTL}, }; typedef enum offset { diff --git a/core/cds/src/cds_ieee80211_common_i.h b/core/cds/src/cds_ieee80211_common_i.h index 166c8e6ff737..e1ee02cd6e2c 100644 --- a/core/cds/src/cds_ieee80211_common_i.h +++ b/core/cds/src/cds_ieee80211_common_i.h @@ -28,14 +28,6 @@ #ifndef CDS_COMMON__IEEE80211_I_H_ #define CDS_COMMON__IEEE80211_I_H_ -/* These defines should match the table from ah_internal.h */ -typedef enum { - DFS_UNINIT_DOMAIN = 0, /* Uninitialized dfs domain */ - DFS_FCC_DOMAIN = 1, /* FCC3 dfs domain */ - DFS_ETSI_DOMAIN = 2, /* ETSI dfs domain */ - DFS_MKK4_DOMAIN = 3 /* Japan dfs domain */ -} HAL_DFS_DOMAIN; - /* XXX not really a mode; there are really multiple PHY's */ enum ieee80211_phymode { IEEE80211_MODE_AUTO = 0, /* autoselect */ diff --git a/core/wma/inc/wma_dfs_interface.h b/core/wma/inc/wma_dfs_interface.h index abb3490c4921..6887f11cff12 100644 --- a/core/wma/inc/wma_dfs_interface.h +++ b/core/wma/inc/wma_dfs_interface.h @@ -27,6 +27,8 @@ #include "ath_dfs_structs.h" #include +#include "cds_reg_service.h" +#include "cds_regdomain.h" #include "cds_ieee80211_common.h" #define IEEE80211_CHAN_MAX 255 @@ -258,7 +260,7 @@ typedef struct ieee80211com { int (*ic_dfs_control)(struct ieee80211com *ic, u_int id, void *indata, uint32_t insize, void *outdata, uint32_t *outsize); - HAL_DFS_DOMAIN current_dfs_regdomain; + enum HAL_DFS_DOMAIN current_dfs_regdomain; uint8_t vdev_id; uint8_t last_radar_found_chan; int32_t dfs_pri_multiplier;