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