mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-08 04:42:04 -04:00
qcacld-3.0: Remove the file cds_regdomain_common.h
Data structures defined in cds_regdomain_common.h are similar to those defined in cds_regdomain.h. Therefore remove the file. Change-Id: I929b03058e9441e4a652314789cf91dbd94d0329 CRs-Fixed: 961806
This commit is contained in:
parent
d86d983a20
commit
3b6068c457
17 changed files with 591 additions and 684 deletions
|
|
@ -71,11 +71,223 @@
|
|||
#ifndef REGULATORY_H
|
||||
#define REGULATORY_H
|
||||
|
||||
#define MAX_CHANNELS_PER_OPERATING_CLASS 25
|
||||
#define CTRY_DEBUG 0x1ff
|
||||
#define CTRY_DEFAULT 0
|
||||
#define COUNTRY_ERD_FLAG 0x8000
|
||||
#define WORLDWIDE_ROAMING_FLAG 0x4000
|
||||
#define DEF_REGDMN FCC3_FCCA
|
||||
#define CDS_MAX_SUPP_OPER_CLASSES 32
|
||||
|
||||
enum EnumRd {
|
||||
NO_ENUMRD = 0x00,
|
||||
NULL1_WORLD = 0x03,
|
||||
NULL1_ETSIB = 0x07,
|
||||
NULL1_ETSIC = 0x08,
|
||||
FCC1_FCCA = 0x10,
|
||||
FCC1_WORLD = 0x11,
|
||||
FCC4_FCCA = 0x12,
|
||||
FCC5_FCCA = 0x13,
|
||||
FCC6_FCCA = 0x14,
|
||||
|
||||
FCC2_FCCA = 0x20,
|
||||
FCC2_WORLD = 0x21,
|
||||
FCC2_ETSIC = 0x22,
|
||||
FCC6_WORLD = 0x23,
|
||||
FRANCE_RES = 0x31,
|
||||
FCC3_FCCA = 0x3A,
|
||||
FCC3_WORLD = 0x3B,
|
||||
FCC3_ETSIC = 0x3F,
|
||||
|
||||
ETSI1_WORLD = 0x37,
|
||||
ETSI3_ETSIA = 0x32,
|
||||
ETSI2_WORLD = 0x35,
|
||||
ETSI3_WORLD = 0x36,
|
||||
ETSI4_WORLD = 0x30,
|
||||
ETSI4_ETSIC = 0x38,
|
||||
ETSI5_WORLD = 0x39,
|
||||
ETSI6_WORLD = 0x34,
|
||||
ETSI8_WORLD = 0x3D,
|
||||
ETSI9_WORLD = 0x3E,
|
||||
ETSI_RESERVED = 0x33,
|
||||
|
||||
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,
|
||||
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,
|
||||
APL1_FCCA = 0x53,
|
||||
APL1_APLA = 0x54,
|
||||
APL1_ETSIC = 0x55,
|
||||
APL2_ETSIC = 0x56,
|
||||
APL5_WORLD = 0x58,
|
||||
APL13_WORLD = 0x5A,
|
||||
APL6_WORLD = 0x5B,
|
||||
APL7_FCCA = 0x5C,
|
||||
APL8_WORLD = 0x5D,
|
||||
APL9_MKKC = 0x5E,
|
||||
APL10_MKKC = 0x5F,
|
||||
|
||||
WOR0_WORLD = 0x60,
|
||||
WOR1_WORLD = 0x61,
|
||||
WOR2_WORLD = 0x62,
|
||||
WOR3_WORLD = 0x63,
|
||||
WOR4_WORLD = 0x64,
|
||||
WOR5_ETSIC = 0x65,
|
||||
|
||||
WOR01_WORLD = 0x66,
|
||||
WOR02_WORLD = 0x67,
|
||||
EU1_WORLD = 0x68,
|
||||
|
||||
WOR9_WORLD = 0x69,
|
||||
WORA_WORLD = 0x6A,
|
||||
WORB_WORLD = 0x6B,
|
||||
WORC_WORLD = 0x6C,
|
||||
|
||||
MKK3_MKKB = 0x80,
|
||||
MKK3_MKKA2 = 0x81,
|
||||
MKK3_MKKC = 0x82,
|
||||
|
||||
MKK4_MKKB = 0x83,
|
||||
MKK4_MKKA2 = 0x84,
|
||||
MKK4_MKKC = 0x85,
|
||||
|
||||
MKK5_MKKB = 0x86,
|
||||
MKK5_MKKA2 = 0x87,
|
||||
MKK5_MKKC = 0x88,
|
||||
MKK5_MKKA = 0x99,
|
||||
MKK5_FCCA = 0x9A,
|
||||
|
||||
MKK6_MKKB = 0x89,
|
||||
MKK6_MKKA2 = 0x8A,
|
||||
MKK6_MKKC = 0x8B,
|
||||
|
||||
MKK7_MKKB = 0x8C,
|
||||
MKK7_MKKA2 = 0x8D,
|
||||
MKK7_MKKC = 0x8E,
|
||||
|
||||
MKK8_MKKB = 0x8F,
|
||||
MKK8_MKKA2 = 0x90,
|
||||
MKK8_MKKC = 0x91,
|
||||
|
||||
MKK14_MKKA1 = 0x92,
|
||||
MKK15_MKKA1 = 0x93,
|
||||
|
||||
MKK10_FCCA = 0xD0,
|
||||
MKK10_MKKA1 = 0xD1,
|
||||
MKK10_MKKC = 0xD2,
|
||||
MKK10_MKKA2 = 0xD3,
|
||||
|
||||
MKK11_MKKA = 0xD4,
|
||||
MKK11_FCCA = 0xD5,
|
||||
MKK11_MKKA1 = 0xD6,
|
||||
MKK11_MKKC = 0xD7,
|
||||
MKK11_MKKA2 = 0xD8,
|
||||
|
||||
MKK12_MKKA = 0xD9,
|
||||
MKK12_FCCA = 0xDA,
|
||||
MKK12_MKKA1 = 0xDB,
|
||||
MKK12_MKKC = 0xDC,
|
||||
MKK12_MKKA2 = 0xDD,
|
||||
|
||||
MKK13_MKKB = 0xDE,
|
||||
|
||||
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,
|
||||
|
||||
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,
|
||||
ETSI2 = 0x0230,
|
||||
ETSI3 = 0x0330,
|
||||
ETSI4 = 0x0430,
|
||||
ETSI5 = 0x0530,
|
||||
ETSI6 = 0x0630,
|
||||
ETSI8 = 0x0830,
|
||||
ETSI9 = 0x0930,
|
||||
ETSIA = 0x0A30,
|
||||
ETSIB = 0x0B30,
|
||||
ETSIC = 0x0C30,
|
||||
|
||||
FCC1 = 0x0110,
|
||||
FCC2 = 0x0120,
|
||||
FCC3 = 0x0160,
|
||||
FCC4 = 0x0165,
|
||||
FCC5 = 0x0510,
|
||||
FCC6 = 0x0610,
|
||||
FCCA = 0x0A10,
|
||||
|
||||
APLD = 0x0D50,
|
||||
|
||||
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,
|
||||
WORLD = 0x0199,
|
||||
DEBUG_REG_DMN = 0x01ff,
|
||||
};
|
||||
|
||||
enum {
|
||||
FCC = 0x10,
|
||||
MKK = 0x40,
|
||||
ETSI = 0x30,
|
||||
NO_CTL = 0xff
|
||||
};
|
||||
|
||||
|
||||
/* These defines should match the table from ah_internal.h */
|
||||
enum HAL_DFS_DOMAIN {
|
||||
|
|
@ -85,18 +297,11 @@ enum HAL_DFS_DOMAIN {
|
|||
DFS_MKK4_DOMAIN = 3 /* Japan dfs domain */
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* THE following table is the mapping of regdomain pairs specified by
|
||||
* an 8 bit regdomain value to the individual unitary reg domains
|
||||
*/
|
||||
|
||||
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 */
|
||||
uint16_t singleCC; /* Country code of single country if
|
||||
a one-on-one mapping exists */
|
||||
uint16_t regDmnEnum;
|
||||
uint16_t regDmn5GHz;
|
||||
uint16_t regDmn2GHz;
|
||||
uint16_t singleCC;
|
||||
} REG_DMN_PAIR_MAPPING;
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -107,24 +312,10 @@ typedef struct {
|
|||
} COUNTRY_CODE_TO_ENUM_RD;
|
||||
|
||||
typedef struct reg_domain {
|
||||
uint16_t regDmnEnum; /* value from EnumRd table */
|
||||
uint16_t regDmnEnum;
|
||||
uint8_t conformance_test_limit;
|
||||
} REG_DOMAIN;
|
||||
|
||||
/* Multi-Device RegDomain Support */
|
||||
typedef struct ath_hal_reg_dmn_tables {
|
||||
/* regDomainPairs: Map of 8-bit regdomain values to unitary reg domain */
|
||||
const REG_DMN_PAIR_MAPPING *regDomainPairs;
|
||||
/* allCountries: Master list of freq. bands (flags, settings) */
|
||||
const COUNTRY_CODE_TO_ENUM_RD *allCountries;
|
||||
/* regDomains: Array of supported reg domains */
|
||||
const REG_DOMAIN *regDomains;
|
||||
|
||||
uint16_t regDomainPairsCt; /* Num reg domain pair entries */
|
||||
uint16_t allCountriesCt; /* Num country entries */
|
||||
uint16_t regDomainsCt; /* Num reg domain entries */
|
||||
} HAL_REG_DMN_TABLES;
|
||||
|
||||
enum CountryCode {
|
||||
CTRY_AFGHANISTAN = 4,
|
||||
CTRY_ALBANIA = 8,
|
||||
|
|
@ -336,9 +527,271 @@ enum CountryCode {
|
|||
CTRY_JAPAN49 = 4049,
|
||||
CTRY_JAPAN55 = 4055,
|
||||
CTRY_JAPAN56 = 4056,
|
||||
|
||||
};
|
||||
|
||||
typedef struct ath_hal_reg_dmn_tables {
|
||||
const REG_DMN_PAIR_MAPPING *regDomainPairs;
|
||||
const COUNTRY_CODE_TO_ENUM_RD *allCountries;
|
||||
const REG_DOMAIN *regDomains;
|
||||
uint16_t regDomainPairsCt;
|
||||
uint16_t allCountriesCt;
|
||||
uint16_t regDomainsCt;
|
||||
} HAL_REG_DMN_TABLES;
|
||||
|
||||
|
||||
static const REG_DMN_PAIR_MAPPING ah_cmn_reg_domain_pairs[] = {
|
||||
{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},
|
||||
|
||||
{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"},
|
||||
{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"}
|
||||
};
|
||||
|
||||
/**
|
||||
* enum ch_width - channel width
|
||||
|
|
@ -372,6 +825,93 @@ struct ch_params_s {
|
|||
uint8_t center_freq_seg1;
|
||||
};
|
||||
|
||||
static const REG_DOMAIN ah_cmn_reg_domains[] = {
|
||||
{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 {
|
||||
BW20 = 0,
|
||||
BW40_LOW_PRIMARY = 1,
|
||||
BW40_HIGH_PRIMARY = 3,
|
||||
BW80,
|
||||
BWALL
|
||||
} offset_t;
|
||||
|
||||
typedef struct _regdm_op_class_map {
|
||||
uint8_t op_class;
|
||||
uint8_t ch_spacing;
|
||||
offset_t offset;
|
||||
uint8_t channels[MAX_CHANNELS_PER_OPERATING_CLASS];
|
||||
} regdm_op_class_map_t;
|
||||
|
||||
typedef struct _regdm_supp_op_classes {
|
||||
uint8_t num_classes;
|
||||
uint8_t classes[CDS_MAX_SUPP_OPER_CLASSES];
|
||||
} regdm_supp_op_classes;
|
||||
|
||||
|
||||
int32_t cds_fill_some_regulatory_info(struct regulatory *reg);
|
||||
void cds_fill_and_send_ctl_to_fw(struct regulatory *reg);
|
||||
|
|
@ -381,4 +921,11 @@ void cds_set_wma_dfs_region(uint8_t dfs_region);
|
|||
void cds_set_ch_params(uint8_t ch, uint32_t phy_mode,
|
||||
struct ch_params_s *ch_params);
|
||||
|
||||
uint16_t cds_regdm_get_opclass_from_channel(uint8_t *country, uint8_t channel,
|
||||
uint8_t offset);
|
||||
uint16_t cds_regdm_get_chanwidth_from_opclass(uint8_t *country, uint8_t channel,
|
||||
uint8_t opclass);
|
||||
uint16_t cds_regdm_set_curr_opclasses(uint8_t num_classes, uint8_t *class);
|
||||
uint16_t cds_regdm_get_curr_opclasses(uint8_t *num_classes, uint8_t *class);
|
||||
|
||||
#endif /* REGULATORY_H */
|
||||
|
|
|
|||
|
|
@ -1,637 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2011, 2014-2015 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||
*
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
* above copyright notice and this permission notice appear in all
|
||||
* copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
|
||||
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
|
||||
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
||||
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
||||
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This file was originally distributed by Qualcomm Atheros, Inc.
|
||||
* under proprietary terms before Copyright ownership was assigned
|
||||
* to the Linux Foundation.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2002-2009 Sam Leffler, Errno Consulting
|
||||
* Copyright (c) 2005-2011 Atheros Communications, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
* $FreeBSD: release/9.0.0/sys/dev/ath/ath_hal/ah_regdomain/ah_rd_regenum.h 224226 2011-07-20 12:46:58Z adrian $
|
||||
*/
|
||||
/*
|
||||
* This module contains the common regulatory domain database tables:
|
||||
*
|
||||
* - reg domain enum constants
|
||||
* - reg domain enum to reg domain pair mappings
|
||||
* - country to regdomain mappings
|
||||
* - channel tag enums and the frequency-to-frequency band mappings
|
||||
* for all the modes
|
||||
*
|
||||
* "The country table and respective Regulatory Domain channel and power
|
||||
* settings are based on available knowledge as of software release. The
|
||||
* underlying global regulatory and spectrum rules change on a regular basis,
|
||||
* therefore, no warranty is given that the channel and power information
|
||||
* herein is complete, accurate or up to date. Developers are responsible
|
||||
* for regulatory compliance of end-products developed using the enclosed
|
||||
* data per all applicable national requirements. Furthermore, data in this
|
||||
* table does not guarantee that spectrum is available and that regulatory
|
||||
* approval is possible in every case. Knowldegable regulatory compliance
|
||||
* or government contacts should be consulted by the manufacturer to ensure
|
||||
* that the most current and accurate settings are used in each end-product.
|
||||
* This table was designed so that developers are able to update the country
|
||||
* table mappings as well as the Regulatory Domain definitions in order to
|
||||
* incorporate the most current channel and power settings in the end-product."
|
||||
*
|
||||
*/
|
||||
|
||||
/* Enumerated Regulatory Domain Information 8 bit values indicate that
|
||||
* the regdomain is really a pair of unitary regdomains. 12 bit values
|
||||
* are the real unitary regdomains and are the only ones which have the
|
||||
* frequency bitmasks and flags set.
|
||||
*/
|
||||
|
||||
|
||||
#define MAX_CHANNELS_PER_OPERATING_CLASS 25
|
||||
|
||||
enum EnumRd {
|
||||
NO_ENUMRD = 0x00,
|
||||
NULL1_WORLD = 0x03,
|
||||
NULL1_ETSIB = 0x07,
|
||||
NULL1_ETSIC = 0x08,
|
||||
FCC1_FCCA = 0x10,
|
||||
FCC1_WORLD = 0x11,
|
||||
FCC4_FCCA = 0x12,
|
||||
FCC5_FCCA = 0x13,
|
||||
FCC6_FCCA = 0x14,
|
||||
|
||||
FCC2_FCCA = 0x20,
|
||||
FCC2_WORLD = 0x21,
|
||||
FCC2_ETSIC = 0x22,
|
||||
FCC6_WORLD = 0x23,
|
||||
FRANCE_RES = 0x31,
|
||||
FCC3_FCCA = 0x3A,
|
||||
FCC3_WORLD = 0x3B,
|
||||
FCC3_ETSIC = 0x3F,
|
||||
|
||||
ETSI1_WORLD = 0x37,
|
||||
ETSI3_ETSIA = 0x32,
|
||||
ETSI2_WORLD = 0x35,
|
||||
ETSI3_WORLD = 0x36,
|
||||
ETSI4_WORLD = 0x30,
|
||||
ETSI4_ETSIC = 0x38,
|
||||
ETSI5_WORLD = 0x39,
|
||||
ETSI6_WORLD = 0x34,
|
||||
ETSI8_WORLD = 0x3D,
|
||||
ETSI9_WORLD = 0x3E,
|
||||
ETSI_RESERVED = 0x33,
|
||||
|
||||
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,
|
||||
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,
|
||||
APL1_FCCA = 0x53,
|
||||
APL1_APLA = 0x54,
|
||||
APL1_ETSIC = 0x55,
|
||||
APL2_ETSIC = 0x56,
|
||||
APL5_WORLD = 0x58,
|
||||
APL13_WORLD = 0x5A,
|
||||
APL6_WORLD = 0x5B,
|
||||
APL7_FCCA = 0x5C,
|
||||
APL8_WORLD = 0x5D,
|
||||
APL9_MKKC = 0x5E,
|
||||
APL10_MKKC = 0x5F,
|
||||
|
||||
WOR0_WORLD = 0x60,
|
||||
WOR1_WORLD = 0x61,
|
||||
WOR2_WORLD = 0x62,
|
||||
WOR3_WORLD = 0x63,
|
||||
WOR4_WORLD = 0x64,
|
||||
WOR5_ETSIC = 0x65,
|
||||
|
||||
WOR01_WORLD = 0x66,
|
||||
WOR02_WORLD = 0x67,
|
||||
EU1_WORLD = 0x68,
|
||||
|
||||
WOR9_WORLD = 0x69,
|
||||
WORA_WORLD = 0x6A,
|
||||
WORB_WORLD = 0x6B,
|
||||
WORC_WORLD = 0x6C,
|
||||
|
||||
MKK3_MKKB = 0x80,
|
||||
MKK3_MKKA2 = 0x81,
|
||||
MKK3_MKKC = 0x82,
|
||||
|
||||
MKK4_MKKB = 0x83,
|
||||
MKK4_MKKA2 = 0x84,
|
||||
MKK4_MKKC = 0x85,
|
||||
|
||||
MKK5_MKKB = 0x86,
|
||||
MKK5_MKKA2 = 0x87,
|
||||
MKK5_MKKC = 0x88,
|
||||
MKK5_MKKA = 0x99,
|
||||
MKK5_FCCA = 0x9A,
|
||||
|
||||
MKK6_MKKB = 0x89,
|
||||
MKK6_MKKA2 = 0x8A,
|
||||
MKK6_MKKC = 0x8B,
|
||||
|
||||
MKK7_MKKB = 0x8C,
|
||||
MKK7_MKKA2 = 0x8D,
|
||||
MKK7_MKKC = 0x8E,
|
||||
|
||||
MKK8_MKKB = 0x8F,
|
||||
MKK8_MKKA2 = 0x90,
|
||||
MKK8_MKKC = 0x91,
|
||||
|
||||
MKK14_MKKA1 = 0x92,
|
||||
MKK15_MKKA1 = 0x93,
|
||||
|
||||
MKK10_FCCA = 0xD0,
|
||||
MKK10_MKKA1 = 0xD1,
|
||||
MKK10_MKKC = 0xD2,
|
||||
MKK10_MKKA2 = 0xD3,
|
||||
|
||||
MKK11_MKKA = 0xD4,
|
||||
MKK11_FCCA = 0xD5,
|
||||
MKK11_MKKA1 = 0xD6,
|
||||
MKK11_MKKC = 0xD7,
|
||||
MKK11_MKKA2 = 0xD8,
|
||||
|
||||
MKK12_MKKA = 0xD9,
|
||||
MKK12_FCCA = 0xDA,
|
||||
MKK12_MKKA1 = 0xDB,
|
||||
MKK12_MKKC = 0xDC,
|
||||
MKK12_MKKA2 = 0xDD,
|
||||
|
||||
MKK13_MKKB = 0xDE,
|
||||
|
||||
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,
|
||||
|
||||
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,
|
||||
ETSI2 = 0x0230,
|
||||
ETSI3 = 0x0330,
|
||||
ETSI4 = 0x0430,
|
||||
ETSI5 = 0x0530,
|
||||
ETSI6 = 0x0630,
|
||||
ETSI8 = 0x0830,
|
||||
ETSI9 = 0x0930,
|
||||
ETSIA = 0x0A30,
|
||||
ETSIB = 0x0B30,
|
||||
ETSIC = 0x0C30,
|
||||
|
||||
FCC1 = 0x0110,
|
||||
FCC2 = 0x0120,
|
||||
FCC3 = 0x0160,
|
||||
FCC4 = 0x0165,
|
||||
FCC5 = 0x0510,
|
||||
FCC6 = 0x0610,
|
||||
FCCA = 0x0A10,
|
||||
|
||||
APLD = 0x0D50,
|
||||
|
||||
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,
|
||||
WORLD = 0x0199,
|
||||
DEBUG_REG_DMN = 0x01ff,
|
||||
};
|
||||
|
||||
enum {
|
||||
FCC = 0x10,
|
||||
MKK = 0x40,
|
||||
ETSI = 0x30,
|
||||
NO_CTL = 0xff
|
||||
};
|
||||
|
||||
static const REG_DMN_PAIR_MAPPING ah_cmn_reg_domain_pairs[] = {
|
||||
{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},
|
||||
|
||||
{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"},
|
||||
{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},
|
||||
{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 {
|
||||
BW20 = 0,
|
||||
BW40_LOW_PRIMARY = 1,
|
||||
BW40_HIGH_PRIMARY = 3,
|
||||
BW80,
|
||||
BWALL
|
||||
} offset_t;
|
||||
|
||||
typedef struct _regdm_op_class_map {
|
||||
uint8_t op_class;
|
||||
uint8_t ch_spacing;
|
||||
offset_t offset;
|
||||
uint8_t channels[MAX_CHANNELS_PER_OPERATING_CLASS];
|
||||
} regdm_op_class_map_t;
|
||||
|
||||
typedef struct _regdm_supp_op_classes {
|
||||
uint8_t num_classes;
|
||||
uint8_t classes[SIR_MAC_MAX_SUPP_OPER_CLASSES];
|
||||
} regdm_supp_op_classes;
|
||||
|
||||
uint16_t cds_regdm_get_opclass_from_channel(uint8_t *country, uint8_t channel,
|
||||
uint8_t offset);
|
||||
uint16_t cds_regdm_get_chanwidth_from_opclass(uint8_t *country, uint8_t channel,
|
||||
uint8_t opclass);
|
||||
uint16_t cds_regdm_set_curr_opclasses(uint8_t num_classes, uint8_t *class);
|
||||
uint16_t cds_regdm_get_curr_opclasses(uint8_t *num_classes, uint8_t *class);
|
||||
|
|
@ -68,7 +68,6 @@
|
|||
#include <qdf_types.h>
|
||||
#include "wma.h"
|
||||
#include "cds_regdomain.h"
|
||||
#include "cds_regdomain_common.h"
|
||||
|
||||
static regdm_supp_op_classes regdm_curr_supp_opp_classes = { 0 };
|
||||
|
||||
|
|
@ -556,7 +555,7 @@ uint16_t cds_regdm_set_curr_opclasses(uint8_t num_classes, uint8_t *class)
|
|||
{
|
||||
uint8_t i;
|
||||
|
||||
if (SIR_MAC_MAX_SUPP_OPER_CLASSES < num_classes) {
|
||||
if (CDS_MAX_SUPP_OPER_CLASSES < num_classes) {
|
||||
qdf_print(KERN_ERR "%s: Invalid numClasses (%d)\n",
|
||||
__func__, num_classes);
|
||||
return -1;
|
||||
|
|
|
|||
|
|
@ -342,7 +342,7 @@ typedef struct _hddTdlsPeer_t {
|
|||
uint8_t supported_channels_len;
|
||||
uint8_t supported_channels[SIR_MAC_MAX_SUPP_CHANNELS];
|
||||
uint8_t supported_oper_classes_len;
|
||||
uint8_t supported_oper_classes[SIR_MAC_MAX_SUPP_OPER_CLASSES];
|
||||
uint8_t supported_oper_classes[CDS_MAX_SUPP_OPER_CLASSES];
|
||||
bool isForcedPeer;
|
||||
uint8_t op_class_for_pref_off_chan;
|
||||
uint8_t pref_off_chan_num;
|
||||
|
|
|
|||
|
|
@ -37,7 +37,6 @@
|
|||
#include "sme_api.h"
|
||||
#include "wlan_hdd_main.h"
|
||||
#include "cds_regdomain.h"
|
||||
#include "cds_regdomain_common.h"
|
||||
#include "wlan_hdd_regulatory.h"
|
||||
|
||||
#define WORLD_SKU_MASK 0x00F0
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@
|
|||
#include "sir_mac_prot_def.h"
|
||||
#include "ani_system_defs.h"
|
||||
#include "sir_params.h"
|
||||
#include "cds_regdomain.h"
|
||||
|
||||
#define OFFSET_OF(structType, fldName) (&((structType *)0)->fldName)
|
||||
|
||||
|
|
@ -3417,7 +3418,7 @@ typedef struct {
|
|||
uint8_t supportedChannelsLen;
|
||||
uint8_t supportedChannels[SIR_MAC_MAX_SUPP_CHANNELS];
|
||||
uint8_t supportedOperClassesLen;
|
||||
uint8_t supportedOperClasses[SIR_MAC_MAX_SUPP_OPER_CLASSES];
|
||||
uint8_t supportedOperClasses[CDS_MAX_SUPP_OPER_CLASSES];
|
||||
} tSirTdlsLinkEstablishReq, *tpSirTdlsLinkEstablishReq;
|
||||
|
||||
/* TDLS Request struct SME-->PE */
|
||||
|
|
|
|||
|
|
@ -1385,7 +1385,6 @@ typedef struct sSirMacMeasReqIE {
|
|||
#define SIR_MAC_MAX_SUPP_RATES 32
|
||||
|
||||
#define SIR_MAC_MAX_SUPP_CHANNELS 100
|
||||
#define SIR_MAC_MAX_SUPP_OPER_CLASSES 32
|
||||
#define SIR_MAC_MAX_EXTN_CAP 8
|
||||
|
||||
/* VHT Capabilities Info */
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@
|
|||
|
||||
|
||||
#include <lim_ft.h>
|
||||
#include "cds_regdomain_common.h"
|
||||
#include "cds_regdomain.h"
|
||||
|
||||
/*
|
||||
* This overhead is time for sending NOA start to host in case of GO/sending
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@
|
|||
#include "lim_assoc_utils.h"
|
||||
#include "dph_hash_table.h"
|
||||
#include "wma_types.h"
|
||||
#include "cds_regdomain_common.h"
|
||||
#include "cds_regdomain.h"
|
||||
|
||||
/* define NO_PAD_TDLS_MIN_8023_SIZE to NOT padding: See CR#447630
|
||||
There was IOT issue with cisco 1252 open mode, where it pads
|
||||
|
|
@ -2556,7 +2556,7 @@ void populate_dot11f_tdls_offchannel_params(tpAniSirGlobal pMac,
|
|||
uint8_t chanOffset;
|
||||
uint8_t op_class;
|
||||
uint8_t numClasses;
|
||||
uint8_t classes[SIR_MAC_MAX_SUPP_OPER_CLASSES];
|
||||
uint8_t classes[CDS_MAX_SUPP_OPER_CLASSES];
|
||||
if (wlan_cfg_get_str(pMac, WNI_CFG_VALID_CHANNEL_LIST,
|
||||
validChan, &numChans) != eSIR_SUCCESS) {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@
|
|||
#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM /* FEATURE_WLAN_DIAG_SUPPORT */
|
||||
#include "host_diag_core_log.h"
|
||||
#endif /* FEATURE_WLAN_DIAG_SUPPORT */
|
||||
#include "cds_regdomain_common.h"
|
||||
|
||||
/* When beacon filtering is enabled, firmware will
|
||||
* analyze the selected beacons received during BMPS,
|
||||
* and monitor any changes in the IEs as listed below.
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@
|
|||
#include "lim_session_utils.h"
|
||||
#include "lim_types.h"
|
||||
#include "sir_api.h"
|
||||
#include "cds_regdomain_common.h"
|
||||
#include "cds_regdomain.h"
|
||||
#include "lim_send_messages.h"
|
||||
|
||||
static void lim_handle_join_rsp_status(tpAniSirGlobal mac_ctx,
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@
|
|||
#include "wmm_apsd.h"
|
||||
#include "rrm_api.h"
|
||||
|
||||
#include "cds_regdomain_common.h"
|
||||
#include "cds_regdomain.h"
|
||||
|
||||
/* ////////////////////////////////////////////////////////////////////// */
|
||||
void dot11f_log(tpAniSirGlobal pMac, int loglevel, const char *pString, ...)
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@
|
|||
#include "sap_internal.h"
|
||||
#include "sme_inside.h"
|
||||
#include "cds_ieee80211_common_i.h"
|
||||
#include "cds_regdomain_common.h"
|
||||
#include "cds_regdomain.h"
|
||||
#include "cds_concurrency.h"
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -260,7 +260,7 @@ typedef struct tagCsrStaParams {
|
|||
uint8_t supported_channels_len;
|
||||
uint8_t supported_channels[SIR_MAC_MAX_SUPP_CHANNELS];
|
||||
uint8_t supported_oper_classes_len;
|
||||
uint8_t supported_oper_classes[SIR_MAC_MAX_SUPP_OPER_CLASSES];
|
||||
uint8_t supported_oper_classes[CDS_MAX_SUPP_OPER_CLASSES];
|
||||
} tCsrStaParams;
|
||||
|
||||
typedef struct tagCsrScanRequest {
|
||||
|
|
@ -1477,7 +1477,7 @@ typedef struct tagCsrLinkEstablishParams {
|
|||
uint8_t supportedChannelsLen;
|
||||
uint8_t supportedChannels[SIR_MAC_MAX_SUPP_CHANNELS];
|
||||
uint8_t supportedOperClassesLen;
|
||||
uint8_t supportedOperClasses[SIR_MAC_MAX_SUPP_OPER_CLASSES];
|
||||
uint8_t supportedOperClasses[CDS_MAX_SUPP_OPER_CLASSES];
|
||||
} tCsrTdlsLinkEstablishParams;
|
||||
|
||||
typedef struct tagCsrTdlsSendMgmt {
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@ typedef struct TdlsLinkEstablishInfo {
|
|||
uint8_t supportedChannelsLen;
|
||||
uint8_t supportedChannels[SIR_MAC_MAX_SUPP_CHANNELS];
|
||||
uint8_t supportedOperClassesLen;
|
||||
uint8_t supportedOperClasses[SIR_MAC_MAX_SUPP_OPER_CLASSES];
|
||||
uint8_t supportedOperClasses[CDS_MAX_SUPP_OPER_CLASSES];
|
||||
} tTdlsLinkEstablishCmdInfo;
|
||||
|
||||
typedef struct TdlsAddStaInfo {
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@
|
|||
#ifdef WLAN_FEATURE_NAN
|
||||
#include "nan_api.h"
|
||||
#endif
|
||||
#include "cds_regdomain_common.h"
|
||||
#include "cds_regdomain.h"
|
||||
#include "cfg_api.h"
|
||||
#include "sme_power_save_api.h"
|
||||
#include "wma.h"
|
||||
|
|
|
|||
|
|
@ -49,7 +49,6 @@
|
|||
#include "mac_trace.h"
|
||||
#include "csr_neighbor_roam.h"
|
||||
#include "cds_regdomain.h"
|
||||
#include "cds_regdomain_common.h"
|
||||
#include "cds_utils.h"
|
||||
#include "sir_types.h"
|
||||
#include "cfg_api.h"
|
||||
|
|
@ -18411,7 +18410,7 @@ csr_update_op_class_array(tpAniSirGlobal mac_ctx,
|
|||
ch_name, num_channels);
|
||||
|
||||
for (idx = 0; idx < num_channels
|
||||
&& *i < (SIR_MAC_MAX_SUPP_OPER_CLASSES - 1); idx++) {
|
||||
&& *i < (CDS_MAX_SUPP_OPER_CLASSES - 1); idx++) {
|
||||
for (ch_bandwidth = BW20; ch_bandwidth < BWALL;
|
||||
ch_bandwidth++) {
|
||||
class = cds_regdm_get_opclass_from_channel(
|
||||
|
|
@ -18422,7 +18421,7 @@ csr_update_op_class_array(tpAniSirGlobal mac_ctx,
|
|||
channel_info->channelList[idx], class);
|
||||
|
||||
found = false;
|
||||
for (j = 0; j < SIR_MAC_MAX_SUPP_OPER_CLASSES - 1;
|
||||
for (j = 0; j < CDS_MAX_SUPP_OPER_CLASSES - 1;
|
||||
j++) {
|
||||
if (op_classes[j] == class) {
|
||||
found = true;
|
||||
|
|
@ -18450,7 +18449,7 @@ void csr_init_operating_classes(tHalHandle hHal)
|
|||
uint8_t j = 0;
|
||||
uint8_t swap = 0;
|
||||
uint8_t numClasses = 0;
|
||||
uint8_t opClasses[SIR_MAC_MAX_SUPP_OPER_CLASSES] = {0,};
|
||||
uint8_t opClasses[CDS_MAX_SUPP_OPER_CLASSES] = {0,};
|
||||
tpAniSirGlobal pMac = PMAC_STRUCT(hHal);
|
||||
|
||||
sms_log(pMac, LOG1, FL("Current Country = %c%c"),
|
||||
|
|
|
|||
Loading…
Reference in a new issue