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