1/*- 2 * SPDX-License-Identifier: ISC 3 * 4 * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting 5 * Copyright (c) 2005-2006 Atheros Communications, Inc. 6 * All rights reserved. 7 * 8 * Permission to use, copy, modify, and/or distribute this software for any 9 * purpose with or without fee is hereby granted, provided that the above 10 * copyright notice and this permission notice appear in all copies. 11 * 12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 13 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 14 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 15 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 16 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 17 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 18 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 19 * 20 * $FreeBSD: releng/12.0/sys/dev/ath/ath_hal/ah_regdomain/ah_rd_domains.h 326695 2017-12-08 15:57:29Z pfg $ 21 */ 22 23#ifndef __AH_REGDOMAIN_DOMAINS_H__ 24#define __AH_REGDOMAIN_DOMAINS_H__ 25 26/* 27 * BMLEN defines the size of the bitmask used to hold frequency 28 * band specifications. Note this must agree with the BM macro 29 * definition that's used to setup initializers. See also further 30 * comments below. 31 */ 32/* BMLEN is now defined in ah_regdomain.h */ 33#define W0(_a) \ 34 (((_a) >= 0 && (_a) < 64 ? (((uint64_t) 1)<<(_a)) : (uint64_t) 0)) 35#define W1(_a) \ 36 (((_a) > 63 && (_a) < 128 ? (((uint64_t) 1)<<((_a)-64)) : (uint64_t) 0)) 37#define BM1(_fa) { W0(_fa), W1(_fa) } 38#define BM2(_fa, _fb) { W0(_fa) | W0(_fb), W1(_fa) | W1(_fb) } 39#define BM3(_fa, _fb, _fc) \ 40 { W0(_fa) | W0(_fb) | W0(_fc), W1(_fa) | W1(_fb) | W1(_fc) } 41#define BM4(_fa, _fb, _fc, _fd) \ 42 { W0(_fa) | W0(_fb) | W0(_fc) | W0(_fd), \ 43 W1(_fa) | W1(_fb) | W1(_fc) | W1(_fd) } 44#define BM5(_fa, _fb, _fc, _fd, _fe) \ 45 { W0(_fa) | W0(_fb) | W0(_fc) | W0(_fd) | W0(_fe), \ 46 W1(_fa) | W1(_fb) | W1(_fc) | W1(_fd) | W1(_fe) } 47#define BM6(_fa, _fb, _fc, _fd, _fe, _ff) \ 48 { W0(_fa) | W0(_fb) | W0(_fc) | W0(_fd) | W0(_fe) | W0(_ff), \ 49 W1(_fa) | W1(_fb) | W1(_fc) | W1(_fd) | W1(_fe) | W1(_ff) } 50#define BM7(_fa, _fb, _fc, _fd, _fe, _ff, _fg) \ 51 { W0(_fa) | W0(_fb) | W0(_fc) | W0(_fd) | W0(_fe) | W0(_ff) | \ 52 W0(_fg),\ 53 W1(_fa) | W1(_fb) | W1(_fc) | W1(_fd) | W1(_fe) | W1(_ff) | \ 54 W1(_fg) } 55#define BM8(_fa, _fb, _fc, _fd, _fe, _ff, _fg, _fh) \ 56 { W0(_fa) | W0(_fb) | W0(_fc) | W0(_fd) | W0(_fe) | W0(_ff) | \ 57 W0(_fg) | W0(_fh) , \ 58 W1(_fa) | W1(_fb) | W1(_fc) | W1(_fd) | W1(_fe) | W1(_ff) | \ 59 W1(_fg) | W1(_fh) } 60#define BM9(_fa, _fb, _fc, _fd, _fe, _ff, _fg, _fh, _fi) \ 61 { W0(_fa) | W0(_fb) | W0(_fc) | W0(_fd) | W0(_fe) | W0(_ff) | \ 62 W0(_fg) | W0(_fh) | W0(_fi) , \ 63 W1(_fa) | W1(_fb) | W1(_fc) | W1(_fd) | W1(_fe) | W1(_ff) | \ 64 W1(_fg) | W1(_fh) | W1(_fi) } 65 66static REG_DOMAIN regDomains[] = { 67 {.regDmnEnum = DEBUG_REG_DMN, 68 .conformanceTestLimit = FCC, 69 .dfsMask = DFS_FCC3, 70 .chan11a = BM4(F1_4950_4980, 71 F1_5120_5240, 72 F1_5260_5700, 73 F1_5745_5825), 74 .chan11a_half = BM4(F1_4945_4985, 75 F2_5120_5240, 76 F2_5260_5700, 77 F7_5745_5825), 78 .chan11a_quarter = BM4(F1_4942_4987, 79 F3_5120_5240, 80 F3_5260_5700, 81 F8_5745_5825), 82 .chan11a_turbo = BM8(T1_5130_5210, 83 T1_5250_5330, 84 T1_5370_5490, 85 T1_5530_5650, 86 T1_5150_5190, 87 T1_5230_5310, 88 T1_5350_5470, 89 T1_5510_5670), 90 .chan11a_dyn_turbo = BM4(T1_5200_5240, 91 T1_5280_5280, 92 T1_5540_5660, 93 T1_5765_5805), 94 .chan11b = BM4(F1_2312_2372, 95 F1_2412_2472, 96 F1_2484_2484, 97 F1_2512_2732), 98 .chan11g = BM3(G1_2312_2372, G1_2412_2472, G1_2512_2732), 99 .chan11g_turbo = BM3(T1_2312_2372, T1_2437_2437, T1_2512_2732), 100 .chan11g_half = BM3(G2_2312_2372, G4_2412_2472, G2_2512_2732), 101 .chan11g_quarter = BM3(G3_2312_2372, G5_2412_2472, G3_2512_2732), 102 }, 103 104 {.regDmnEnum = APL1, 105 .conformanceTestLimit = FCC, 106 .chan11a = BM1(F4_5745_5825), 107 }, 108 109 {.regDmnEnum = APL2, 110 .conformanceTestLimit = FCC, 111 .chan11a = BM1(F1_5745_5805), 112 }, 113 114 {.regDmnEnum = APL3, 115 .conformanceTestLimit = FCC, 116 .chan11a = BM2(F1_5280_5320, F2_5745_5805), 117 }, 118 119 {.regDmnEnum = APL4, 120 .conformanceTestLimit = FCC, 121 .chan11a = BM2(F4_5180_5240, F3_5745_5825), 122 }, 123 124 {.regDmnEnum = APL5, 125 .conformanceTestLimit = FCC, 126 .chan11a = BM1(F2_5745_5825), 127 }, 128 129 {.regDmnEnum = APL6, 130 .conformanceTestLimit = ETSI, 131 .dfsMask = DFS_ETSI, 132 .pscan = PSCAN_FCC_T | PSCAN_FCC, 133 .chan11a = BM3(F4_5180_5240, F2_5260_5320, F3_5745_5825), 134 .chan11a_turbo = BM3(T2_5210_5210, T1_5250_5290, T1_5760_5800), 135 }, 136 137 {.regDmnEnum = APL8, 138 .conformanceTestLimit = ETSI, 139 .flags = DISALLOW_ADHOC_11A|DISALLOW_ADHOC_11A_TURB, 140 .chan11a = BM2(F6_5260_5320, F4_5745_5825), 141 }, 142 143 {.regDmnEnum = APL9, 144 .conformanceTestLimit = ETSI, 145 .dfsMask = DFS_ETSI, 146 .pscan = PSCAN_ETSI, 147 .flags = DISALLOW_ADHOC_11A|DISALLOW_ADHOC_11A_TURB, 148 .chan11a = BM3(F1_5180_5320, F1_5500_5620, F3_5745_5805), 149 }, 150 151 {.regDmnEnum = ETSI1, 152 .conformanceTestLimit = ETSI, 153 .dfsMask = DFS_ETSI, 154 .pscan = PSCAN_ETSI, 155 .flags = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, 156 .chan11a = BM3(W2_5180_5240, F2_5260_5320, F2_5500_5700), 157 }, 158 159 {.regDmnEnum = ETSI2, 160 .conformanceTestLimit = ETSI, 161 .dfsMask = DFS_ETSI, 162 .pscan = PSCAN_ETSI, 163 .flags = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, 164 .chan11a = BM1(F3_5180_5240), 165 }, 166 167 {.regDmnEnum = ETSI3, 168 .conformanceTestLimit = ETSI, 169 .dfsMask = DFS_ETSI, 170 .pscan = PSCAN_ETSI, 171 .flags = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, 172 .chan11a = BM2(W2_5180_5240, F2_5260_5320), 173 }, 174 175 {.regDmnEnum = ETSI4, 176 .conformanceTestLimit = ETSI, 177 .dfsMask = DFS_ETSI, 178 .pscan = PSCAN_ETSI, 179 .flags = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, 180 .chan11a = BM2(F3_5180_5240, F1_5260_5320), 181 }, 182 183 {.regDmnEnum = ETSI5, 184 .conformanceTestLimit = ETSI, 185 .dfsMask = DFS_ETSI, 186 .pscan = PSCAN_ETSI, 187 .flags = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, 188 .chan11a = BM1(F1_5180_5240), 189 }, 190 191 {.regDmnEnum = ETSI6, 192 .conformanceTestLimit = ETSI, 193 .dfsMask = DFS_ETSI, 194 .pscan = PSCAN_ETSI, 195 .flags = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, 196 .chan11a = BM3(F5_5180_5240, F1_5260_5280, F3_5500_5700), 197 }, 198 199 {.regDmnEnum = FCC1, 200 .conformanceTestLimit = FCC, 201 .chan11a = BM3(F2_5180_5240, F4_5260_5320, F5_5745_5825), 202 .chan11a_turbo = BM3(T1_5210_5210, T2_5250_5290, T2_5760_5800), 203 .chan11a_dyn_turbo = BM3(T1_5200_5240, T1_5280_5280, T1_5765_5805), 204 }, 205 206 {.regDmnEnum = FCC2, 207 .conformanceTestLimit = FCC, 208 .chan11a = BM3(F6_5180_5240, F5_5260_5320, F6_5745_5825), 209 .chan11a_dyn_turbo = BM3(T2_5200_5240, T1_5280_5280, T1_5765_5805), 210 }, 211 212 {.regDmnEnum = FCC3, 213 .conformanceTestLimit = FCC, 214 .dfsMask = DFS_FCC3, 215 .pscan = PSCAN_FCC | PSCAN_FCC_T, 216 .chan11a = BM4(F2_5180_5240, 217 F3_5260_5320, 218 F1_5500_5700, 219 F5_5745_5825), 220 .chan11a_turbo = BM4(T1_5210_5210, 221 T1_5250_5250, 222 T1_5290_5290, 223 T2_5760_5800), 224 .chan11a_dyn_turbo = BM3(T1_5200_5240, T2_5280_5280, T1_5540_5660), 225 }, 226 227 {.regDmnEnum = FCC4, 228 .conformanceTestLimit = FCC, 229 .dfsMask = DFS_FCC3, 230 .pscan = PSCAN_FCC | PSCAN_FCC_T, 231 .chan11a = BM1(F1_4950_4980), 232 .chan11a_half = BM1(F1_4945_4985), 233 .chan11a_quarter = BM1(F1_4942_4987), 234 }, 235 236 /* FCC1 w/ 1/2 and 1/4 width channels */ 237 {.regDmnEnum = FCC5, 238 .conformanceTestLimit = FCC, 239 .chan11a = BM3(F2_5180_5240, F4_5260_5320, F5_5745_5825), 240 .chan11a_turbo = BM3(T1_5210_5210, T2_5250_5290, T2_5760_5800), 241 .chan11a_dyn_turbo = BM3(T1_5200_5240, T1_5280_5280, T1_5765_5805), 242 .chan11a_half = BM3(F7_5180_5240, F7_5260_5320, F9_5745_5825), 243 .chan11a_quarter = BM3(F8_5180_5240, F8_5260_5320,F10_5745_5825), 244 }, 245 246 {.regDmnEnum = FCC6, 247 .conformanceTestLimit = FCC, 248 .chan11a = BM5(F8_5180_5240, F5_5260_5320, F1_5500_5580, F2_5660_5720, F6_5745_5825), 249 .chan11a_turbo = BM3(T7_5210_5210, T3_5250_5290, T2_5760_5800), 250 .chan11a_dyn_turbo = BM4(T7_5200_5200, T1_5240_5240, T2_5280_5280, T1_5765_5805), 251#if 0 252 .chan11a_half = BM3(F7_5180_5240, F7_5260_5320, F9_5745_5825), 253 .chan11a_quarter = BM3(F8_5180_5240, F8_5260_5320,F10_5745_5825), 254#endif 255 }, 256 257 {.regDmnEnum = MKK1, 258 .conformanceTestLimit = MKK, 259 .pscan = PSCAN_MKK1, 260 .flags = DISALLOW_ADHOC_11A_TURB, 261 .chan11a = BM1(F1_5170_5230), 262 }, 263 264 {.regDmnEnum = MKK2, 265 .conformanceTestLimit = MKK, 266 .pscan = PSCAN_MKK2, 267 .flags = DISALLOW_ADHOC_11A_TURB, 268 .chan11a = BM3(F1_4920_4980, F1_5040_5080, F1_5170_5230), 269 .chan11a_half = BM4(F1_4915_4925, 270 F1_4935_4945, 271 F1_5035_5040, 272 F1_5055_5055), 273 }, 274 275 /* UNI-1 even */ 276 {.regDmnEnum = MKK3, 277 .conformanceTestLimit = MKK, 278 .pscan = PSCAN_MKK3, 279 .flags = DISALLOW_ADHOC_11A_TURB, 280 .chan11a = BM1(F4_5180_5240), 281 }, 282 283 /* UNI-1 even + UNI-2 */ 284 {.regDmnEnum = MKK4, 285 .conformanceTestLimit = MKK, 286 .dfsMask = DFS_MKK4, 287 .pscan = PSCAN_MKK3, 288 .flags = DISALLOW_ADHOC_11A_TURB, 289 .chan11a = BM2(F4_5180_5240, F2_5260_5320), 290 }, 291 292 /* UNI-1 even + UNI-2 + mid-band */ 293 {.regDmnEnum = MKK5, 294 .conformanceTestLimit = MKK, 295 .dfsMask = DFS_MKK4, 296 .pscan = PSCAN_MKK3, 297 .flags = DISALLOW_ADHOC_11A_TURB, 298 .chan11a = BM3(F4_5180_5240, F2_5260_5320, F4_5500_5700), 299 }, 300 301 /* UNI-1 odd + even */ 302 {.regDmnEnum = MKK6, 303 .conformanceTestLimit = MKK, 304 .pscan = PSCAN_MKK1, 305 .flags = DISALLOW_ADHOC_11A_TURB, 306 .chan11a = BM2(F2_5170_5230, F4_5180_5240), 307 }, 308 309 /* UNI-1 odd + UNI-1 even + UNI-2 */ 310 {.regDmnEnum = MKK7, 311 .conformanceTestLimit = MKK, 312 .dfsMask = DFS_MKK4, 313 .pscan = PSCAN_MKK1 | PSCAN_MKK3, 314 .flags = DISALLOW_ADHOC_11A_TURB, 315 .chan11a = BM3(F1_5170_5230, F4_5180_5240, F2_5260_5320), 316 }, 317 318 /* UNI-1 odd + UNI-1 even + UNI-2 + mid-band */ 319 {.regDmnEnum = MKK8, 320 .conformanceTestLimit = MKK, 321 .dfsMask = DFS_MKK4, 322 .pscan = PSCAN_MKK1 | PSCAN_MKK3, 323 .flags = DISALLOW_ADHOC_11A_TURB, 324 .chan11a = BM4(F1_5170_5230, 325 F4_5180_5240, 326 F2_5260_5320, 327 F4_5500_5700), 328 }, 329 330 /* UNI-1 even + 4.9 GHZ */ 331 {.regDmnEnum = MKK9, 332 .conformanceTestLimit = MKK, 333 .pscan = PSCAN_MKK3, 334 .flags = DISALLOW_ADHOC_11A_TURB, 335 .chan11a = BM7(F1_4915_4925, 336 F1_4935_4945, 337 F1_4920_4980, 338 F1_5035_5040, 339 F1_5055_5055, 340 F1_5040_5080, 341 F4_5180_5240), 342 }, 343 344 /* UNI-1 even + UNI-2 + 4.9 GHZ */ 345 {.regDmnEnum = MKK10, 346 .conformanceTestLimit = MKK, 347 .dfsMask = DFS_MKK4, 348 .pscan = PSCAN_MKK3, 349 .flags = DISALLOW_ADHOC_11A_TURB, 350 .chan11a = BM8(F1_4915_4925, 351 F1_4935_4945, 352 F1_4920_4980, 353 F1_5035_5040, 354 F1_5055_5055, 355 F1_5040_5080, 356 F4_5180_5240, 357 F2_5260_5320), 358 }, 359 360 /* Defined here to use when 2G channels are authorised for country K2 */ 361 {.regDmnEnum = APLD, 362 .conformanceTestLimit = NO_CTL, 363 .chan11b = BM2(F2_2312_2372,F2_2412_2472), 364 .chan11g = BM2(G2_2312_2372,G2_2412_2472), 365 }, 366 367 {.regDmnEnum = ETSIA, 368 .conformanceTestLimit = NO_CTL, 369 .pscan = PSCAN_ETSIA, 370 .flags = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, 371 .chan11b = BM1(F1_2457_2472), 372 .chan11g = BM1(G1_2457_2472), 373 .chan11g_turbo = BM1(T2_2437_2437) 374 }, 375 376 {.regDmnEnum = ETSIB, 377 .conformanceTestLimit = ETSI, 378 .pscan = PSCAN_ETSIB, 379 .flags = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, 380 .chan11b = BM1(F1_2432_2442), 381 .chan11g = BM1(G1_2432_2442), 382 .chan11g_turbo = BM1(T2_2437_2437) 383 }, 384 385 {.regDmnEnum = ETSIC, 386 .conformanceTestLimit = ETSI, 387 .pscan = PSCAN_ETSIC, 388 .flags = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, 389 .chan11b = BM1(F3_2412_2472), 390 .chan11g = BM1(G3_2412_2472), 391 .chan11g_turbo = BM1(T2_2437_2437) 392 }, 393 394 {.regDmnEnum = FCCA, 395 .conformanceTestLimit = FCC, 396 .chan11b = BM1(F1_2412_2462), 397 .chan11g = BM1(G1_2412_2462), 398 .chan11g_turbo = BM1(T2_2437_2437), 399 }, 400 401 /* FCCA w/ 1/2 and 1/4 width channels */ 402 {.regDmnEnum = FCCB, 403 .conformanceTestLimit = FCC, 404 .chan11b = BM1(F1_2412_2462), 405 .chan11g = BM1(G1_2412_2462), 406 .chan11g_turbo = BM1(T2_2437_2437), 407 .chan11g_half = BM1(G3_2412_2462), 408 .chan11g_quarter = BM1(G4_2412_2462), 409 }, 410 411 {.regDmnEnum = MKKA, 412 .conformanceTestLimit = MKK, 413 .pscan = PSCAN_MKKA | PSCAN_MKKA_G 414 | PSCAN_MKKA1 | PSCAN_MKKA1_G 415 | PSCAN_MKKA2 | PSCAN_MKKA2_G, 416 .flags = DISALLOW_ADHOC_11A_TURB, 417 .chan11b = BM3(F2_2412_2462, F1_2467_2472, F2_2484_2484), 418 .chan11g = BM2(G2_2412_2462, G1_2467_2472), 419 .chan11g_turbo = BM1(T2_2437_2437) 420 }, 421 422 {.regDmnEnum = MKKC, 423 .conformanceTestLimit = MKK, 424 .chan11b = BM1(F2_2412_2472), 425 .chan11g = BM1(G2_2412_2472), 426 .chan11g_turbo = BM1(T2_2437_2437) 427 }, 428 429 {.regDmnEnum = WORLD, 430 .conformanceTestLimit = ETSI, 431 .chan11b = BM1(F2_2412_2472), 432 .chan11g = BM1(G2_2412_2472), 433 .chan11g_turbo = BM1(T2_2437_2437) 434 }, 435 436 {.regDmnEnum = WOR0_WORLD, 437 .conformanceTestLimit = NO_CTL, 438 .dfsMask = DFS_FCC3 | DFS_ETSI, 439 .pscan = PSCAN_WWR, 440 .flags = ADHOC_PER_11D, 441 .chan11a = BM5(W1_5260_5320, 442 W1_5180_5240, 443 W1_5170_5230, 444 W1_5745_5825, 445 W1_5500_5700), 446 .chan11a_turbo = BM3(WT1_5210_5250, 447 WT1_5290_5290, 448 WT1_5760_5800), 449 .chan11b = BM8(W1_2412_2412, 450 W1_2437_2442, 451 W1_2462_2462, 452 W1_2472_2472, 453 W1_2417_2432, 454 W1_2447_2457, 455 W1_2467_2467, 456 W1_2484_2484), 457 .chan11g = BM7(WG1_2412_2412, 458 WG1_2437_2442, 459 WG1_2462_2462, 460 WG1_2472_2472, 461 WG1_2417_2432, 462 WG1_2447_2457, 463 WG1_2467_2467), 464 .chan11g_turbo = BM1(T3_2437_2437) 465 }, 466 467 {.regDmnEnum = WOR01_WORLD, 468 .conformanceTestLimit = NO_CTL, 469 .dfsMask = DFS_FCC3 | DFS_ETSI, 470 .pscan = PSCAN_WWR, 471 .flags = ADHOC_PER_11D, 472 .chan11a = BM5(W1_5260_5320, 473 W1_5180_5240, 474 W1_5170_5230, 475 W1_5745_5825, 476 W1_5500_5700), 477 .chan11a_turbo = BM3(WT1_5210_5250, 478 WT1_5290_5290, 479 WT1_5760_5800), 480 .chan11b = BM5(W1_2412_2412, 481 W1_2437_2442, 482 W1_2462_2462, 483 W1_2417_2432, 484 W1_2447_2457), 485 .chan11g = BM5(WG1_2412_2412, 486 WG1_2437_2442, 487 WG1_2462_2462, 488 WG1_2417_2432, 489 WG1_2447_2457), 490 .chan11g_turbo = BM1(T3_2437_2437)}, 491 492 {.regDmnEnum = WOR02_WORLD, 493 .conformanceTestLimit = NO_CTL, 494 .dfsMask = DFS_FCC3 | DFS_ETSI, 495 .pscan = PSCAN_WWR, 496 .flags = ADHOC_PER_11D, 497 .chan11a = BM5(W1_5260_5320, 498 W1_5180_5240, 499 W1_5170_5230, 500 W1_5745_5825, 501 W1_5500_5700), 502 .chan11a_turbo = BM3(WT1_5210_5250, 503 WT1_5290_5290, 504 WT1_5760_5800), 505 .chan11b = BM7(W1_2412_2412, 506 W1_2437_2442, 507 W1_2462_2462, 508 W1_2472_2472, 509 W1_2417_2432, 510 W1_2447_2457, 511 W1_2467_2467), 512 .chan11g = BM7(WG1_2412_2412, 513 WG1_2437_2442, 514 WG1_2462_2462, 515 WG1_2472_2472, 516 WG1_2417_2432, 517 WG1_2447_2457, 518 WG1_2467_2467), 519 .chan11g_turbo = BM1(T3_2437_2437)}, 520 521 {.regDmnEnum = EU1_WORLD, 522 .conformanceTestLimit = NO_CTL, 523 .dfsMask = DFS_FCC3 | DFS_ETSI, 524 .pscan = PSCAN_WWR, 525 .flags = ADHOC_PER_11D, 526 .chan11a = BM5(W1_5260_5320, 527 W1_5180_5240, 528 W1_5170_5230, 529 W1_5745_5825, 530 W1_5500_5700), 531 .chan11a_turbo = BM3(WT1_5210_5250, 532 WT1_5290_5290, 533 WT1_5760_5800), 534 .chan11b = BM7(W1_2412_2412, 535 W1_2437_2442, 536 W1_2462_2462, 537 W2_2472_2472, 538 W1_2417_2432, 539 W1_2447_2457, 540 W2_2467_2467), 541 .chan11g = BM7(WG1_2412_2412, 542 WG1_2437_2442, 543 WG1_2462_2462, 544 WG2_2472_2472, 545 WG1_2417_2432, 546 WG1_2447_2457, 547 WG2_2467_2467), 548 .chan11g_turbo = BM1(T3_2437_2437)}, 549 550 {.regDmnEnum = WOR1_WORLD, 551 .conformanceTestLimit = NO_CTL, 552 .dfsMask = DFS_FCC3 | DFS_ETSI, 553 .pscan = PSCAN_WWR, 554 .flags = DISALLOW_ADHOC_11A, 555 .chan11a = BM5(W1_5260_5320, 556 W1_5180_5240, 557 W1_5170_5230, 558 W1_5745_5825, 559 W1_5500_5700), 560 .chan11b = BM8(W1_2412_2412, 561 W1_2437_2442, 562 W1_2462_2462, 563 W1_2472_2472, 564 W1_2417_2432, 565 W1_2447_2457, 566 W1_2467_2467, 567 W1_2484_2484), 568 .chan11g = BM7(WG1_2412_2412, 569 WG1_2437_2442, 570 WG1_2462_2462, 571 WG1_2472_2472, 572 WG1_2417_2432, 573 WG1_2447_2457, 574 WG1_2467_2467), 575 .chan11g_turbo = BM1(T3_2437_2437) 576 }, 577 578 {.regDmnEnum = WOR2_WORLD, 579 .conformanceTestLimit = NO_CTL, 580 .dfsMask = DFS_FCC3 | DFS_ETSI, 581 .pscan = PSCAN_WWR, 582 .flags = DISALLOW_ADHOC_11A, 583 .chan11a = BM5(W1_5260_5320, 584 W1_5180_5240, 585 W1_5170_5230, 586 W1_5745_5825, 587 W1_5500_5700), 588 .chan11a_turbo = BM3(WT1_5210_5250, 589 WT1_5290_5290, 590 WT1_5760_5800), 591 .chan11b = BM8(W1_2412_2412, 592 W1_2437_2442, 593 W1_2462_2462, 594 W1_2472_2472, 595 W1_2417_2432, 596 W1_2447_2457, 597 W1_2467_2467, 598 W1_2484_2484), 599 .chan11g = BM7(WG1_2412_2412, 600 WG1_2437_2442, 601 WG1_2462_2462, 602 WG1_2472_2472, 603 WG1_2417_2432, 604 WG1_2447_2457, 605 WG1_2467_2467), 606 .chan11g_turbo = BM1(T3_2437_2437)}, 607 608 {.regDmnEnum = WOR3_WORLD, 609 .conformanceTestLimit = NO_CTL, 610 .dfsMask = DFS_FCC3 | DFS_ETSI, 611 .pscan = PSCAN_WWR, 612 .flags = ADHOC_PER_11D, 613 .chan11a = BM4(W1_5260_5320, 614 W1_5180_5240, 615 W1_5170_5230, 616 W1_5745_5825), 617 .chan11a_turbo = BM3(WT1_5210_5250, 618 WT1_5290_5290, 619 WT1_5760_5800), 620 .chan11b = BM7(W1_2412_2412, 621 W1_2437_2442, 622 W1_2462_2462, 623 W1_2472_2472, 624 W1_2417_2432, 625 W1_2447_2457, 626 W1_2467_2467), 627 .chan11g = BM7(WG1_2412_2412, 628 WG1_2437_2442, 629 WG1_2462_2462, 630 WG1_2472_2472, 631 WG1_2417_2432, 632 WG1_2447_2457, 633 WG1_2467_2467), 634 .chan11g_turbo = BM1(T3_2437_2437)}, 635 636 {.regDmnEnum = WOR4_WORLD, 637 .conformanceTestLimit = NO_CTL, 638 .dfsMask = DFS_FCC3 | DFS_ETSI, 639 .pscan = PSCAN_WWR, 640 .flags = DISALLOW_ADHOC_11A, 641 .chan11a = BM4(W2_5260_5320, 642 W2_5180_5240, 643 F2_5745_5805, 644 W2_5825_5825), 645 .chan11a_turbo = BM3(WT1_5210_5250, 646 WT1_5290_5290, 647 WT1_5760_5800), 648 .chan11b = BM5(W1_2412_2412, 649 W1_2437_2442, 650 W1_2462_2462, 651 W1_2417_2432, 652 W1_2447_2457), 653 .chan11g = BM5(WG1_2412_2412, 654 WG1_2437_2442, 655 WG1_2462_2462, 656 WG1_2417_2432, 657 WG1_2447_2457), 658 .chan11g_turbo = BM1(T3_2437_2437)}, 659 660 {.regDmnEnum = WOR5_ETSIC, 661 .conformanceTestLimit = NO_CTL, 662 .dfsMask = DFS_FCC3 | DFS_ETSI, 663 .pscan = PSCAN_WWR, 664 .flags = DISALLOW_ADHOC_11A, 665 .chan11a = BM3(W1_5260_5320, W2_5180_5240, F6_5745_5825), 666 .chan11b = BM7(W1_2412_2412, 667 W1_2437_2442, 668 W1_2462_2462, 669 W2_2472_2472, 670 W1_2417_2432, 671 W1_2447_2457, 672 W2_2467_2467), 673 .chan11g = BM7(WG1_2412_2412, 674 WG1_2437_2442, 675 WG1_2462_2462, 676 WG2_2472_2472, 677 WG1_2417_2432, 678 WG1_2447_2457, 679 WG2_2467_2467), 680 .chan11g_turbo = BM1(T3_2437_2437)}, 681 682 {.regDmnEnum = WOR9_WORLD, 683 .conformanceTestLimit = NO_CTL, 684 .dfsMask = DFS_FCC3 | DFS_ETSI, 685 .pscan = PSCAN_WWR, 686 .flags = DISALLOW_ADHOC_11A, 687 .chan11a = BM4(W1_5260_5320, 688 W1_5180_5240, 689 W1_5745_5825, 690 W1_5500_5700), 691 .chan11a_turbo = BM3(WT1_5210_5250, 692 WT1_5290_5290, 693 WT1_5760_5800), 694 .chan11b = BM5(W1_2412_2412, 695 W1_2437_2442, 696 W1_2462_2462, 697 W1_2417_2432, 698 W1_2447_2457), 699 .chan11g = BM5(WG1_2412_2412, 700 WG1_2437_2442, 701 WG1_2462_2462, 702 WG1_2417_2432, 703 WG1_2447_2457), 704 .chan11g_turbo = BM1(T3_2437_2437)}, 705 706 {.regDmnEnum = WORA_WORLD, 707 .conformanceTestLimit = NO_CTL, 708 .dfsMask = DFS_FCC3 | DFS_ETSI, 709 .pscan = PSCAN_WWR, 710 .flags = DISALLOW_ADHOC_11A, 711 .chan11a = BM4(W1_5260_5320, 712 W1_5180_5240, 713 W1_5745_5825, 714 W1_5500_5700), 715 .chan11b = BM7(W1_2412_2412, 716 W1_2437_2442, 717 W1_2462_2462, 718 W1_2472_2472, 719 W1_2417_2432, 720 W1_2447_2457, 721 W1_2467_2467), 722 .chan11g = BM7(WG1_2412_2412, 723 WG1_2437_2442, 724 WG1_2462_2462, 725 WG1_2472_2472, 726 WG1_2417_2432, 727 WG1_2447_2457, 728 WG1_2467_2467), 729 .chan11g_turbo = BM1(T3_2437_2437)}, 730 731 {.regDmnEnum = WORB_WORLD, 732 .conformanceTestLimit = NO_CTL, 733 .dfsMask = DFS_FCC3 | DFS_ETSI, 734 .pscan = PSCAN_WWR, 735 .flags = DISALLOW_ADHOC_11A, 736 .chan11a = BM4(W1_5260_5320, 737 W1_5180_5240, 738 W1_5745_5825, 739 W1_5500_5700), 740 .chan11b = BM7(W1_2412_2412, 741 W1_2437_2442, 742 W1_2462_2462, 743 W1_2472_2472, 744 W1_2417_2432, 745 W1_2447_2457, 746 W1_2467_2467), 747 .chan11g = BM7(WG1_2412_2412, 748 WG1_2437_2442, 749 WG1_2462_2462, 750 WG1_2472_2472, 751 WG1_2417_2432, 752 WG1_2447_2457, 753 WG1_2467_2467), 754 .chan11g_turbo = BM1(T3_2437_2437)}, 755 756 {.regDmnEnum = WORC_WORLD, 757 .conformanceTestLimit = NO_CTL, 758 .dfsMask = DFS_FCC3 | DFS_ETSI, 759 .pscan = PSCAN_WWR, 760 .flags = ADHOC_PER_11D, 761 .chan11a = BM4(W1_5260_5320, 762 W1_5180_5240, 763 W1_5745_5825, 764 W1_5500_5700), 765 .chan11b = BM7(W1_2412_2412, 766 W1_2437_2442, 767 W1_2462_2462, 768 W1_2472_2472, 769 W1_2417_2432, 770 W1_2447_2457, 771 W1_2467_2467), 772 .chan11g = BM7(WG1_2412_2412, 773 WG1_2437_2442, 774 WG1_2462_2462, 775 WG1_2472_2472, 776 WG1_2417_2432, 777 WG1_2447_2457, 778 WG1_2467_2467), 779 .chan11g_turbo = BM1(T3_2437_2437)}, 780 781 {.regDmnEnum = NULL1, 782 .conformanceTestLimit = NO_CTL, 783 } 784}; 785 786#endif 787