2  * Copyright (c) 2008 Atheros Communications Inc.
 
   4  * Permission to use, copy, modify, and/or distribute this software for any
 
   5  * purpose with or without fee is hereby granted, provided that the above
 
   6  * copyright notice and this permission notice appear in all copies.
 
   8  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 
   9  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 
  10  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 
  11  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 
  12  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 
  13  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 
  14  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
 204         DEBUG_REG_DMN = 0x01ff,
 
 215         DISALLOW_ADHOC_11A = 0x00000001,
 
 216         DISALLOW_ADHOC_11A_TURB = 0x00000002,
 
 217         NEED_NFC = 0x00000004,
 
 219         ADHOC_PER_11D = 0x00000008,
 
 220         ADHOC_NO_11A = 0x00000010,
 
 222         PUBLIC_SAFETY_DOMAIN = 0x00000020,
 
 223         LIMIT_FRAME_4MS = 0x00000040,
 
 225         NO_HOSTAP = 0x00000080,
 
 227         REQ_MASK = 0x000000FF,
 
 230 #define REG_DOMAIN_2GHZ_MASK    (REQ_MASK & \
 
 231         (!(ADHOC_NO_11A | DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB)))
 
 232 #define REG_DOMAIN_5GHZ_MASK    REQ_MASK
 
 234 static struct reg_dmn_pair_mapping regDomainPairs[] = {
 
 235         {NO_ENUMRD, DEBUG_REG_DMN, DEBUG_REG_DMN, NO_REQ, NO_REQ,
 
 237         {NULL1_WORLD, NULL1, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 238         {NULL1_ETSIB, NULL1, ETSIB, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 239         {NULL1_ETSIC, NULL1, ETSIC, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 241         {FCC2_FCCA, FCC2, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 242         {FCC2_WORLD, FCC2, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 243         {FCC2_ETSIC, FCC2, ETSIC, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 244         {FCC3_FCCA, FCC3, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 245         {FCC3_WORLD, FCC3, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 246         {FCC4_FCCA, FCC4, FCCA,
 
 247          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
 
 249         {FCC5_FCCA, FCC5, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 250         {FCC6_FCCA, FCC6, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 251         {FCC6_WORLD, FCC6, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 253         {ETSI1_WORLD, ETSI1, WORLD,
 
 254          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
 
 256         {ETSI2_WORLD, ETSI2, WORLD,
 
 257          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
 
 259         {ETSI3_WORLD, ETSI3, WORLD,
 
 260          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
 
 262         {ETSI4_WORLD, ETSI4, WORLD,
 
 263          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
 
 265         {ETSI5_WORLD, ETSI5, WORLD,
 
 266          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
 
 268         {ETSI6_WORLD, ETSI6, WORLD,
 
 269          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
 
 272         {ETSI3_ETSIA, ETSI3, WORLD,
 
 273          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
 
 275         {FRANCE_RES, ETSI3, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 277         {FCC1_WORLD, FCC1, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 278         {FCC1_FCCA, FCC1, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 279         {APL1_WORLD, APL1, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 280         {APL2_WORLD, APL2, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 281         {APL3_WORLD, APL3, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 282         {APL4_WORLD, APL4, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 283         {APL5_WORLD, APL5, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 284         {APL6_WORLD, APL6, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 285         {APL8_WORLD, APL8, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 286         {APL9_WORLD, APL9, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 288         {APL3_FCCA, APL3, FCCA, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 289         {APL1_ETSIC, APL1, ETSIC, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 290         {APL2_ETSIC, APL2, ETSIC, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 291         {APL2_APLD, APL2, APLD, NO_REQ, NO_REQ, PSCAN_DEFER,},
 
 293         {MKK1_MKKA, MKK1, MKKA,
 
 294          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 295          PSCAN_MKK1 | PSCAN_MKKA, CTRY_JAPAN},
 
 296         {MKK1_MKKB, MKK1, MKKA,
 
 297          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC |
 
 298          LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKK1 | PSCAN_MKKA | PSCAN_MKKA_G,
 
 300         {MKK1_FCCA, MKK1, FCCA,
 
 301          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 302          PSCAN_MKK1, CTRY_JAPAN2},
 
 303         {MKK1_MKKA1, MKK1, MKKA,
 
 304          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 305          PSCAN_MKK1 | PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN4},
 
 306         {MKK1_MKKA2, MKK1, MKKA,
 
 307          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 308          PSCAN_MKK1 | PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN5},
 
 309         {MKK1_MKKC, MKK1, MKKC,
 
 310          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 311          PSCAN_MKK1, CTRY_JAPAN6},
 
 313         {MKK2_MKKA, MKK2, MKKA,
 
 314          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC |
 
 315          LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKK2 | PSCAN_MKKA | PSCAN_MKKA_G,
 
 318         {MKK3_MKKA, MKK3, MKKA,
 
 319          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 320          PSCAN_MKKA, CTRY_JAPAN25},
 
 321         {MKK3_MKKB, MKK3, MKKA,
 
 322          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC |
 
 323          LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKKA | PSCAN_MKKA_G,
 
 325         {MKK3_MKKA1, MKK3, MKKA,
 
 326          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 327          PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN26},
 
 328         {MKK3_MKKA2, MKK3, MKKA,
 
 329          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 330          PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN8},
 
 331         {MKK3_MKKC, MKK3, MKKC,
 
 332          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 333          NO_PSCAN, CTRY_JAPAN9},
 
 334         {MKK3_FCCA, MKK3, FCCA,
 
 335          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 336          NO_PSCAN, CTRY_JAPAN27},
 
 338         {MKK4_MKKA, MKK4, MKKA,
 
 339          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 340          PSCAN_MKK3, CTRY_JAPAN36},
 
 341         {MKK4_MKKB, MKK4, MKKA,
 
 342          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC |
 
 343          LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKK3 | PSCAN_MKKA | PSCAN_MKKA_G,
 
 345         {MKK4_MKKA1, MKK4, MKKA,
 
 346          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 347          PSCAN_MKK3 | PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN28},
 
 348         {MKK4_MKKA2, MKK4, MKKA,
 
 349          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 350          PSCAN_MKK3 | PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN11},
 
 351         {MKK4_MKKC, MKK4, MKKC,
 
 352          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 353          PSCAN_MKK3, CTRY_JAPAN12},
 
 354         {MKK4_FCCA, MKK4, FCCA,
 
 355          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 356          PSCAN_MKK3, CTRY_JAPAN29},
 
 358         {MKK5_MKKB, MKK5, MKKA,
 
 359          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC |
 
 360          LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKK3 | PSCAN_MKKA | PSCAN_MKKA_G,
 
 362         {MKK5_MKKA2, MKK5, MKKA,
 
 363          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 364          PSCAN_MKK3 | PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN14},
 
 365         {MKK5_MKKC, MKK5, MKKC,
 
 366          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 367          PSCAN_MKK3, CTRY_JAPAN15},
 
 369         {MKK6_MKKB, MKK6, MKKA,
 
 370          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 371          PSCAN_MKK1 | PSCAN_MKKA | PSCAN_MKKA_G, CTRY_JAPAN16},
 
 372         {MKK6_MKKA1, MKK6, MKKA,
 
 373          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 374          PSCAN_MKK1 | PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN30},
 
 375         {MKK6_MKKA2, MKK6, MKKA,
 
 376          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 377          PSCAN_MKK1 | PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN17},
 
 378         {MKK6_MKKC, MKK6, MKKC,
 
 379          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 380          PSCAN_MKK1, CTRY_JAPAN18},
 
 381         {MKK6_FCCA, MKK6, FCCA,
 
 382          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 383          NO_PSCAN, CTRY_JAPAN31},
 
 385         {MKK7_MKKB, MKK7, MKKA,
 
 386          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 387          PSCAN_MKK1 | PSCAN_MKK3 | PSCAN_MKKA | PSCAN_MKKA_G,
 
 389         {MKK7_MKKA1, MKK7, MKKA,
 
 390          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 391          PSCAN_MKK1 | PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN32},
 
 392         {MKK7_MKKA2, MKK7, MKKA,
 
 393          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 394          PSCAN_MKK1 | PSCAN_MKK3 | PSCAN_MKKA2 | PSCAN_MKKA2_G,
 
 396         {MKK7_MKKC, MKK7, MKKC,
 
 397          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 398          PSCAN_MKK1 | PSCAN_MKK3, CTRY_JAPAN21},
 
 399         {MKK7_FCCA, MKK7, FCCA,
 
 400          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 401          PSCAN_MKK1 | PSCAN_MKK3, CTRY_JAPAN33},
 
 403         {MKK8_MKKB, MKK8, MKKA,
 
 404          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 405          PSCAN_MKK1 | PSCAN_MKK3 | PSCAN_MKKA | PSCAN_MKKA_G,
 
 407         {MKK8_MKKA2, MKK8, MKKA,
 
 408          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 409          PSCAN_MKK1 | PSCAN_MKK3 | PSCAN_MKKA2 | PSCAN_MKKA2_G,
 
 411         {MKK8_MKKC, MKK8, MKKC,
 
 412          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 413          PSCAN_MKK1 | PSCAN_MKK3, CTRY_JAPAN24},
 
 415         {MKK9_MKKA, MKK9, MKKA,
 
 416          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC |
 
 417          LIMIT_FRAME_4MS, NEED_NFC,
 
 418          PSCAN_MKK2 | PSCAN_MKK3 | PSCAN_MKKA | PSCAN_MKKA_G,
 
 420         {MKK9_FCCA, MKK9, FCCA,
 
 421          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 422          NO_PSCAN, CTRY_JAPAN37},
 
 423         {MKK9_MKKA1, MKK9, MKKA,
 
 424          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 425          PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN38},
 
 426         {MKK9_MKKA2, MKK9, MKKA,
 
 427          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 428          PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN40},
 
 429         {MKK9_MKKC, MKK9, MKKC,
 
 430          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 431          NO_PSCAN, CTRY_JAPAN39},
 
 433         {MKK10_MKKA, MKK10, MKKA,
 
 434          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC |
 
 435          LIMIT_FRAME_4MS, NEED_NFC, PSCAN_MKK2 | PSCAN_MKK3, CTRY_JAPAN35},
 
 436         {MKK10_FCCA, MKK10, FCCA,
 
 437          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 438          NO_PSCAN, CTRY_JAPAN41},
 
 439         {MKK10_MKKA1, MKK10, MKKA,
 
 440          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 441          PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN42},
 
 442         {MKK10_MKKA2, MKK10, MKKA,
 
 443          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 444          PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN44},
 
 445         {MKK10_MKKC, MKK10, MKKC,
 
 446          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 447          NO_PSCAN, CTRY_JAPAN43},
 
 449         {MKK11_MKKA, MKK11, MKKA,
 
 450          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 451          PSCAN_MKK3, CTRY_JAPAN45},
 
 452         {MKK11_FCCA, MKK11, FCCA,
 
 453          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 454          PSCAN_MKK3, CTRY_JAPAN46},
 
 455         {MKK11_MKKA1, MKK11, MKKA,
 
 456          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 457          PSCAN_MKK3 | PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN47},
 
 458         {MKK11_MKKA2, MKK11, MKKA,
 
 459          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 460          PSCAN_MKK3 | PSCAN_MKKA2 | PSCAN_MKKA2_G, CTRY_JAPAN49},
 
 461         {MKK11_MKKC, MKK11, MKKC,
 
 462          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 463          PSCAN_MKK3, CTRY_JAPAN48},
 
 465         {MKK12_MKKA, MKK12, MKKA,
 
 466          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 467          PSCAN_MKK1 | PSCAN_MKK3, CTRY_JAPAN50},
 
 468         {MKK12_FCCA, MKK12, FCCA,
 
 469          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 470          PSCAN_MKK1 | PSCAN_MKK3, CTRY_JAPAN51},
 
 471         {MKK12_MKKA1, MKK12, MKKA,
 
 472          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 473          PSCAN_MKK1 | PSCAN_MKK3 | PSCAN_MKKA1 | PSCAN_MKKA1_G,
 
 475         {MKK12_MKKA2, MKK12, MKKA,
 
 476          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 477          PSCAN_MKK1 | PSCAN_MKK3 | PSCAN_MKKA2 | PSCAN_MKKA2_G,
 
 479         {MKK12_MKKC, MKK12, MKKC,
 
 480          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 481          PSCAN_MKK1 | PSCAN_MKK3, CTRY_JAPAN53},
 
 483         {MKK13_MKKB, MKK13, MKKA,
 
 484          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB | NEED_NFC |
 
 485          LIMIT_FRAME_4MS, NEED_NFC,
 
 486          PSCAN_MKK1 | PSCAN_MKK3 | PSCAN_MKKA | PSCAN_MKKA_G,
 
 489         {MKK14_MKKA1, MKK14, MKKA,
 
 490          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 491          PSCAN_MKK1 | PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN58},
 
 492         {MKK15_MKKA1, MKK15, MKKA,
 
 493          DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC,
 
 494          PSCAN_MKK1 | PSCAN_MKKA1 | PSCAN_MKKA1_G, CTRY_JAPAN59},
 
 496         {WOR0_WORLD, WOR0_WORLD, WOR0_WORLD, NO_REQ, NO_REQ, PSCAN_DEFER,
 
 498         {WOR1_WORLD, WOR1_WORLD, WOR1_WORLD,
 
 499          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
 
 501         {WOR2_WORLD, WOR2_WORLD, WOR2_WORLD, DISALLOW_ADHOC_11A_TURB,
 
 502          NO_REQ, PSCAN_DEFER, 0},
 
 503         {WOR3_WORLD, WOR3_WORLD, WOR3_WORLD, NO_REQ, NO_REQ, PSCAN_DEFER,
 
 505         {WOR4_WORLD, WOR4_WORLD, WOR4_WORLD,
 
 506          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
 
 508         {WOR5_ETSIC, WOR5_ETSIC, WOR5_ETSIC,
 
 509          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
 
 511         {WOR01_WORLD, WOR01_WORLD, WOR01_WORLD, NO_REQ, NO_REQ,
 
 513         {WOR02_WORLD, WOR02_WORLD, WOR02_WORLD, NO_REQ, NO_REQ,
 
 515         {EU1_WORLD, EU1_WORLD, EU1_WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0},
 
 516         {WOR9_WORLD, WOR9_WORLD, WOR9_WORLD,
 
 517          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
 
 519         {WORA_WORLD, WORA_WORLD, WORA_WORLD,
 
 520          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
 
 522         {WORB_WORLD, WORB_WORLD, WORB_WORLD,
 
 523          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER,
 
 527 #define NO_INTERSECT_REQ        0xFFFFFFFF
 
 528 #define NO_UNION_REQ            0
 
 530 static struct country_code_to_enum_rd allCountries[] = {
 
 531         {CTRY_DEBUG, NO_ENUMRD, "DB", "DEBUG", YES, YES, YES, YES, YES,
 
 533         {CTRY_DEFAULT, DEF_REGDMN, "NA", "NO_COUNTRY_SET", YES, YES, YES,
 
 534          YES, YES, YES, YES, 7000},
 
 535         {CTRY_ALBANIA, NULL1_WORLD, "AL", "ALBANIA", YES, NO, YES, YES, NO,
 
 537         {CTRY_ALGERIA, NULL1_WORLD, "DZ", "ALGERIA", YES, NO, YES, YES, NO,
 
 539         {CTRY_ARGENTINA, APL3_WORLD, "AR", "ARGENTINA", YES, NO, NO, YES,
 
 541         {CTRY_ARMENIA, ETSI4_WORLD, "AM", "ARMENIA", YES, NO, YES, YES,
 
 543         {CTRY_AUSTRALIA, FCC2_WORLD, "AU", "AUSTRALIA", YES, YES, YES, YES,
 
 544          YES, YES, YES, 7000},
 
 545         {CTRY_AUSTRALIA2, FCC6_WORLD, "AU", "AUSTRALIA2", YES, YES, YES,
 
 546          YES, YES, YES, YES, 7000},
 
 547         {CTRY_AUSTRIA, ETSI1_WORLD, "AT", "AUSTRIA", YES, NO, YES, YES,
 
 548          YES, YES, YES, 7000},
 
 549         {CTRY_AZERBAIJAN, ETSI4_WORLD, "AZ", "AZERBAIJAN", YES, YES, YES,
 
 550          YES, YES, YES, YES, 7000},
 
 551         {CTRY_BAHRAIN, APL6_WORLD, "BH", "BAHRAIN", YES, NO, YES, YES, YES,
 
 553         {CTRY_BELARUS, ETSI1_WORLD, "BY", "BELARUS", YES, NO, YES, YES,
 
 554          YES, YES, YES, 7000},
 
 555         {CTRY_BELGIUM, ETSI1_WORLD, "BE", "BELGIUM", YES, NO, YES, YES,
 
 556          YES, YES, YES, 7000},
 
 557         {CTRY_BELGIUM2, ETSI4_WORLD, "BL", "BELGIUM", YES, NO, YES, YES,
 
 558          YES, YES, YES, 7000},
 
 559         {CTRY_BELIZE, APL1_ETSIC, "BZ", "BELIZE", YES, YES, YES, YES, YES,
 
 561         {CTRY_BOLIVIA, APL1_ETSIC, "BO", "BOLVIA", YES, YES, YES, YES, YES,
 
 563         {CTRY_BOSNIA_HERZ, ETSI1_WORLD, "BA", "BOSNIA_HERZGOWINA", YES, NO,
 
 564          YES, YES, YES, YES, NO, 7000},
 
 565         {CTRY_BRAZIL, FCC3_WORLD, "BR", "BRAZIL", YES, NO, NO, YES, NO,
 
 567         {CTRY_BRUNEI_DARUSSALAM, APL1_WORLD, "BN", "BRUNEI DARUSSALAM",
 
 568          YES, YES, YES, YES, YES, YES, YES, 7000},
 
 569         {CTRY_BULGARIA, ETSI6_WORLD, "BG", "BULGARIA", YES, NO, YES, YES,
 
 570          YES, YES, YES, 7000},
 
 571         {CTRY_CANADA, FCC2_FCCA, "CA", "CANADA", YES, YES, YES, YES, YES,
 
 573         {CTRY_CANADA2, FCC6_FCCA, "CA", "CANADA2", YES, YES, YES, YES, YES,
 
 575         {CTRY_CHILE, APL6_WORLD, "CL", "CHILE", YES, YES, YES, YES, YES,
 
 577         {CTRY_CHINA, APL1_WORLD, "CN", "CHINA", YES, YES, YES, YES, YES,
 
 579         {CTRY_COLOMBIA, FCC1_FCCA, "CO", "COLOMBIA", YES, NO, YES, YES,
 
 581         {CTRY_COSTA_RICA, FCC1_WORLD, "CR", "COSTA RICA", YES, NO, YES,
 
 582          YES, YES, YES, NO, 7000},
 
 583         {CTRY_CROATIA, ETSI3_WORLD, "HR", "CROATIA", YES, NO, YES, YES,
 
 585         {CTRY_CYPRUS, ETSI1_WORLD, "CY", "CYPRUS", YES, YES, YES, YES, YES,
 
 587         {CTRY_CZECH, ETSI3_WORLD, "CZ", "CZECH REPUBLIC", YES, NO, YES,
 
 588          YES, YES, YES, YES, 7000},
 
 589         {CTRY_DENMARK, ETSI1_WORLD, "DK", "DENMARK", YES, NO, YES, YES,
 
 590          YES, YES, YES, 7000},
 
 591         {CTRY_DOMINICAN_REPUBLIC, FCC1_FCCA, "DO", "DOMINICAN REPUBLIC",
 
 592          YES, YES, YES, YES, YES, YES, YES, 7000},
 
 593         {CTRY_ECUADOR, FCC1_WORLD, "EC", "ECUADOR", YES, NO, NO, YES, YES,
 
 595         {CTRY_EGYPT, ETSI3_WORLD, "EG", "EGYPT", YES, NO, YES, YES, YES,
 
 597         {CTRY_EL_SALVADOR, FCC1_WORLD, "SV", "EL SALVADOR", YES, NO, YES,
 
 598          YES, YES, YES, NO, 7000},
 
 599         {CTRY_ESTONIA, ETSI1_WORLD, "EE", "ESTONIA", YES, NO, YES, YES,
 
 600          YES, YES, YES, 7000},
 
 601         {CTRY_FINLAND, ETSI1_WORLD, "FI", "FINLAND", YES, NO, YES, YES,
 
 602          YES, YES, YES, 7000},
 
 603         {CTRY_FRANCE, ETSI1_WORLD, "FR", "FRANCE", YES, NO, YES, YES, YES,
 
 605         {CTRY_GEORGIA, ETSI4_WORLD, "GE", "GEORGIA", YES, YES, YES, YES,
 
 606          YES, YES, YES, 7000},
 
 607         {CTRY_GERMANY, ETSI1_WORLD, "DE", "GERMANY", YES, NO, YES, YES,
 
 608          YES, YES, YES, 7000},
 
 609         {CTRY_GREECE, ETSI1_WORLD, "GR", "GREECE", YES, NO, YES, YES, YES,
 
 611         {CTRY_GUATEMALA, FCC1_FCCA, "GT", "GUATEMALA", YES, YES, YES, YES,
 
 612          YES, YES, YES, 7000},
 
 613         {CTRY_HONDURAS, NULL1_WORLD, "HN", "HONDURAS", YES, NO, YES, YES,
 
 615         {CTRY_HONG_KONG, FCC2_WORLD, "HK", "HONG KONG", YES, YES, YES, YES,
 
 616          YES, YES, YES, 7000},
 
 617         {CTRY_HUNGARY, ETSI1_WORLD, "HU", "HUNGARY", YES, NO, YES, YES,
 
 618          YES, YES, YES, 7000},
 
 619         {CTRY_ICELAND, ETSI1_WORLD, "IS", "ICELAND", YES, NO, YES, YES,
 
 620          YES, YES, YES, 7000},
 
 621         {CTRY_INDIA, APL6_WORLD, "IN", "INDIA", YES, NO, YES, YES, YES,
 
 623         {CTRY_INDONESIA, APL1_WORLD, "ID", "INDONESIA", YES, NO, YES, YES,
 
 625         {CTRY_IRAN, APL1_WORLD, "IR", "IRAN", YES, YES, YES, YES, YES, YES,
 
 627         {CTRY_IRELAND, ETSI1_WORLD, "IE", "IRELAND", YES, NO, YES, YES,
 
 628          YES, YES, YES, 7000},
 
 629         {CTRY_ISRAEL, NULL1_WORLD, "IL", "ISRAEL", YES, NO, YES, YES, YES,
 
 631         {CTRY_ITALY, ETSI1_WORLD, "IT", "ITALY", YES, NO, YES, YES, YES,
 
 633         {CTRY_JAMAICA, ETSI1_WORLD, "JM", "JAMAICA", YES, NO, YES, YES,
 
 634          YES, YES, YES, 7000},
 
 636         {CTRY_JAPAN, MKK1_MKKA, "JP", "JAPAN", YES, NO, NO, YES, YES, YES,
 
 638         {CTRY_JAPAN1, MKK1_MKKB, "JP", "JAPAN1", YES, NO, NO, YES, YES,
 
 640         {CTRY_JAPAN2, MKK1_FCCA, "JP", "JAPAN2", YES, NO, NO, YES, YES,
 
 642         {CTRY_JAPAN3, MKK2_MKKA, "JP", "JAPAN3", YES, NO, NO, YES, YES,
 
 644         {CTRY_JAPAN4, MKK1_MKKA1, "JP", "JAPAN4", YES, NO, NO, YES, YES,
 
 646         {CTRY_JAPAN5, MKK1_MKKA2, "JP", "JAPAN5", YES, NO, NO, YES, YES,
 
 648         {CTRY_JAPAN6, MKK1_MKKC, "JP", "JAPAN6", YES, NO, NO, YES, YES,
 
 651         {CTRY_JAPAN7, MKK3_MKKB, "JP", "JAPAN7", YES, NO, NO, YES, YES,
 
 653         {CTRY_JAPAN8, MKK3_MKKA2, "JP", "JAPAN8", YES, NO, NO, YES, YES,
 
 655         {CTRY_JAPAN9, MKK3_MKKC, "JP", "JAPAN9", YES, NO, NO, YES, YES,
 
 658         {CTRY_JAPAN10, MKK4_MKKB, "JP", "JAPAN10", YES, NO, NO, YES, YES,
 
 660         {CTRY_JAPAN11, MKK4_MKKA2, "JP", "JAPAN11", YES, NO, NO, YES, YES,
 
 662         {CTRY_JAPAN12, MKK4_MKKC, "JP", "JAPAN12", YES, NO, NO, YES, YES,
 
 665         {CTRY_JAPAN13, MKK5_MKKB, "JP", "JAPAN13", YES, NO, NO, YES, YES,
 
 667         {CTRY_JAPAN14, MKK5_MKKA2, "JP", "JAPAN14", YES, NO, NO, YES, YES,
 
 669         {CTRY_JAPAN15, MKK5_MKKC, "JP", "JAPAN15", YES, NO, NO, YES, YES,
 
 672         {CTRY_JAPAN16, MKK6_MKKB, "JP", "JAPAN16", YES, NO, NO, YES, YES,
 
 674         {CTRY_JAPAN17, MKK6_MKKA2, "JP", "JAPAN17", YES, NO, NO, YES, YES,
 
 676         {CTRY_JAPAN18, MKK6_MKKC, "JP", "JAPAN18", YES, NO, NO, YES, YES,
 
 679         {CTRY_JAPAN19, MKK7_MKKB, "JP", "JAPAN19", YES, NO, NO, YES, YES,
 
 681         {CTRY_JAPAN20, MKK7_MKKA2, "JP", "JAPAN20", YES, NO, NO, YES, YES,
 
 683         {CTRY_JAPAN21, MKK7_MKKC, "JP", "JAPAN21", YES, NO, NO, YES, YES,
 
 686         {CTRY_JAPAN22, MKK8_MKKB, "JP", "JAPAN22", YES, NO, NO, YES, YES,
 
 688         {CTRY_JAPAN23, MKK8_MKKA2, "JP", "JAPAN23", YES, NO, NO, YES, YES,
 
 690         {CTRY_JAPAN24, MKK8_MKKC, "JP", "JAPAN24", YES, NO, NO, YES, YES,
 
 693         {CTRY_JAPAN25, MKK3_MKKA, "JP", "JAPAN25", YES, NO, NO, YES, YES,
 
 695         {CTRY_JAPAN26, MKK3_MKKA1, "JP", "JAPAN26", YES, NO, NO, YES, YES,
 
 697         {CTRY_JAPAN27, MKK3_FCCA, "JP", "JAPAN27", YES, NO, NO, YES, YES,
 
 699         {CTRY_JAPAN28, MKK4_MKKA1, "JP", "JAPAN28", YES, NO, NO, YES, YES,
 
 701         {CTRY_JAPAN29, MKK4_FCCA, "JP", "JAPAN29", YES, NO, NO, YES, YES,
 
 703         {CTRY_JAPAN30, MKK6_MKKA1, "JP", "JAPAN30", YES, NO, NO, YES, YES,
 
 705         {CTRY_JAPAN31, MKK6_FCCA, "JP", "JAPAN31", YES, NO, NO, YES, YES,
 
 707         {CTRY_JAPAN32, MKK7_MKKA1, "JP", "JAPAN32", YES, NO, NO, YES, YES,
 
 709         {CTRY_JAPAN33, MKK7_FCCA, "JP", "JAPAN33", YES, NO, NO, YES, YES,
 
 711         {CTRY_JAPAN34, MKK9_MKKA, "JP", "JAPAN34", YES, NO, NO, YES, YES,
 
 713         {CTRY_JAPAN35, MKK10_MKKA, "JP", "JAPAN35", YES, NO, NO, YES, YES,
 
 715         {CTRY_JAPAN36, MKK4_MKKA, "JP", "JAPAN36", YES, NO, NO, YES, YES,
 
 717         {CTRY_JAPAN37, MKK9_FCCA, "JP", "JAPAN37", YES, NO, NO, YES, YES,
 
 719         {CTRY_JAPAN38, MKK9_MKKA1, "JP", "JAPAN38", YES, NO, NO, YES, YES,
 
 721         {CTRY_JAPAN39, MKK9_MKKC, "JP", "JAPAN39", YES, NO, NO, YES, YES,
 
 723         {CTRY_JAPAN40, MKK9_MKKA2, "JP", "JAPAN40", YES, NO, NO, YES, YES,
 
 725         {CTRY_JAPAN41, MKK10_FCCA, "JP", "JAPAN41", YES, NO, NO, YES, YES,
 
 727         {CTRY_JAPAN42, MKK10_MKKA1, "JP", "JAPAN42", YES, NO, NO, YES, YES,
 
 729         {CTRY_JAPAN43, MKK10_MKKC, "JP", "JAPAN43", YES, NO, NO, YES, YES,
 
 731         {CTRY_JAPAN44, MKK10_MKKA2, "JP", "JAPAN44", YES, NO, NO, YES, YES,
 
 733         {CTRY_JAPAN45, MKK11_MKKA, "JP", "JAPAN45", YES, NO, NO, YES, YES,
 
 735         {CTRY_JAPAN46, MKK11_FCCA, "JP", "JAPAN46", YES, NO, NO, YES, YES,
 
 737         {CTRY_JAPAN47, MKK11_MKKA1, "JP", "JAPAN47", YES, NO, NO, YES, YES,
 
 739         {CTRY_JAPAN48, MKK11_MKKC, "JP", "JAPAN48", YES, NO, NO, YES, YES,
 
 741         {CTRY_JAPAN49, MKK11_MKKA2, "JP", "JAPAN49", YES, NO, NO, YES, YES,
 
 743         {CTRY_JAPAN50, MKK12_MKKA, "JP", "JAPAN50", YES, NO, NO, YES, YES,
 
 745         {CTRY_JAPAN51, MKK12_FCCA, "JP", "JAPAN51", YES, NO, NO, YES, YES,
 
 747         {CTRY_JAPAN52, MKK12_MKKA1, "JP", "JAPAN52", YES, NO, NO, YES, YES,
 
 749         {CTRY_JAPAN53, MKK12_MKKC, "JP", "JAPAN53", YES, NO, NO, YES, YES,
 
 751         {CTRY_JAPAN54, MKK12_MKKA2, "JP", "JAPAN54", YES, NO, NO, YES, YES,
 
 754         {CTRY_JAPAN57, MKK13_MKKB, "JP", "JAPAN57", YES, NO, NO, YES, YES,
 
 756         {CTRY_JAPAN58, MKK14_MKKA1, "JP", "JAPAN58", YES, NO, NO, YES, YES,
 
 758         {CTRY_JAPAN59, MKK15_MKKA1, "JP", "JAPAN59", YES, NO, NO, YES, YES,
 
 761         {CTRY_JORDAN, ETSI2_WORLD, "JO", "JORDAN", YES, NO, YES, YES, YES,
 
 763         {CTRY_KAZAKHSTAN, NULL1_WORLD, "KZ", "KAZAKHSTAN", YES, NO, YES,
 
 764          YES, YES, NO, NO, 7000},
 
 765         {CTRY_KOREA_NORTH, APL9_WORLD, "KP", "NORTH KOREA", YES, NO, NO,
 
 766          YES, YES, YES, YES, 7000},
 
 767         {CTRY_KOREA_ROC, APL9_WORLD, "KR", "KOREA REPUBLIC", YES, NO, NO,
 
 768          YES, NO, YES, NO, 7000},
 
 769         {CTRY_KOREA_ROC2, APL2_WORLD, "K2", "KOREA REPUBLIC2", YES, NO, NO,
 
 770          YES, NO, YES, NO, 7000},
 
 771         {CTRY_KOREA_ROC3, APL9_WORLD, "K3", "KOREA REPUBLIC3", YES, NO, NO,
 
 772          YES, NO, YES, NO, 7000},
 
 773         {CTRY_KUWAIT, NULL1_WORLD, "KW", "KUWAIT", YES, NO, YES, YES, YES,
 
 775         {CTRY_LATVIA, ETSI1_WORLD, "LV", "LATVIA", YES, NO, YES, YES, YES,
 
 777         {CTRY_LEBANON, NULL1_WORLD, "LB", "LEBANON", YES, NO, YES, YES,
 
 779         {CTRY_LIECHTENSTEIN, ETSI1_WORLD, "LI", "LIECHTENSTEIN", YES, NO,
 
 780          YES, YES, YES, YES, YES, 7000},
 
 781         {CTRY_LITHUANIA, ETSI1_WORLD, "LT", "LITHUANIA", YES, NO, YES, YES,
 
 782          YES, YES, YES, 7000},
 
 783         {CTRY_LUXEMBOURG, ETSI1_WORLD, "LU", "LUXEMBOURG", YES, NO, YES,
 
 784          YES, YES, YES, YES, 7000},
 
 785         {CTRY_MACAU, FCC2_WORLD, "MO", "MACAU", YES, YES, YES, YES, YES,
 
 787         {CTRY_MACEDONIA, NULL1_WORLD, "MK", "MACEDONIA", YES, NO, YES, YES,
 
 789         {CTRY_MALAYSIA, APL8_WORLD, "MY", "MALAYSIA", YES, NO, NO, YES, NO,
 
 791         {CTRY_MALTA, ETSI1_WORLD, "MT", "MALTA", YES, NO, YES, YES, YES,
 
 793         {CTRY_MEXICO, FCC1_FCCA, "MX", "MEXICO", YES, YES, YES, YES, YES,
 
 795         {CTRY_MONACO, ETSI4_WORLD, "MC", "MONACO", YES, YES, YES, YES, YES,
 
 797         {CTRY_MOROCCO, NULL1_WORLD, "MA", "MOROCCO", YES, NO, YES, YES,
 
 799         {CTRY_NEPAL, APL1_WORLD, "NP", "NEPAL", YES, NO, YES, YES, YES,
 
 801         {CTRY_NETHERLANDS, ETSI1_WORLD, "NL", "NETHERLANDS", YES, NO, YES,
 
 802          YES, YES, YES, YES, 7000},
 
 803         {CTRY_NETHERLANDS_ANTILLES, ETSI1_WORLD, "AN",
 
 804          "NETHERLANDS-ANTILLES", YES, NO, YES, YES, YES, YES, YES, 7000},
 
 805         {CTRY_NEW_ZEALAND, FCC2_ETSIC, "NZ", "NEW ZEALAND", YES, NO, YES,
 
 806          YES, YES, YES, NO, 7000},
 
 807         {CTRY_NORWAY, ETSI1_WORLD, "NO", "NORWAY", YES, NO, YES, YES, YES,
 
 809         {CTRY_OMAN, APL6_WORLD, "OM", "OMAN", YES, NO, YES, YES, YES, YES,
 
 811         {CTRY_PAKISTAN, NULL1_WORLD, "PK", "PAKISTAN", YES, NO, YES, YES,
 
 813         {CTRY_PANAMA, FCC1_FCCA, "PA", "PANAMA", YES, YES, YES, YES, YES,
 
 815         {CTRY_PAPUA_NEW_GUINEA, FCC1_WORLD, "PG", "PAPUA NEW GUINEA", YES,
 
 816          YES, YES, YES, YES, YES, YES, 7000},
 
 817         {CTRY_PERU, APL1_WORLD, "PE", "PERU", YES, NO, YES, YES, YES, YES,
 
 819         {CTRY_PHILIPPINES, APL1_WORLD, "PH", "PHILIPPINES", YES, YES, YES,
 
 820          YES, YES, YES, YES, 7000},
 
 821         {CTRY_POLAND, ETSI1_WORLD, "PL", "POLAND", YES, NO, YES, YES, YES,
 
 823         {CTRY_PORTUGAL, ETSI1_WORLD, "PT", "PORTUGAL", YES, NO, YES, YES,
 
 824          YES, YES, YES, 7000},
 
 825         {CTRY_PUERTO_RICO, FCC1_FCCA, "PR", "PUERTO RICO", YES, YES, YES,
 
 826          YES, YES, YES, YES, 7000},
 
 827         {CTRY_QATAR, NULL1_WORLD, "QA", "QATAR", YES, NO, YES, YES, YES,
 
 829         {CTRY_ROMANIA, NULL1_WORLD, "RO", "ROMANIA", YES, NO, YES, YES,
 
 831         {CTRY_RUSSIA, NULL1_WORLD, "RU", "RUSSIA", YES, NO, YES, YES, YES,
 
 833         {CTRY_SAUDI_ARABIA, NULL1_WORLD, "SA", "SAUDI ARABIA", YES, NO,
 
 834          YES, YES, YES, NO, NO, 7000},
 
 835         {CTRY_SERBIA_MONTENEGRO, ETSI1_WORLD, "CS", "SERBIA & MONTENEGRO",
 
 836          YES, NO, YES, YES, YES, YES, YES, 7000},
 
 837         {CTRY_SINGAPORE, APL6_WORLD, "SG", "SINGAPORE", YES, YES, YES, YES,
 
 838          YES, YES, YES, 7000},
 
 839         {CTRY_SLOVAKIA, ETSI1_WORLD, "SK", "SLOVAK REPUBLIC", YES, NO, YES,
 
 840          YES, YES, YES, YES, 7000},
 
 841         {CTRY_SLOVENIA, ETSI1_WORLD, "SI", "SLOVENIA", YES, NO, YES, YES,
 
 842          YES, YES, YES, 7000},
 
 843         {CTRY_SOUTH_AFRICA, FCC3_WORLD, "ZA", "SOUTH AFRICA", YES, NO, YES,
 
 844          YES, YES, YES, NO, 7000},
 
 845         {CTRY_SPAIN, ETSI1_WORLD, "ES", "SPAIN", YES, NO, YES, YES, YES,
 
 847         {CTRY_SRI_LANKA, FCC3_WORLD, "LK", "SRI LANKA", YES, NO, YES, YES,
 
 849         {CTRY_SWEDEN, ETSI1_WORLD, "SE", "SWEDEN", YES, NO, YES, YES, YES,
 
 851         {CTRY_SWITZERLAND, ETSI1_WORLD, "CH", "SWITZERLAND", YES, NO, YES,
 
 852          YES, YES, YES, YES, 7000},
 
 853         {CTRY_SYRIA, NULL1_WORLD, "SY", "SYRIA", YES, NO, YES, YES, YES,
 
 855         {CTRY_TAIWAN, APL3_FCCA, "TW", "TAIWAN", YES, YES, YES, YES, YES,
 
 857         {CTRY_THAILAND, NULL1_WORLD, "TH", "THAILAND", YES, NO, YES, YES,
 
 859         {CTRY_TRINIDAD_Y_TOBAGO, ETSI4_WORLD, "TT", "TRINIDAD & TOBAGO",
 
 860          YES, NO, YES, YES, YES, YES, NO, 7000},
 
 861         {CTRY_TUNISIA, ETSI3_WORLD, "TN", "TUNISIA", YES, NO, YES, YES,
 
 863         {CTRY_TURKEY, ETSI3_WORLD, "TR", "TURKEY", YES, NO, YES, YES, YES,
 
 865         {CTRY_UKRAINE, NULL1_WORLD, "UA", "UKRAINE", YES, NO, YES, YES,
 
 867         {CTRY_UAE, NULL1_WORLD, "AE", "UNITED ARAB EMIRATES", YES, NO, YES,
 
 868          YES, YES, NO, NO, 7000},
 
 869         {CTRY_UNITED_KINGDOM, ETSI1_WORLD, "GB", "UNITED KINGDOM", YES, NO,
 
 870          YES, YES, YES, YES, YES, 7000},
 
 871         {CTRY_UNITED_STATES, FCC3_FCCA, "US", "UNITED STATES", YES, YES,
 
 872          YES, YES, YES, YES, YES, 5825},
 
 873         {CTRY_UNITED_STATES_FCC49, FCC4_FCCA, "PS",
 
 874          "UNITED STATES (PUBLIC SAFETY)", YES, YES, YES, YES, YES, YES,
 
 876         {CTRY_URUGUAY, APL2_WORLD, "UY", "URUGUAY", YES, NO, YES, YES, YES,
 
 878         {CTRY_UZBEKISTAN, FCC3_FCCA, "UZ", "UZBEKISTAN", YES, YES, YES,
 
 879          YES, YES, YES, YES, 7000},
 
 880         {CTRY_VENEZUELA, APL2_ETSIC, "VE", "VENEZUELA", YES, NO, YES, YES,
 
 882         {CTRY_VIET_NAM, NULL1_WORLD, "VN", "VIET NAM", YES, NO, YES, YES,
 
 884         {CTRY_YEMEN, NULL1_WORLD, "YE", "YEMEN", YES, NO, YES, YES, YES,
 
 886         {CTRY_ZIMBABWE, NULL1_WORLD, "ZW", "ZIMBABWE", YES, NO, YES, YES,
 
 891         NO_DFS = 0x0000000000000000ULL,
 
 892         DFS_FCC3 = 0x0000000000000001ULL,
 
 893         DFS_ETSI = 0x0000000000000002ULL,
 
 894         DFS_MKK4 = 0x0000000000000004ULL,
 
 972 static struct RegDmnFreqBand regDmn5GhzFreq[] = {
 
 973         {4915, 4925, 23, 0, 10, 5, NO_DFS, PSCAN_MKK2, 16},
 
 974         {4935, 4945, 23, 0, 10, 5, NO_DFS, PSCAN_MKK2, 16},
 
 975         {4920, 4980, 23, 0, 20, 20, NO_DFS, PSCAN_MKK2, 7},
 
 976         {4942, 4987, 27, 6, 5, 5, NO_DFS, PSCAN_FCC, 0},
 
 977         {4945, 4985, 30, 6, 10, 5, NO_DFS, PSCAN_FCC, 0},
 
 978         {4950, 4980, 33, 6, 20, 5, NO_DFS, PSCAN_FCC, 0},
 
 979         {5035, 5040, 23, 0, 10, 5, NO_DFS, PSCAN_MKK2, 12},
 
 980         {5040, 5080, 23, 0, 20, 20, NO_DFS, PSCAN_MKK2, 2},
 
 981         {5055, 5055, 23, 0, 10, 5, NO_DFS, PSCAN_MKK2, 12},
 
 983         {5120, 5240, 5, 6, 20, 20, NO_DFS, NO_PSCAN, 0},
 
 985         {5170, 5230, 23, 0, 20, 20, NO_DFS, PSCAN_MKK1 | PSCAN_MKK2, 1},
 
 986         {5170, 5230, 20, 0, 20, 20, NO_DFS, PSCAN_MKK1 | PSCAN_MKK2, 1},
 
 988         {5180, 5240, 15, 0, 20, 20, NO_DFS, PSCAN_FCC | PSCAN_ETSI, 0},
 
 989         {5180, 5240, 17, 6, 20, 20, NO_DFS, NO_PSCAN, 1},
 
 990         {5180, 5240, 18, 0, 20, 20, NO_DFS, PSCAN_FCC | PSCAN_ETSI, 0},
 
 991         {5180, 5240, 20, 0, 20, 20, NO_DFS, PSCAN_FCC | PSCAN_ETSI, 0},
 
 992         {5180, 5240, 23, 0, 20, 20, NO_DFS, PSCAN_FCC | PSCAN_ETSI, 0},
 
 993         {5180, 5240, 23, 6, 20, 20, NO_DFS, PSCAN_FCC, 0},
 
 994         {5180, 5240, 20, 0, 20, 20, NO_DFS, PSCAN_MKK1 | PSCAN_MKK3, 0},
 
 995         {5180, 5240, 23, 6, 20, 20, NO_DFS, NO_PSCAN, 0},
 
 997         {5180, 5320, 20, 6, 20, 20, NO_DFS, PSCAN_ETSI, 0},
 
 999         {5240, 5280, 23, 0, 20, 20, DFS_FCC3, PSCAN_FCC | PSCAN_ETSI, 0},
 
1001         {5260, 5280, 23, 0, 20, 20, DFS_FCC3 | DFS_ETSI,
 
1002          PSCAN_FCC | PSCAN_ETSI, 0},
 
1004         {5260, 5320, 18, 0, 20, 20, DFS_FCC3 | DFS_ETSI,
 
1005          PSCAN_FCC | PSCAN_ETSI, 0},
 
1007         {5260, 5320, 20, 0, 20, 20, DFS_FCC3 | DFS_ETSI | DFS_MKK4,
 
1008          PSCAN_FCC | PSCAN_ETSI | PSCAN_MKK3, 0},
 
1011         {5260, 5320, 20, 6, 20, 20, DFS_FCC3 | DFS_ETSI,
 
1012          PSCAN_FCC | PSCAN_ETSI, 2},
 
1013         {5260, 5320, 23, 6, 20, 20, DFS_FCC3 | DFS_ETSI, PSCAN_FCC, 2},
 
1014         {5260, 5320, 23, 6, 20, 20, DFS_FCC3 | DFS_ETSI, PSCAN_FCC, 0},
 
1015         {5260, 5320, 30, 0, 20, 20, NO_DFS, NO_PSCAN, 0},
 
1017         {5260, 5700, 5, 6, 20, 20, DFS_FCC3 | DFS_ETSI, NO_PSCAN, 0},
 
1019         {5280, 5320, 17, 6, 20, 20, DFS_FCC3 | DFS_ETSI, PSCAN_FCC, 0},
 
1021         {5500, 5580, 23, 6, 20, 20, DFS_FCC3, PSCAN_FCC, 0},
 
1023         {5500, 5620, 30, 6, 20, 20, DFS_ETSI, PSCAN_ETSI, 0},
 
1025         {5500, 5700, 20, 6, 20, 20, DFS_FCC3 | DFS_ETSI, PSCAN_FCC, 4},
 
1026         {5500, 5700, 27, 0, 20, 20, DFS_FCC3 | DFS_ETSI,
 
1027          PSCAN_FCC | PSCAN_ETSI, 0},
 
1028         {5500, 5700, 30, 0, 20, 20, DFS_FCC3 | DFS_ETSI,
 
1029          PSCAN_FCC | PSCAN_ETSI, 0},
 
1030         {5500, 5700, 23, 0, 20, 20, DFS_FCC3 | DFS_ETSI | DFS_MKK4,
 
1031          PSCAN_MKK3 | PSCAN_FCC, 0},
 
1032         {5500, 5700, 30, 6, 20, 20, DFS_ETSI, PSCAN_ETSI, 0},
 
1034         {5660, 5700, 23, 6, 20, 20, DFS_FCC3, PSCAN_FCC, 0},
 
1036         {5745, 5805, 23, 0, 20, 20, NO_DFS, NO_PSCAN, 0},
 
1037         {5745, 5805, 30, 6, 20, 20, NO_DFS, NO_PSCAN, 0},
 
1038         {5745, 5805, 30, 6, 20, 20, NO_DFS, PSCAN_ETSI, 0},
 
1039         {5745, 5825, 5, 6, 20, 20, NO_DFS, NO_PSCAN, 0},
 
1040         {5745, 5825, 17, 0, 20, 20, NO_DFS, NO_PSCAN, 0},
 
1041         {5745, 5825, 20, 0, 20, 20, NO_DFS, NO_PSCAN, 0},
 
1042         {5745, 5825, 30, 0, 20, 20, NO_DFS, NO_PSCAN, 0},
 
1043         {5745, 5825, 30, 6, 20, 20, NO_DFS, NO_PSCAN, 3},
 
1044         {5745, 5825, 30, 6, 20, 20, NO_DFS, NO_PSCAN, 0},
 
1047         {4920, 4980, 30, 0, 20, 20, NO_DFS, PSCAN_WWR, 0},
 
1048         {5040, 5080, 30, 0, 20, 20, NO_DFS, PSCAN_WWR, 0},
 
1049         {5170, 5230, 30, 0, 20, 20, NO_DFS, PSCAN_WWR, 0},
 
1050         {5180, 5240, 30, 0, 20, 20, NO_DFS, PSCAN_WWR, 0},
 
1051         {5260, 5320, 30, 0, 20, 20, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, 0},
 
1052         {5745, 5825, 30, 0, 20, 20, NO_DFS, PSCAN_WWR, 0},
 
1053         {5500, 5700, 30, 0, 20, 20, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, 0},
 
1054         {4920, 6100, 30, 6, 20, 20, NO_DFS, NO_PSCAN, 0},
 
1168 static struct RegDmnFreqBand regDmn2GhzFreq[] = {
 
1169         {2312, 2372, 5, 6, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1170         {2312, 2372, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1172         {2412, 2472, 5, 6, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1173         {2412, 2472, 20, 0, 20, 5, NO_DFS, PSCAN_MKKA, 0},
 
1174         {2412, 2472, 30, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1176         {2412, 2462, 27, 6, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1177         {2412, 2462, 20, 0, 20, 5, NO_DFS, PSCAN_MKKA, 0},
 
1179         {2432, 2442, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1181         {2457, 2472, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1183         {2467, 2472, 20, 0, 20, 5, NO_DFS, PSCAN_MKKA2 | PSCAN_MKKA, 0},
 
1185         {2484, 2484, 5, 6, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1186         {2484, 2484, 20, 0, 20, 5, NO_DFS,
 
1187          PSCAN_MKKA | PSCAN_MKKA1 | PSCAN_MKKA2, 0},
 
1189         {2512, 2732, 5, 6, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1191         {2312, 2372, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1192         {2412, 2412, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1193         {2417, 2432, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1194         {2437, 2442, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1195         {2447, 2457, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1196         {2462, 2462, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1197         {2467, 2467, 20, 0, 20, 5, NO_DFS, PSCAN_WWR | IS_ECM_CHAN, 0},
 
1198         {2467, 2467, 20, 0, 20, 5, NO_DFS, NO_PSCAN | IS_ECM_CHAN, 0},
 
1199         {2472, 2472, 20, 0, 20, 5, NO_DFS, PSCAN_WWR | IS_ECM_CHAN, 0},
 
1200         {2472, 2472, 20, 0, 20, 5, NO_DFS, NO_PSCAN | IS_ECM_CHAN, 0},
 
1201         {2484, 2484, 20, 0, 20, 5, NO_DFS, PSCAN_WWR | IS_ECM_CHAN, 0},
 
1202         {2484, 2484, 20, 0, 20, 5, NO_DFS, NO_PSCAN | IS_ECM_CHAN, 0},
 
1231 static struct RegDmnFreqBand regDmn2Ghz11gFreq[] = {
 
1232         {2312, 2372, 5, 6, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1233         {2312, 2372, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1235         {2412, 2472, 5, 6, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1236         {2412, 2472, 20, 0, 20, 5, NO_DFS, PSCAN_MKKA_G, 0},
 
1237         {2412, 2472, 30, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1239         {2412, 2462, 27, 6, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1240         {2412, 2462, 20, 0, 20, 5, NO_DFS, PSCAN_MKKA_G, 0},
 
1242         {2432, 2442, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1244         {2457, 2472, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1246         {2512, 2732, 5, 6, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1248         {2467, 2472, 20, 0, 20, 5, NO_DFS, PSCAN_MKKA2 | PSCAN_MKKA, 0},
 
1250         {2312, 2372, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1251         {2412, 2462, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1252         {2467, 2472, 20, 0, 20, 5, NO_DFS, PSCAN_WWR | IS_ECM_CHAN, 0},
 
1253         {2467, 2472, 20, 0, 20, 5, NO_DFS, NO_PSCAN | IS_ECM_CHAN, 0},
 
1254         {2312, 2732, 27, 6, 20, 5, NO_DFS, NO_PSCAN, 0},
 
1265 static struct regDomain regDomains[] = {
 
1267         {DEBUG_REG_DMN, FCC, DFS_FCC3, NO_PSCAN, NO_REQ,
 
1268          BM(A_DEMO_ALL_CHANNELS, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1270          BM(T1_5130_5650, T1_5150_5670, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1272          BM(T1_5200_5240, T1_5280_5280, T1_5540_5660, T1_5765_5805, -1, -1,
 
1273             -1, -1, -1, -1, -1, -1),
 
1274          BM(F1_2312_2372, F1_2412_2472, F1_2484_2484, F1_2512_2732, -1, -1,
 
1275             -1, -1, -1, -1, -1, -1),
 
1276          BM(G_DEMO_ALL_CHANNELS, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1278          BM(T1_2312_2372, T1_2437_2437, T1_2512_2732, -1, -1, -1, -1, -1,
 
1281         {APL1, FCC, NO_DFS, NO_PSCAN, NO_REQ,
 
1282          BM(F4_5745_5825, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1283          BM(T2_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1284          BM(T1_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1289         {APL2, FCC, NO_DFS, NO_PSCAN, NO_REQ,
 
1290          BM(F1_5745_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1291          BM(T1_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1292          BM(T2_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1297         {APL3, FCC, NO_DFS, NO_PSCAN, NO_REQ,
 
1298          BM(F1_5280_5320, F2_5745_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1300          BM(T1_5290_5290, T1_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1302          BM(T1_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1307         {APL4, FCC, NO_DFS, NO_PSCAN, NO_REQ,
 
1308          BM(F4_5180_5240, F3_5745_5825, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1310          BM(T1_5210_5210, T3_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1312          BM(T1_5200_5200, T3_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1318         {APL5, FCC, NO_DFS, NO_PSCAN, NO_REQ,
 
1319          BM(F2_5745_5825, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1320          BM(T4_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1321          BM(T4_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1326         {APL6, ETSI, DFS_ETSI, PSCAN_FCC_T | PSCAN_FCC, NO_REQ,
 
1327          BM(F4_5180_5240, F2_5260_5320, F3_5745_5825, -1, -1, -1, -1, -1,
 
1329          BM(T2_5210_5210, T1_5250_5290, T1_5760_5800, -1, -1, -1, -1, -1,
 
1331          BM(T1_5200_5280, T5_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1337         {APL7, ETSI, DFS_ETSI, PSCAN_ETSI, NO_REQ,
 
1338          BM(F1_5280_5320, F5_5500_5700, F3_5745_5805, -1, -1, -1, -1, -1,
 
1340          BM(T3_5290_5290, T5_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1342          BM(T1_5540_5660, T6_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1348         {APL8, ETSI, NO_DFS, NO_PSCAN,
 
1349          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
 
1350          BM(F6_5260_5320, F4_5745_5825, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1352          BM(T2_5290_5290, T2_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1354          BM(T1_5280_5280, T1_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1360         {APL9, ETSI, DFS_ETSI, PSCAN_ETSI,
 
1361          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
 
1362          BM(F1_5180_5320, F1_5500_5620, F3_5745_5805, -1, -1, -1, -1, -1,
 
1364          BM(T3_5290_5290, T5_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1366          BM(T1_5540_5660, T6_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1372         {APL10, ETSI, DFS_ETSI, PSCAN_ETSI,
 
1373          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
 
1374          BM(F1_5180_5320, F5_5500_5700, F3_5745_5805, -1, -1, -1, -1, -1,
 
1376          BM(T3_5290_5290, T5_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1378          BM(T1_5540_5660, T6_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1384         {ETSI1, ETSI, DFS_ETSI, PSCAN_ETSI,
 
1385          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
 
1386          BM(F4_5180_5240, F2_5260_5320, F2_5500_5700, -1, -1, -1, -1, -1,
 
1388          BM(T1_5210_5290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1389          BM(T2_5200_5280, T2_5540_5660, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1395         {ETSI2, ETSI, DFS_ETSI, PSCAN_ETSI,
 
1396          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
 
1397          BM(F3_5180_5240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1398          BM(T3_5210_5210, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1399          BM(T2_5200_5200, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1404         {ETSI3, ETSI, DFS_ETSI, PSCAN_ETSI,
 
1405          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
 
1406          BM(F4_5180_5240, F2_5260_5320, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1408          BM(T1_5210_5290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1409          BM(T2_5200_5280, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1414         {ETSI4, ETSI, DFS_ETSI, PSCAN_ETSI,
 
1415          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
 
1416          BM(F3_5180_5240, F1_5260_5320, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1418          BM(T2_5210_5290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1419          BM(T3_5200_5280, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1424         {ETSI5, ETSI, DFS_ETSI, PSCAN_ETSI,
 
1425          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
 
1426          BM(F1_5180_5240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1427          BM(T4_5210_5210, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1428          BM(T3_5200_5200, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1433         {ETSI6, ETSI, DFS_ETSI, PSCAN_ETSI,
 
1434          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
 
1435          BM(F5_5180_5240, F1_5260_5280, F3_5500_5700, -1, -1, -1, -1, -1,
 
1437          BM(T1_5210_5250, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1438          BM(T4_5200_5280, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1443         {FCC1, FCC, NO_DFS, NO_PSCAN, NO_REQ,
 
1444          BM(F2_5180_5240, F4_5260_5320, F5_5745_5825, -1, -1, -1, -1, -1,
 
1446          BM(T6_5210_5210, T2_5250_5290, T6_5760_5800, -1, -1, -1, -1, -1,
 
1448          BM(T1_5200_5240, T2_5280_5280, T7_5765_5805, -1, -1, -1, -1, -1,
 
1454         {FCC2, FCC, NO_DFS, NO_PSCAN, NO_REQ,
 
1455          BM(F6_5180_5240, F5_5260_5320, F6_5745_5825, -1, -1, -1, -1, -1,
 
1457          BM(T7_5210_5210, T3_5250_5290, T2_5760_5800, -1, -1, -1, -1, -1,
 
1459          BM(T7_5200_5200, T1_5240_5240, T2_5280_5280, T1_5765_5805, -1, -1,
 
1460             -1, -1, -1, -1, -1, -1),
 
1465         {FCC3, FCC, DFS_FCC3, PSCAN_FCC | PSCAN_FCC_T, NO_REQ,
 
1466          BM(F2_5180_5240, F3_5260_5320, F1_5500_5700, F5_5745_5825, -1, -1,
 
1467             -1, -1, -1, -1, -1, -1),
 
1468          BM(T6_5210_5210, T2_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1470          BM(T4_5200_5200, T8_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1476         {FCC4, FCC, DFS_FCC3, PSCAN_FCC | PSCAN_FCC_T, NO_REQ,
 
1477          BM(F1_4942_4987, F1_4945_4985, F1_4950_4980, -1, -1, -1, -1, -1,
 
1479          BM(T8_5210_5210, T4_5250_5290, T7_5760_5800, -1, -1, -1, -1, -1,
 
1481          BM(T1_5200_5240, T1_5280_5280, T9_5765_5805, -1, -1, -1, -1, -1,
 
1487         {FCC5, FCC, NO_DFS, NO_PSCAN, NO_REQ,
 
1488          BM(F2_5180_5240, F6_5745_5825, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1490          BM(T6_5210_5210, T2_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1492          BM(T8_5200_5200, T7_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1498         {FCC6, FCC, DFS_FCC3, PSCAN_FCC, NO_REQ,
 
1499          BM(F8_5180_5240, F5_5260_5320, F1_5500_5580, F1_5660_5700,
 
1500             F6_5745_5825, -1, -1, -1, -1, -1, -1, -1),
 
1501          BM(T7_5210_5210, T3_5250_5290, T2_5760_5800, -1, -1, -1, -1, -1,
 
1503          BM(T7_5200_5200, T1_5240_5240, T2_5280_5280, T1_5765_5805, -1, -1,
 
1504             -1, -1, -1, -1, -1, -1),
 
1509         {MKK1, MKK, NO_DFS, PSCAN_MKK1, DISALLOW_ADHOC_11A_TURB,
 
1510          BM(F1_5170_5230, F4_5180_5240, F2_5260_5320, F4_5500_5700, -1, -1,
 
1511             -1, -1, -1, -1, -1, -1),
 
1512          BM(T7_5210_5210, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1513          BM(T5_5200_5200, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1518         {MKK2, MKK, NO_DFS, PSCAN_MKK2, DISALLOW_ADHOC_11A_TURB,
 
1519          BM(F1_4915_4925, F1_4935_4945, F1_4920_4980, F1_5035_5040,
 
1520             F1_5055_5055, F1_5040_5080, F1_5170_5230, F4_5180_5240,
 
1521             F2_5260_5320, F4_5500_5700, -1, -1),
 
1522          BM(T7_5210_5210, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1523          BM(T5_5200_5200, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1529         {MKK3, MKK, NO_DFS, PSCAN_MKK3, DISALLOW_ADHOC_11A_TURB,
 
1530          BM(F4_5180_5240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1531          BM(T9_5210_5210, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1532          BM(T1_5200_5200, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1538         {MKK4, MKK, DFS_MKK4, PSCAN_MKK3, DISALLOW_ADHOC_11A_TURB,
 
1539          BM(F4_5180_5240, F2_5260_5320, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1541          BM(T10_5210_5210, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1542          BM(T6_5200_5200, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1548         {MKK5, MKK, DFS_MKK4, PSCAN_MKK3, DISALLOW_ADHOC_11A_TURB,
 
1549          BM(F4_5180_5240, F2_5260_5320, F4_5500_5700, -1, -1, -1, -1, -1,
 
1551          BM(T3_5210_5290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1552          BM(T5_5200_5280, T3_5540_5660, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1559         {MKK6, MKK, NO_DFS, PSCAN_MKK1, DISALLOW_ADHOC_11A_TURB,
 
1560          BM(F2_5170_5230, F4_5180_5240, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1562          BM(T3_5210_5210, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1563          BM(T6_5200_5200, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1569         {MKK7, MKK, DFS_MKK4, PSCAN_MKK1 | PSCAN_MKK3,
 
1570          DISALLOW_ADHOC_11A_TURB,
 
1571          BM(F1_5170_5230, F4_5180_5240, F2_5260_5320, -1, -1, -1, -1, -1,
 
1573          BM(T3_5210_5290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1574          BM(T5_5200_5280, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1580         {MKK8, MKK, DFS_MKK4, PSCAN_MKK1 | PSCAN_MKK3,
 
1581          DISALLOW_ADHOC_11A_TURB,
 
1582          BM(F1_5170_5230, F4_5180_5240, F2_5260_5320, F4_5500_5700, -1, -1,
 
1583             -1, -1, -1, -1, -1, -1),
 
1584          BM(T3_5210_5290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1585          BM(T5_5200_5280, T3_5540_5660, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1592         {MKK9, MKK, NO_DFS, PSCAN_MKK2 | PSCAN_MKK3,
 
1593          DISALLOW_ADHOC_11A_TURB,
 
1594          BM(F1_4915_4925, F1_4935_4945, F1_4920_4980, F1_5035_5040,
 
1595             F1_5055_5055, F1_5040_5080, F4_5180_5240, -1, -1, -1, -1, -1),
 
1596          BM(T9_5210_5210, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1597          BM(T1_5200_5200, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1603         {MKK10, MKK, DFS_MKK4, PSCAN_MKK2 | PSCAN_MKK3,
 
1604          DISALLOW_ADHOC_11A_TURB,
 
1605          BM(F1_4915_4925, F1_4935_4945, F1_4920_4980, F1_5035_5040,
 
1606             F1_5055_5055, F1_5040_5080, F4_5180_5240, F2_5260_5320, -1, -1,
 
1608          BM(T3_5210_5290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1609          BM(T1_5200_5280, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1615         {MKK11, MKK, DFS_MKK4, PSCAN_MKK3, DISALLOW_ADHOC_11A_TURB,
 
1616          BM(F1_4915_4925, F1_4935_4945, F1_4920_4980, F1_5035_5040,
 
1617             F1_5055_5055, F1_5040_5080, F4_5180_5240, F2_5260_5320,
 
1618             F4_5500_5700, -1, -1, -1),
 
1619          BM(T3_5210_5290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1620          BM(T1_5200_5280, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1626         {MKK12, MKK, DFS_MKK4, PSCAN_MKK1 | PSCAN_MKK3,
 
1627          DISALLOW_ADHOC_11A_TURB,
 
1628          BM(F1_4915_4925, F1_4935_4945, F1_4920_4980, F1_5035_5040,
 
1629             F1_5055_5055, F1_5040_5080, F1_5170_5230, F4_5180_5240,
 
1630             F2_5260_5320, F4_5500_5700, -1, -1),
 
1631          BM(T3_5210_5290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1632          BM(T1_5200_5280, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1638         {MKK13, MKK, DFS_MKK4, PSCAN_MKK1 | PSCAN_MKK3,
 
1639          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
 
1640          BM(F1_5170_5230, F7_5180_5240, F2_5260_5320, F4_5500_5700, -1, -1,
 
1641             -1, -1, -1, -1, -1, -1),
 
1649         {MKK14, MKK, DFS_MKK4, PSCAN_MKK1, DISALLOW_ADHOC_11A_TURB,
 
1650          BM(F1_4915_4925, F1_4935_4945, F1_4920_4980, F1_5035_5040,
 
1651             F1_5040_5080, F1_5055_5055, F1_5170_5230, F4_5180_5240, -1, -1,
 
1660         {MKK15, MKK, DFS_MKK4, PSCAN_MKK1, DISALLOW_ADHOC_11A_TURB,
 
1661          BM(F1_4915_4925, F1_4935_4945, F1_4920_4980, F1_5035_5040,
 
1662             F1_5040_5080, F1_5055_5055, F1_5170_5230, F4_5180_5240,
 
1663             F2_5260_5320, -1, -1, -1),
 
1671         {APLD, NO_CTL, NO_DFS, NO_PSCAN, NO_REQ,
 
1675          BM(F2_2312_2372, F2_2412_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1677          BM(G2_2312_2372, G2_2412_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1681         {ETSIA, NO_CTL, NO_DFS, PSCAN_ETSIA,
 
1682          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
 
1686          BM(F1_2457_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1687          BM(G1_2457_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1688          BM(T2_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
 
1690         {ETSIB, ETSI, NO_DFS, PSCAN_ETSIB,
 
1691          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
 
1695          BM(F1_2432_2442, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1696          BM(G1_2432_2442, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1697          BM(T2_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
 
1699         {ETSIC, ETSI, NO_DFS, PSCAN_ETSIC,
 
1700          DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB,
 
1704          BM(F3_2412_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1705          BM(G3_2412_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1706          BM(T2_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
 
1708         {FCCA, FCC, NO_DFS, NO_PSCAN, NO_REQ,
 
1712          BM(F1_2412_2462, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1713          BM(G1_2412_2462, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1714          BM(T2_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
 
1717          PSCAN_MKKA | PSCAN_MKKA_G | PSCAN_MKKA1 | PSCAN_MKKA1_G |
 
1718          PSCAN_MKKA2 | PSCAN_MKKA2_G, DISALLOW_ADHOC_11A_TURB,
 
1722          BM(F2_2412_2462, F1_2467_2472, F2_2484_2484, -1, -1, -1, -1, -1,
 
1724          BM(G2_2412_2462, G1_2467_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 
1726          BM(T2_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
 
1728         {MKKC, MKK, NO_DFS, NO_PSCAN, NO_REQ,
 
1732          BM(F2_2412_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1733          BM(G2_2412_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1734          BM(T2_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
 
1736         {WORLD, ETSI, NO_DFS, NO_PSCAN, NO_REQ,
 
1740          BM(F2_2412_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1741          BM(G2_2412_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1742          BM(T2_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
 
1744         {WOR0_WORLD, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, ADHOC_PER_11D,
 
1745          BM(W1_5260_5320, W1_5180_5240, W1_5170_5230, W1_5745_5825,
 
1746             W1_5500_5700, -1, -1, -1, -1, -1, -1, -1),
 
1747          BM(WT1_5210_5250, WT1_5290_5290, WT1_5760_5800, -1, -1, -1, -1,
 
1748             -1, -1, -1, -1, -1),
 
1750          BM(W1_2412_2412, W1_2437_2442, W1_2462_2462, W1_2472_2472,
 
1751             W1_2417_2432, W1_2447_2457, W1_2467_2467, W1_2484_2484, -1, -1,
 
1753          BM(WG1_2412_2462, WG1_2467_2472, -1, -1, -1, -1, -1, -1, -1, -1,
 
1755          BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
 
1757         {WOR01_WORLD, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR,
 
1759          BM(W1_5260_5320, W1_5180_5240, W1_5170_5230, W1_5745_5825,
 
1760             W1_5500_5700, -1, -1, -1, -1, -1, -1, -1),
 
1761          BM(WT1_5210_5250, WT1_5290_5290, WT1_5760_5800, -1, -1, -1, -1,
 
1762             -1, -1, -1, -1, -1),
 
1764          BM(W1_2412_2412, W1_2437_2442, W1_2462_2462, W1_2417_2432,
 
1765             W1_2447_2457, -1, -1, -1, -1, -1, -1, -1),
 
1766          BM(WG1_2412_2462, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1767          BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
 
1769         {WOR02_WORLD, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR,
 
1771          BM(W1_5260_5320, W1_5180_5240, W1_5170_5230, W1_5745_5825,
 
1772             W1_5500_5700, -1, -1, -1, -1, -1, -1, -1),
 
1773          BM(WT1_5210_5250, WT1_5290_5290, WT1_5760_5800, -1, -1, -1, -1,
 
1774             -1, -1, -1, -1, -1),
 
1776          BM(W1_2412_2412, W1_2437_2442, W1_2462_2462, W1_2472_2472,
 
1777             W1_2417_2432, W1_2447_2457, W1_2467_2467, -1, -1, -1, -1, -1),
 
1778          BM(WG1_2412_2462, WG1_2467_2472, -1, -1, -1, -1, -1, -1, -1, -1,
 
1780          BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
 
1782         {EU1_WORLD, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, ADHOC_PER_11D,
 
1783          BM(W1_5260_5320, W1_5180_5240, W1_5170_5230, W1_5745_5825,
 
1784             W1_5500_5700, -1, -1, -1, -1, -1, -1, -1),
 
1785          BM(WT1_5210_5250, WT1_5290_5290, WT1_5760_5800, -1, -1, -1, -1,
 
1786             -1, -1, -1, -1, -1),
 
1788          BM(W1_2412_2412, W1_2437_2442, W1_2462_2462, W2_2472_2472,
 
1789             W1_2417_2432, W1_2447_2457, W2_2467_2467, -1, -1, -1, -1, -1),
 
1790          BM(WG1_2412_2462, WG2_2467_2472, -1, -1, -1, -1, -1, -1, -1, -1,
 
1792          BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
 
1794         {WOR1_WORLD, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, ADHOC_NO_11A,
 
1795          BM(W1_5260_5320, W1_5180_5240, W1_5170_5230, W1_5745_5825,
 
1796             W1_5500_5700, -1, -1, -1, -1, -1, -1, -1),
 
1799          BM(W1_2412_2412, W1_2437_2442, W1_2462_2462, W1_2472_2472,
 
1800             W1_2417_2432, W1_2447_2457, W1_2467_2467, W1_2484_2484, -1, -1,
 
1802          BM(WG1_2412_2462, WG1_2467_2472, -1, -1, -1, -1, -1, -1, -1, -1,
 
1804          BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
 
1806         {WOR2_WORLD, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, ADHOC_NO_11A,
 
1807          BM(W1_5260_5320, W1_5180_5240, W1_5170_5230, W1_5745_5825,
 
1808             W1_5500_5700, -1, -1, -1, -1, -1, -1, -1),
 
1809          BM(WT1_5210_5250, WT1_5290_5290, WT1_5760_5800, -1, -1, -1, -1,
 
1810             -1, -1, -1, -1, -1),
 
1812          BM(W1_2412_2412, W1_2437_2442, W1_2462_2462, W1_2472_2472,
 
1813             W1_2417_2432, W1_2447_2457, W1_2467_2467, W1_2484_2484, -1, -1,
 
1815          BM(WG1_2412_2462, WG1_2467_2472, -1, -1, -1, -1, -1, -1, -1, -1,
 
1817          BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
 
1819         {WOR3_WORLD, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, ADHOC_PER_11D,
 
1820          BM(W1_5260_5320, W1_5180_5240, W1_5170_5230, W1_5745_5825, -1, -1,
 
1821             -1, -1, -1, -1, -1, -1),
 
1822          BM(WT1_5210_5250, WT1_5290_5290, WT1_5760_5800, -1, -1, -1, -1,
 
1823             -1, -1, -1, -1, -1),
 
1825          BM(W1_2412_2412, W1_2437_2442, W1_2462_2462, W1_2472_2472,
 
1826             W1_2417_2432, W1_2447_2457, W1_2467_2467, -1, -1, -1, -1, -1),
 
1827          BM(WG1_2412_2462, WG2_2467_2472, -1, -1, -1, -1, -1, -1, -1, -1,
 
1829          BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
 
1831         {WOR4_WORLD, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, ADHOC_NO_11A,
 
1832          BM(W1_5260_5320, W1_5180_5240, W1_5745_5825, -1, -1, -1, -1, -1,
 
1834          BM(WT1_5210_5250, WT1_5290_5290, WT1_5760_5800, -1, -1, -1, -1,
 
1835             -1, -1, -1, -1, -1),
 
1837          BM(W1_2412_2412, W1_2437_2442, W1_2462_2462, W1_2417_2432,
 
1838             W1_2447_2457, -1, -1, -1, -1, -1, -1, -1),
 
1839          BM(WG1_2412_2462, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1840          BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
 
1842         {WOR5_ETSIC, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, ADHOC_NO_11A,
 
1843          BM(W1_5260_5320, W1_5180_5240, W1_5745_5825, -1, -1, -1, -1, -1,
 
1847          BM(W1_2412_2412, W1_2437_2442, W1_2462_2462, W1_2472_2472,
 
1848             W1_2417_2432, W1_2447_2457, W1_2467_2467, -1, -1, -1, -1, -1),
 
1849          BM(WG1_2412_2462, WG1_2467_2472, -1, -1, -1, -1, -1, -1, -1, -1,
 
1851          BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
 
1853         {WOR9_WORLD, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, ADHOC_NO_11A,
 
1854          BM(W1_5260_5320, W1_5180_5240, W1_5745_5825, W1_5500_5700, -1, -1,
 
1855             -1, -1, -1, -1, -1, -1),
 
1856          BM(WT1_5210_5250, WT1_5290_5290, WT1_5760_5800, -1, -1, -1, -1,
 
1857             -1, -1, -1, -1, -1),
 
1859          BM(W1_2412_2412, W1_2437_2442, W1_2462_2462, W1_2417_2432,
 
1860             W1_2447_2457, -1, -1, -1, -1, -1, -1, -1),
 
1861          BM(WG1_2412_2462, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1),
 
1862          BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
 
1864         {WORA_WORLD, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, ADHOC_NO_11A,
 
1865          BM(W1_5260_5320, W1_5180_5240, W1_5745_5825, W1_5500_5700, -1, -1,
 
1866             -1, -1, -1, -1, -1, -1),
 
1869          BM(W1_2412_2412, W1_2437_2442, W1_2462_2462, W1_2472_2472,
 
1870             W1_2417_2432, W1_2447_2457, W1_2467_2467, -1, -1, -1, -1, -1),
 
1871          BM(WG1_2412_2462, WG1_2467_2472, -1, -1, -1, -1, -1, -1, -1, -1,
 
1873          BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
 
1875         {WORB_WORLD, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, ADHOC_NO_11A,
 
1876          BM(W1_5260_5320, W1_5180_5240, W1_5500_5700, -1, -1, -1, -1, -1,
 
1880          BM(W1_2412_2412, W1_2437_2442, W1_2462_2462, W1_2472_2472,
 
1881             W1_2417_2432, W1_2447_2457, W1_2467_2467, -1, -1, -1, -1, -1),
 
1882          BM(WG1_2412_2462, WG1_2467_2472, -1, -1, -1, -1, -1, -1, -1, -1,
 
1884          BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)},
 
1886         {NULL1, NO_CTL, NO_DFS, NO_PSCAN, NO_REQ,
 
1895 static const struct cmode modes[] = {
 
1896         {ATH9K_MODE_11A, CHANNEL_A},
 
1897         {ATH9K_MODE_11B, CHANNEL_B},
 
1898         {ATH9K_MODE_11G, CHANNEL_G},
 
1899         {ATH9K_MODE_11NG_HT20, CHANNEL_G_HT20},
 
1900         {ATH9K_MODE_11NG_HT40PLUS, CHANNEL_G_HT40PLUS},
 
1901         {ATH9K_MODE_11NG_HT40MINUS, CHANNEL_G_HT40MINUS},
 
1902         {ATH9K_MODE_11NA_HT20, CHANNEL_A_HT20},
 
1903         {ATH9K_MODE_11NA_HT40PLUS, CHANNEL_A_HT40PLUS},
 
1904         {ATH9K_MODE_11NA_HT40MINUS, CHANNEL_A_HT40MINUS},
 
1907 static struct japan_bandcheck j_bandcheck[] = {
 
1908         {F1_5170_5230, AR_EEPROM_EEREGCAP_EN_KK_U1_ODD},
 
1909         {F4_5180_5240, AR_EEPROM_EEREGCAP_EN_KK_U1_EVEN},
 
1910         {F2_5260_5320, AR_EEPROM_EEREGCAP_EN_KK_U2},
 
1911         {F4_5500_5700, AR_EEPROM_EEREGCAP_EN_KK_MIDBAND}