1219442Sadrian/* 2219442Sadrian * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting 3219442Sadrian * Copyright (c) 2005-2006 Atheros Communications, Inc. 4219442Sadrian * All rights reserved. 5219442Sadrian * 6219442Sadrian * Permission to use, copy, modify, and/or distribute this software for any 7219442Sadrian * purpose with or without fee is hereby granted, provided that the above 8219442Sadrian * copyright notice and this permission notice appear in all copies. 9219442Sadrian * 10219442Sadrian * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11219442Sadrian * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12219442Sadrian * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13219442Sadrian * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14219442Sadrian * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15219442Sadrian * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16219442Sadrian * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17219442Sadrian * 18219442Sadrian * $FreeBSD$ 19219442Sadrian */ 20219442Sadrian 21219442Sadrian#ifndef __AH_REGDOMAIN_DOMAINS_H__ 22219442Sadrian#define __AH_REGDOMAIN_DOMAINS_H__ 23219442Sadrian 24219442Sadrian/* 25219442Sadrian * BMLEN defines the size of the bitmask used to hold frequency 26219442Sadrian * band specifications. Note this must agree with the BM macro 27219442Sadrian * definition that's used to setup initializers. See also further 28219442Sadrian * comments below. 29219442Sadrian */ 30219442Sadrian/* BMLEN is now defined in ah_regdomain.h */ 31219442Sadrian#define W0(_a) \ 32219442Sadrian (((_a) >= 0 && (_a) < 64 ? (((uint64_t) 1)<<(_a)) : (uint64_t) 0)) 33219442Sadrian#define W1(_a) \ 34219442Sadrian (((_a) > 63 && (_a) < 128 ? (((uint64_t) 1)<<((_a)-64)) : (uint64_t) 0)) 35219442Sadrian#define BM1(_fa) { W0(_fa), W1(_fa) } 36219442Sadrian#define BM2(_fa, _fb) { W0(_fa) | W0(_fb), W1(_fa) | W1(_fb) } 37219442Sadrian#define BM3(_fa, _fb, _fc) \ 38219442Sadrian { W0(_fa) | W0(_fb) | W0(_fc), W1(_fa) | W1(_fb) | W1(_fc) } 39219442Sadrian#define BM4(_fa, _fb, _fc, _fd) \ 40219442Sadrian { W0(_fa) | W0(_fb) | W0(_fc) | W0(_fd), \ 41219442Sadrian W1(_fa) | W1(_fb) | W1(_fc) | W1(_fd) } 42219442Sadrian#define BM5(_fa, _fb, _fc, _fd, _fe) \ 43219442Sadrian { W0(_fa) | W0(_fb) | W0(_fc) | W0(_fd) | W0(_fe), \ 44219442Sadrian W1(_fa) | W1(_fb) | W1(_fc) | W1(_fd) | W1(_fe) } 45219442Sadrian#define BM6(_fa, _fb, _fc, _fd, _fe, _ff) \ 46219442Sadrian { W0(_fa) | W0(_fb) | W0(_fc) | W0(_fd) | W0(_fe) | W0(_ff), \ 47219442Sadrian W1(_fa) | W1(_fb) | W1(_fc) | W1(_fd) | W1(_fe) | W1(_ff) } 48219442Sadrian#define BM7(_fa, _fb, _fc, _fd, _fe, _ff, _fg) \ 49219442Sadrian { W0(_fa) | W0(_fb) | W0(_fc) | W0(_fd) | W0(_fe) | W0(_ff) | \ 50219442Sadrian W0(_fg),\ 51219442Sadrian W1(_fa) | W1(_fb) | W1(_fc) | W1(_fd) | W1(_fe) | W1(_ff) | \ 52219442Sadrian W1(_fg) } 53219442Sadrian#define BM8(_fa, _fb, _fc, _fd, _fe, _ff, _fg, _fh) \ 54219442Sadrian { W0(_fa) | W0(_fb) | W0(_fc) | W0(_fd) | W0(_fe) | W0(_ff) | \ 55219442Sadrian W0(_fg) | W0(_fh) , \ 56219442Sadrian W1(_fa) | W1(_fb) | W1(_fc) | W1(_fd) | W1(_fe) | W1(_ff) | \ 57219442Sadrian W1(_fg) | W1(_fh) } 58219442Sadrian#define BM9(_fa, _fb, _fc, _fd, _fe, _ff, _fg, _fh, _fi) \ 59219442Sadrian { W0(_fa) | W0(_fb) | W0(_fc) | W0(_fd) | W0(_fe) | W0(_ff) | \ 60219442Sadrian W0(_fg) | W0(_fh) | W0(_fi) , \ 61219442Sadrian W1(_fa) | W1(_fb) | W1(_fc) | W1(_fd) | W1(_fe) | W1(_ff) | \ 62219442Sadrian W1(_fg) | W1(_fh) | W1(_fi) } 63219442Sadrian 64219442Sadrianstatic REG_DOMAIN regDomains[] = { 65219442Sadrian 66219442Sadrian {.regDmnEnum = DEBUG_REG_DMN, 67219442Sadrian .conformanceTestLimit = FCC, 68219442Sadrian .dfsMask = DFS_FCC3, 69219442Sadrian .chan11a = BM4(F1_4950_4980, 70219442Sadrian F1_5120_5240, 71219442Sadrian F1_5260_5700, 72219442Sadrian F1_5745_5825), 73219442Sadrian .chan11a_half = BM4(F1_4945_4985, 74219442Sadrian F2_5120_5240, 75219442Sadrian F2_5260_5700, 76219442Sadrian F7_5745_5825), 77219442Sadrian .chan11a_quarter = BM4(F1_4942_4987, 78219442Sadrian F3_5120_5240, 79219442Sadrian F3_5260_5700, 80219442Sadrian F8_5745_5825), 81219442Sadrian .chan11a_turbo = BM8(T1_5130_5210, 82219442Sadrian T1_5250_5330, 83219442Sadrian T1_5370_5490, 84219442Sadrian T1_5530_5650, 85219442Sadrian T1_5150_5190, 86219442Sadrian T1_5230_5310, 87219442Sadrian T1_5350_5470, 88219442Sadrian T1_5510_5670), 89219442Sadrian .chan11a_dyn_turbo = BM4(T1_5200_5240, 90219442Sadrian T1_5280_5280, 91219442Sadrian T1_5540_5660, 92219442Sadrian T1_5765_5805), 93219442Sadrian .chan11b = BM4(F1_2312_2372, 94219442Sadrian F1_2412_2472, 95219442Sadrian F1_2484_2484, 96219442Sadrian F1_2512_2732), 97219442Sadrian .chan11g = BM3(G1_2312_2372, G1_2412_2472, G1_2512_2732), 98219442Sadrian .chan11g_turbo = BM3(T1_2312_2372, T1_2437_2437, T1_2512_2732), 99219442Sadrian .chan11g_half = BM3(G2_2312_2372, G4_2412_2472, G2_2512_2732), 100219442Sadrian .chan11g_quarter = BM3(G3_2312_2372, G5_2412_2472, G3_2512_2732), 101219442Sadrian }, 102219442Sadrian 103219442Sadrian {.regDmnEnum = APL1, 104219442Sadrian .conformanceTestLimit = FCC, 105219442Sadrian .chan11a = BM1(F4_5745_5825), 106219442Sadrian }, 107219442Sadrian 108219442Sadrian {.regDmnEnum = APL2, 109219442Sadrian .conformanceTestLimit = FCC, 110219442Sadrian .chan11a = BM1(F1_5745_5805), 111219442Sadrian }, 112219442Sadrian 113219442Sadrian {.regDmnEnum = APL3, 114219442Sadrian .conformanceTestLimit = FCC, 115219442Sadrian .chan11a = BM2(F1_5280_5320, F2_5745_5805), 116219442Sadrian }, 117219442Sadrian 118219442Sadrian {.regDmnEnum = APL4, 119219442Sadrian .conformanceTestLimit = FCC, 120219442Sadrian .chan11a = BM2(F4_5180_5240, F3_5745_5825), 121219442Sadrian }, 122219442Sadrian 123219442Sadrian {.regDmnEnum = APL5, 124219442Sadrian .conformanceTestLimit = FCC, 125219442Sadrian .chan11a = BM1(F2_5745_5825), 126219442Sadrian }, 127219442Sadrian 128219442Sadrian {.regDmnEnum = APL6, 129219442Sadrian .conformanceTestLimit = ETSI, 130219442Sadrian .dfsMask = DFS_ETSI, 131219442Sadrian .pscan = PSCAN_FCC_T | PSCAN_FCC, 132219442Sadrian .chan11a = BM3(F4_5180_5240, F2_5260_5320, F3_5745_5825), 133219442Sadrian .chan11a_turbo = BM3(T2_5210_5210, T1_5250_5290, T1_5760_5800), 134219442Sadrian }, 135219442Sadrian 136219442Sadrian {.regDmnEnum = APL8, 137219442Sadrian .conformanceTestLimit = ETSI, 138219442Sadrian .flags = DISALLOW_ADHOC_11A|DISALLOW_ADHOC_11A_TURB, 139219442Sadrian .chan11a = BM2(F6_5260_5320, F4_5745_5825), 140219442Sadrian }, 141219442Sadrian 142219442Sadrian {.regDmnEnum = APL9, 143219442Sadrian .conformanceTestLimit = ETSI, 144219442Sadrian .dfsMask = DFS_ETSI, 145219442Sadrian .pscan = PSCAN_ETSI, 146219442Sadrian .flags = DISALLOW_ADHOC_11A|DISALLOW_ADHOC_11A_TURB, 147219442Sadrian .chan11a = BM3(F1_5180_5320, F1_5500_5620, F3_5745_5805), 148219442Sadrian }, 149219442Sadrian 150219442Sadrian {.regDmnEnum = ETSI1, 151219442Sadrian .conformanceTestLimit = ETSI, 152219442Sadrian .dfsMask = DFS_ETSI, 153219442Sadrian .pscan = PSCAN_ETSI, 154219442Sadrian .flags = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, 155219442Sadrian .chan11a = BM3(W2_5180_5240, F2_5260_5320, F2_5500_5700), 156219442Sadrian }, 157219442Sadrian 158219442Sadrian {.regDmnEnum = ETSI2, 159219442Sadrian .conformanceTestLimit = ETSI, 160219442Sadrian .dfsMask = DFS_ETSI, 161219442Sadrian .pscan = PSCAN_ETSI, 162219442Sadrian .flags = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, 163219442Sadrian .chan11a = BM1(F3_5180_5240), 164219442Sadrian }, 165219442Sadrian 166219442Sadrian {.regDmnEnum = ETSI3, 167219442Sadrian .conformanceTestLimit = ETSI, 168219442Sadrian .dfsMask = DFS_ETSI, 169219442Sadrian .pscan = PSCAN_ETSI, 170219442Sadrian .flags = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, 171219442Sadrian .chan11a = BM2(W2_5180_5240, F2_5260_5320), 172219442Sadrian }, 173219442Sadrian 174219442Sadrian {.regDmnEnum = ETSI4, 175219442Sadrian .conformanceTestLimit = ETSI, 176219442Sadrian .dfsMask = DFS_ETSI, 177219442Sadrian .pscan = PSCAN_ETSI, 178219442Sadrian .flags = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, 179219442Sadrian .chan11a = BM2(F3_5180_5240, F1_5260_5320), 180219442Sadrian }, 181219442Sadrian 182219442Sadrian {.regDmnEnum = ETSI5, 183219442Sadrian .conformanceTestLimit = ETSI, 184219442Sadrian .dfsMask = DFS_ETSI, 185219442Sadrian .pscan = PSCAN_ETSI, 186219442Sadrian .flags = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, 187219442Sadrian .chan11a = BM1(F1_5180_5240), 188219442Sadrian }, 189219442Sadrian 190219442Sadrian {.regDmnEnum = ETSI6, 191219442Sadrian .conformanceTestLimit = ETSI, 192219442Sadrian .dfsMask = DFS_ETSI, 193219442Sadrian .pscan = PSCAN_ETSI, 194219442Sadrian .flags = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, 195219442Sadrian .chan11a = BM3(F5_5180_5240, F1_5260_5280, F3_5500_5700), 196219442Sadrian }, 197219442Sadrian 198219442Sadrian {.regDmnEnum = FCC1, 199219442Sadrian .conformanceTestLimit = FCC, 200219442Sadrian .chan11a = BM3(F2_5180_5240, F4_5260_5320, F5_5745_5825), 201219442Sadrian .chan11a_turbo = BM3(T1_5210_5210, T2_5250_5290, T2_5760_5800), 202219442Sadrian .chan11a_dyn_turbo = BM3(T1_5200_5240, T1_5280_5280, T1_5765_5805), 203219442Sadrian }, 204219442Sadrian 205219442Sadrian {.regDmnEnum = FCC2, 206219442Sadrian .conformanceTestLimit = FCC, 207219442Sadrian .chan11a = BM3(F6_5180_5240, F5_5260_5320, F6_5745_5825), 208219442Sadrian .chan11a_dyn_turbo = BM3(T2_5200_5240, T1_5280_5280, T1_5765_5805), 209219442Sadrian }, 210219442Sadrian 211219442Sadrian {.regDmnEnum = FCC3, 212219442Sadrian .conformanceTestLimit = FCC, 213219442Sadrian .dfsMask = DFS_FCC3, 214219442Sadrian .pscan = PSCAN_FCC | PSCAN_FCC_T, 215219442Sadrian .chan11a = BM4(F2_5180_5240, 216219442Sadrian F3_5260_5320, 217219442Sadrian F1_5500_5700, 218219442Sadrian F5_5745_5825), 219219442Sadrian .chan11a_turbo = BM4(T1_5210_5210, 220219442Sadrian T1_5250_5250, 221219442Sadrian T1_5290_5290, 222219442Sadrian T2_5760_5800), 223219442Sadrian .chan11a_dyn_turbo = BM3(T1_5200_5240, T2_5280_5280, T1_5540_5660), 224219442Sadrian }, 225219442Sadrian 226219442Sadrian {.regDmnEnum = FCC4, 227219442Sadrian .conformanceTestLimit = FCC, 228219442Sadrian .dfsMask = DFS_FCC3, 229219442Sadrian .pscan = PSCAN_FCC | PSCAN_FCC_T, 230219442Sadrian .chan11a = BM1(F1_4950_4980), 231219442Sadrian .chan11a_half = BM1(F1_4945_4985), 232219442Sadrian .chan11a_quarter = BM1(F1_4942_4987), 233219442Sadrian }, 234219442Sadrian 235219442Sadrian /* FCC1 w/ 1/2 and 1/4 width channels */ 236219442Sadrian {.regDmnEnum = FCC5, 237219442Sadrian .conformanceTestLimit = FCC, 238219442Sadrian .chan11a = BM3(F2_5180_5240, F4_5260_5320, F5_5745_5825), 239219442Sadrian .chan11a_turbo = BM3(T1_5210_5210, T2_5250_5290, T2_5760_5800), 240219442Sadrian .chan11a_dyn_turbo = BM3(T1_5200_5240, T1_5280_5280, T1_5765_5805), 241219442Sadrian .chan11a_half = BM3(F7_5180_5240, F7_5260_5320, F9_5745_5825), 242219442Sadrian .chan11a_quarter = BM3(F8_5180_5240, F8_5260_5320,F10_5745_5825), 243219442Sadrian }, 244219442Sadrian 245219442Sadrian {.regDmnEnum = MKK1, 246219442Sadrian .conformanceTestLimit = MKK, 247219442Sadrian .pscan = PSCAN_MKK1, 248219442Sadrian .flags = DISALLOW_ADHOC_11A_TURB, 249219442Sadrian .chan11a = BM1(F1_5170_5230), 250219442Sadrian }, 251219442Sadrian 252219442Sadrian {.regDmnEnum = MKK2, 253219442Sadrian .conformanceTestLimit = MKK, 254219442Sadrian .pscan = PSCAN_MKK2, 255219442Sadrian .flags = DISALLOW_ADHOC_11A_TURB, 256219442Sadrian .chan11a = BM3(F1_4920_4980, F1_5040_5080, F1_5170_5230), 257219442Sadrian .chan11a_half = BM4(F1_4915_4925, 258219442Sadrian F1_4935_4945, 259219442Sadrian F1_5035_5040, 260219442Sadrian F1_5055_5055), 261219442Sadrian }, 262219442Sadrian 263219442Sadrian /* UNI-1 even */ 264219442Sadrian {.regDmnEnum = MKK3, 265219442Sadrian .conformanceTestLimit = MKK, 266219442Sadrian .pscan = PSCAN_MKK3, 267219442Sadrian .flags = DISALLOW_ADHOC_11A_TURB, 268219442Sadrian .chan11a = BM1(F4_5180_5240), 269219442Sadrian }, 270219442Sadrian 271219442Sadrian /* UNI-1 even + UNI-2 */ 272219442Sadrian {.regDmnEnum = MKK4, 273219442Sadrian .conformanceTestLimit = MKK, 274219442Sadrian .dfsMask = DFS_MKK4, 275219442Sadrian .pscan = PSCAN_MKK3, 276219442Sadrian .flags = DISALLOW_ADHOC_11A_TURB, 277219442Sadrian .chan11a = BM2(F4_5180_5240, F2_5260_5320), 278219442Sadrian }, 279219442Sadrian 280219442Sadrian /* UNI-1 even + UNI-2 + mid-band */ 281219442Sadrian {.regDmnEnum = MKK5, 282219442Sadrian .conformanceTestLimit = MKK, 283219442Sadrian .dfsMask = DFS_MKK4, 284219442Sadrian .pscan = PSCAN_MKK3, 285219442Sadrian .flags = DISALLOW_ADHOC_11A_TURB, 286219442Sadrian .chan11a = BM3(F4_5180_5240, F2_5260_5320, F4_5500_5700), 287219442Sadrian }, 288219442Sadrian 289219442Sadrian /* UNI-1 odd + even */ 290219442Sadrian {.regDmnEnum = MKK6, 291219442Sadrian .conformanceTestLimit = MKK, 292219442Sadrian .pscan = PSCAN_MKK1, 293219442Sadrian .flags = DISALLOW_ADHOC_11A_TURB, 294219442Sadrian .chan11a = BM2(F2_5170_5230, F4_5180_5240), 295219442Sadrian }, 296219442Sadrian 297219442Sadrian /* UNI-1 odd + UNI-1 even + UNI-2 */ 298219442Sadrian {.regDmnEnum = MKK7, 299219442Sadrian .conformanceTestLimit = MKK, 300219442Sadrian .dfsMask = DFS_MKK4, 301219442Sadrian .pscan = PSCAN_MKK1 | PSCAN_MKK3, 302219442Sadrian .flags = DISALLOW_ADHOC_11A_TURB, 303219442Sadrian .chan11a = BM3(F1_5170_5230, F4_5180_5240, F2_5260_5320), 304219442Sadrian }, 305219442Sadrian 306219442Sadrian /* UNI-1 odd + UNI-1 even + UNI-2 + mid-band */ 307219442Sadrian {.regDmnEnum = MKK8, 308219442Sadrian .conformanceTestLimit = MKK, 309219442Sadrian .dfsMask = DFS_MKK4, 310219442Sadrian .pscan = PSCAN_MKK1 | PSCAN_MKK3, 311219442Sadrian .flags = DISALLOW_ADHOC_11A_TURB, 312219442Sadrian .chan11a = BM4(F1_5170_5230, 313219442Sadrian F4_5180_5240, 314219442Sadrian F2_5260_5320, 315219442Sadrian F4_5500_5700), 316219442Sadrian }, 317219442Sadrian 318219442Sadrian /* UNI-1 even + 4.9 GHZ */ 319219442Sadrian {.regDmnEnum = MKK9, 320219442Sadrian .conformanceTestLimit = MKK, 321219442Sadrian .pscan = PSCAN_MKK3, 322219442Sadrian .flags = DISALLOW_ADHOC_11A_TURB, 323219442Sadrian .chan11a = BM7(F1_4915_4925, 324219442Sadrian F1_4935_4945, 325219442Sadrian F1_4920_4980, 326219442Sadrian F1_5035_5040, 327219442Sadrian F1_5055_5055, 328219442Sadrian F1_5040_5080, 329219442Sadrian F4_5180_5240), 330219442Sadrian }, 331219442Sadrian 332219442Sadrian /* UNI-1 even + UNI-2 + 4.9 GHZ */ 333219442Sadrian {.regDmnEnum = MKK10, 334219442Sadrian .conformanceTestLimit = MKK, 335219442Sadrian .dfsMask = DFS_MKK4, 336219442Sadrian .pscan = PSCAN_MKK3, 337219442Sadrian .flags = DISALLOW_ADHOC_11A_TURB, 338219442Sadrian .chan11a = BM8(F1_4915_4925, 339219442Sadrian F1_4935_4945, 340219442Sadrian F1_4920_4980, 341219442Sadrian F1_5035_5040, 342219442Sadrian F1_5055_5055, 343219442Sadrian F1_5040_5080, 344219442Sadrian F4_5180_5240, 345219442Sadrian F2_5260_5320), 346219442Sadrian }, 347219442Sadrian 348219442Sadrian /* Defined here to use when 2G channels are authorised for country K2 */ 349219442Sadrian {.regDmnEnum = APLD, 350219442Sadrian .conformanceTestLimit = NO_CTL, 351219442Sadrian .chan11b = BM2(F2_2312_2372,F2_2412_2472), 352219442Sadrian .chan11g = BM2(G2_2312_2372,G2_2412_2472), 353219442Sadrian }, 354219442Sadrian 355219442Sadrian {.regDmnEnum = ETSIA, 356219442Sadrian .conformanceTestLimit = NO_CTL, 357219442Sadrian .pscan = PSCAN_ETSIA, 358219442Sadrian .flags = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, 359219442Sadrian .chan11b = BM1(F1_2457_2472), 360219442Sadrian .chan11g = BM1(G1_2457_2472), 361219442Sadrian .chan11g_turbo = BM1(T2_2437_2437) 362219442Sadrian }, 363219442Sadrian 364219442Sadrian {.regDmnEnum = ETSIB, 365219442Sadrian .conformanceTestLimit = ETSI, 366219442Sadrian .pscan = PSCAN_ETSIB, 367219442Sadrian .flags = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, 368219442Sadrian .chan11b = BM1(F1_2432_2442), 369219442Sadrian .chan11g = BM1(G1_2432_2442), 370219442Sadrian .chan11g_turbo = BM1(T2_2437_2437) 371219442Sadrian }, 372219442Sadrian 373219442Sadrian {.regDmnEnum = ETSIC, 374219442Sadrian .conformanceTestLimit = ETSI, 375219442Sadrian .pscan = PSCAN_ETSIC, 376219442Sadrian .flags = DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, 377219442Sadrian .chan11b = BM1(F3_2412_2472), 378219442Sadrian .chan11g = BM1(G3_2412_2472), 379219442Sadrian .chan11g_turbo = BM1(T2_2437_2437) 380219442Sadrian }, 381219442Sadrian 382219442Sadrian {.regDmnEnum = FCCA, 383219442Sadrian .conformanceTestLimit = FCC, 384219442Sadrian .chan11b = BM1(F1_2412_2462), 385219442Sadrian .chan11g = BM1(G1_2412_2462), 386219442Sadrian .chan11g_turbo = BM1(T2_2437_2437), 387219442Sadrian }, 388219442Sadrian 389219442Sadrian /* FCCA w/ 1/2 and 1/4 width channels */ 390219442Sadrian {.regDmnEnum = FCCB, 391219442Sadrian .conformanceTestLimit = FCC, 392219442Sadrian .chan11b = BM1(F1_2412_2462), 393219442Sadrian .chan11g = BM1(G1_2412_2462), 394219442Sadrian .chan11g_turbo = BM1(T2_2437_2437), 395219442Sadrian .chan11g_half = BM1(G3_2412_2462), 396219442Sadrian .chan11g_quarter = BM1(G4_2412_2462), 397219442Sadrian }, 398219442Sadrian 399219442Sadrian {.regDmnEnum = MKKA, 400219442Sadrian .conformanceTestLimit = MKK, 401219442Sadrian .pscan = PSCAN_MKKA | PSCAN_MKKA_G 402219442Sadrian | PSCAN_MKKA1 | PSCAN_MKKA1_G 403219442Sadrian | PSCAN_MKKA2 | PSCAN_MKKA2_G, 404219442Sadrian .flags = DISALLOW_ADHOC_11A_TURB, 405219442Sadrian .chan11b = BM3(F2_2412_2462, F1_2467_2472, F2_2484_2484), 406219442Sadrian .chan11g = BM2(G2_2412_2462, G1_2467_2472), 407219442Sadrian .chan11g_turbo = BM1(T2_2437_2437) 408219442Sadrian }, 409219442Sadrian 410219442Sadrian {.regDmnEnum = MKKC, 411219442Sadrian .conformanceTestLimit = MKK, 412219442Sadrian .chan11b = BM1(F2_2412_2472), 413219442Sadrian .chan11g = BM1(G2_2412_2472), 414219442Sadrian .chan11g_turbo = BM1(T2_2437_2437) 415219442Sadrian }, 416219442Sadrian 417219442Sadrian {.regDmnEnum = WORLD, 418219442Sadrian .conformanceTestLimit = ETSI, 419219442Sadrian .chan11b = BM1(F2_2412_2472), 420219442Sadrian .chan11g = BM1(G2_2412_2472), 421219442Sadrian .chan11g_turbo = BM1(T2_2437_2437) 422219442Sadrian }, 423219442Sadrian 424219442Sadrian {.regDmnEnum = WOR0_WORLD, 425219442Sadrian .conformanceTestLimit = NO_CTL, 426219442Sadrian .dfsMask = DFS_FCC3 | DFS_ETSI, 427219442Sadrian .pscan = PSCAN_WWR, 428219442Sadrian .flags = ADHOC_PER_11D, 429219442Sadrian .chan11a = BM5(W1_5260_5320, 430219442Sadrian W1_5180_5240, 431219442Sadrian W1_5170_5230, 432219442Sadrian W1_5745_5825, 433219442Sadrian W1_5500_5700), 434219442Sadrian .chan11a_turbo = BM3(WT1_5210_5250, 435219442Sadrian WT1_5290_5290, 436219442Sadrian WT1_5760_5800), 437219442Sadrian .chan11b = BM8(W1_2412_2412, 438219442Sadrian W1_2437_2442, 439219442Sadrian W1_2462_2462, 440219442Sadrian W1_2472_2472, 441219442Sadrian W1_2417_2432, 442219442Sadrian W1_2447_2457, 443219442Sadrian W1_2467_2467, 444219442Sadrian W1_2484_2484), 445219442Sadrian .chan11g = BM7(WG1_2412_2412, 446219442Sadrian WG1_2437_2442, 447219442Sadrian WG1_2462_2462, 448219442Sadrian WG1_2472_2472, 449219442Sadrian WG1_2417_2432, 450219442Sadrian WG1_2447_2457, 451219442Sadrian WG1_2467_2467), 452219442Sadrian .chan11g_turbo = BM1(T3_2437_2437) 453219442Sadrian }, 454219442Sadrian 455219442Sadrian {.regDmnEnum = WOR01_WORLD, 456219442Sadrian .conformanceTestLimit = NO_CTL, 457219442Sadrian .dfsMask = DFS_FCC3 | DFS_ETSI, 458219442Sadrian .pscan = PSCAN_WWR, 459219442Sadrian .flags = ADHOC_PER_11D, 460219442Sadrian .chan11a = BM5(W1_5260_5320, 461219442Sadrian W1_5180_5240, 462219442Sadrian W1_5170_5230, 463219442Sadrian W1_5745_5825, 464219442Sadrian W1_5500_5700), 465219442Sadrian .chan11a_turbo = BM3(WT1_5210_5250, 466219442Sadrian WT1_5290_5290, 467219442Sadrian WT1_5760_5800), 468219442Sadrian .chan11b = BM5(W1_2412_2412, 469219442Sadrian W1_2437_2442, 470219442Sadrian W1_2462_2462, 471219442Sadrian W1_2417_2432, 472219442Sadrian W1_2447_2457), 473219442Sadrian .chan11g = BM5(WG1_2412_2412, 474219442Sadrian WG1_2437_2442, 475219442Sadrian WG1_2462_2462, 476219442Sadrian WG1_2417_2432, 477219442Sadrian WG1_2447_2457), 478219442Sadrian .chan11g_turbo = BM1(T3_2437_2437)}, 479219442Sadrian 480219442Sadrian {.regDmnEnum = WOR02_WORLD, 481219442Sadrian .conformanceTestLimit = NO_CTL, 482219442Sadrian .dfsMask = DFS_FCC3 | DFS_ETSI, 483219442Sadrian .pscan = PSCAN_WWR, 484219442Sadrian .flags = ADHOC_PER_11D, 485219442Sadrian .chan11a = BM5(W1_5260_5320, 486219442Sadrian W1_5180_5240, 487219442Sadrian W1_5170_5230, 488219442Sadrian W1_5745_5825, 489219442Sadrian W1_5500_5700), 490219442Sadrian .chan11a_turbo = BM3(WT1_5210_5250, 491219442Sadrian WT1_5290_5290, 492219442Sadrian WT1_5760_5800), 493219442Sadrian .chan11b = BM7(W1_2412_2412, 494219442Sadrian W1_2437_2442, 495219442Sadrian W1_2462_2462, 496219442Sadrian W1_2472_2472, 497219442Sadrian W1_2417_2432, 498219442Sadrian W1_2447_2457, 499219442Sadrian W1_2467_2467), 500219442Sadrian .chan11g = BM7(WG1_2412_2412, 501219442Sadrian WG1_2437_2442, 502219442Sadrian WG1_2462_2462, 503219442Sadrian WG1_2472_2472, 504219442Sadrian WG1_2417_2432, 505219442Sadrian WG1_2447_2457, 506219442Sadrian WG1_2467_2467), 507219442Sadrian .chan11g_turbo = BM1(T3_2437_2437)}, 508219442Sadrian 509219442Sadrian {.regDmnEnum = EU1_WORLD, 510219442Sadrian .conformanceTestLimit = NO_CTL, 511219442Sadrian .dfsMask = DFS_FCC3 | DFS_ETSI, 512219442Sadrian .pscan = PSCAN_WWR, 513219442Sadrian .flags = ADHOC_PER_11D, 514219442Sadrian .chan11a = BM5(W1_5260_5320, 515219442Sadrian W1_5180_5240, 516219442Sadrian W1_5170_5230, 517219442Sadrian W1_5745_5825, 518219442Sadrian W1_5500_5700), 519219442Sadrian .chan11a_turbo = BM3(WT1_5210_5250, 520219442Sadrian WT1_5290_5290, 521219442Sadrian WT1_5760_5800), 522219442Sadrian .chan11b = BM7(W1_2412_2412, 523219442Sadrian W1_2437_2442, 524219442Sadrian W1_2462_2462, 525219442Sadrian W2_2472_2472, 526219442Sadrian W1_2417_2432, 527219442Sadrian W1_2447_2457, 528219442Sadrian W2_2467_2467), 529219442Sadrian .chan11g = BM7(WG1_2412_2412, 530219442Sadrian WG1_2437_2442, 531219442Sadrian WG1_2462_2462, 532219442Sadrian WG2_2472_2472, 533219442Sadrian WG1_2417_2432, 534219442Sadrian WG1_2447_2457, 535219442Sadrian WG2_2467_2467), 536219442Sadrian .chan11g_turbo = BM1(T3_2437_2437)}, 537219442Sadrian 538219442Sadrian {.regDmnEnum = WOR1_WORLD, 539219442Sadrian .conformanceTestLimit = NO_CTL, 540219442Sadrian .dfsMask = DFS_FCC3 | DFS_ETSI, 541219442Sadrian .pscan = PSCAN_WWR, 542219442Sadrian .flags = DISALLOW_ADHOC_11A, 543219442Sadrian .chan11a = BM5(W1_5260_5320, 544219442Sadrian W1_5180_5240, 545219442Sadrian W1_5170_5230, 546219442Sadrian W1_5745_5825, 547219442Sadrian W1_5500_5700), 548219442Sadrian .chan11b = BM8(W1_2412_2412, 549219442Sadrian W1_2437_2442, 550219442Sadrian W1_2462_2462, 551219442Sadrian W1_2472_2472, 552219442Sadrian W1_2417_2432, 553219442Sadrian W1_2447_2457, 554219442Sadrian W1_2467_2467, 555219442Sadrian W1_2484_2484), 556219442Sadrian .chan11g = BM7(WG1_2412_2412, 557219442Sadrian WG1_2437_2442, 558219442Sadrian WG1_2462_2462, 559219442Sadrian WG1_2472_2472, 560219442Sadrian WG1_2417_2432, 561219442Sadrian WG1_2447_2457, 562219442Sadrian WG1_2467_2467), 563219442Sadrian .chan11g_turbo = BM1(T3_2437_2437) 564219442Sadrian }, 565219442Sadrian 566219442Sadrian {.regDmnEnum = WOR2_WORLD, 567219442Sadrian .conformanceTestLimit = NO_CTL, 568219442Sadrian .dfsMask = DFS_FCC3 | DFS_ETSI, 569219442Sadrian .pscan = PSCAN_WWR, 570219442Sadrian .flags = DISALLOW_ADHOC_11A, 571219442Sadrian .chan11a = BM5(W1_5260_5320, 572219442Sadrian W1_5180_5240, 573219442Sadrian W1_5170_5230, 574219442Sadrian W1_5745_5825, 575219442Sadrian W1_5500_5700), 576219442Sadrian .chan11a_turbo = BM3(WT1_5210_5250, 577219442Sadrian WT1_5290_5290, 578219442Sadrian WT1_5760_5800), 579219442Sadrian .chan11b = BM8(W1_2412_2412, 580219442Sadrian W1_2437_2442, 581219442Sadrian W1_2462_2462, 582219442Sadrian W1_2472_2472, 583219442Sadrian W1_2417_2432, 584219442Sadrian W1_2447_2457, 585219442Sadrian W1_2467_2467, 586219442Sadrian W1_2484_2484), 587219442Sadrian .chan11g = BM7(WG1_2412_2412, 588219442Sadrian WG1_2437_2442, 589219442Sadrian WG1_2462_2462, 590219442Sadrian WG1_2472_2472, 591219442Sadrian WG1_2417_2432, 592219442Sadrian WG1_2447_2457, 593219442Sadrian WG1_2467_2467), 594219442Sadrian .chan11g_turbo = BM1(T3_2437_2437)}, 595219442Sadrian 596219442Sadrian {.regDmnEnum = WOR3_WORLD, 597219442Sadrian .conformanceTestLimit = NO_CTL, 598219442Sadrian .dfsMask = DFS_FCC3 | DFS_ETSI, 599219442Sadrian .pscan = PSCAN_WWR, 600219442Sadrian .flags = ADHOC_PER_11D, 601219442Sadrian .chan11a = BM4(W1_5260_5320, 602219442Sadrian W1_5180_5240, 603219442Sadrian W1_5170_5230, 604219442Sadrian W1_5745_5825), 605219442Sadrian .chan11a_turbo = BM3(WT1_5210_5250, 606219442Sadrian WT1_5290_5290, 607219442Sadrian WT1_5760_5800), 608219442Sadrian .chan11b = BM7(W1_2412_2412, 609219442Sadrian W1_2437_2442, 610219442Sadrian W1_2462_2462, 611219442Sadrian W1_2472_2472, 612219442Sadrian W1_2417_2432, 613219442Sadrian W1_2447_2457, 614219442Sadrian W1_2467_2467), 615219442Sadrian .chan11g = BM7(WG1_2412_2412, 616219442Sadrian WG1_2437_2442, 617219442Sadrian WG1_2462_2462, 618219442Sadrian WG1_2472_2472, 619219442Sadrian WG1_2417_2432, 620219442Sadrian WG1_2447_2457, 621219442Sadrian WG1_2467_2467), 622219442Sadrian .chan11g_turbo = BM1(T3_2437_2437)}, 623219442Sadrian 624219442Sadrian {.regDmnEnum = WOR4_WORLD, 625219442Sadrian .conformanceTestLimit = NO_CTL, 626219442Sadrian .dfsMask = DFS_FCC3 | DFS_ETSI, 627219442Sadrian .pscan = PSCAN_WWR, 628219442Sadrian .flags = DISALLOW_ADHOC_11A, 629219442Sadrian .chan11a = BM4(W2_5260_5320, 630219442Sadrian W2_5180_5240, 631219442Sadrian F2_5745_5805, 632219442Sadrian W2_5825_5825), 633219442Sadrian .chan11a_turbo = BM3(WT1_5210_5250, 634219442Sadrian WT1_5290_5290, 635219442Sadrian WT1_5760_5800), 636219442Sadrian .chan11b = BM5(W1_2412_2412, 637219442Sadrian W1_2437_2442, 638219442Sadrian W1_2462_2462, 639219442Sadrian W1_2417_2432, 640219442Sadrian W1_2447_2457), 641219442Sadrian .chan11g = BM5(WG1_2412_2412, 642219442Sadrian WG1_2437_2442, 643219442Sadrian WG1_2462_2462, 644219442Sadrian WG1_2417_2432, 645219442Sadrian WG1_2447_2457), 646219442Sadrian .chan11g_turbo = BM1(T3_2437_2437)}, 647219442Sadrian 648219442Sadrian {.regDmnEnum = WOR5_ETSIC, 649219442Sadrian .conformanceTestLimit = NO_CTL, 650219442Sadrian .dfsMask = DFS_FCC3 | DFS_ETSI, 651219442Sadrian .pscan = PSCAN_WWR, 652219442Sadrian .flags = DISALLOW_ADHOC_11A, 653219442Sadrian .chan11a = BM3(W1_5260_5320, W2_5180_5240, F6_5745_5825), 654219442Sadrian .chan11b = BM7(W1_2412_2412, 655219442Sadrian W1_2437_2442, 656219442Sadrian W1_2462_2462, 657219442Sadrian W2_2472_2472, 658219442Sadrian W1_2417_2432, 659219442Sadrian W1_2447_2457, 660219442Sadrian W2_2467_2467), 661219442Sadrian .chan11g = BM7(WG1_2412_2412, 662219442Sadrian WG1_2437_2442, 663219442Sadrian WG1_2462_2462, 664219442Sadrian WG2_2472_2472, 665219442Sadrian WG1_2417_2432, 666219442Sadrian WG1_2447_2457, 667219442Sadrian WG2_2467_2467), 668219442Sadrian .chan11g_turbo = BM1(T3_2437_2437)}, 669219442Sadrian 670219442Sadrian {.regDmnEnum = WOR9_WORLD, 671219442Sadrian .conformanceTestLimit = NO_CTL, 672219442Sadrian .dfsMask = DFS_FCC3 | DFS_ETSI, 673219442Sadrian .pscan = PSCAN_WWR, 674219442Sadrian .flags = DISALLOW_ADHOC_11A, 675219442Sadrian .chan11a = BM4(W1_5260_5320, 676219442Sadrian W1_5180_5240, 677219442Sadrian W1_5745_5825, 678219442Sadrian W1_5500_5700), 679219442Sadrian .chan11a_turbo = BM3(WT1_5210_5250, 680219442Sadrian WT1_5290_5290, 681219442Sadrian WT1_5760_5800), 682219442Sadrian .chan11b = BM5(W1_2412_2412, 683219442Sadrian W1_2437_2442, 684219442Sadrian W1_2462_2462, 685219442Sadrian W1_2417_2432, 686219442Sadrian W1_2447_2457), 687219442Sadrian .chan11g = BM5(WG1_2412_2412, 688219442Sadrian WG1_2437_2442, 689219442Sadrian WG1_2462_2462, 690219442Sadrian WG1_2417_2432, 691219442Sadrian WG1_2447_2457), 692219442Sadrian .chan11g_turbo = BM1(T3_2437_2437)}, 693219442Sadrian 694219442Sadrian {.regDmnEnum = WORA_WORLD, 695219442Sadrian .conformanceTestLimit = NO_CTL, 696219442Sadrian .dfsMask = DFS_FCC3 | DFS_ETSI, 697219442Sadrian .pscan = PSCAN_WWR, 698219442Sadrian .flags = DISALLOW_ADHOC_11A, 699219442Sadrian .chan11a = BM4(W1_5260_5320, 700219442Sadrian W1_5180_5240, 701219442Sadrian W1_5745_5825, 702219442Sadrian W1_5500_5700), 703219442Sadrian .chan11b = BM7(W1_2412_2412, 704219442Sadrian W1_2437_2442, 705219442Sadrian W1_2462_2462, 706219442Sadrian W1_2472_2472, 707219442Sadrian W1_2417_2432, 708219442Sadrian W1_2447_2457, 709219442Sadrian W1_2467_2467), 710219442Sadrian .chan11g = BM7(WG1_2412_2412, 711219442Sadrian WG1_2437_2442, 712219442Sadrian WG1_2462_2462, 713219442Sadrian WG1_2472_2472, 714219442Sadrian WG1_2417_2432, 715219442Sadrian WG1_2447_2457, 716219442Sadrian WG1_2467_2467), 717219442Sadrian .chan11g_turbo = BM1(T3_2437_2437)}, 718219442Sadrian 719219442Sadrian {.regDmnEnum = WORB_WORLD, 720219442Sadrian .conformanceTestLimit = NO_CTL, 721219442Sadrian .dfsMask = DFS_FCC3 | DFS_ETSI, 722219442Sadrian .pscan = PSCAN_WWR, 723219442Sadrian .flags = DISALLOW_ADHOC_11A, 724219442Sadrian .chan11a = BM4(W1_5260_5320, 725219442Sadrian W1_5180_5240, 726219442Sadrian W1_5745_5825, 727219442Sadrian W1_5500_5700), 728219442Sadrian .chan11b = BM7(W1_2412_2412, 729219442Sadrian W1_2437_2442, 730219442Sadrian W1_2462_2462, 731219442Sadrian W1_2472_2472, 732219442Sadrian W1_2417_2432, 733219442Sadrian W1_2447_2457, 734219442Sadrian W1_2467_2467), 735219442Sadrian .chan11g = BM7(WG1_2412_2412, 736219442Sadrian WG1_2437_2442, 737219442Sadrian WG1_2462_2462, 738219442Sadrian WG1_2472_2472, 739219442Sadrian WG1_2417_2432, 740219442Sadrian WG1_2447_2457, 741219442Sadrian WG1_2467_2467), 742219442Sadrian .chan11g_turbo = BM1(T3_2437_2437)}, 743219442Sadrian 744248677Sadrian {.regDmnEnum = WORC_WORLD, 745248677Sadrian .conformanceTestLimit = NO_CTL, 746248677Sadrian .dfsMask = DFS_FCC3 | DFS_ETSI, 747248677Sadrian .pscan = PSCAN_WWR, 748248677Sadrian .flags = ADHOC_PER_11D, 749248677Sadrian .chan11a = BM4(W1_5260_5320, 750248677Sadrian W1_5180_5240, 751248677Sadrian W1_5745_5825, 752248677Sadrian W1_5500_5700), 753248677Sadrian .chan11b = BM7(W1_2412_2412, 754248677Sadrian W1_2437_2442, 755248677Sadrian W1_2462_2462, 756248677Sadrian W1_2472_2472, 757248677Sadrian W1_2417_2432, 758248677Sadrian W1_2447_2457, 759248677Sadrian W1_2467_2467), 760248677Sadrian .chan11g = BM7(WG1_2412_2412, 761248677Sadrian WG1_2437_2442, 762248677Sadrian WG1_2462_2462, 763248677Sadrian WG1_2472_2472, 764248677Sadrian WG1_2417_2432, 765248677Sadrian WG1_2447_2457, 766248677Sadrian WG1_2467_2467), 767248677Sadrian .chan11g_turbo = BM1(T3_2437_2437)}, 768248677Sadrian 769219442Sadrian {.regDmnEnum = NULL1, 770219442Sadrian .conformanceTestLimit = NO_CTL, 771219442Sadrian } 772219442Sadrian}; 773219442Sadrian 774219442Sadrian#endif 775