1 /* 2 * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved. 3 * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. 4 * 5 * 6 * Permission to use, copy, modify, and/or distribute this software for 7 * any purpose with or without fee is hereby granted, provided that the 8 * above copyright notice and this permission notice appear in all 9 * copies. 10 * 11 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 12 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 13 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 14 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 15 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 16 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 17 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 18 * PERFORMANCE OF THIS SOFTWARE. 19 */ 20 21 /** 22 * DOC: reg_db.c 23 * This file implements QCA regulatory database. 24 * Current implementation conforms to database version 38. 25 */ 26 27 #include <qdf_types.h> 28 #include <qdf_trace.h> 29 #include <wlan_cmn.h> 30 #include <reg_services_public_struct.h> 31 #include "reg_db.h" 32 33 enum country_code { 34 CTRY_AFGHANISTAN = 4, 35 CTRY_ALAND_ISLANDS = 248, 36 CTRY_ALBANIA = 8, 37 CTRY_ALGERIA = 12, 38 CTRY_AMERICAN_SAMOA = 16, 39 CTRY_ANDORRA = 20, 40 CTRY_ANGUILLA = 660, 41 CTRY_ANTIGUA_AND_BARBUDA = 28, 42 CTRY_ARGENTINA = 32, 43 CTRY_ARMENIA = 51, 44 CTRY_MYANMAR = 104, 45 CTRY_ARUBA = 533, 46 CTRY_AUSTRALIA = 36, 47 CTRY_AUSTRIA = 40, 48 CTRY_AZERBAIJAN = 31, 49 CTRY_BAHAMAS = 44, 50 CTRY_BAHRAIN = 48, 51 CTRY_BANGLADESH = 50, 52 CTRY_BARBADOS = 52, 53 CTRY_BELARUS = 112, 54 CTRY_BELGIUM = 56, 55 CTRY_BELIZE = 84, 56 CTRY_BERMUDA = 60, 57 CTRY_BHUTAN = 64, 58 CTRY_BOLIVIA = 68, 59 CTRY_BOSNIA_HERZ = 70, 60 CTRY_BRAZIL = 76, 61 CTRY_BRUNEI_DARUSSALAM = 96, 62 CTRY_BULGARIA = 100, 63 CTRY_BURKINA_FASO = 854, 64 CTRY_CAMBODIA = 116, 65 CTRY_CAMEROON = 120, 66 CTRY_CANADA = 124, 67 CTRY_CAYMAN_ISLANDS = 136, 68 CTRY_CENTRAL_AFRICA_REPUBLIC = 140, 69 CTRY_CHAD = 148, 70 CTRY_CHILE = 152, 71 CTRY_CHINA = 156, 72 CTRY_CHRISTMAS_ISLAND = 162, 73 CTRY_COLOMBIA = 170, 74 CTRY_CONGO = 178, 75 CTRY_CONGO_DEMOCRATIC_REPUBLIC = 180, 76 CTRY_COOK_ISLANDS = 184, 77 CTRY_COSTA_RICA = 188, 78 CTRY_COTE_DIVOIRE = 384, 79 CTRY_CROATIA = 191, 80 CTRY_CURACAO = 531, 81 CTRY_CYPRUS = 196, 82 CTRY_CZECH = 203, 83 CTRY_DENMARK = 208, 84 CTRY_DOMINICA = 212, 85 CTRY_DOMINICAN_REPUBLIC = 214, 86 CTRY_ECUADOR = 218, 87 CTRY_EGYPT = 818, 88 CTRY_EL_SALVADOR = 222, 89 CTRY_ESTONIA = 233, 90 CTRY_ETHIOPIA = 231, 91 CTRY_FALKLAND_ISLANDS = 238, 92 CTRY_FAROE_ISLANDS = 234, 93 CTRY_FINLAND = 246, 94 CTRY_FRANCE = 250, 95 CTRY_FRENCH_GUIANA = 254, 96 CTRY_FRENCH_POLYNESIA = 258, 97 CTRY_FRENCH_SOUTHERN_TERRITORIES = 260, 98 CTRY_GEORGIA = 268, 99 CTRY_GERMANY = 276, 100 CTRY_GHANA = 288, 101 CTRY_GIBRALTAR = 292, 102 CTRY_GREECE = 300, 103 CTRY_GREENLAND = 304, 104 CTRY_GRENADA = 308, 105 CTRY_GUADELOUPE = 312, 106 CTRY_GUAM = 316, 107 CTRY_GUATEMALA = 320, 108 CTRY_GUERNSEY = 831, 109 CTRY_GUYANA = 328, 110 CTRY_HAITI = 332, 111 CTRY_HEARD_ISLAND_AND_MCDONALD_ISLANDS = 334, 112 CTRY_HOLY_SEE = 336, 113 CTRY_HONDURAS = 340, 114 CTRY_HONG_KONG = 344, 115 CTRY_HUNGARY = 348, 116 CTRY_ICELAND = 352, 117 CTRY_INDIA = 356, 118 CTRY_INDONESIA = 360, 119 CTRY_IRAQ = 368, 120 CTRY_IRELAND = 372, 121 CTRY_ISLE_OF_MAN = 833, 122 CTRY_ISRAEL = 376, 123 CTRY_ITALY = 380, 124 CTRY_JAMAICA = 388, 125 CTRY_JAPAN = 392, 126 CTRY_JAPAN15 = 4015, 127 CTRY_JERSEY = 832, 128 CTRY_JORDAN = 400, 129 CTRY_KAZAKHSTAN = 398, 130 CTRY_KENYA = 404, 131 CTRY_KOREA_ROC = 410, 132 CTRY_KUWAIT = 414, 133 CTRY_LATVIA = 428, 134 CTRY_LEBANON = 422, 135 CTRY_LESOTHO = 426, 136 CTRY_LIECHTENSTEIN = 438, 137 CTRY_LITHUANIA = 440, 138 CTRY_LUXEMBOURG = 442, 139 CTRY_MACAU = 446, 140 CTRY_MACEDONIA = 807, 141 CTRY_MALAWI = 454, 142 CTRY_MALAYSIA = 458, 143 CTRY_MALDIVES = 462, 144 CTRY_MALTA = 470, 145 CTRY_MARSHALL_ISLANDS = 584, 146 CTRY_MARTINIQUE = 474, 147 CTRY_MAURITANIA = 478, 148 CTRY_MAURITIUS = 480, 149 CTRY_MAYOTTE = 175, 150 CTRY_MEXICO = 484, 151 CTRY_MICRONESIA = 583, 152 CTRY_MOLDOVA = 498, 153 CTRY_MONACO = 492, 154 CTRY_MONGOLIA = 496, 155 CTRY_MONTENEGRO = 499, 156 CTRY_MONTSERRAT = 500, 157 CTRY_MOROCCO = 504, 158 CTRY_NAMIBIA = 516, 159 CTRY_NEPAL = 524, 160 CTRY_NETHERLANDS = 528, 161 CTRY_NETHERLANDS_ANTILLES = 530, 162 CTRY_NEW_CALEDONIA = 540, 163 CTRY_NEW_ZEALAND = 554, 164 CTRY_NIGERIA = 566, 165 CTRY_NORTHERN_MARIANA_ISLANDS = 580, 166 CTRY_NICARAGUA = 558, 167 CTRY_NIUE = 570, 168 CTRY_NORFOLK_ISLAND = 574, 169 CTRY_NORWAY = 578, 170 CTRY_OMAN = 512, 171 CTRY_PAKISTAN = 586, 172 CTRY_PALAU = 585, 173 CTRY_PANAMA = 591, 174 CTRY_PAPUA_NEW_GUINEA = 598, 175 CTRY_PARAGUAY = 600, 176 CTRY_PERU = 604, 177 CTRY_PHILIPPINES = 608, 178 CTRY_POLAND = 616, 179 CTRY_PORTUGAL = 620, 180 CTRY_PUERTO_RICO = 630, 181 CTRY_QATAR = 634, 182 CTRY_REUNION = 638, 183 CTRY_ROMANIA = 642, 184 CTRY_RUSSIA = 643, 185 CTRY_RWANDA = 646, 186 CTRY_SAINT_BARTHELEMY = 652, 187 CTRY_SAINT_HELENA_ASCENSION_AND_TRISTAN_DA_CUNHA = 654, 188 CTRY_SAINT_KITTS_AND_NEVIS = 659, 189 CTRY_SAINT_LUCIA = 662, 190 CTRY_SAINT_MARTIN = 663, 191 CTRY_SAINT_PIERRE_AND_MIQUELON = 666, 192 CTRY_SAINT_VINCENT_AND_THE_GRENADIENS = 670, 193 CTRY_SAMOA = 882, 194 CTRY_SAN_MARINO = 674, 195 CTRY_SAO_TOME_AND_PRINCIPE = 678, 196 CTRY_SAUDI_ARABIA = 682, 197 CTRY_SENEGAL = 686, 198 CTRY_SERBIA = 688, 199 CTRY_SINGAPORE = 702, 200 CTRY_SINT_MAARTEN = 534, 201 CTRY_SLOVAKIA = 703, 202 CTRY_SLOVENIA = 705, 203 CTRY_SOUTH_AFRICA = 710, 204 CTRY_SPAIN = 724, 205 CTRY_SURINAME = 740, 206 CTRY_SRI_LANKA = 144, 207 CTRY_SVALBARD_AND_JAN_MAYEN = 744, 208 CTRY_SWEDEN = 752, 209 CTRY_SWITZERLAND = 756, 210 CTRY_TAIWAN = 158, 211 CTRY_TANZANIA = 834, 212 CTRY_THAILAND = 764, 213 CTRY_TOGO = 768, 214 CTRY_TRINIDAD_Y_TOBAGO = 780, 215 CTRY_TUNISIA = 788, 216 CTRY_TURKEY = 792, 217 CTRY_TURKS_AND_CAICOS = 796, 218 CTRY_UGANDA = 800, 219 CTRY_UKRAINE = 804, 220 CTRY_UAE = 784, 221 CTRY_UNITED_KINGDOM = 826, 222 CTRY_UNITED_STATES = 840, 223 CTRY_UNITED_STATES_MINOR_OUTLYING_ISLANDS = 581, 224 CTRY_URUGUAY = 858, 225 CTRY_UZBEKISTAN = 860, 226 CTRY_VANUATU = 548, 227 CTRY_VENEZUELA = 862, 228 CTRY_VIET_NAM = 704, 229 CTRY_VIRGIN_ISLANDS = 850, 230 CTRY_VIRGIN_ISLANDS_BRITISH = 92, 231 CTRY_WALLIS_AND_FUTUNA = 876, 232 CTRY_XA = 4100, /* Used by Linux Client for legacy MKK domain */ 233 CTRY_YEMEN = 887, 234 CTRY_ZIMBABWE = 716, 235 }; 236 237 enum reg_domain { 238 NULL1_WORLD = 0x03, 239 240 FCC1_FCCA = 0x10, 241 FCC1_WORLD = 0x11, 242 FCC2_FCCA = 0x20, 243 FCC2_WORLD = 0x21, 244 FCC2_ETSIC = 0x22, 245 FCC3_FCCA = 0x3A, 246 FCC3_WORLD = 0x3B, 247 FCC3_ETSIC = 0x3F, 248 FCC4_FCCA = 0x12, 249 FCC5_FCCA = 0x13, 250 FCC6_WORLD = 0x23, 251 FCC6_FCCA = 0x14, 252 FCC8_FCCA = 0x16, 253 FCC8_WORLD = 0x09, 254 FCC9_FCCA = 0x17, 255 FCC10_FCCA = 0x18, 256 FCC11_WORLD = 0x19, 257 FCC13_WORLD = 0xE4, 258 FCC14_FCCB = 0xE6, 259 FCC14_WORLD = 0xD1, 260 FCC15_FCCA = 0xEA, 261 FCC16_FCCA = 0xE8, 262 FCC17_FCCA = 0xE9, 263 FCC17_WORLD = 0xEB, 264 FCC17_ETSIC = 0xEC, 265 FCC18_ETSIC = 0xED, 266 267 ETSI1_WORLD = 0x37, 268 ETSI3_WORLD = 0x36, 269 ETSI4_WORLD = 0x30, 270 ETSI8_WORLD = 0x3D, 271 ETSI9_WORLD = 0x3E, 272 ETSI10_WORLD = 0x24, 273 ETSI10_FCCA = 0x25, 274 ETSI11_WORLD = 0x26, 275 ETSI12_WORLD = 0x28, 276 ETSI13_WORLD = 0x27, 277 ETSI14_WORLD = 0x29, 278 ETSI15_WORLD = 0x31, 279 ETSI16_WORLD = 0x4A, 280 ETSI17_WORLD = 0x4B, 281 282 APL1_WORLD = 0x52, 283 APL1_ETSIC = 0x55, 284 APL2_WORLD = 0x45, 285 APL2_ETSIC = 0x56, 286 APL2_ETSID = 0x41, 287 APL4_WORLD = 0x42, 288 APL6_WORLD = 0x5B, 289 APL8_WORLD = 0x5D, 290 APL9_WORLD = 0x5E, 291 APL9_MKKC = 0x48, 292 APL9_KRRA = 0x43, 293 APL10_WORLD = 0x5F, 294 APL11_FCCA = 0x4F, 295 APL12_WORLD = 0x51, 296 APL13_WORLD = 0x5A, 297 APL14_WORLD = 0x57, 298 APL14_CHNA = 0x74, 299 APL15_WORLD = 0x59, 300 APL16_WORLD = 0x70, 301 APL16_ETSIC = 0x6D, 302 APL17_ETSIC = 0xE7, 303 APL17_ETSID = 0xE0, 304 APL19_ETSIC = 0x71, 305 APL20_WORLD = 0xE5, 306 APL23_WORLD = 0xE3, 307 APL24_ETSIC = 0xE2, 308 APL25_ETSIC = 0x75, 309 APL26_ETSIC = 0x72, 310 APL27_FCCA = 0x73, 311 312 MKK3_MKKC = 0x82, 313 MKK5_MKKA = 0x99, 314 MKK5_MKKC = 0x88, 315 MKK11_MKKC = 0xD7, 316 MKK16_MKKC = 0xDF, 317 MKK17_MKKC = 0xE1, 318 319 WORLD_60 = 0x60, 320 WORLD_61 = 0x61, 321 WORLD_62 = 0x62, 322 WORLD_63 = 0x63, 323 WORLD_65 = 0x65, 324 WORLD_64 = 0x64, 325 WORLD_66 = 0x66, 326 WORLD_69 = 0x69, 327 WORLD_67 = 0x67, 328 WORLD_68 = 0x68, 329 WORLD_6A = 0x6A, 330 WORLD_6C = 0x6C, 331 }; 332 333 #ifndef CONFIG_REG_CLIENT 334 const struct country_code_to_reg_domain g_all_countries[] = { 335 CE(AFGHANISTAN, ETSI1_WORLD, 0, AF, 40, 160, 0, 0), 336 CE(ALAND_ISLANDS, FCC17_WORLD, 0, AX, 40, 160, 0, 0), 337 CE(ALBANIA, ETSI1_WORLD, 0, AL, 40, 160, 0, 0), 338 CE(ALGERIA, APL13_WORLD, 0, DZ, 40, 160, 0, 0), 339 CE(AMERICAN_SAMOA, FCC3_FCCA, FCC1_6G_01, AS, 40, 160, 320, 0), 340 CE(ANDORRA, ETSI1_WORLD, 0, AD, 40, 160, 0, 0), 341 CE(ANGUILLA, ETSI1_WORLD, 0, AI, 40, 160, 0, 0), 342 CE(ANTIGUA_AND_BARBUDA, FCC17_WORLD, 0, AG, 40, 160, 0, 0), 343 CE(ARGENTINA, APL16_ETSIC, 0, AR, 40, 160, 0, 0), 344 CE(ARMENIA, APL4_WORLD, 0, AM, 40, 160, 0, 0), 345 CE(ARUBA, ETSI1_WORLD, 0, AW, 40, 160, 0, 0), 346 CE(AUSTRALIA, APL25_ETSIC, 0, AU, 40, 160, 0, 0), 347 CE(AUSTRIA, ETSI1_WORLD, 0, AT, 40, 160, 0, 0), 348 CE(AZERBAIJAN, ETSI8_WORLD, 0, AZ, 40, 160, 0, 0), 349 CE(BAHAMAS, FCC17_WORLD, 0, BS, 40, 160, 0, 0), 350 CE(BAHRAIN, APL15_WORLD, 0, BH, 40, 160, 0, 0), 351 CE(BANGLADESH, APL1_WORLD, 0, BD, 40, 160, 0, 0), 352 CE(BARBADOS, FCC2_WORLD, 0, BB, 40, 160, 0, 0), 353 CE(BELARUS, ETSI1_WORLD, 0, BY, 40, 160, 0, 0), 354 CE(BELGIUM, ETSI1_WORLD, ETSI1_6G_02, BE, 40, 160, 320, 0), 355 CE(BELIZE, ETSI8_WORLD, 0, BZ, 40, 160, 0, 0), 356 CE(BERMUDA, FCC17_FCCA, 0, BM, 40, 160, 0, 0), 357 CE(BHUTAN, ETSI1_WORLD, 0, BT, 40, 160, 0, 0), 358 CE(BOLIVIA, FCC17_WORLD, 0, BO, 40, 160, 0, 0), 359 CE(BOSNIA_HERZ, ETSI1_WORLD, 0, BA, 40, 160, 0, 0), 360 CE(BRAZIL, FCC18_ETSIC, FCC1_6G_07, BR, 40, 160, 320, 0), 361 CE(BRUNEI_DARUSSALAM, FCC17_WORLD, 0, BN, 40, 160, 0, 0), 362 CE(BULGARIA, ETSI1_WORLD, 0, BG, 40, 160, 0, 0), 363 CE(BURKINA_FASO, FCC17_WORLD, 0, BF, 40, 160, 0, 0), 364 CE(CAMBODIA, ETSI1_WORLD, 0, KH, 40, 160, 0, 0), 365 CE(CAMEROON, ETSI1_WORLD, 0, CM, 40, 160, 0, 0), 366 CE(CANADA, FCC6_FCCA, FCC2_6G_10, CA, 40, 160, 320, 0), 367 CE(CAYMAN_ISLANDS, FCC17_WORLD, 0, KY, 40, 160, 0, 0), 368 CE(CENTRAL_AFRICA_REPUBLIC, FCC17_WORLD, 0, CF, 40, 40, 0, 0), 369 CE(CHAD, ETSI1_WORLD, 0, TD, 40, 160, 0, 0), 370 CE(CHILE, FCC13_WORLD, APL5_6G_12, CL, 40, 160, 320, 0), 371 CE(CHINA, APL14_WORLD, 0, CN, 40, 160, 0, 0), 372 CE(CHRISTMAS_ISLAND, FCC17_WORLD, 0, CX, 40, 160, 0, 0), 373 CE(COLOMBIA, FCC17_WORLD, 0, CO, 40, 160, 0, 0), 374 CE(CONGO, ETSI12_WORLD, 0, CG, 40, 160, 0, 0), 375 CE(CONGO_DEMOCRATIC_REPUBLIC, ETSI13_WORLD, 0, CD, 40, 160, 0, 0), 376 CE(COOK_ISLANDS, FCC17_WORLD, 0, CK, 40, 160, 0, 0), 377 CE(COSTA_RICA, FCC17_WORLD, APL4_6G_11, CR, 40, 160, 320, 0), 378 CE(COTE_DIVOIRE, FCC17_WORLD, 0, CI, 40, 160, 0, 0), 379 CE(CROATIA, ETSI1_WORLD, 0, HR, 40, 160, 0, 0), 380 CE(CURACAO, APL10_WORLD, 0, CW, 40, 160, 0, 0), 381 CE(CYPRUS, ETSI1_WORLD, 0, CY, 40, 160, 0, 0), 382 CE(CZECH, ETSI1_WORLD, 0, CZ, 40, 160, 0, 0), 383 CE(DENMARK, ETSI1_WORLD, 0, DK, 40, 160, 0, 0), 384 CE(DOMINICA, FCC1_FCCA, 0, DM, 40, 160, 0, 0), 385 CE(DOMINICAN_REPUBLIC, FCC17_FCCA, 0, DO, 40, 160, 0, 0), 386 CE(ECUADOR, FCC17_FCCA, 0, EC, 40, 160, 0, 0), 387 CE(EGYPT, ETSI3_WORLD, 0, EG, 40, 160, 0, 0), 388 CE(EL_SALVADOR, FCC17_WORLD, 0, SV, 40, 160, 0, 0), 389 CE(ESTONIA, ETSI1_WORLD, ETSI1_6G_02, EE, 40, 160, 320, 0), 390 CE(ETHIOPIA, ETSI1_WORLD, 0, ET, 40, 160, 0, 0), 391 CE(FALKLAND_ISLANDS, ETSI1_WORLD, 0, FK, 40, 160, 0, 0), 392 CE(FAROE_ISLANDS, ETSI1_WORLD, 0, FO, 40, 160, 0, 0), 393 CE(FINLAND, ETSI1_WORLD, 0, FI, 40, 160, 0, 0), 394 CE(FRANCE, ETSI1_WORLD, 0, FR, 40, 160, 0, 0), 395 CE(FRENCH_GUIANA, ETSI1_WORLD, 0, GF, 40, 160, 0, 0), 396 CE(FRENCH_POLYNESIA, ETSI1_WORLD, 0, PF, 40, 160, 0, 0), 397 CE(FRENCH_SOUTHERN_TERRITORIES, ETSI1_WORLD, 0, TF, 40, 160, 0, 0), 398 CE(GEORGIA, ETSI1_WORLD, 0, GE, 40, 160, 0, 0), 399 CE(GERMANY, ETSI1_WORLD, ETSI1_6G_02, DE, 40, 160, 320, 0), 400 CE(GHANA, FCC17_WORLD, 0, GH, 40, 160, 0, 0), 401 CE(GIBRALTAR, ETSI1_WORLD, 0, GI, 40, 160, 0, 0), 402 CE(GREECE, ETSI1_WORLD, 0, GR, 40, 160, 0, 0), 403 CE(GREENLAND, ETSI1_WORLD, 0, GL, 40, 160, 0, 0), 404 CE(GRENADA, FCC17_FCCA, 0, GD, 40, 160, 0, 0), 405 CE(GUADELOUPE, ETSI1_WORLD, 0, GP, 40, 160, 0, 0), 406 CE(GUAM, FCC3_FCCA, FCC1_6G_01, GU, 40, 160, 320, 0), 407 CE(GUATEMALA, APL19_ETSIC, APL2_6G_06, GT, 40, 160, 320, 0), 408 CE(GUERNSEY, ETSI1_WORLD, 0, GG, 40, 160, 0, 0), 409 CE(GUYANA, APL1_ETSIC, 0, GY, 40, 160, 0, 0), 410 CE(HAITI, FCC17_FCCA, 0, HT, 40, 160, 0, 0), 411 CE(HEARD_ISLAND_AND_MCDONALD_ISLANDS, FCC6_WORLD, 0, HM, 40, 160, 0, 0), 412 CE(HOLY_SEE, ETSI1_WORLD, 0, VA, 40, 160, 0, 0), 413 CE(HONDURAS, FCC17_WORLD, FCC1_6G_07, HN, 40, 160, 320, 0), 414 CE(HONG_KONG, APL20_WORLD, 0, HK, 40, 160, 0, 0), 415 CE(HUNGARY, ETSI1_WORLD, 0, HU, 40, 160, 0, 0), 416 CE(ICELAND, ETSI1_WORLD, ETSI1_6G_02, IS, 40, 160, 320, 0), 417 CE(INDIA, APL19_ETSIC, 0, IN, 40, 160, 0, 0), 418 CE(INDONESIA, APL2_ETSID, 0, ID, 40, 80, 0, 0), 419 CE(IRAQ, ETSI1_WORLD, 0, IQ, 40, 160, 0, 0), 420 CE(IRELAND, ETSI1_WORLD, 0, IE, 40, 160, 0, 0), 421 CE(ISLE_OF_MAN, ETSI1_WORLD, 0, IM, 40, 160, 0, 0), 422 CE(ISRAEL, ETSI17_WORLD, 0, IL, 40, 160, 0, 0), 423 CE(ITALY, ETSI1_WORLD, 0, IT, 40, 160, 0, 0), 424 CE(JAMAICA, FCC13_WORLD, 0, JM, 40, 160, 0, 0), 425 CE(JAPAN, MKK17_MKKC, 0, JP, 40, 160, 0, 0), 426 CE(JAPAN15, MKK17_MKKC, 0, JP, 40, 160, 0, 0), 427 CE(JERSEY, ETSI1_WORLD, 0, JE, 40, 160, 0, 0), 428 CE(JORDAN, APL4_WORLD, 0, JO, 40, 160, 0, 0), 429 CE(KAZAKHSTAN, MKK5_MKKC, 0, KZ, 40, 160, 0, 0), 430 CE(KENYA, ETSI13_WORLD, 0, KE, 40, 160, 0, 0), 431 CE(KOREA_ROC, APL9_MKKC, APL1_6G_04, KR, 40, 160, 160, 0), 432 CE(KUWAIT, ETSI1_WORLD, 0, KW, 40, 160, 0, 0), 433 CE(LATVIA, ETSI1_WORLD, 0, LV, 40, 160, 0, 0), 434 CE(LEBANON, FCC17_WORLD, 0, LB, 40, 160, 0, 0), 435 CE(LESOTHO, ETSI1_WORLD, 0, LS, 40, 160, 0, 0), 436 CE(LIECHTENSTEIN, ETSI1_WORLD, 0, LI, 40, 160, 0, 0), 437 CE(LITHUANIA, ETSI1_WORLD, 0, LT, 40, 160, 0, 0), 438 CE(LUXEMBOURG, ETSI1_WORLD, 0, LU, 40, 160, 0, 0), 439 CE(MACAU, FCC17_WORLD, 0, MO, 40, 160, 0, 0), 440 CE(MACEDONIA, ETSI1_WORLD, 0, MK, 40, 160, 0, 0), 441 CE(MALAWI, ETSI1_WORLD, 0, MW, 40, 160, 0, 0), 442 CE(MALAYSIA, FCC11_WORLD, 0, MY, 40, 160, 0, 0), 443 CE(MALDIVES, APL6_WORLD, 0, MV, 40, 160, 0, 0), 444 CE(MALTA, ETSI1_WORLD, 0, MT, 40, 160, 0, 0), 445 CE(MARSHALL_ISLANDS, FCC17_FCCA, 0, MH, 40, 160, 0, 0), 446 CE(MARTINIQUE, ETSI1_WORLD, 0, MQ, 40, 160, 0, 0), 447 CE(MAURITANIA, ETSI1_WORLD, 0, MR, 40, 160, 0, 0), 448 CE(MAURITIUS, ETSI1_WORLD, 0, MU, 40, 160, 0, 0), 449 CE(MAYOTTE, ETSI1_WORLD, 0, YT, 40, 160, 0, 0), 450 CE(MEXICO, APL16_ETSIC, 0, MX, 40, 160, 0, 0), 451 CE(MICRONESIA, FCC17_FCCA, 0, FM, 40, 160, 0, 0), 452 CE(MOLDOVA, ETSI1_WORLD, 0, MD, 40, 160, 0, 0), 453 CE(MONACO, ETSI1_WORLD, 0, MC, 40, 160, 0, 0), 454 CE(MONGOLIA, FCC17_WORLD, 0, MN, 40, 160, 0, 0), 455 CE(MONTENEGRO, ETSI1_WORLD, 0, ME, 40, 160, 0, 0), 456 CE(MONTSERRAT, ETSI1_WORLD, 0, MS, 40, 160, 0, 0), 457 CE(MOROCCO, ETSI13_WORLD, 0, MA, 40, 160, 0, 0), 458 CE(MYANMAR, APL1_WORLD, 0, MM, 40, 160, 0, 0), 459 CE(NAMIBIA, APL20_WORLD, 0, NA, 40, 160, 0, 0), 460 CE(NEPAL, APL23_WORLD, 0, NP, 40, 160, 0, 0), 461 CE(NETHERLANDS, ETSI1_WORLD, 0, NL, 40, 160, 0, 0), 462 CE(NETHERLANDS_ANTILLES, ETSI1_WORLD, 0, AN, 40, 160, 0, 0), 463 CE(NEW_CALEDONIA, ETSI1_WORLD, 0, NC, 40, 160, 0, 0), 464 CE(NEW_ZEALAND, APL26_ETSIC, 0, NZ, 40, 160, 0, 0), 465 CE(NIGERIA, APL6_WORLD, 0, NG, 40, 160, 0, 0), 466 CE(NORTHERN_MARIANA_ISLANDS, FCC3_FCCA, FCC1_6G_01, MP, 40, 160, 320, 467 0), 468 CE(NICARAGUA, APL27_FCCA, 0, NI, 40, 160, 0, 0), 469 CE(NIUE, ETSI1_WORLD, 0, NU, 40, 160, 0, 0), 470 CE(NORFOLK_ISLAND, FCC6_WORLD, 0, NF, 40, 160, 0, 0), 471 CE(NORWAY, ETSI1_WORLD, ETSI1_6G_02, NO, 40, 160, 320, 0), 472 CE(OMAN, ETSI1_WORLD, 0, OM, 40, 160, 0, 0), 473 CE(PAKISTAN, APL1_ETSIC, 0, PK, 40, 160, 0, 0), 474 CE(PALAU, FCC17_FCCA, 0, PW, 40, 160, 0, 0), 475 CE(PANAMA, FCC14_FCCB, 0, PA, 40, 160, 0, 0), 476 CE(PAPUA_NEW_GUINEA, FCC17_WORLD, 0, PG, 40, 160, 0, 0), 477 CE(PARAGUAY, FCC17_WORLD, 0, PY, 40, 160, 0, 0), 478 CE(PERU, FCC17_WORLD, FCC1_6G_05, PE, 40, 160, 320, 0), 479 CE(PHILIPPINES, ETSI9_WORLD, 0, PH, 40, 160, 0, 0), 480 CE(POLAND, ETSI1_WORLD, 0, PL, 40, 160, 0, 0), 481 CE(PORTUGAL, ETSI1_WORLD, 0, PT, 40, 160, 0, 0), 482 CE(PUERTO_RICO, FCC3_FCCA, FCC1_6G_01, PR, 40, 160, 320, 0), 483 CE(QATAR, ETSI14_WORLD, 0, QA, 40, 160, 0, 0), 484 CE(REUNION, ETSI1_WORLD, 0, RE, 40, 160, 0, 0), 485 CE(ROMANIA, ETSI1_WORLD, 0, RO, 40, 160, 0, 0), 486 CE(RUSSIA, ETSI8_WORLD, 0, RU, 40, 160, 0, 0), 487 CE(RWANDA, FCC17_WORLD, 0, RW, 40, 160, 0, 0), 488 CE(SAINT_BARTHELEMY, ETSI1_WORLD, 0, BL, 40, 160, 0, 0), 489 CE(SAINT_HELENA_ASCENSION_AND_TRISTAN_DA_CUNHA, ETSI1_WORLD, 0, SH, 490 40, 160, 0, 0), 491 CE(SAINT_KITTS_AND_NEVIS, APL10_WORLD, 0, KN, 40, 160, 0, 0), 492 CE(SAINT_LUCIA, APL10_WORLD, 0, LC, 40, 160, 0, 0), 493 CE(SAINT_MARTIN, ETSI1_WORLD, 0, MF, 40, 160, 0, 0), 494 CE(SAINT_PIERRE_AND_MIQUELON, ETSI1_WORLD, 0, PM, 40, 160, 0, 0), 495 CE(SAINT_VINCENT_AND_THE_GRENADIENS, ETSI1_WORLD, 0, VC, 496 40, 160, 0, 0), 497 CE(SAMOA, ETSI1_WORLD, 0, WS, 40, 40, 0, 0), 498 CE(SAN_MARINO, ETSI1_WORLD, 0, SM, 40, 160, 0, 0), 499 CE(SAO_TOME_AND_PRINCIPE, FCC17_WORLD, 0, ST, 40, 160, 0, 0), 500 CE(SAUDI_ARABIA, ETSI15_WORLD, 0, SA, 40, 160, 0, 0), 501 CE(SENEGAL, FCC13_WORLD, 0, SN, 40, 160, 0, 0), 502 CE(SERBIA, ETSI1_WORLD, 0, RS, 40, 160, 0, 0), 503 CE(SINGAPORE, APL20_WORLD, 0, SG, 40, 160, 0, 0), 504 CE(SINT_MAARTEN, ETSI1_WORLD, 0, SX, 40, 160, 0, 0), 505 CE(SLOVAKIA, ETSI1_WORLD, 0, SK, 40, 160, 0, 0), 506 CE(SLOVENIA, ETSI1_WORLD, 0, SI, 40, 160, 0, 0), 507 CE(SOUTH_AFRICA, ETSI13_WORLD, 0, ZA, 40, 160, 0, 0), 508 CE(SPAIN, ETSI1_WORLD, 0, ES, 40, 160, 0, 0), 509 CE(SURINAME, ETSI1_WORLD, 0, SR, 40, 160, 0, 0), 510 CE(SRI_LANKA, FCC17_ETSIC, 0, LK, 40, 160, 0, 0), 511 CE(SVALBARD_AND_JAN_MAYEN, FCC6_WORLD, 0, SJ, 40, 160, 0, 0), 512 CE(SWEDEN, ETSI1_WORLD, 0, SE, 40, 160, 0, 0), 513 CE(SWITZERLAND, ETSI1_WORLD, 0, CH, 40, 160, 0, 0), 514 CE(TAIWAN, FCC17_FCCA, 0, TW, 40, 160, 0, 0), 515 CE(TANZANIA, ETSI15_WORLD, 0, TZ, 40, 160, 0, 0), 516 CE(THAILAND, APL20_WORLD, 0, TH, 40, 160, 0, 0), 517 CE(TOGO, ETSI1_WORLD, 0, TG, 40, 40, 0, 0), 518 CE(TRINIDAD_Y_TOBAGO, FCC17_WORLD, 0, TT, 40, 160, 0, 0), 519 CE(TUNISIA, ETSI3_WORLD, 0, TN, 40, 160, 0, 0), 520 CE(TURKEY, ETSI1_WORLD, 0, TR, 40, 160, 0, 0), 521 CE(TURKS_AND_CAICOS, FCC17_WORLD, 0, TC, 40, 160, 0, 0), 522 CE(UGANDA, FCC17_WORLD, 0, UG, 40, 160, 0, 0), 523 CE(UKRAINE, ETSI9_WORLD, 0, UA, 40, 160, 0, 0), 524 CE(UAE, ETSI13_WORLD, APL3_6G_08, AE, 40, 160, 320, 0), 525 CE(UNITED_KINGDOM, ETSI1_WORLD, ETSI2_6G_03, GB, 40, 160, 320, 0), 526 CE(UNITED_STATES, FCC8_FCCA, FCC1_6G_01, US, 40, 160, 320, 0), 527 CE(UNITED_STATES_MINOR_OUTLYING_ISLANDS, FCC8_FCCA, FCC1_6G_01, UM, 40, 528 160, 320, 0), 529 CE(URUGUAY, FCC2_WORLD, 0, UY, 40, 160, 0, 0), 530 CE(UZBEKISTAN, ETSI3_WORLD, 0, UZ, 40, 160, 0, 0), 531 CE(VANUATU, FCC17_WORLD, 0, VU, 40, 160, 0, 0), 532 CE(VENEZUELA, FCC2_ETSIC, 0, VE, 40, 160, 0, 0), 533 CE(VIET_NAM, APL20_WORLD, 0, VN, 40, 80, 0, 0), 534 CE(VIRGIN_ISLANDS, FCC3_FCCA, FCC1_6G_01, VI, 40, 160, 320, 0), 535 CE(VIRGIN_ISLANDS_BRITISH, ETSI1_WORLD, 0, VG, 40, 160, 0, 0), 536 CE(WALLIS_AND_FUTUNA, ETSI1_WORLD, 0, WF, 40, 160, 0, 0), 537 CE(YEMEN, ETSI1_WORLD, 0, YE, 40, 160, 0, 0), 538 CE(ZIMBABWE, ETSI1_WORLD, 0, ZW, 40, 160, 0, 0), 539 }; 540 #else 541 #ifdef WLAN_FEATURE_DSRC 542 const struct country_code_to_reg_domain g_all_countries[] = { 543 CE(AFGHANISTAN, ETSI1_WORLD, 0, AF, 40, 160, 0, 0), 544 CE(ALAND_ISLANDS, FCC17_WORLD, 0, AX, 40, 160, 0, 0), 545 CE(ALBANIA, ETSI13_WORLD, 0, AL, 40, 160, 0, 0), 546 CE(ALGERIA, APL13_WORLD, 0, DZ, 40, 160, 0, 0), 547 CE(AMERICAN_SAMOA, FCC3_FCCA, FCC1_6G_01, AS, 40, 160, 320, 0), 548 CE(ANDORRA, ETSI1_WORLD, 0, AD, 40, 160, 0, 0), 549 CE(ANGUILLA, ETSI1_WORLD, 0, AI, 40, 160, 0, 0), 550 CE(ANTIGUA_AND_BARBUDA, ETSI10_WORLD, 0, AG, 40, 160, 0, 0), 551 CE(ARGENTINA, APL17_ETSIC, 0, AR, 40, 160, 0, 0), 552 CE(ARMENIA, APL4_WORLD, 0, AM, 40, 160, 0, 0), 553 CE(ARUBA, ETSI1_WORLD, 0, AW, 40, 160, 0, 0), 554 CE(AUSTRALIA, APL25_ETSIC, 0, AU, 40, 160, 0, 0), 555 CE(AUSTRIA, ETSI10_WORLD, 0, AT, 40, 160, 0, 0), 556 CE(AZERBAIJAN, ETSI8_WORLD, 0, AZ, 40, 160, 0, 0), 557 CE(BAHAMAS, FCC17_WORLD, 0, BS, 40, 160, 0, 0), 558 CE(BAHRAIN, APL15_WORLD, 0, BH, 40, 160, 0, 0), 559 CE(BANGLADESH, APL1_WORLD, 0, BD, 40, 160, 0, 0), 560 CE(BARBADOS, FCC2_WORLD, 0, BB, 40, 160, 0, 0), 561 CE(BELARUS, ETSI1_WORLD, 0, BY, 40, 160, 0, 0), 562 CE(BELGIUM, ETSI10_WORLD, ETSI1_6G_02, BE, 40, 160, 320, 0), 563 CE(BELIZE, ETSI8_WORLD, 0, BZ, 40, 160, 0, 0), 564 CE(BERMUDA, FCC17_FCCA, 0, BM, 40, 160, 0, 0), 565 CE(BHUTAN, ETSI1_WORLD, 0, BT, 40, 160, 0, 0), 566 CE(BOLIVIA, FCC17_WORLD, 0, BO, 40, 160, 0, 0), 567 CE(BOSNIA_HERZ, ETSI13_WORLD, 0, BA, 40, 160, 0, 0), 568 CE(BRAZIL, FCC18_ETSIC, FCC1_6G_07, BR, 40, 160, 320, 0), 569 CE(BRUNEI_DARUSSALAM, FCC17_WORLD, 0, BN, 40, 160, 0, 0), 570 CE(BULGARIA, ETSI10_WORLD, 0, BG, 40, 160, 0, 0), 571 CE(BURKINA_FASO, FCC17_WORLD, 0, BF, 40, 160, 0, 0), 572 CE(CAMBODIA, ETSI1_WORLD, 0, KH, 40, 160, 0, 0), 573 CE(CAMEROON, ETSI1_WORLD, 0, CM, 40, 160, 0, 0), 574 CE(CANADA, FCC3_FCCA, FCC2_6G_10, CA, 40, 160, 320, 0), 575 CE(CAYMAN_ISLANDS, FCC17_WORLD, 0, KY, 40, 160, 0, 0), 576 CE(CENTRAL_AFRICA_REPUBLIC, FCC17_WORLD, 0, CF, 40, 40, 0, 0), 577 CE(CHAD, ETSI1_WORLD, 0, TD, 40, 160, 0, 0), 578 CE(CHILE, FCC13_WORLD, APL5_6G_12, CL, 40, 160, 320, 0), 579 CE(CHINA, APL14_WORLD, 0, CN, 40, 160, 0, 0), 580 CE(CHRISTMAS_ISLAND, FCC17_WORLD, 0, CX, 40, 160, 0, 0), 581 CE(COLOMBIA, FCC17_WORLD, 0, CO, 40, 160, 0, 0), 582 CE(CONGO, ETSI12_WORLD, 0, CG, 40, 160, 0, 0), 583 CE(CONGO_DEMOCRATIC_REPUBLIC, ETSI13_WORLD, 0, CD, 40, 160, 0, 0), 584 CE(COOK_ISLANDS, FCC17_WORLD, 0, CK, 40, 160, 0, 0), 585 CE(COSTA_RICA, FCC17_WORLD, APL4_6G_11, CR, 40, 160, 320, 0), 586 CE(COTE_DIVOIRE, FCC17_WORLD, 0, CI, 40, 160, 0, 0), 587 CE(CROATIA, ETSI10_WORLD, 0, HR, 40, 160, 0, 0), 588 CE(CURACAO, APL10_WORLD, 0, CW, 40, 160, 0, 0), 589 CE(CYPRUS, ETSI10_WORLD, 0, CY, 40, 160, 0, 0), 590 CE(CZECH, ETSI10_WORLD, 0, CZ, 40, 160, 0, 0), 591 CE(DENMARK, ETSI10_WORLD, 0, DK, 40, 160, 0, 0), 592 CE(DOMINICA, FCC2_FCCA, 0, DM, 40, 160, 0, 0), 593 CE(DOMINICAN_REPUBLIC, FCC17_FCCA, 0, DO, 40, 160, 0, 0), 594 CE(ECUADOR, FCC17_FCCA, 0, EC, 40, 160, 0, 0), 595 CE(EGYPT, ETSI3_WORLD, 0, EG, 40, 160, 0, 0), 596 CE(EL_SALVADOR, FCC17_WORLD, 0, SV, 40, 160, 0, 0), 597 CE(ESTONIA, ETSI10_WORLD, ETSI1_6G_02, EE, 40, 160, 320, 0), 598 CE(ETHIOPIA, ETSI1_WORLD, 0, ET, 40, 160, 0, 0), 599 CE(FALKLAND_ISLANDS, ETSI10_WORLD, 0, FK, 40, 160, 0, 0), 600 CE(FAROE_ISLANDS, ETSI10_WORLD, 0, FO, 40, 160, 0, 0), 601 CE(FINLAND, ETSI10_WORLD, 0, FI, 40, 160, 0, 0), 602 CE(FRANCE, ETSI10_WORLD, 0, FR, 40, 160, 0, 0), 603 CE(FRENCH_GUIANA, ETSI10_WORLD, 0, GF, 40, 160, 0, 0), 604 CE(FRENCH_POLYNESIA, ETSI10_WORLD, 0, PF, 40, 160, 0, 0), 605 CE(FRENCH_SOUTHERN_TERRITORIES, ETSI10_WORLD, 0, TF, 40, 160, 0, 0), 606 CE(GEORGIA, ETSI1_WORLD, 0, GE, 40, 160, 0, 0), 607 CE(GERMANY, ETSI10_WORLD, ETSI1_6G_02, DE, 40, 160, 320, 0), 608 CE(GHANA, FCC17_WORLD, 0, GH, 40, 160, 0, 0), 609 CE(GIBRALTAR, ETSI10_WORLD, 0, GI, 40, 160, 0, 0), 610 CE(GREECE, ETSI10_WORLD, 0, GR, 40, 160, 0, 0), 611 CE(GREENLAND, ETSI10_WORLD, 0, GL, 40, 160, 0, 0), 612 CE(GRENADA, FCC17_FCCA, 0, GD, 40, 160, 0, 0), 613 CE(GUADELOUPE, ETSI1_WORLD, 0, GP, 40, 160, 0, 0), 614 CE(GUAM, FCC10_FCCA, FCC1_6G_01, GU, 40, 160, 320, 0), 615 CE(GUATEMALA, APL19_ETSIC, APL2_6G_06, GT, 40, 160, 320, 0), 616 CE(GUERNSEY, ETSI10_WORLD, 0, GG, 40, 160, 0, 0), 617 CE(GUYANA, APL1_ETSIC, 0, GY, 40, 160, 0, 0), 618 CE(HAITI, FCC17_FCCA, 0, HT, 40, 160, 0, 0), 619 CE(HEARD_ISLAND_AND_MCDONALD_ISLANDS, FCC6_WORLD, 0, HM, 40, 160, 0, 0), 620 CE(HOLY_SEE, ETSI10_WORLD, 0, VA, 40, 160, 0, 0), 621 CE(HONDURAS, FCC13_WORLD, FCC1_6G_07, HN, 40, 160, 320, 0), 622 CE(HONG_KONG, APL20_WORLD, 0, HK, 40, 160, 0, 0), 623 CE(HUNGARY, ETSI10_WORLD, 0, HU, 40, 160, 0, 0), 624 CE(ICELAND, ETSI10_WORLD, ETSI1_6G_02, IS, 40, 160, 320, 0), 625 CE(INDIA, APL15_WORLD, 0, IN, 40, 160, 0, 0), 626 CE(INDONESIA, APL2_ETSID, 0, ID, 40, 80, 0, 0), 627 CE(IRAQ, ETSI1_WORLD, 0, IQ, 40, 160, 0, 0), 628 CE(IRELAND, ETSI10_WORLD, 0, IE, 40, 160, 0, 0), 629 CE(ISLE_OF_MAN, ETSI10_WORLD, 0, IM, 40, 160, 0, 0), 630 CE(ISRAEL, ETSI3_WORLD, 0, IL, 40, 160, 0, 0), 631 CE(ITALY, ETSI10_WORLD, 0, IT, 40, 160, 0, 0), 632 CE(JAMAICA, FCC13_WORLD, 0, JM, 40, 160, 0, 0), 633 CE(JAPAN, MKK17_MKKC, 0, JP, 40, 160, 0, 0), 634 CE(JAPAN15, MKK5_MKKC, 0, JP, 40, 160, 0, 0), 635 CE(XA, MKK5_MKKA, 0, XA, 40, 160, 0, 0), 636 CE(JERSEY, ETSI10_WORLD, 0, JE, 40, 160, 0, 0), 637 CE(JORDAN, APL4_WORLD, 0, JO, 40, 160, 0, 0), 638 CE(KAZAKHSTAN, MKK5_MKKC, 0, KZ, 40, 160, 0, 0), 639 CE(KENYA, ETSI13_WORLD, 0, KE, 40, 160, 0, 0), 640 CE(KOREA_ROC, APL9_MKKC, APL1_6G_04, KR, 40, 160, 160, 0), 641 CE(KUWAIT, ETSI13_WORLD, 0, KW, 40, 160, 0, 0), 642 CE(LATVIA, ETSI10_WORLD, 0, LV, 40, 160, 0, 0), 643 CE(LEBANON, FCC17_WORLD, 0, LB, 40, 160, 0, 0), 644 CE(LESOTHO, ETSI1_WORLD, 0, LS, 40, 160, 0, 0), 645 CE(LIECHTENSTEIN, ETSI10_WORLD, 0, LI, 40, 160, 0, 0), 646 CE(LITHUANIA, ETSI10_WORLD, 0, LT, 40, 160, 0, 0), 647 CE(LUXEMBOURG, ETSI10_WORLD, 0, LU, 40, 160, 0, 0), 648 CE(MACAU, FCC17_WORLD, 0, MO, 40, 160, 0, 0), 649 CE(MACEDONIA, ETSI13_WORLD, 0, MK, 40, 160, 0, 0), 650 CE(MALAWI, ETSI1_WORLD, 0, MW, 40, 160, 0, 0), 651 CE(MALAYSIA, FCC11_WORLD, 0, MY, 40, 160, 0, 0), 652 CE(MALDIVES, APL6_WORLD, 0, MV, 40, 160, 0, 0), 653 CE(MALTA, ETSI10_WORLD, 0, MT, 40, 160, 0, 0), 654 CE(MARSHALL_ISLANDS, FCC17_FCCA, 0, MH, 40, 160, 0, 0), 655 CE(MARTINIQUE, ETSI10_WORLD, 0, MQ, 40, 160, 0, 0), 656 CE(MAURITANIA, ETSI1_WORLD, 0, MR, 40, 160, 0, 0), 657 CE(MAURITIUS, ETSI13_WORLD, 0, MU, 40, 160, 0, 0), 658 CE(MAYOTTE, ETSI1_WORLD, 0, YT, 40, 160, 0, 0), 659 CE(MEXICO, APL16_ETSIC, 0, MX, 40, 160, 0, 0), 660 CE(MICRONESIA, FCC17_FCCA, 0, FM, 40, 160, 0, 0), 661 CE(MOLDOVA, ETSI13_WORLD, 0, MD, 40, 160, 0, 0), 662 CE(MONACO, ETSI10_WORLD, 0, MC, 40, 160, 0, 0), 663 CE(MONGOLIA, FCC17_WORLD, 0, MN, 40, 160, 0, 0), 664 CE(MONTENEGRO, ETSI10_WORLD, 0, ME, 40, 160, 0, 0), 665 CE(MONTSERRAT, ETSI10_WORLD, 0, MS, 40, 160, 0, 0), 666 CE(MOROCCO, ETSI13_WORLD, 0, MA, 40, 160, 0, 0), 667 CE(MYANMAR, APL1_WORLD, 0, MM, 40, 160, 0, 0), 668 CE(NAMIBIA, APL20_WORLD, 0, NA, 40, 160, 0, 0), 669 CE(NEPAL, APL23_WORLD, 0, NP, 40, 160, 0, 0), 670 CE(NETHERLANDS, ETSI10_WORLD, 0, NL, 40, 160, 0, 0), 671 CE(NETHERLANDS_ANTILLES, ETSI10_WORLD, 0, AN, 40, 160, 0, 0), 672 CE(NEW_CALEDONIA, ETSI10_WORLD, 0, NC, 40, 160, 0, 0), 673 CE(NEW_ZEALAND, APL26_ETSIC, 0, NZ, 40, 160, 0, 0), 674 CE(NIGERIA, APL6_WORLD, 0, NG, 40, 160, 0, 0), 675 CE(NORTHERN_MARIANA_ISLANDS, FCC10_FCCA, FCC1_6G_01, MP, 40, 160, 320, 676 0), 677 CE(NICARAGUA, APL27_FCCA, 0, NI, 40, 160, 0, 0), 678 CE(NIUE, ETSI10_WORLD, 0, NU, 40, 160, 0, 0), 679 CE(NORFOLK_ISLAND, FCC6_WORLD, 0, NF, 40, 160, 0, 0), 680 CE(NORWAY, ETSI10_WORLD, ETSI1_6G_02, NO, 40, 160, 320, 0), 681 CE(OMAN, ETSI1_WORLD, 0, OM, 40, 160, 0, 0), 682 CE(PAKISTAN, APL1_ETSIC, 0, PK, 40, 160, 0, 0), 683 CE(PALAU, FCC17_FCCA, 0, PW, 40, 160, 0, 0), 684 CE(PANAMA, FCC14_FCCB, 0, PA, 40, 160, 0, 0), 685 CE(PAPUA_NEW_GUINEA, FCC17_WORLD, 0, PG, 40, 160, 0, 0), 686 CE(PARAGUAY, FCC17_WORLD, 0, PY, 40, 160, 0, 0), 687 CE(PERU, FCC17_WORLD, FCC1_6G_05, PE, 40, 160, 320, 0), 688 CE(PHILIPPINES, ETSI9_WORLD, 0, PH, 40, 160, 0, 0), 689 CE(POLAND, ETSI10_WORLD, 0, PL, 40, 160, 0, 0), 690 CE(PORTUGAL, ETSI10_WORLD, 0, PT, 40, 160, 0, 0), 691 CE(PUERTO_RICO, FCC10_FCCA, FCC1_6G_01, PR, 40, 160, 320, 0), 692 CE(QATAR, ETSI14_WORLD, 0, QA, 40, 160, 0, 0), 693 CE(REUNION, ETSI1_WORLD, 0, RE, 40, 160, 0, 0), 694 CE(ROMANIA, ETSI10_WORLD, 0, RO, 40, 160, 0, 0), 695 CE(RUSSIA, ETSI8_WORLD, 0, RU, 40, 160, 0, 0), 696 CE(RWANDA, FCC17_WORLD, 0, RW, 40, 160, 0, 0), 697 CE(SAINT_BARTHELEMY, ETSI1_WORLD, 0, BL, 40, 160, 0, 0), 698 CE(SAINT_HELENA_ASCENSION_AND_TRISTAN_DA_CUNHA, ETSI10_WORLD, 0, SH, 40, 699 160, 0, 0), 700 CE(SAINT_KITTS_AND_NEVIS, APL10_WORLD, 0, KN, 40, 160, 0, 0), 701 CE(SAINT_LUCIA, APL10_WORLD, 0, LC, 40, 160, 0, 0), 702 CE(SAINT_MARTIN, ETSI1_WORLD, 0, MF, 40, 160, 0, 0), 703 CE(SAINT_PIERRE_AND_MIQUELON, ETSI13_WORLD, 0, PM, 40, 160, 0, 0), 704 CE(SAINT_VINCENT_AND_THE_GRENADIENS, ETSI13_WORLD, 0, VC, 705 40, 160, 0, 0), 706 CE(SAMOA, ETSI1_WORLD, 0, WS, 40, 40, 0, 0), 707 CE(SAN_MARINO, ETSI1_WORLD, 0, SM, 40, 160, 0, 0), 708 CE(SAO_TOME_AND_PRINCIPE, FCC17_WORLD, 0, ST, 40, 160, 0, 0), 709 CE(SAUDI_ARABIA, ETSI15_WORLD, 0, SA, 40, 160, 0, 0), 710 CE(SENEGAL, FCC13_WORLD, 0, SN, 40, 160, 0, 0), 711 CE(SERBIA, ETSI13_WORLD, 0, RS, 40, 160, 0, 0), 712 CE(SINGAPORE, APL20_WORLD, 0, SG, 40, 160, 0, 0), 713 CE(SINT_MAARTEN, ETSI10_WORLD, 0, SX, 40, 160, 0, 0), 714 CE(SLOVAKIA, ETSI10_WORLD, 0, SK, 40, 160, 0, 0), 715 CE(SLOVENIA, ETSI10_WORLD, 0, SI, 40, 160, 0, 0), 716 CE(SOUTH_AFRICA, ETSI13_WORLD, 0, ZA, 40, 160, 0, 0), 717 CE(SPAIN, ETSI10_WORLD, 0, ES, 40, 160, 0, 0), 718 CE(SURINAME, ETSI1_WORLD, 0, SR, 40, 160, 0, 0), 719 CE(SRI_LANKA, FCC17_ETSIC, 0, LK, 40, 160, 0, 0), 720 CE(SVALBARD_AND_JAN_MAYEN, FCC6_WORLD, 0, SJ, 40, 160, 0, 0), 721 CE(SWEDEN, ETSI10_WORLD, 0, SE, 40, 160, 0, 0), 722 CE(SWITZERLAND, ETSI10_WORLD, 0, CH, 40, 160, 0, 0), 723 CE(TAIWAN, FCC17_FCCA, 0, TW, 40, 160, 0, 0), 724 CE(TANZANIA, APL1_WORLD, 0, TZ, 40, 160, 0, 0), 725 CE(THAILAND, APL20_WORLD, 0, TH, 40, 160, 0, 0), 726 CE(TOGO, ETSI1_WORLD, 0, TG, 40, 40, 0, 0), 727 CE(TRINIDAD_Y_TOBAGO, FCC17_WORLD, 0, TT, 40, 160, 0, 0), 728 CE(TUNISIA, ETSI3_WORLD, 0, TN, 40, 160, 0, 0), 729 CE(TURKEY, ETSI13_WORLD, 0, TR, 40, 160, 0, 0), 730 CE(TURKS_AND_CAICOS, FCC17_WORLD, 0, TC, 40, 160, 0, 0), 731 CE(UGANDA, FCC17_WORLD, 0, UG, 40, 160, 0, 0), 732 CE(UKRAINE, ETSI9_WORLD, 0, UA, 40, 160, 0, 0), 733 CE(UAE, FCC17_WORLD, APL3_6G_08, AE, 40, 160, 320, 0), 734 CE(UNITED_KINGDOM, ETSI10_WORLD, ETSI2_6G_03, GB, 40, 160, 320, 0), 735 CE(UNITED_STATES, FCC8_FCCA, FCC1_6G_01, US, 40, 160, 320, 0), 736 CE(UNITED_STATES_MINOR_OUTLYING_ISLANDS, FCC10_FCCA, FCC1_6G_01, UM, 737 40, 160, 320, 0), 738 CE(URUGUAY, FCC2_WORLD, 0, UY, 40, 160, 0, 0), 739 CE(UZBEKISTAN, ETSI3_WORLD, 0, UZ, 40, 160, 0, 0), 740 CE(VANUATU, FCC17_WORLD, 0, VU, 40, 160, 0, 0), 741 CE(VENEZUELA, FCC2_ETSIC, 0, VE, 40, 160, 0, 0), 742 CE(VIET_NAM, APL20_WORLD, 0, VN, 40, 160, 0, 0), 743 CE(VIRGIN_ISLANDS, FCC10_FCCA, FCC1_6G_01, VI, 40, 160, 320, 0), 744 CE(VIRGIN_ISLANDS_BRITISH, ETSI10_WORLD, 0, VG, 40, 160, 0, 0), 745 CE(WALLIS_AND_FUTUNA, ETSI1_WORLD, 0, WF, 40, 160, 0, 0), 746 CE(YEMEN, ETSI1_WORLD, 0, YE, 40, 160, 0, 0), 747 CE(ZIMBABWE, ETSI1_WORLD, 0, ZW, 40, 160, 0, 0), 748 }; 749 #else 750 const struct country_code_to_reg_domain g_all_countries[] = { 751 CE(AFGHANISTAN, ETSI1_WORLD, 0, AF, 40, 160, 0, 0), 752 CE(ALAND_ISLANDS, FCC17_WORLD, 0, AX, 40, 160, 0, 0), 753 CE(ALBANIA, ETSI13_WORLD, 0, AL, 40, 160, 0, 0), 754 CE(ALGERIA, APL13_WORLD, 0, DZ, 40, 160, 0, 0), 755 CE(AMERICAN_SAMOA, FCC3_FCCA, FCC1_6G_01, AS, 40, 160, 320, 0), 756 CE(ANDORRA, ETSI13_WORLD, 0, AD, 40, 160, 0, 0), 757 CE(ANGUILLA, ETSI1_WORLD, 0, AI, 40, 160, 0, 0), 758 CE(ANTIGUA_AND_BARBUDA, FCC17_WORLD, 0, AG, 40, 160, 0, 0), 759 CE(ARGENTINA, APL17_ETSIC, 0, AR, 40, 160, 0, 0), 760 CE(ARMENIA, APL4_WORLD, 0, AM, 40, 160, 0, 0), 761 CE(ARUBA, ETSI1_WORLD, 0, AW, 40, 160, 0, 0), 762 CE(AUSTRALIA, APL25_ETSIC, 0, AU, 40, 160, 0, 0), 763 CE(AUSTRIA, ETSI13_WORLD, 0, AT, 40, 160, 0, 0), 764 CE(AZERBAIJAN, ETSI8_WORLD, 0, AZ, 40, 160, 0, 0), 765 CE(BAHAMAS, FCC17_WORLD, 0, BS, 40, 160, 0, 0), 766 CE(BAHRAIN, APL15_WORLD, 0, BH, 40, 160, 0, 0), 767 CE(BANGLADESH, APL1_WORLD, 0, BD, 40, 160, 0, 0), 768 CE(BARBADOS, FCC2_WORLD, 0, BB, 40, 160, 0, 0), 769 CE(BELARUS, ETSI1_WORLD, 0, BY, 40, 160, 0, 0), 770 CE(BELGIUM, ETSI13_WORLD, ETSI1_6G_02, BE, 40, 160, 320, 0), 771 CE(BELIZE, ETSI8_WORLD, 0, BZ, 40, 160, 0, 0), 772 CE(BERMUDA, FCC17_FCCA, 0, BM, 40, 160, 0, 0), 773 CE(BHUTAN, ETSI1_WORLD, 0, BT, 40, 160, 0, 0), 774 CE(BOLIVIA, FCC17_WORLD, 0, BO, 40, 160, 0, 0), 775 CE(BOSNIA_HERZ, ETSI13_WORLD, 0, BA, 40, 160, 0, 0), 776 CE(BRAZIL, FCC18_ETSIC, FCC1_6G_07, BR, 40, 160, 320, 0), 777 CE(BRUNEI_DARUSSALAM, FCC17_WORLD, 0, BN, 40, 160, 0, 0), 778 CE(BULGARIA, ETSI13_WORLD, 0, BG, 40, 160, 0, 0), 779 CE(BURKINA_FASO, FCC17_WORLD, 0, BF, 40, 160, 0, 0), 780 CE(CAMBODIA, ETSI1_WORLD, 0, KH, 40, 160, 0, 0), 781 CE(CAMEROON, ETSI1_WORLD, 0, CM, 40, 160, 0, 0), 782 CE(CANADA, FCC6_FCCA, FCC2_6G_10, CA, 40, 160, 320, 0), 783 CE(CAYMAN_ISLANDS, FCC17_WORLD, 0, KY, 40, 160, 0, 0), 784 CE(CENTRAL_AFRICA_REPUBLIC, FCC17_WORLD, 0, CF, 40, 40, 0, 0), 785 CE(CHAD, ETSI1_WORLD, 0, TD, 40, 160, 0, 0), 786 CE(CHILE, FCC13_WORLD, APL5_6G_12, CL, 40, 160, 320, 0), 787 CE(CHINA, APL14_WORLD, 0, CN, 40, 160, 0, 0), 788 CE(CHRISTMAS_ISLAND, FCC17_WORLD, 0, CX, 40, 160, 0, 0), 789 CE(COLOMBIA, FCC17_WORLD, 0, CO, 40, 160, 0, 0), 790 CE(CONGO, ETSI12_WORLD, 0, CG, 40, 160, 0, 0), 791 CE(CONGO_DEMOCRATIC_REPUBLIC, ETSI13_WORLD, 0, CD, 40, 160, 0, 0), 792 CE(COOK_ISLANDS, FCC17_WORLD, 0, CK, 40, 160, 0, 0), 793 CE(COSTA_RICA, FCC17_WORLD, APL4_6G_11, CR, 40, 160, 320, 0), 794 CE(COTE_DIVOIRE, FCC17_WORLD, 0, CI, 40, 160, 0, 0), 795 CE(CROATIA, ETSI13_WORLD, 0, HR, 40, 160, 0, 0), 796 CE(CURACAO, APL10_WORLD, 0, CW, 40, 160, 0, 0), 797 CE(CYPRUS, ETSI13_WORLD, 0, CY, 40, 160, 0, 0), 798 CE(CZECH, ETSI13_WORLD, 0, CZ, 40, 160, 0, 0), 799 CE(DENMARK, ETSI13_WORLD, 0, DK, 40, 160, 0, 0), 800 CE(DOMINICA, FCC2_FCCA, 0, DM, 40, 160, 0, 0), 801 CE(DOMINICAN_REPUBLIC, FCC17_FCCA, 0, DO, 40, 160, 0, 0), 802 CE(ECUADOR, FCC17_FCCA, 0, EC, 40, 160, 0, 0), 803 CE(EGYPT, ETSI3_WORLD, 0, EG, 40, 160, 0, 0), 804 CE(EL_SALVADOR, FCC17_WORLD, 0, SV, 40, 160, 0, 0), 805 CE(ESTONIA, ETSI13_WORLD, ETSI1_6G_02, EE, 40, 160, 320, 0), 806 CE(ETHIOPIA, ETSI1_WORLD, 0, ET, 40, 160, 0, 0), 807 CE(FALKLAND_ISLANDS, ETSI13_WORLD, 0, FK, 40, 160, 0, 0), 808 CE(FAROE_ISLANDS, ETSI13_WORLD, 0, FO, 40, 160, 0, 0), 809 CE(FINLAND, ETSI13_WORLD, 0, FI, 40, 160, 0, 0), 810 CE(FRANCE, ETSI13_WORLD, 0, FR, 40, 160, 0, 0), 811 CE(FRENCH_GUIANA, ETSI13_WORLD, 0, GF, 40, 160, 0, 0), 812 CE(FRENCH_POLYNESIA, ETSI13_WORLD, 0, PF, 40, 160, 0, 0), 813 CE(FRENCH_SOUTHERN_TERRITORIES, ETSI13_WORLD, 0, TF, 40, 160, 0, 0), 814 CE(GEORGIA, ETSI1_WORLD, 0, GE, 40, 160, 0, 0), 815 CE(GERMANY, ETSI13_WORLD, ETSI1_6G_02, DE, 40, 160, 320, 0), 816 CE(GHANA, FCC17_WORLD, 0, GH, 40, 160, 0, 0), 817 CE(GIBRALTAR, ETSI1_WORLD, 0, GI, 40, 160, 0, 0), 818 CE(GREECE, ETSI13_WORLD, 0, GR, 40, 160, 0, 0), 819 CE(GREENLAND, ETSI1_WORLD, 0, GL, 40, 160, 0, 0), 820 CE(GRENADA, FCC17_FCCA, 0, GD, 40, 160, 0, 0), 821 CE(GUADELOUPE, ETSI1_WORLD, 0, GP, 40, 160, 0, 0), 822 CE(GUAM, FCC3_FCCA, FCC1_6G_01, GU, 40, 160, 320, 0), 823 CE(GUATEMALA, APL19_ETSIC, APL2_6G_06, GT, 40, 160, 320, 0), 824 CE(GUERNSEY, ETSI13_WORLD, 0, GG, 40, 160, 0, 0), 825 CE(GUYANA, APL1_ETSIC, 0, GY, 40, 160, 0, 0), 826 CE(HAITI, FCC17_FCCA, 0, HT, 40, 160, 0, 0), 827 CE(HEARD_ISLAND_AND_MCDONALD_ISLANDS, FCC6_WORLD, 0, HM, 40, 160, 0, 0), 828 CE(HOLY_SEE, ETSI13_WORLD, 0, VA, 40, 160, 0, 0), 829 CE(HONDURAS, FCC13_WORLD, FCC1_6G_07, HN, 40, 160, 320, 0), 830 CE(HONG_KONG, APL20_WORLD, 0, HK, 40, 160, 0, 0), 831 CE(HUNGARY, ETSI13_WORLD, 0, HU, 40, 160, 0, 0), 832 CE(ICELAND, ETSI13_WORLD, ETSI1_6G_02, IS, 40, 160, 320, 0), 833 CE(INDIA, APL19_ETSIC, 0, IN, 40, 160, 0, 0), 834 CE(INDONESIA, APL2_ETSID, 0, ID, 40, 80, 0, 0), 835 CE(IRAQ, ETSI1_WORLD, 0, IQ, 40, 160, 0, 0), 836 CE(IRELAND, ETSI13_WORLD, 0, IE, 40, 160, 0, 0), 837 CE(ISLE_OF_MAN, ETSI13_WORLD, 0, IM, 40, 160, 0, 0), 838 CE(ISRAEL, ETSI17_WORLD, 0, IL, 40, 160, 0, 0), 839 CE(ITALY, ETSI13_WORLD, 0, IT, 40, 160, 0, 0), 840 CE(JAMAICA, FCC13_WORLD, 0, JM, 40, 160, 0, 0), 841 CE(JAPAN, MKK17_MKKC, 0, JP, 40, 160, 0, 0), 842 CE(JAPAN15, MKK5_MKKC, 0, JP, 40, 160, 0, 0), 843 CE(XA, MKK5_MKKA, 0, XA, 40, 160, 0, 0), 844 CE(JERSEY, ETSI13_WORLD, 0, JE, 40, 160, 0, 0), 845 CE(JORDAN, APL4_WORLD, 0, JO, 40, 160, 0, 0), 846 CE(KAZAKHSTAN, MKK5_MKKC, 0, KZ, 40, 160, 0, 0), 847 CE(KENYA, ETSI13_WORLD, 0, KE, 40, 160, 0, 0), 848 CE(KOREA_ROC, APL9_MKKC, APL1_6G_04, KR, 40, 160, 160, 0), 849 CE(KUWAIT, ETSI13_WORLD, 0, KW, 40, 160, 0, 0), 850 CE(LATVIA, ETSI13_WORLD, 0, LV, 40, 160, 0, 0), 851 CE(LEBANON, FCC17_WORLD, 0, LB, 40, 160, 0, 0), 852 CE(LESOTHO, ETSI1_WORLD, 0, LS, 40, 160, 0, 0), 853 CE(LIECHTENSTEIN, ETSI13_WORLD, 0, LI, 40, 160, 0, 0), 854 CE(LITHUANIA, ETSI13_WORLD, 0, LT, 40, 160, 0, 0), 855 CE(LUXEMBOURG, ETSI13_WORLD, 0, LU, 40, 160, 0, 0), 856 CE(MACAU, FCC17_WORLD, 0, MO, 40, 160, 0, 0), 857 CE(MACEDONIA, ETSI13_WORLD, 0, MK, 40, 160, 0, 0), 858 CE(MALAWI, ETSI1_WORLD, 0, MW, 40, 160, 0, 0), 859 CE(MALAYSIA, FCC11_WORLD, 0, MY, 40, 160, 0, 0), 860 CE(MALDIVES, APL6_WORLD, 0, MV, 40, 160, 0, 0), 861 CE(MALTA, ETSI13_WORLD, 0, MT, 40, 160, 0, 0), 862 CE(MARSHALL_ISLANDS, FCC17_FCCA, 0, MH, 40, 160, 0, 0), 863 CE(MARTINIQUE, ETSI13_WORLD, 0, MQ, 40, 160, 0, 0), 864 CE(MAURITANIA, ETSI1_WORLD, 0, MR, 40, 160, 0, 0), 865 CE(MAURITIUS, ETSI13_WORLD, 0, MU, 40, 160, 0, 0), 866 CE(MAYOTTE, ETSI1_WORLD, 0, YT, 40, 160, 0, 0), 867 CE(MEXICO, APL16_ETSIC, 0, MX, 40, 160, 0, 0), 868 CE(MICRONESIA, FCC17_FCCA, 0, FM, 40, 160, 0, 0), 869 CE(MOLDOVA, ETSI13_WORLD, 0, MD, 40, 160, 0, 0), 870 CE(MONACO, ETSI13_WORLD, 0, MC, 40, 160, 0, 0), 871 CE(MONGOLIA, FCC17_WORLD, 0, MN, 40, 160, 0, 0), 872 CE(MONTENEGRO, ETSI13_WORLD, 0, ME, 40, 160, 0, 0), 873 CE(MONTSERRAT, ETSI13_WORLD, 0, MS, 40, 160, 0, 0), 874 CE(MOROCCO, ETSI13_WORLD, 0, MA, 40, 160, 0, 0), 875 CE(MYANMAR, APL1_WORLD, 0, MM, 40, 160, 0, 0), 876 CE(NAMIBIA, APL20_WORLD, 0, NA, 40, 160, 0, 0), 877 CE(NEPAL, APL23_WORLD, 0, NP, 40, 160, 0, 0), 878 CE(NETHERLANDS, ETSI13_WORLD, 0, NL, 40, 160, 0, 0), 879 CE(NETHERLANDS_ANTILLES, ETSI13_WORLD, 0, AN, 40, 160, 0, 0), 880 CE(NEW_CALEDONIA, ETSI13_WORLD, 0, NC, 40, 160, 0, 0), 881 CE(NEW_ZEALAND, APL26_ETSIC, 0, NZ, 40, 160, 0, 0), 882 CE(NIGERIA, APL6_WORLD, 0, NG, 40, 160, 0, 0), 883 CE(NORTHERN_MARIANA_ISLANDS, FCC3_FCCA, FCC1_6G_01, MP, 40, 160, 320, 884 0), 885 CE(NICARAGUA, APL27_FCCA, 0, NI, 40, 160, 0, 0), 886 CE(NIUE, ETSI13_WORLD, 0, NU, 40, 160, 0, 0), 887 CE(NORFOLK_ISLAND, FCC6_WORLD, 0, NF, 40, 160, 0, 0), 888 CE(NORWAY, ETSI13_WORLD, ETSI1_6G_02, NO, 40, 160, 320, 0), 889 CE(OMAN, ETSI1_WORLD, 0, OM, 40, 160, 0, 0), 890 CE(PAKISTAN, APL1_ETSIC, 0, PK, 40, 160, 0, 0), 891 CE(PALAU, FCC17_FCCA, 0, PW, 40, 160, 0, 0), 892 CE(PANAMA, FCC14_FCCB, 0, PA, 40, 160, 0, 0), 893 CE(PAPUA_NEW_GUINEA, FCC17_WORLD, 0, PG, 40, 160, 0, 0), 894 CE(PARAGUAY, FCC17_WORLD, 0, PY, 40, 160, 0, 0), 895 CE(PERU, FCC17_WORLD, FCC1_6G_05, PE, 40, 160, 320, 0), 896 CE(PHILIPPINES, ETSI9_WORLD, 0, PH, 40, 160, 0, 0), 897 CE(POLAND, ETSI13_WORLD, 0, PL, 40, 160, 0, 0), 898 CE(PORTUGAL, ETSI13_WORLD, 0, PT, 40, 160, 0, 0), 899 CE(PUERTO_RICO, FCC3_FCCA, FCC1_6G_01, PR, 40, 160, 320, 0), 900 CE(QATAR, ETSI14_WORLD, 0, QA, 40, 160, 0, 0), 901 CE(REUNION, ETSI1_WORLD, 0, RE, 40, 160, 0, 0), 902 CE(ROMANIA, ETSI13_WORLD, 0, RO, 40, 160, 0, 0), 903 CE(RUSSIA, ETSI8_WORLD, 0, RU, 40, 160, 0, 0), 904 CE(RWANDA, FCC17_WORLD, 0, RW, 40, 160, 0, 0), 905 CE(SAINT_BARTHELEMY, ETSI1_WORLD, 0, BL, 40, 160, 0, 0), 906 CE(SAINT_HELENA_ASCENSION_AND_TRISTAN_DA_CUNHA, ETSI13_WORLD, 0, SH, 907 40, 160, 0, 0), 908 CE(SAINT_KITTS_AND_NEVIS, APL10_WORLD, 0, KN, 40, 160, 0, 0), 909 CE(SAINT_LUCIA, APL10_WORLD, 0, LC, 40, 160, 0, 0), 910 CE(SAINT_MARTIN, ETSI1_WORLD, 0, MF, 40, 160, 0, 0), 911 CE(SAINT_PIERRE_AND_MIQUELON, ETSI13_WORLD, 0, PM, 40, 160, 0, 0), 912 CE(SAINT_VINCENT_AND_THE_GRENADIENS, ETSI13_WORLD, 0, VC, 913 40, 160, 0, 0), 914 CE(SAMOA, ETSI1_WORLD, 0, WS, 40, 40, 0, 0), 915 CE(SAN_MARINO, ETSI13_WORLD, 0, SM, 40, 160, 0, 0), 916 CE(SAO_TOME_AND_PRINCIPE, FCC17_WORLD, 0, ST, 40, 160, 0, 0), 917 CE(SAUDI_ARABIA, ETSI15_WORLD, 0, SA, 40, 160, 0, 0), 918 CE(SENEGAL, FCC13_WORLD, 0, SN, 40, 160, 0, 0), 919 CE(SERBIA, ETSI13_WORLD, 0, RS, 40, 160, 0, 0), 920 CE(SINGAPORE, APL20_WORLD, 0, SG, 40, 160, 0, 0), 921 CE(SINT_MAARTEN, ETSI13_WORLD, 0, SX, 40, 160, 0, 0), 922 CE(SLOVAKIA, ETSI13_WORLD, 0, SK, 40, 160, 0, 0), 923 CE(SLOVENIA, ETSI13_WORLD, 0, SI, 40, 160, 0, 0), 924 CE(SOUTH_AFRICA, ETSI13_WORLD, 0, ZA, 40, 160, 0, 0), 925 CE(SPAIN, ETSI13_WORLD, 0, ES, 40, 160, 0, 0), 926 CE(SURINAME, ETSI1_WORLD, 0, SR, 40, 160, 0, 0), 927 CE(SRI_LANKA, FCC17_ETSIC, 0, LK, 40, 160, 0, 0), 928 CE(SVALBARD_AND_JAN_MAYEN, FCC6_WORLD, 0, SJ, 40, 160, 0, 0), 929 CE(SWEDEN, ETSI13_WORLD, 0, SE, 40, 160, 0, 0), 930 CE(SWITZERLAND, ETSI13_WORLD, 0, CH, 40, 160, 0, 0), 931 CE(TAIWAN, FCC17_FCCA, 0, TW, 40, 160, 0, 0), 932 CE(TANZANIA, ETSI15_WORLD, 0, TZ, 40, 160, 0, 0), 933 CE(THAILAND, APL20_WORLD, 0, TH, 40, 160, 0, 0), 934 CE(TOGO, ETSI1_WORLD, 0, TG, 40, 40, 0, 0), 935 CE(TRINIDAD_Y_TOBAGO, FCC17_WORLD, 0, TT, 40, 160, 0, 0), 936 CE(TUNISIA, ETSI3_WORLD, 0, TN, 40, 160, 0, 0), 937 CE(TURKEY, ETSI13_WORLD, 0, TR, 40, 160, 0, 0), 938 CE(TURKS_AND_CAICOS, FCC17_WORLD, 0, TC, 40, 160, 0, 0), 939 CE(UGANDA, FCC17_WORLD, 0, UG, 40, 160, 0, 0), 940 CE(UKRAINE, ETSI9_WORLD, 0, UA, 40, 160, 0, 0), 941 CE(UAE, ETSI13_WORLD, APL3_6G_08, AE, 40, 160, 320, 0), 942 CE(UNITED_KINGDOM, ETSI13_WORLD, ETSI2_6G_03, GB, 40, 160, 320, 0), 943 CE(UNITED_STATES, FCC8_FCCA, FCC1_6G_01, US, 40, 160, 320, 0), 944 CE(UNITED_STATES_MINOR_OUTLYING_ISLANDS, FCC3_FCCA, FCC1_6G_01, UM, 40, 945 160, 320, 0), 946 CE(URUGUAY, FCC2_WORLD, 0, UY, 40, 160, 0, 0), 947 CE(UZBEKISTAN, ETSI3_WORLD, 0, UZ, 40, 160, 0, 0), 948 CE(VANUATU, FCC17_WORLD, 0, VU, 40, 160, 0, 0), 949 CE(VENEZUELA, FCC2_ETSIC, 0, VE, 40, 160, 0, 0), 950 CE(VIET_NAM, APL20_WORLD, 0, VN, 40, 80, 0, 0), 951 CE(VIRGIN_ISLANDS, FCC3_FCCA, FCC1_6G_01, VI, 40, 160, 320, 0), 952 CE(VIRGIN_ISLANDS_BRITISH, ETSI13_WORLD, 0, VG, 40, 160, 0, 0), 953 CE(WALLIS_AND_FUTUNA, ETSI1_WORLD, 0, WF, 40, 160, 0, 0), 954 CE(YEMEN, ETSI1_WORLD, 0, YE, 40, 160, 0, 0), 955 CE(ZIMBABWE, ETSI1_WORLD, 0, ZW, 40, 160, 0, 0), 956 }; 957 #endif 958 #endif 959 960 enum reg_domains_2g { 961 FCCA, 962 FCCB, 963 WORLD, 964 MKKA, 965 MKKC, 966 ETSIC, 967 ETSID, 968 KRRA, 969 CHNA, 970 WORLD_2G_1, 971 WORLD_2G_2, 972 WORLD_2G_3, 973 974 REG_DOMAINS_2G_MAX, 975 }; 976 977 enum reg_domains_5g { 978 NULL1, 979 FCC1, 980 FCC2, 981 FCC3, 982 FCC4, 983 FCC5, 984 FCC6, 985 FCC8, 986 FCC10, 987 FCC11, 988 FCC13, 989 FCC14, 990 FCC15, 991 FCC16, 992 FCC17, 993 FCC18, 994 ETSI1, 995 ETSI3, 996 ETSI4, 997 ETSI8, 998 ETSI9, 999 ETSI10, 1000 ETSI11, 1001 ETSI12, 1002 ETSI13, 1003 ETSI14, 1004 ETSI15, 1005 ETSI16, 1006 ETSI17, 1007 APL1, 1008 APL2, 1009 APL4, 1010 APL6, 1011 APL8, 1012 APL9, 1013 APL10, 1014 APL11, 1015 APL12, 1016 APL13, 1017 APL14, 1018 APL15, 1019 APL16, 1020 APL17, 1021 APL19, 1022 APL20, 1023 APL23, 1024 APL24, 1025 APL25, 1026 APL26, 1027 APL27, 1028 MKK3, 1029 MKK4, 1030 MKK5, 1031 MKK9, 1032 MKK10, 1033 MKK11, 1034 MKK16, 1035 MKK17, 1036 WORLD_5G_1, 1037 WORLD_5G_2, 1038 1039 REG_DOMAINS_5G_MAX, 1040 }; 1041 1042 const struct reg_domain_pair g_reg_dmn_pairs[] = { 1043 {NULL1_WORLD, NULL1, WORLD}, 1044 1045 {FCC1_FCCA, FCC1, FCCA}, 1046 {FCC1_WORLD, FCC1, WORLD}, 1047 {FCC2_FCCA, FCC2, FCCA}, 1048 {FCC2_WORLD, FCC2, WORLD}, 1049 {FCC2_ETSIC, FCC2, ETSIC}, 1050 {FCC3_FCCA, FCC3, FCCA}, 1051 {FCC3_WORLD, FCC3, WORLD}, 1052 {FCC3_ETSIC, FCC3, ETSIC}, 1053 {FCC4_FCCA, FCC4, FCCA}, 1054 {FCC5_FCCA, FCC5, FCCA}, 1055 {FCC6_WORLD, FCC6, WORLD}, 1056 {FCC6_FCCA, FCC6, FCCA}, 1057 {FCC8_FCCA, FCC8, FCCA}, 1058 {FCC8_WORLD, FCC8, WORLD}, 1059 {FCC10_FCCA, FCC10, FCCA}, 1060 {FCC11_WORLD, FCC11, WORLD}, 1061 {FCC13_WORLD, FCC13, WORLD}, 1062 {FCC14_FCCB, FCC14, FCCB}, 1063 {FCC14_WORLD, FCC14, WORLD}, 1064 {FCC15_FCCA, FCC15, FCCA}, 1065 {FCC16_FCCA, FCC16, FCCA}, 1066 {FCC17_FCCA, FCC17, FCCA}, 1067 {FCC17_WORLD, FCC17, WORLD}, 1068 {FCC17_ETSIC, FCC17, ETSIC}, 1069 {FCC18_ETSIC, FCC18, ETSIC}, 1070 1071 {ETSI1_WORLD, ETSI1, WORLD}, 1072 {ETSI3_WORLD, ETSI3, WORLD}, 1073 {ETSI4_WORLD, ETSI4, WORLD}, 1074 {ETSI8_WORLD, ETSI8, WORLD}, 1075 {ETSI9_WORLD, ETSI9, WORLD}, 1076 {ETSI10_WORLD, ETSI10, WORLD}, 1077 {ETSI10_FCCA, ETSI10, FCCA}, 1078 {ETSI11_WORLD, ETSI11, WORLD}, 1079 {ETSI12_WORLD, ETSI12, WORLD}, 1080 {ETSI13_WORLD, ETSI13, WORLD}, 1081 {ETSI14_WORLD, ETSI14, WORLD}, 1082 {ETSI15_WORLD, ETSI15, WORLD}, 1083 {ETSI16_WORLD, ETSI16, WORLD}, 1084 {ETSI17_WORLD, ETSI17, WORLD}, 1085 1086 {APL1_WORLD, APL1, WORLD}, 1087 {APL1_ETSIC, APL1, ETSIC}, 1088 {APL2_WORLD, APL2, WORLD}, 1089 {APL2_ETSIC, APL2, ETSIC}, 1090 {APL2_ETSID, APL2, ETSID}, 1091 {APL4_WORLD, APL4, WORLD}, 1092 {APL6_WORLD, APL6, WORLD}, 1093 {APL8_WORLD, APL8, WORLD}, 1094 {APL9_WORLD, APL9, WORLD}, 1095 {APL9_MKKC, APL9, MKKC}, 1096 {APL9_KRRA, APL9, KRRA}, 1097 {APL10_WORLD, APL10, WORLD}, 1098 {APL11_FCCA, APL11, FCCA}, 1099 {APL12_WORLD, APL12, WORLD}, 1100 {APL13_WORLD, APL13, WORLD}, 1101 {APL14_WORLD, APL14, WORLD}, 1102 {APL14_CHNA, APL14, CHNA}, 1103 {APL15_WORLD, APL15, WORLD}, 1104 {APL16_WORLD, APL16, WORLD}, 1105 {APL16_ETSIC, APL16, ETSIC}, 1106 {APL17_ETSIC, APL17, ETSIC}, 1107 {APL17_ETSID, APL17, ETSID}, 1108 {APL19_ETSIC, APL19, ETSIC}, 1109 {APL20_WORLD, APL20, WORLD}, 1110 {APL23_WORLD, APL23, WORLD}, 1111 {APL24_ETSIC, APL24, ETSIC}, 1112 {APL25_ETSIC, APL25, ETSIC}, 1113 {APL26_ETSIC, APL26, ETSIC}, 1114 {APL27_FCCA, APL27, FCCA}, 1115 1116 {MKK3_MKKC, MKK3, MKKC}, 1117 {MKK5_MKKA, MKK5, MKKA}, 1118 {MKK5_MKKC, MKK5, MKKC}, 1119 {MKK11_MKKC, MKK11, MKKC}, 1120 {MKK16_MKKC, MKK16, MKKC}, 1121 {MKK17_MKKC, MKK17, MKKC}, 1122 1123 {WORLD_60, WORLD_5G_2, WORLD_2G_3}, 1124 {WORLD_61, WORLD_5G_2, WORLD_2G_3}, 1125 {WORLD_62, WORLD_5G_2, WORLD_2G_3}, 1126 {WORLD_63, WORLD_5G_1, WORLD_2G_2}, 1127 {WORLD_65, WORLD_5G_1, WORLD_2G_2}, 1128 {WORLD_64, WORLD_5G_1, WORLD_2G_1}, 1129 {WORLD_66, WORLD_5G_2, WORLD_2G_1}, 1130 {WORLD_69, WORLD_5G_2, WORLD_2G_1}, 1131 {WORLD_67, WORLD_5G_2, WORLD_2G_2}, 1132 {WORLD_68, WORLD_5G_2, WORLD_2G_2}, 1133 {WORLD_6A, WORLD_5G_2, WORLD_2G_2}, 1134 {WORLD_6C, WORLD_5G_2, WORLD_2G_2}, 1135 }; 1136 1137 enum reg_rules_2g { 1138 1139 CHAN_1_11_1, 1140 CHAN_1_11_2, 1141 CHAN_1_11_3, 1142 CHAN_1_13_1, 1143 CHAN_1_13_2, 1144 CHAN_1_13_3, 1145 CHAN_1_13_4, 1146 CHAN_1_13_5, 1147 CHAN_12_12_1, 1148 CHAN_12_13_1, 1149 CHAN_14_1, 1150 CHAN_14_2, 1151 }; 1152 1153 const struct regulatory_rule reg_rules_2g[] = { 1154 1155 [CHAN_1_11_1] = {2402, 2472, 40, 30, 0}, 1156 [CHAN_1_11_2] = {2402, 2472, 40, 20, 0}, 1157 [CHAN_1_11_3] = {2402, 2472, 40, 36, 0}, 1158 [CHAN_1_13_1] = {2402, 2482, 40, 20, 0}, 1159 [CHAN_1_13_2] = {2402, 2482, 40, 30, 0}, 1160 [CHAN_1_13_3] = {2402, 2482, 40, 36, 0}, 1161 [CHAN_1_13_4] = {2402, 2482, 40, 23, 0}, 1162 [CHAN_1_13_5] = {2402, 2482, 20, 20, 0}, 1163 [CHAN_12_12_1] = {2457, 2477, 20, 20, REGULATORY_CHAN_NO_IR}, 1164 [CHAN_12_13_1] = {2457, 2482, 20, 20, REGULATORY_CHAN_NO_IR}, 1165 [CHAN_14_1] = {2474, 2494, 20, 23, REGULATORY_CHAN_NO_OFDM}, 1166 [CHAN_14_2] = {2474, 2494, 20, 20, 1167 REGULATORY_CHAN_NO_OFDM | REGULATORY_CHAN_NO_IR}, 1168 }; 1169 1170 const struct regdomain regdomains_2g[] = { 1171 1172 [FCCA] = {CTL_FCC, DFS_UNINIT_REGION, 0, 40, 6, 1, {CHAN_1_11_1} }, 1173 [FCCB] = {CTL_FCC, DFS_UNINIT_REGION, 0, 40, 6, 1, {CHAN_1_11_3} }, 1174 [WORLD] = {CTL_ETSI, DFS_UNINIT_REGION, 0, 40, 0, 1, {CHAN_1_13_1} }, 1175 [MKKA] = {CTL_MKK, DFS_UNINIT_REGION, 0, 40, 0, 2, {CHAN_1_13_4, 1176 CHAN_14_1} }, 1177 [MKKC] = {CTL_MKK, DFS_UNINIT_REGION, 0, 40, 0, 1, {CHAN_1_13_4} }, 1178 [ETSIC] = {CTL_ETSI, DFS_UNINIT_REGION, 0, 40, 0, 1, {CHAN_1_13_2} }, 1179 [ETSID] = {CTL_ETSI, DFS_UNINIT_REGION, 0, 20, 0, 1, {CHAN_1_13_5} }, 1180 [KRRA] = {CTL_KOR, DFS_UNINIT_REGION, 0, 40, 0, 1, {CHAN_1_13_4} }, 1181 [CHNA] = {CTL_CHN, DFS_UNINIT_REGION, 0, 40, 0, 1, {CHAN_1_13_1} }, 1182 [WORLD_2G_1] = {CTL_NONE, DFS_UNINIT_REGION, 0, 40, 0, 1, {CHAN_1_11_2} 1183 }, 1184 [WORLD_2G_2] = {CTL_NONE, DFS_UNINIT_REGION, 0, 40, 0, 2, {CHAN_1_11_2, 1185 CHAN_12_13_1} 1186 }, 1187 [WORLD_2G_3] = {CTL_NONE, DFS_UNINIT_REGION, 0, 40, 0, 2, {CHAN_1_11_2, 1188 CHAN_12_12_1} 1189 }, 1190 }; 1191 1192 1193 enum reg_rules_5g { 1194 1195 CHAN_4910_4990_1, 1196 CHAN_4940_4990_1, 1197 CHAN_5030_5090_1, 1198 CHAN_5170_5250_1, 1199 CHAN_5170_5250_2, 1200 CHAN_5170_5250_3, 1201 CHAN_5170_5250_4, 1202 CHAN_5170_5250_5, 1203 CHAN_5170_5250_6, 1204 CHAN_5170_5250_7, 1205 CHAN_5170_5250_8, 1206 CHAN_5170_5250_9, 1207 CHAN_5170_5250_10, 1208 CHAN_5170_5250_11, 1209 CHAN_5170_5250_12, 1210 CHAN_5170_5250_13, 1211 CHAN_5170_5330_1, 1212 CHAN_5170_5330_2, 1213 CHAN_5170_5330_3, 1214 CHAN_5250_5330_1, 1215 CHAN_5250_5330_2, 1216 CHAN_5250_5330_3, 1217 CHAN_5250_5330_4, 1218 CHAN_5250_5330_5, 1219 CHAN_5250_5330_6, 1220 CHAN_5250_5330_7, 1221 CHAN_5250_5330_8, 1222 CHAN_5250_5330_9, 1223 CHAN_5250_5330_10, 1224 CHAN_5250_5330_11, 1225 CHAN_5250_5330_12, 1226 CHAN_5250_5330_13, 1227 CHAN_5250_5330_14, 1228 CHAN_5250_5330_15, 1229 CHAN_5250_5330_16, 1230 CHAN_5490_5730_1, 1231 CHAN_5490_5730_2, 1232 CHAN_5490_5730_3, 1233 CHAN_5490_5730_4, 1234 CHAN_5490_5730_5, 1235 CHAN_5490_5730_6, 1236 CHAN_5490_5730_7, 1237 CHAN_5490_5730_8, 1238 CHAN_5490_5730_9, 1239 CHAN_5490_5710_1, 1240 CHAN_5490_5710_2, 1241 CHAN_5490_5710_3, 1242 CHAN_5490_5710_4, 1243 CHAN_5490_5710_5, 1244 CHAN_5490_5710_6, 1245 CHAN_5490_5710_7, 1246 CHAN_5490_5710_8, 1247 CHAN_5490_5590_1, 1248 CHAN_5490_5590_2, 1249 CHAN_5490_5590_3, 1250 CHAN_5490_5570_1, 1251 CHAN_5490_5650_2, 1252 CHAN_5490_5670_1, 1253 CHAN_5490_5670_2, 1254 CHAN_5490_5630_1, 1255 CHAN_5650_5730_1, 1256 CHAN_5650_5730_2, 1257 CHAN_5650_5730_3, 1258 CHAN_5735_5835_1, 1259 CHAN_5735_5835_2, 1260 CHAN_5735_5835_3, 1261 CHAN_5735_5835_4, 1262 CHAN_5735_5835_5, 1263 CHAN_5735_5835_6, 1264 CHAN_5735_5835_7, 1265 CHAN_5735_5835_8, 1266 CHAN_5735_5835_9, 1267 CHAN_5735_5835_10, 1268 CHAN_5735_5875_1, 1269 CHAN_5735_5875_2, 1270 CHAN_5735_5875_3, 1271 CHAN_5735_5875_4, 1272 CHAN_5735_5875_5, 1273 CHAN_5735_5875_6, 1274 CHAN_5735_5815_1, 1275 CHAN_5735_5815_2, 1276 CHAN_5735_5815_3, 1277 CHAN_5735_5815_4, 1278 CHAN_5735_5775_1, 1279 CHAN_5735_5895_1, 1280 CHAN_5735_5895_2, 1281 CHAN_5835_5855_1, 1282 CHAN_5835_5855_2, 1283 CHAN_5835_5895_1, 1284 CHAN_5850_5925_1, 1285 CHAN_5850_5925_2, 1286 #if defined(CONFIG_BAND_6GHZ) && defined(COMPILE_REGDB_6G) 1287 CHAN_5945_7125_1, 1288 CHAN_5945_7125_2, 1289 CHAN_5945_7125_3, 1290 #endif 1291 }; 1292 1293 const struct regulatory_rule reg_rules_5g[] = { 1294 1295 [CHAN_4910_4990_1] = {4910, 4990, 20, 20, 0}, 1296 [CHAN_4940_4990_1] = {4940, 4990, 20, 33, 0}, 1297 [CHAN_5030_5090_1] = {5030, 5090, 20, 20, 0}, 1298 [CHAN_5170_5250_1] = {5170, 5250, 80, 17, 0}, 1299 [CHAN_5170_5250_2] = {5170, 5250, 80, 23, 0}, 1300 [CHAN_5170_5250_3] = {5170, 5250, 80, 20, 0}, 1301 [CHAN_5170_5250_4] = {5170, 5250, 80, 30, 0}, 1302 [CHAN_5170_5250_5] = {5170, 5250, 80, 24, 0}, 1303 [CHAN_5170_5250_6] = {5170, 5250, 80, 18, 0}, 1304 [CHAN_5170_5250_7] = {5170, 5250, 80, 20, REGULATORY_CHAN_INDOOR_ONLY}, 1305 [CHAN_5170_5250_8] = {5170, 5250, 80, 23, REGULATORY_CHAN_INDOOR_ONLY}, 1306 [CHAN_5170_5250_9] = {5170, 5250, 40, 30, 0}, 1307 [CHAN_5170_5250_10] = {5170, 5250, 20, 20, REGULATORY_CHAN_INDOOR_ONLY}, 1308 [CHAN_5170_5250_11] = {5170, 5250, 80, 16, 0}, 1309 [CHAN_5170_5250_12] = {5170, 5250, 80, 24, REGULATORY_CHAN_INDOOR_ONLY}, 1310 [CHAN_5170_5250_13] = {5170, 5250, 80, 17, REGULATORY_CHAN_INDOOR_ONLY}, 1311 [CHAN_5170_5330_1] = {5170, 5330, 160, 20, REGULATORY_CHAN_NO_IR}, 1312 [CHAN_5170_5330_2] = {5170, 5330, 160, 24, 0}, 1313 [CHAN_5170_5330_3] = {5170, 5330, 160, 23, REGULATORY_CHAN_INDOOR_ONLY}, 1314 [CHAN_5250_5330_1] = {5250, 5330, 80, 23, REGULATORY_CHAN_RADAR}, 1315 [CHAN_5250_5330_2] = {5250, 5330, 80, 20, REGULATORY_CHAN_RADAR}, 1316 [CHAN_5250_5330_3] = {5250, 5330, 80, 18, REGULATORY_CHAN_RADAR}, 1317 [CHAN_5250_5330_4] = {5250, 5330, 80, 30, REGULATORY_CHAN_RADAR}, 1318 [CHAN_5250_5330_5] = {5250, 5330, 80, 23, 0}, 1319 [CHAN_5250_5330_6] = {5250, 5330, 80, 30, 0}, 1320 [CHAN_5250_5330_7] = {5250, 5330, 80, 24, REGULATORY_CHAN_RADAR}, 1321 [CHAN_5250_5330_8] = {5250, 5330, 80, 36, 0}, 1322 [CHAN_5250_5330_9] = {5250, 5330, 80, 20, 0}, 1323 [CHAN_5250_5330_10] = {5250, 5330, 80, 24, 0}, 1324 [CHAN_5250_5330_11] = {5250, 5330, 80, 20, REGULATORY_CHAN_INDOOR_ONLY}, 1325 [CHAN_5250_5330_12] = {5250, 5330, 80, 23, REGULATORY_CHAN_RADAR | 1326 REGULATORY_CHAN_INDOOR_ONLY}, 1327 [CHAN_5250_5330_13] = {5250, 5330, 40, 30, REGULATORY_CHAN_RADAR}, 1328 [CHAN_5250_5330_14] = {5250, 5330, 80, 20, REGULATORY_CHAN_RADAR | 1329 REGULATORY_CHAN_INDOOR_ONLY}, 1330 [CHAN_5250_5330_15] = {5250, 5330, 20, 20, REGULATORY_CHAN_RADAR | 1331 REGULATORY_CHAN_INDOOR_ONLY}, 1332 [CHAN_5250_5330_16] = {5250, 5330, 80, 23, REGULATORY_CHAN_INDOOR_ONLY}, 1333 [CHAN_5490_5730_1] = {5490, 5730, 160, 24, REGULATORY_CHAN_RADAR}, 1334 [CHAN_5490_5730_2] = {5490, 5730, 160, 20, REGULATORY_CHAN_NO_IR}, 1335 [CHAN_5490_5730_3] = {5490, 5730, 160, 30, 0}, 1336 [CHAN_5490_5730_4] = {5490, 5730, 160, 24, 0}, 1337 [CHAN_5490_5730_5] = {5490, 5730, 160, 30, REGULATORY_CHAN_RADAR}, 1338 [CHAN_5490_5730_6] = {5490, 5730, 160, 23, REGULATORY_CHAN_RADAR}, 1339 [CHAN_5490_5730_7] = {5490, 5730, 160, 20, REGULATORY_CHAN_RADAR}, 1340 [CHAN_5490_5730_8] = {5490, 5730, 160, 30, REGULATORY_CHAN_RADAR | 1341 REGULATORY_CHAN_INDOOR_ONLY}, 1342 [CHAN_5490_5730_9] = {5490, 5730, 80, 30, 0}, 1343 [CHAN_5490_5710_1] = {5490, 5710, 160, 30, REGULATORY_CHAN_RADAR}, 1344 [CHAN_5490_5710_2] = {5490, 5710, 160, 20, REGULATORY_CHAN_RADAR}, 1345 [CHAN_5490_5710_3] = {5490, 5710, 160, 27, REGULATORY_CHAN_RADAR}, 1346 [CHAN_5490_5710_4] = {5490, 5710, 40, 30, REGULATORY_CHAN_RADAR}, 1347 [CHAN_5490_5710_5] = {5490, 5710, 160, 24, REGULATORY_CHAN_RADAR}, 1348 [CHAN_5490_5710_6] = {5490, 5710, 160, 26, REGULATORY_CHAN_RADAR}, 1349 [CHAN_5490_5710_7] = {5490, 5710, 160, 23, REGULATORY_CHAN_RADAR}, 1350 [CHAN_5490_5710_8] = {5490, 5710, 20, 27, REGULATORY_CHAN_RADAR}, 1351 [CHAN_5490_5590_1] = {5490, 5590, 80, 24, REGULATORY_CHAN_RADAR}, 1352 [CHAN_5490_5590_2] = {5490, 5590, 80, 24, 0}, 1353 [CHAN_5490_5590_3] = {5490, 5590, 80, 36, 0}, 1354 [CHAN_5490_5570_1] = {5490, 5570, 80, 30, REGULATORY_CHAN_RADAR}, 1355 [CHAN_5490_5650_2] = {5490, 5650, 160, 24, REGULATORY_CHAN_RADAR}, 1356 [CHAN_5490_5670_1] = {5490, 5670, 160, 20, REGULATORY_CHAN_RADAR}, 1357 [CHAN_5490_5670_2] = {5490, 5670, 160, 23, REGULATORY_CHAN_RADAR}, 1358 [CHAN_5490_5630_1] = {5490, 5630, 80, 30, REGULATORY_CHAN_RADAR}, 1359 [CHAN_5650_5730_1] = {5650, 5730, 80, 24, REGULATORY_CHAN_RADAR}, 1360 [CHAN_5650_5730_2] = {5650, 5730, 80, 24, 0}, 1361 [CHAN_5650_5730_3] = {5650, 5730, 80, 36, 0}, 1362 [CHAN_5735_5835_1] = {5735, 5835, 80, 23, 0}, 1363 [CHAN_5735_5835_2] = {5735, 5835, 80, 30, 0}, 1364 [CHAN_5735_5835_3] = {5735, 5835, 80, 20, 0}, 1365 [CHAN_5735_5835_4] = {5735, 5835, 80, 33, 0}, 1366 [CHAN_5735_5835_5] = {5735, 5835, 80, 20, REGULATORY_CHAN_NO_IR}, 1367 [CHAN_5735_5835_6] = {5735, 5835, 80, 24, 0}, 1368 [CHAN_5735_5835_7] = {5735, 5835, 80, 36, 0}, 1369 [CHAN_5735_5835_8] = {5735, 5835, 80, 23, 0}, 1370 [CHAN_5735_5835_9] = {5735, 5835, 80, 30, REGULATORY_CHAN_RADAR}, 1371 [CHAN_5735_5835_10] = {5735, 5835, 80, 14, REGULATORY_CHAN_INDOOR_ONLY}, 1372 [CHAN_5735_5875_1] = {5735, 5875, 20, 27, REGULATORY_CHAN_RADAR}, 1373 [CHAN_5735_5875_2] = {5735, 5875, 20, 30, 0}, 1374 [CHAN_5735_5875_3] = {5735, 5875, 80, 30, 0}, 1375 [CHAN_5735_5875_4] = {5735, 5875, 80, 14, 0}, 1376 [CHAN_5735_5875_5] = {5735, 5875, 80, 20, REGULATORY_CHAN_RADAR}, 1377 [CHAN_5735_5875_6] = {5735, 5875, 80, 23, REGULATORY_CHAN_INDOOR_ONLY}, 1378 [CHAN_5735_5815_1] = {5735, 5815, 80, 30, 0}, 1379 [CHAN_5735_5815_2] = {5735, 5815, 80, 30, REGULATORY_CHAN_RADAR}, 1380 [CHAN_5735_5815_3] = {5735, 5815, 80, 23, REGULATORY_CHAN_INDOOR_ONLY}, 1381 [CHAN_5735_5815_4] = {5735, 5815, 20, 20, 0}, 1382 [CHAN_5735_5775_1] = {5735, 5775, 40, 23, 0}, 1383 [CHAN_5735_5895_1] = {5735, 5895, 160, 30, 0}, 1384 [CHAN_5735_5895_2] = {5735, 5895, 160, 20, REGULATORY_CHAN_NO_IR}, 1385 [CHAN_5835_5855_1] = {5835, 5855, 20, 30, 0}, 1386 [CHAN_5835_5855_2] = {5835, 5855, 20, 14, REGULATORY_CHAN_INDOOR_ONLY}, 1387 #ifdef CONFIG_REG_CLIENT 1388 [CHAN_5835_5895_1] = {5835, 5895, 40, 30, REGULATORY_CHAN_INDOOR_ONLY}, 1389 #else 1390 [CHAN_5835_5895_1] = {5835, 5895, 80, 30, REGULATORY_CHAN_INDOOR_ONLY}, 1391 #endif 1392 [CHAN_5850_5925_1] = {5850, 5925, 20, 24, 0}, 1393 [CHAN_5850_5925_2] = {5850, 5925, 20, 30, 0}, 1394 #if defined(CONFIG_BAND_6GHZ) && defined(COMPILE_REGDB_6G) 1395 [CHAN_5945_7125_1] = {5945, 7125, 160, 21, REGULATORY_CHAN_INDOOR_ONLY}, 1396 [CHAN_5945_7125_2] = {5945, 7125, 160, 27, REGULATORY_CHAN_INDOOR_ONLY}, 1397 [CHAN_5945_7125_3] = {5945, 7125, 160, 20, REGULATORY_CHAN_NO_IR}, 1398 #endif 1399 }; 1400 1401 const struct regdomain regdomains_5g[] = { 1402 1403 [FCC1] = {CTL_FCC, DFS_FCC_REGION, 2, 160, 6, 3, {CHAN_5170_5250_1, 1404 CHAN_5250_5330_1, 1405 CHAN_5735_5835_2} }, 1406 1407 [FCC2] = {CTL_FCC, DFS_FCC_REGION, 2, 160, 6, 3, {CHAN_5170_5250_2, 1408 CHAN_5250_5330_1, 1409 CHAN_5735_5835_2} }, 1410 1411 [FCC3] = {CTL_FCC, DFS_FCC_REGION, 2, 160, 6, 5, {CHAN_5170_5250_5, 1412 CHAN_5250_5330_7, 1413 CHAN_5490_5730_1, 1414 CHAN_5735_5835_2, 1415 CHAN_5835_5895_1} }, 1416 1417 [FCC4] = {CTL_FCC, DFS_FCC_REGION, 2, 160, 6, 4, {CHAN_4940_4990_1, 1418 CHAN_5170_5250_1, 1419 CHAN_5250_5330_7, 1420 CHAN_5735_5835_2} }, 1421 1422 [FCC5] = {CTL_FCC, DFS_UNINIT_REGION, 2, 80, 6, 2, {CHAN_5170_5250_4, 1423 CHAN_5735_5835_2} }, 1424 1425 [FCC6] = {CTL_FCC, DFS_FCC_REGION, 2, 160, 6, 5, {CHAN_5170_5250_12, 1426 CHAN_5250_5330_7, 1427 CHAN_5490_5590_1, 1428 CHAN_5650_5730_1, 1429 CHAN_5735_5835_2} }, 1430 1431 [FCC8] = {CTL_FCC, DFS_FCC_REGION, 2, 160, 6, 5, {CHAN_5170_5250_4, 1432 CHAN_5250_5330_7, 1433 CHAN_5490_5730_1, 1434 CHAN_5735_5835_2, 1435 CHAN_5835_5895_1} }, 1436 1437 [FCC10] = {CTL_FCC, DFS_FCC_REGION, 2, 160, 0, 5, {CHAN_5170_5250_4, 1438 CHAN_5250_5330_7, 1439 CHAN_5490_5730_1, 1440 CHAN_5735_5835_2, 1441 CHAN_5850_5925_1} }, 1442 1443 [FCC11] = {CTL_FCC, DFS_FCC_REGION, 2, 160, 6, 4, {CHAN_5170_5250_5, 1444 CHAN_5250_5330_7, 1445 CHAN_5490_5650_2, 1446 CHAN_5735_5835_6} }, 1447 1448 [FCC13] = {CTL_FCC, DFS_UNINIT_REGION, 2, 160, 0, 3, {CHAN_5170_5330_2, 1449 CHAN_5490_5730_4, 1450 CHAN_5735_5835_2} 1451 }, 1452 1453 [FCC14] = {CTL_FCC, DFS_UNINIT_REGION, 2, 160, 0, 4, {CHAN_5170_5250_4, 1454 CHAN_5250_5330_10, 1455 CHAN_5490_5730_4, 1456 CHAN_5735_5835_2} 1457 }, 1458 1459 #if defined(CONFIG_BAND_6GHZ) && defined(COMPILE_REGDB_6G) 1460 [FCC15] = {CTL_FCC, DFS_FCC_REGION, 2, 160, 0, 6, {CHAN_5170_5250_5, 1461 CHAN_5250_5330_7, 1462 CHAN_5490_5730_1, 1463 CHAN_5735_5835_2, 1464 CHAN_5835_5895_1, 1465 CHAN_5945_7125_1} }, 1466 1467 [FCC16] = {CTL_FCC, DFS_FCC_REGION, 2, 160, 0, 6, {CHAN_5170_5250_4, 1468 CHAN_5250_5330_7, 1469 CHAN_5490_5730_1, 1470 CHAN_5735_5835_2, 1471 CHAN_5835_5895_1, 1472 CHAN_5945_7125_2} }, 1473 #endif 1474 [FCC17] = {CTL_FCC, DFS_FCC_REGION, 2, 160, 6, 4, {CHAN_5170_5250_5, 1475 CHAN_5250_5330_7, 1476 CHAN_5490_5730_1, 1477 CHAN_5735_5835_2} }, 1478 1479 [FCC18] = {CTL_FCC, DFS_FCC_REGION, 2, 160, 6, 4, {CHAN_5170_5250_4, 1480 CHAN_5250_5330_7, 1481 CHAN_5490_5730_1, 1482 CHAN_5735_5835_2} }, 1483 1484 [ETSI1] = {CTL_ETSI, DFS_ETSI_REGION, 2, 160, 0, 3, {CHAN_5170_5250_8, 1485 CHAN_5250_5330_12, 1486 CHAN_5490_5710_1} 1487 }, 1488 1489 [ETSI3] = {CTL_ETSI, DFS_ETSI_REGION, 5, 160, 0, 2, {CHAN_5170_5250_2, 1490 CHAN_5250_5330_1} 1491 }, 1492 1493 [ETSI4] = {CTL_ETSI, DFS_ETSI_REGION, 2, 160, 0, 2, {CHAN_5170_5250_6, 1494 CHAN_5250_5330_3} 1495 }, 1496 1497 [ETSI8] = {CTL_ETSI, DFS_UNINIT_REGION, 20, 160, 0, 4, 1498 {CHAN_5170_5250_2, 1499 CHAN_5250_5330_5, 1500 CHAN_5490_5730_3, 1501 CHAN_5735_5835_2} }, 1502 1503 [ETSI9] = {CTL_ETSI, DFS_ETSI_REGION, 20, 160, 0, 4, {CHAN_5170_5250_2, 1504 CHAN_5250_5330_1, 1505 CHAN_5490_5710_5, 1506 CHAN_5735_5835_6} 1507 }, 1508 1509 [ETSI10] = {CTL_ETSI, DFS_ETSI_REGION, 5, 160, 0, 4, 1510 {CHAN_5170_5250_7, 1511 CHAN_5250_5330_14, 1512 CHAN_5490_5710_3, 1513 CHAN_5850_5925_2} }, 1514 1515 [ETSI11] = {CTL_ETSI, DFS_ETSI_REGION, 10, 20, 0, 4, {CHAN_5170_5250_7, 1516 CHAN_5250_5330_14, 1517 CHAN_5490_5710_3, 1518 CHAN_5735_5875_1} 1519 }, 1520 1521 [ETSI12] = {CTL_ETSI, DFS_ETSI_REGION, 2, 160, 0, 4, {CHAN_5170_5250_8, 1522 CHAN_5250_5330_12, 1523 CHAN_5490_5730_5, 1524 CHAN_5735_5835_8} 1525 }, 1526 1527 [ETSI13] = {CTL_ETSI, DFS_ETSI_REGION, 2, 160, 0, 4, {CHAN_5170_5250_8, 1528 CHAN_5250_5330_12, 1529 CHAN_5490_5730_5, 1530 CHAN_5735_5875_4} 1531 }, 1532 1533 [ETSI14] = {CTL_ETSI, DFS_ETSI_REGION, 2, 160, 0, 4, {CHAN_5170_5250_2, 1534 CHAN_5250_5330_1, 1535 CHAN_5490_5730_7, 1536 CHAN_5735_5875_5} 1537 }, 1538 1539 [ETSI15] = {CTL_ETSI, DFS_ETSI_REGION, 2, 160, 0, 4, {CHAN_5170_5250_2, 1540 CHAN_5250_5330_1, 1541 CHAN_5490_5730_5, 1542 CHAN_5735_5815_2} 1543 }, 1544 1545 [ETSI16] = {CTL_ETSI, DFS_UNINIT_REGION, 2, 80, 0, 2, {CHAN_5170_5250_11, 1546 CHAN_5735_5875_4} 1547 }, 1548 1549 [ETSI17] = {CTL_ETSI, DFS_ETSI_REGION, 2, 160, 0, 5, {CHAN_5170_5250_8, 1550 CHAN_5250_5330_12, 1551 CHAN_5490_5730_8, 1552 CHAN_5735_5835_10, 1553 CHAN_5835_5855_2} 1554 }, 1555 1556 [APL1] = {CTL_ETSI, DFS_UNINIT_REGION, 2, 80, 0, 1, {CHAN_5735_5835_2} 1557 }, 1558 1559 [APL2] = {CTL_ETSI, DFS_UNINIT_REGION, 2, 20, 0, 1, {CHAN_5735_5815_4} 1560 }, 1561 1562 [APL4] = {CTL_ETSI, DFS_UNINIT_REGION, 2, 80, 0, 2, {CHAN_5170_5250_2, 1563 CHAN_5735_5875_6} 1564 }, 1565 1566 [APL6] = {CTL_ETSI, DFS_ETSI_REGION, 2, 160, 0, 3, {CHAN_5170_5250_3, 1567 CHAN_5250_5330_2, 1568 CHAN_5735_5835_3} }, 1569 1570 [APL8] = {CTL_FCC, DFS_ETSI_REGION, 2, 80, 0, 2, {CHAN_5250_5330_4, 1571 CHAN_5735_5835_2} }, 1572 1573 [APL9] = {CTL_MKK, DFS_KR_REGION, 2, 160, 6, 4, {CHAN_5170_5250_2, 1574 CHAN_5250_5330_1, 1575 CHAN_5490_5730_6, 1576 CHAN_5735_5835_1} }, 1577 1578 [APL10] = {CTL_ETSI, DFS_FCC_REGION, 2, 160, 6, 4, {CHAN_5170_5250_2, 1579 CHAN_5250_5330_4, 1580 CHAN_5490_5710_1, 1581 CHAN_5735_5815_1} }, 1582 1583 [APL11] = { CTL_ETSI, DFS_FCC_REGION, 2, 40, 0, 4, {CHAN_5170_5250_9, 1584 CHAN_5250_5330_13, 1585 CHAN_5490_5710_4, 1586 CHAN_5735_5875_2} }, 1587 1588 [APL12] = {CTL_ETSI, DFS_ETSI_REGION, 2, 80, 0, 3, {CHAN_5170_5250_2, 1589 CHAN_5490_5570_1, 1590 CHAN_5735_5775_1} }, 1591 1592 [APL13] = {CTL_ETSI, DFS_ETSI_REGION, 2, 160, 0, 3, {CHAN_5170_5250_2, 1593 CHAN_5250_5330_1, 1594 CHAN_5490_5670_2} 1595 }, 1596 1597 [APL14] = {CTL_MKK, DFS_CN_REGION, 2, 160, 0, 3, {CHAN_5170_5250_2, 1598 CHAN_5250_5330_1, 1599 CHAN_5735_5835_4} }, 1600 1601 [APL15] = {CTL_FCC, DFS_UNINIT_REGION, 2, 160, 0, 3, {CHAN_5170_5250_2, 1602 CHAN_5250_5330_5, 1603 CHAN_5735_5835_4} 1604 }, 1605 1606 [APL16] = {CTL_FCC, DFS_UNINIT_REGION, 2, 160, 0, 5, {CHAN_5170_5250_1, 1607 CHAN_5250_5330_10, 1608 CHAN_5490_5590_2, 1609 CHAN_5650_5730_2, 1610 CHAN_5735_5835_2} 1611 }, 1612 1613 [APL17] = {CTL_FCC, DFS_UNINIT_REGION, 2, 160, 0, 5, {CHAN_5170_5250_2, 1614 CHAN_5250_5330_8, 1615 CHAN_5490_5590_3, 1616 CHAN_5650_5730_3, 1617 CHAN_5735_5835_7} 1618 }, 1619 1620 [APL19] = {CTL_FCC, DFS_FCC_REGION, 2, 160, 0, 4, {CHAN_5170_5250_4, 1621 CHAN_5250_5330_7, 1622 CHAN_5490_5730_1, 1623 CHAN_5735_5875_3} }, 1624 1625 [APL20] = {CTL_ETSI, DFS_ETSI_REGION, 2, 160, 0, 4, {CHAN_5170_5250_8, 1626 CHAN_5250_5330_12, 1627 CHAN_5490_5730_5, 1628 CHAN_5735_5835_4} 1629 }, 1630 1631 [APL23] = {CTL_ETSI, DFS_UNINIT_REGION, 2, 160, 0, 3, 1632 {CHAN_5170_5250_7, 1633 CHAN_5250_5330_11, 1634 CHAN_5735_5835_3} }, 1635 1636 [APL24] = {CTL_ETSI, DFS_ETSI_REGION, 2, 80, 0, 3, {CHAN_5170_5250_8, 1637 CHAN_5250_5330_12, 1638 CHAN_5735_5815_3} }, 1639 1640 [APL25] = {CTL_ETSI, DFS_ETSI_REGION, 2, 160, 0, 3, {CHAN_5170_5330_3, 1641 CHAN_5490_5730_9, 1642 CHAN_5735_5835_7} 1643 }, 1644 1645 [APL26] = {CTL_ETSI, DFS_ETSI_REGION, 2, 160, 0, 3, {CHAN_5170_5330_3, 1646 CHAN_5490_5730_3, 1647 CHAN_5735_5835_7} 1648 }, 1649 [APL27] = {CTL_FCC, DFS_ETSI_REGION, 2, 160, 0, 4, {CHAN_5170_5250_13, 1650 CHAN_5250_5330_10, 1651 CHAN_5490_5730_4, 1652 CHAN_5735_5835_2} }, 1653 1654 [MKK3] = {CTL_MKK, DFS_UNINIT_REGION, 2, 80, 0, 1, {CHAN_5170_5250_3} }, 1655 1656 [MKK5] = {CTL_MKK, DFS_MKK_REGION, 2, 160, 0, 3, {CHAN_5170_5250_8, 1657 CHAN_5250_5330_12, 1658 CHAN_5490_5710_7} }, 1659 1660 [MKK11] = {CTL_MKK, DFS_MKK_REGION, 2, 160, 0, 5, {CHAN_4910_4990_1, 1661 CHAN_5170_5250_2, 1662 CHAN_5030_5090_1, 1663 CHAN_5250_5330_1, 1664 CHAN_5490_5710_7} }, 1665 1666 [MKK16] = {CTL_MKK, DFS_MKK_REGION, 2, 160, 0, 1, {CHAN_5490_5710_6} }, 1667 1668 [MKK17] = {CTL_MKK, DFS_MKKN_REGION, 2, 160, 0, 3, {CHAN_5170_5250_8, 1669 CHAN_5250_5330_12, 1670 CHAN_5490_5730_6} }, 1671 1672 #if defined(CONFIG_BAND_6GHZ) && defined(COMPILE_REGDB_6G) 1673 [WORLD_5G_1] = {CTL_NONE, DFS_UNINIT_REGION, 2, 160, 0, 3, {CHAN_5170_5330_1, 1674 CHAN_5735_5835_5, 1675 CHAN_5945_7125_3} 1676 }, 1677 1678 [WORLD_5G_2] = {CTL_NONE, DFS_UNINIT_REGION, 2, 160, 0, 4, 1679 {CHAN_5170_5330_1, 1680 CHAN_5490_5730_2, 1681 CHAN_5735_5895_2, 1682 CHAN_5945_7125_3} 1683 }, 1684 #else 1685 [WORLD_5G_1] = {CTL_NONE, DFS_UNINIT_REGION, 2, 160, 0, 2, {CHAN_5170_5330_1, 1686 CHAN_5735_5835_5} 1687 }, 1688 1689 [WORLD_5G_2] = {CTL_NONE, DFS_UNINIT_REGION, 2, 160, 0, 3, 1690 {CHAN_5170_5330_1, 1691 CHAN_5490_5730_2, 1692 CHAN_5735_5895_2} }, 1693 #endif 1694 1695 }; 1696 1697 #if defined(CONFIG_BAND_6GHZ) && defined(COMPILE_REGDB_6G) 1698 /** 1699 * List of 6G Sub Domains. 1700 * 1701 * Note - If not specified in the naming, then above 6G subdomains are for 1702 * both AP and STA (eg ETSI1_VLP_6G). 1703 */ 1704 enum reg_subdomains_6g { 1705 FCC1_CLI_LPI_DEFAULT_6G = 0x01, 1706 FCC1_CLI_SP_6G = 0x02, 1707 FCC1_AP_LPI_6G = 0x03, 1708 FCC1_CLI_LPI_SUBORDINATE = FCC1_AP_LPI_6G, 1709 FCC1_AP_SP_6G = 0x04, 1710 ETSI1_AP_LPI_6G = 0x10, 1711 ETSI1_CLI_LPI_6G = ETSI1_AP_LPI_6G, 1712 FCC2_AP_SP_6G = 0x05, 1713 FCC2_CLI_SP_6G = FCC2_AP_SP_6G, 1714 ETSI1_AP_VLP_6G = 0x11, 1715 ETSI1_CLI_VLP_6G = ETSI1_AP_VLP_6G, 1716 ETSI2_AP_LPI_6G = 0x12, 1717 ETSI2_CLI_LPI_6G = ETSI2_AP_LPI_6G, 1718 ETSI2_AP_VLP_6G = 0x13, 1719 ETSI2_CLI_VLP_6G = ETSI2_AP_VLP_6G, 1720 APL1_AP_LPI_6G = 0x20, 1721 APL1_CLI_LPI_6G = APL1_AP_LPI_6G, 1722 APL1_AP_VLP_6G = 0x21, 1723 APL1_CLI_VLP_6G = APL1_AP_VLP_6G, 1724 APL2_AP_LPI_6G = 0x22, 1725 APL2_CLI_LPI_6G = APL2_AP_LPI_6G, 1726 APL2_AP_VLP_6G = 0x23, 1727 APL2_CLI_VLP_6G = APL2_AP_VLP_6G, 1728 APL3_AP_VLP_6G = 0x24, 1729 APL3_CLI_VLP_6G = APL3_AP_VLP_6G, 1730 APL3_AP_LPI_6G = 0x25, 1731 APL3_CLI_LPI_6G = APL3_AP_LPI_6G, 1732 APL4_AP_LPI_6G = 0x26, 1733 APL4_CLI_LPI_6G = APL4_AP_LPI_6G, 1734 APL4_AP_VLP_6G = 0x27, 1735 APL4_CLI_VLP_6G = APL4_AP_VLP_6G, 1736 APL5_AP_VLP_6G = 0x28, 1737 APL5_CLI_VLP_6G = APL5_AP_VLP_6G, 1738 }; 1739 1740 /** 1741 * Table of 6G super domain to sub domain. 1742 */ 1743 static const struct sixghz_super_to_subdomains g_6g_reg_dmn_9_tuples[] = { 1744 {FCC1_6G_01, FCC1_AP_LPI_6G, FCC1_AP_SP_6G, 0, 1745 {FCC1_CLI_LPI_DEFAULT_6G, FCC1_CLI_LPI_SUBORDINATE}, 1746 {FCC1_CLI_SP_6G, FCC1_CLI_SP_6G}, 1747 {0, 0} }, 1748 {ETSI1_6G_02, ETSI1_AP_LPI_6G, 0, ETSI1_AP_VLP_6G, 1749 {ETSI1_CLI_LPI_6G, ETSI1_CLI_LPI_6G}, 1750 {0, 0}, 1751 {ETSI1_CLI_VLP_6G, ETSI1_CLI_VLP_6G} }, 1752 {ETSI2_6G_03, ETSI2_AP_LPI_6G, 0, ETSI2_AP_VLP_6G, 1753 {ETSI2_CLI_LPI_6G, ETSI2_CLI_LPI_6G}, 1754 {0, 0}, 1755 {ETSI2_CLI_VLP_6G, ETSI2_CLI_VLP_6G} }, 1756 {APL1_6G_04, APL1_AP_LPI_6G, 0, APL1_AP_VLP_6G, 1757 {APL1_CLI_LPI_6G, APL1_CLI_LPI_6G}, 1758 {0, 0}, 1759 {APL1_CLI_VLP_6G, APL1_CLI_VLP_6G} }, 1760 {FCC1_6G_05, FCC1_AP_LPI_6G, 0, 0, 1761 {FCC1_CLI_LPI_DEFAULT_6G, FCC1_CLI_LPI_SUBORDINATE}, 1762 {0, 0}, 1763 {0, 0} }, 1764 {APL2_6G_06, APL2_AP_LPI_6G, 0, APL2_AP_VLP_6G, 1765 {APL2_CLI_LPI_6G, APL2_CLI_LPI_6G}, 1766 {0, 0}, 1767 {APL2_CLI_VLP_6G, APL2_CLI_VLP_6G} }, 1768 {FCC1_6G_07, FCC1_AP_LPI_6G, 0, APL3_AP_VLP_6G, 1769 {FCC1_CLI_LPI_DEFAULT_6G, 0}, 1770 {0, 0}, 1771 {APL3_CLI_VLP_6G, APL3_CLI_VLP_6G} }, 1772 {APL3_6G_08, APL3_AP_LPI_6G, 0, 0, 1773 {APL3_CLI_LPI_6G, APL3_CLI_LPI_6G}, 1774 {0, 0}, 1775 {0, 0} }, 1776 {FCC1_6G_09, FCC1_AP_LPI_6G, FCC1_AP_SP_6G, 0, 1777 {FCC1_CLI_LPI_DEFAULT_6G, 0}, 1778 {FCC1_CLI_SP_6G, FCC1_CLI_SP_6G}, 1779 {0, 0} }, 1780 {FCC2_6G_10, FCC1_AP_LPI_6G, FCC2_AP_SP_6G, 0, 1781 {FCC1_CLI_LPI_DEFAULT_6G, 0}, 1782 {FCC2_CLI_SP_6G, FCC2_CLI_SP_6G}, 1783 {0, 0} }, 1784 {APL4_6G_11, APL4_AP_LPI_6G, 0, APL4_AP_VLP_6G, 1785 {APL4_CLI_LPI_6G, APL4_CLI_LPI_6G}, 1786 {0, 0}, 1787 {APL4_CLI_VLP_6G, APL4_CLI_VLP_6G} }, 1788 {APL5_6G_12, FCC1_AP_LPI_6G, 0, APL5_AP_VLP_6G, 1789 {FCC1_CLI_LPI_DEFAULT_6G, 0}, 1790 {0, 0}, 1791 {APL5_CLI_VLP_6G, APL5_CLI_VLP_6G} }, 1792 }; 1793 1794 /** 1795 * List of 6G reg rules. 1796 */ 1797 enum reg_rules_6g { 1798 CHAN_5925_6425_1, 1799 CHAN_5925_6425_2, 1800 CHAN_5925_6425_3, 1801 CHAN_5925_6425_4, 1802 CHAN_5925_6425_5, 1803 CHAN_5925_6425_7, 1804 CHAN_5925_6425_8, 1805 CHAN_5925_6425_9, 1806 CHAN_5925_6425_10, 1807 CHAN_5945_6425_1, 1808 CHAN_5945_6425_2, 1809 CHAN_5945_6425_3, 1810 CHAN_5945_6425_4, 1811 CHAN_5945_6425_5, 1812 CHAN_5945_6425_6, 1813 CHAN_5945_6425_7, 1814 CHAN_5945_6425_8, 1815 CHAN_5945_6425_9, 1816 CHAN_5945_6425_10, 1817 CHAN_5945_6425_11, 1818 CHAN_6425_6525_1, 1819 CHAN_6425_6525_2, 1820 CHAN_6425_6525_3, 1821 CHAN_6425_6525_4, 1822 CHAN_6425_6525_5, 1823 CHAN_6425_6525_6, 1824 CHAN_6425_6525_7, 1825 CHAN_6425_6525_8, 1826 CHAN_6425_6525_9, 1827 CHAN_6525_6875_1, 1828 CHAN_6525_6875_2, 1829 CHAN_6525_6875_3, 1830 CHAN_6525_6875_4, 1831 CHAN_6525_6875_5, 1832 CHAN_6525_6875_6, 1833 CHAN_6525_6875_7, 1834 CHAN_6525_6875_8, 1835 CHAN_6525_6875_9, 1836 CHAN_6525_6875_10, 1837 CHAN_6525_6875_11, 1838 CHAN_6875_7125_1, 1839 CHAN_6875_7125_2, 1840 CHAN_6875_7125_3, 1841 CHAN_6875_7125_4, 1842 CHAN_6875_7125_5, 1843 CHAN_6875_7125_6, 1844 CHAN_6875_7125_7, 1845 CHAN_6875_7125_8, 1846 }; 1847 1848 /** 1849 * Mapping of 6G reg rules present in the 6G sub domain. 1850 */ 1851 static const struct regulatory_rule_ext reg_rules_6g[] = { 1852 [CHAN_5925_6425_1] = {5925, 6425, 320, 23, REG_MAX_PSD, 1853 REGULATORY_CHAN_INDOOR_ONLY}, 1854 [CHAN_5925_6425_2] = {5925, 6425, 320, 17, -5, 0}, 1855 [CHAN_5925_6425_3] = {5925, 6425, 320, 24, REG_MAX_PSD, 1856 REGULATORY_CHAN_INDOOR_ONLY}, 1857 [CHAN_5925_6425_4] = {5925, 6425, 320, 30, 17, 0}, 1858 [CHAN_5925_6425_5] = {5925, 6425, 320, 30, 5, 1859 REGULATORY_CHAN_INDOOR_ONLY}, 1860 [CHAN_5925_6425_6] = {5925, 6425, 320, 24, -1, 1861 REGULATORY_CHAN_INDOOR_ONLY}, 1862 [CHAN_5925_6425_7] = {5925, 6425, 320, 36, 23, 0}, 1863 [CHAN_5925_6425_8] = {5925, 6425, 320, 30, REG_MAX_PSD, 1864 REGULATORY_CHAN_INDOOR_ONLY}, 1865 [CHAN_5925_6425_9] = {5925, 6425, 320, 14, REG_MAX_PSD, 0}, 1866 [CHAN_5925_6425_10] = {5925, 6425, 320, 17, -1, 0}, 1867 [CHAN_5945_6425_1] = {5945, 6425, 320, 30, 5, 1868 REGULATORY_CHAN_INDOOR_ONLY}, 1869 [CHAN_5945_6425_2] = {5945, 6425, 320, 36, 23, 0}, 1870 [CHAN_5945_6425_3] = {5945, 6425, 320, 30, 17, 0}, 1871 [CHAN_5945_6425_4] = {5945, 6425, 320, 23, 10, 1872 REGULATORY_CHAN_INDOOR_ONLY}, 1873 [CHAN_5945_6425_5] = {5945, 6425, 320, 24, -1, 1874 REGULATORY_CHAN_INDOOR_ONLY}, 1875 [CHAN_5945_6425_6] = {5945, 6425, 320, 14, 1, 0}, 1876 [CHAN_5945_6425_7] = {5945, 6425, 320, 24, 11, 1877 REGULATORY_CHAN_INDOOR_ONLY}, 1878 [CHAN_5945_6425_8] = {5945, 6425, 320, 14, 11, 0}, 1879 [CHAN_5945_6425_9] = {5945, 6425, 160, 63, 2, 1880 REGULATORY_CHAN_INDOOR_ONLY}, 1881 [CHAN_5945_6425_10] = {5945, 6425, 160, 14, 1, 0}, 1882 [CHAN_6425_6525_1] = {6425, 6525, 320, 30, 5, 1883 REGULATORY_CHAN_INDOOR_ONLY}, 1884 [CHAN_6425_6525_2] = {6425, 6525, 320, 24, -1, 1885 REGULATORY_CHAN_INDOOR_ONLY}, 1886 [CHAN_6425_6525_3] = {6425, 6525, 100, 63, 2, 1887 REGULATORY_CHAN_INDOOR_ONLY}, 1888 [CHAN_6425_6525_4] = {6425, 6525, 320, 23, REG_MAX_PSD, 1889 REGULATORY_CHAN_INDOOR_ONLY}, 1890 [CHAN_6425_6525_5] = {6425, 6525, 320, 17, -5, 0}, 1891 [CHAN_6425_6525_6] = {6425, 6525, 320, 36, 23, 0}, 1892 [CHAN_6425_6525_7] = {6425, 6525, 320, 30, REG_MAX_PSD, 1893 REGULATORY_CHAN_INDOOR_ONLY}, 1894 [CHAN_6425_6525_8] = {6425, 6525, 320, 14, REG_MAX_PSD, 0}, 1895 [CHAN_6425_6525_9] = {6425, 6525, 320, 17, -1, 0}, 1896 [CHAN_6525_6875_1] = {6525, 6875, 320, 30, 5, 1897 REGULATORY_CHAN_INDOOR_ONLY}, 1898 [CHAN_6525_6875_2] = {6525, 6865, 160, 36, 23, 0}, 1899 [CHAN_6525_6875_3] = {6525, 6865, 160, 30, 17, 0}, 1900 [CHAN_6525_6875_4] = {6525, 6875, 320, 24, -1, 1901 REGULATORY_CHAN_INDOOR_ONLY}, 1902 [CHAN_6525_6875_5] = {6525, 6875, 160, 63, 2, 1903 REGULATORY_CHAN_INDOOR_ONLY}, 1904 [CHAN_6525_6875_6] = {6525, 6875, 320, 22, REG_MAX_PSD, 1905 REGULATORY_CHAN_INDOOR_ONLY}, 1906 [CHAN_6525_6875_7] = {6525, 6875, 160, 17, -5, 0}, 1907 [CHAN_6525_6875_8] = {6525, 6875, 320, 36, 23, 0}, 1908 [CHAN_6525_6875_9] = {6525, 6875, 320, 30, REG_MAX_PSD, 1909 REGULATORY_CHAN_INDOOR_ONLY}, 1910 [CHAN_6525_6875_10] = {6525, 6875, 320, 14, REG_MAX_PSD, 0}, 1911 [CHAN_6525_6875_11] = {6525, 6875, 320, 17, -1, 0}, 1912 [CHAN_6875_7125_1] = {6875, 7125, 160, 30, 5, 1913 REGULATORY_CHAN_INDOOR_ONLY}, 1914 [CHAN_6875_7125_2] = {6875, 7125, 160, 24, -1, 1915 REGULATORY_CHAN_INDOOR_ONLY}, 1916 [CHAN_6875_7125_3] = {6875, 7125, 160, 63, 2, 1917 REGULATORY_CHAN_INDOOR_ONLY}, 1918 [CHAN_6875_7125_4] = {6875, 7125, 160, 22, REG_MAX_PSD, 1919 REGULATORY_CHAN_INDOOR_ONLY}, 1920 [CHAN_6875_7125_5] = {6875, 7125, 320, 17, -5, 0}, 1921 [CHAN_6875_7125_6] = {6875, 7125, 320, 30, REG_MAX_PSD, 1922 REGULATORY_CHAN_INDOOR_ONLY}, 1923 [CHAN_6875_7125_7] = {6875, 7125, 320, 14, REG_MAX_PSD, 0}, 1924 [CHAN_6875_7125_8] = {6875, 7125, 320, 17, -1, 0}, 1925 }; 1926 1927 /** 1928 * Mapping of 6G sub domain and 6G reg rules. 1929 */ 1930 static const struct sub_6g_regdomain sub_regdomains_6g[] = { 1931 [FCC1_AP_LPI_6G] = {2, 320, 4, {CHAN_5925_6425_5, 1932 CHAN_6425_6525_1, 1933 CHAN_6525_6875_1, 1934 CHAN_6875_7125_1} }, 1935 [FCC1_AP_SP_6G] = {2, 320, 2, {CHAN_5925_6425_7, 1936 CHAN_6525_6875_2} }, 1937 [FCC1_CLI_SP_6G] = {2, 320, 2, {CHAN_5925_6425_4, 1938 CHAN_6525_6875_3} }, 1939 [FCC1_CLI_LPI_DEFAULT_6G] = {2, 320, 4, {CHAN_5925_6425_6, 1940 CHAN_6425_6525_2, 1941 CHAN_6525_6875_4, 1942 CHAN_6875_7125_2} }, 1943 [FCC2_AP_SP_6G] = {2, 320, 3, {CHAN_5925_6425_7, 1944 CHAN_6425_6525_6, 1945 CHAN_6525_6875_8} }, 1946 1947 [ETSI1_AP_LPI_6G] = {2, 320, 1, {CHAN_5945_6425_5} }, 1948 [ETSI1_AP_VLP_6G] = {2, 320, 1, {CHAN_5945_6425_6} }, 1949 [ETSI2_AP_LPI_6G] = {2, 320, 1, {CHAN_5945_6425_7} }, 1950 [ETSI2_AP_VLP_6G] = {2, 320, 1, {CHAN_5945_6425_8} }, 1951 [APL1_AP_LPI_6G] = {2, 160, 4, {CHAN_5945_6425_9, 1952 CHAN_6425_6525_3, 1953 CHAN_6525_6875_5, 1954 CHAN_6875_7125_3} }, 1955 [APL1_AP_VLP_6G] = {2, 160, 1, {CHAN_5945_6425_10} }, 1956 [APL2_AP_LPI_6G] = {2, 320, 4, {CHAN_5925_6425_1, 1957 CHAN_6425_6525_4, 1958 CHAN_6525_6875_6, 1959 CHAN_6875_7125_4} }, 1960 [APL2_AP_VLP_6G] = {2, 320, 4, {CHAN_5925_6425_1, 1961 CHAN_6425_6525_4, 1962 CHAN_6525_6875_6, 1963 CHAN_6875_7125_4} }, 1964 [APL3_AP_VLP_6G] = {2, 320, 4, {CHAN_5925_6425_2, 1965 CHAN_6425_6525_5, 1966 CHAN_6525_6875_7, 1967 CHAN_6875_7125_5} }, 1968 [APL3_AP_LPI_6G] = {2, 320, 1, {CHAN_5925_6425_3} }, 1969 [APL4_AP_LPI_6G] = {2, 320, 4, {CHAN_5925_6425_8, 1970 CHAN_6425_6525_7, 1971 CHAN_6525_6875_9, 1972 CHAN_6875_7125_6} }, 1973 [APL4_AP_VLP_6G] = {2, 320, 4, {CHAN_5925_6425_9, 1974 CHAN_6425_6525_8, 1975 CHAN_6525_6875_10, 1976 CHAN_6875_7125_7} }, 1977 [APL5_AP_VLP_6G] = {2, 320, 4, {CHAN_5925_6425_10, 1978 CHAN_6425_6525_9, 1979 CHAN_6525_6875_11, 1980 CHAN_6875_7125_8} }, 1981 }; 1982 #endif 1983 #ifdef CONFIG_REG_CLIENT 1984 const uint32_t reg_2g_sub_dmn_code[REG_DOMAINS_2G_MAX] = { 1985 [FCCA] = 0x0A10, 1986 [FCCB] = 0x0B90, 1987 [WORLD] = 0x0199, 1988 [MKKA] = 0x0A40, 1989 [MKKC] = 0x0A50, 1990 [ETSIC] = 0x0C30, 1991 [ETSID] = 0x0F30, 1992 [KRRA] = 0x0A60, 1993 [CHNA] = 0x0A80, 1994 }; 1995 1996 const uint32_t reg_5g_sub_dmn_code[REG_DOMAINS_5G_MAX] = { 1997 [NULL1] = 0x0198, 1998 [FCC1] = 0x0110, 1999 [FCC2] = 0x0120, 2000 [FCC3] = 0x0160, 2001 [FCC4] = 0x0165, 2002 [FCC5] = 0x0510, 2003 [FCC6] = 0x0610, 2004 [FCC8] = 0x0810, 2005 [FCC10] = 0x0B10, 2006 [FCC11] = 0x0B20, 2007 [FCC13] = 0x0B60, 2008 [FCC14] = 0x0B70, 2009 [ETSI1] = 0x0130, 2010 [ETSI3] = 0x0330, 2011 [ETSI4] = 0x0430, 2012 [ETSI8] = 0x0830, 2013 [ETSI9] = 0x0930, 2014 [ETSI10] = 0x0D30, 2015 [ETSI11] = 0x0E30, 2016 [ETSI12] = 0x0E38, 2017 [ETSI13] = 0x0E39, 2018 [ETSI14] = 0x0E40, 2019 [ETSI15] = 0x0E41, 2020 [APL1] = 0x0150, 2021 [APL2] = 0x0250, 2022 [APL4] = 0x0450, 2023 [APL6] = 0x0650, 2024 [APL8] = 0x0850, 2025 [APL9] = 0x0950, 2026 [APL10] = 0x1050, 2027 [APL11] = 0x1150, 2028 [APL12] = 0x1160, 2029 [APL13] = 0x1170, 2030 [APL14] = 0x1180, 2031 [APL15] = 0x1190, 2032 [APL16] = 0x1200, 2033 [APL17] = 0x1210, 2034 [APL23] = 0x1280, 2035 [APL20] = 0x1250, 2036 [APL23] = 0x1280, 2037 [MKK3] = 0x0340, 2038 [MKK5] = 0x0540, 2039 [MKK11] = 0x1140, 2040 [MKK16] = 0x1640, 2041 [MKK17] = 0x1650, 2042 }; 2043 #endif 2044 2045 QDF_STATUS reg_get_num_countries(int *num_countries) 2046 { 2047 *num_countries = QDF_ARRAY_SIZE(g_all_countries); 2048 2049 return QDF_STATUS_SUCCESS; 2050 } 2051 2052 QDF_STATUS reg_get_num_reg_dmn_pairs(int *num_reg_dmn) 2053 { 2054 *num_reg_dmn = QDF_ARRAY_SIZE(g_reg_dmn_pairs); 2055 2056 return QDF_STATUS_SUCCESS; 2057 } 2058 2059 bool reg_etsi13_regdmn(uint8_t reg_dmn) 2060 { 2061 return reg_dmn == ETSI13; 2062 } 2063 2064 bool reg_fcc_regdmn(uint8_t reg_dmn) 2065 { 2066 return ((reg_dmn == FCC3) || 2067 (reg_dmn == FCC8) || 2068 (reg_dmn == FCC15) || 2069 (reg_dmn == FCC16)); 2070 } 2071 2072 #ifdef WLAN_REG_PARTIAL_OFFLOAD 2073 QDF_STATUS reg_get_default_country(uint16_t *default_country) 2074 { 2075 *default_country = CTRY_UNITED_STATES; 2076 2077 return QDF_STATUS_SUCCESS; 2078 } 2079 2080 bool reg_en302_502_regdmn(uint16_t regdmn) 2081 { 2082 return ((regdmn == ETSI11_WORLD) || 2083 (regdmn == ETSI12_WORLD) || 2084 (regdmn == ETSI14_WORLD) || 2085 (regdmn == ETSI15_WORLD)); 2086 } 2087 #endif 2088