xref: /wlan-dirver/qca-wifi-host-cmn/umac/regulatory/core/src/reg_db.c (revision 97f44cd39e4ff816eaa1710279d28cf6b9e65ad9)
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