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