|
@@ -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);
|