1 /* 2 * Copyright (c) 2008 Atheros Communications Inc. 3 * 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. 7 * 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. 15 */ 16 17 #ifndef REGD_COMMON_H 18 #define REGD_COMMON_H 19 20 enum EnumRd { 21 NO_ENUMRD = 0x00, 22 NULL1_WORLD = 0x03, 23 NULL1_ETSIB = 0x07, 24 NULL1_ETSIC = 0x08, 25 FCC1_FCCA = 0x10, 26 FCC1_WORLD = 0x11, 27 FCC4_FCCA = 0x12, 28 FCC5_FCCA = 0x13, 29 FCC6_FCCA = 0x14, 30 31 FCC2_FCCA = 0x20, 32 FCC2_WORLD = 0x21, 33 FCC2_ETSIC = 0x22, 34 FCC6_WORLD = 0x23, 35 FRANCE_RES = 0x31, 36 FCC3_FCCA = 0x3A, 37 FCC3_WORLD = 0x3B, 38 39 ETSI1_WORLD = 0x37, 40 ETSI3_ETSIA = 0x32, 41 ETSI2_WORLD = 0x35, 42 ETSI3_WORLD = 0x36, 43 ETSI4_WORLD = 0x30, 44 ETSI4_ETSIC = 0x38, 45 ETSI5_WORLD = 0x39, 46 ETSI6_WORLD = 0x34, 47 ETSI_RESERVED = 0x33, 48 49 MKK1_MKKA = 0x40, 50 MKK1_MKKB = 0x41, 51 APL4_WORLD = 0x42, 52 MKK2_MKKA = 0x43, 53 APL_RESERVED = 0x44, 54 APL2_WORLD = 0x45, 55 APL2_APLC = 0x46, 56 APL3_WORLD = 0x47, 57 MKK1_FCCA = 0x48, 58 APL2_APLD = 0x49, 59 MKK1_MKKA1 = 0x4A, 60 MKK1_MKKA2 = 0x4B, 61 MKK1_MKKC = 0x4C, 62 63 APL3_FCCA = 0x50, 64 APL1_WORLD = 0x52, 65 APL1_FCCA = 0x53, 66 APL1_APLA = 0x54, 67 APL1_ETSIC = 0x55, 68 APL2_ETSIC = 0x56, 69 APL5_WORLD = 0x58, 70 APL6_WORLD = 0x5B, 71 APL7_FCCA = 0x5C, 72 APL8_WORLD = 0x5D, 73 APL9_WORLD = 0x5E, 74 75 WOR0_WORLD = 0x60, 76 WOR1_WORLD = 0x61, 77 WOR2_WORLD = 0x62, 78 WOR3_WORLD = 0x63, 79 WOR4_WORLD = 0x64, 80 WOR5_ETSIC = 0x65, 81 82 WOR01_WORLD = 0x66, 83 WOR02_WORLD = 0x67, 84 EU1_WORLD = 0x68, 85 86 WOR9_WORLD = 0x69, 87 WORA_WORLD = 0x6A, 88 WORB_WORLD = 0x6B, 89 90 MKK3_MKKB = 0x80, 91 MKK3_MKKA2 = 0x81, 92 MKK3_MKKC = 0x82, 93 94 MKK4_MKKB = 0x83, 95 MKK4_MKKA2 = 0x84, 96 MKK4_MKKC = 0x85, 97 98 MKK5_MKKB = 0x86, 99 MKK5_MKKA2 = 0x87, 100 MKK5_MKKC = 0x88, 101 102 MKK6_MKKB = 0x89, 103 MKK6_MKKA2 = 0x8A, 104 MKK6_MKKC = 0x8B, 105 106 MKK7_MKKB = 0x8C, 107 MKK7_MKKA2 = 0x8D, 108 MKK7_MKKC = 0x8E, 109 110 MKK8_MKKB = 0x8F, 111 MKK8_MKKA2 = 0x90, 112 MKK8_MKKC = 0x91, 113 114 MKK14_MKKA1 = 0x92, 115 MKK15_MKKA1 = 0x93, 116 117 MKK10_FCCA = 0xD0, 118 MKK10_MKKA1 = 0xD1, 119 MKK10_MKKC = 0xD2, 120 MKK10_MKKA2 = 0xD3, 121 122 MKK11_MKKA = 0xD4, 123 MKK11_FCCA = 0xD5, 124 MKK11_MKKA1 = 0xD6, 125 MKK11_MKKC = 0xD7, 126 MKK11_MKKA2 = 0xD8, 127 128 MKK12_MKKA = 0xD9, 129 MKK12_FCCA = 0xDA, 130 MKK12_MKKA1 = 0xDB, 131 MKK12_MKKC = 0xDC, 132 MKK12_MKKA2 = 0xDD, 133 134 MKK13_MKKB = 0xDE, 135 136 MKK3_MKKA = 0xF0, 137 MKK3_MKKA1 = 0xF1, 138 MKK3_FCCA = 0xF2, 139 MKK4_MKKA = 0xF3, 140 MKK4_MKKA1 = 0xF4, 141 MKK4_FCCA = 0xF5, 142 MKK9_MKKA = 0xF6, 143 MKK10_MKKA = 0xF7, 144 MKK6_MKKA1 = 0xF8, 145 MKK6_FCCA = 0xF9, 146 MKK7_MKKA1 = 0xFA, 147 MKK7_FCCA = 0xFB, 148 MKK9_FCCA = 0xFC, 149 MKK9_MKKA1 = 0xFD, 150 MKK9_MKKC = 0xFE, 151 MKK9_MKKA2 = 0xFF, 152 153 APL1 = 0x0150, 154 APL2 = 0x0250, 155 APL3 = 0x0350, 156 APL4 = 0x0450, 157 APL5 = 0x0550, 158 APL6 = 0x0650, 159 APL7 = 0x0750, 160 APL8 = 0x0850, 161 APL9 = 0x0950, 162 APL10 = 0x1050, 163 164 ETSI1 = 0x0130, 165 ETSI2 = 0x0230, 166 ETSI3 = 0x0330, 167 ETSI4 = 0x0430, 168 ETSI5 = 0x0530, 169 ETSI6 = 0x0630, 170 ETSIA = 0x0A30, 171 ETSIB = 0x0B30, 172 ETSIC = 0x0C30, 173 174 FCC1 = 0x0110, 175 FCC2 = 0x0120, 176 FCC3 = 0x0160, 177 FCC4 = 0x0165, 178 FCC5 = 0x0510, 179 FCC6 = 0x0610, 180 FCCA = 0x0A10, 181 182 APLD = 0x0D50, 183 184 MKK1 = 0x0140, 185 MKK2 = 0x0240, 186 MKK3 = 0x0340, 187 MKK4 = 0x0440, 188 MKK5 = 0x0540, 189 MKK6 = 0x0640, 190 MKK7 = 0x0740, 191 MKK8 = 0x0840, 192 MKK9 = 0x0940, 193 MKK10 = 0x0B40, 194 MKK11 = 0x1140, 195 MKK12 = 0x1240, 196 MKK13 = 0x0C40, 197 MKK14 = 0x1440, 198 MKK15 = 0x1540, 199 MKKA = 0x0A40, 200 MKKC = 0x0A50, 201 202 NULL1 = 0x0198, 203 WORLD = 0x0199, 204 DEBUG_REG_DMN = 0x01ff, 205 }; 206 207 enum { 208 FCC = 0x10, 209 MKK = 0x40, 210 ETSI = 0x30, 211 }; 212 213 enum { 214 NO_REQ = 0x00000000, 215 DISALLOW_ADHOC_11A = 0x00000001, 216 DISALLOW_ADHOC_11A_TURB = 0x00000002, 217 NEED_NFC = 0x00000004, 218 219 ADHOC_PER_11D = 0x00000008, 220 ADHOC_NO_11A = 0x00000010, 221 222 PUBLIC_SAFETY_DOMAIN = 0x00000020, 223 LIMIT_FRAME_4MS = 0x00000040, 224 225 NO_HOSTAP = 0x00000080, 226 227 REQ_MASK = 0x000000FF, 228 }; 229 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 233 234 static struct reg_dmn_pair_mapping regDomainPairs[] = { 235 {NO_ENUMRD, DEBUG_REG_DMN, DEBUG_REG_DMN, NO_REQ, NO_REQ, 236 PSCAN_DEFER, 0}, 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}, 240 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, 248 0}, 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}, 252 253 {ETSI1_WORLD, ETSI1, WORLD, 254 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 255 0}, 256 {ETSI2_WORLD, ETSI2, WORLD, 257 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 258 0}, 259 {ETSI3_WORLD, ETSI3, WORLD, 260 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 261 0}, 262 {ETSI4_WORLD, ETSI4, WORLD, 263 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 264 0}, 265 {ETSI5_WORLD, ETSI5, WORLD, 266 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 267 0}, 268 {ETSI6_WORLD, ETSI6, WORLD, 269 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 270 0}, 271 272 {ETSI3_ETSIA, ETSI3, WORLD, 273 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 274 0}, 275 {FRANCE_RES, ETSI3, WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 0}, 276 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}, 287 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,}, 292 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, 299 CTRY_JAPAN1}, 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}, 312 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, 316 CTRY_JAPAN3}, 317 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, 324 CTRY_JAPAN7}, 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}, 337 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, 344 CTRY_JAPAN10}, 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}, 357 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, 361 CTRY_JAPAN13}, 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}, 368 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}, 384 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, 388 CTRY_JAPAN19}, 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, 395 CTRY_JAPAN20}, 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}, 402 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, 406 CTRY_JAPAN22}, 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, 410 CTRY_JAPAN23}, 411 {MKK8_MKKC, MKK8, MKKC, 412 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, 413 PSCAN_MKK1 | PSCAN_MKK3, CTRY_JAPAN24}, 414 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, 419 CTRY_JAPAN34}, 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}, 432 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}, 448 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}, 464 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, 474 CTRY_JAPAN52}, 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, 478 CTRY_JAPAN54}, 479 {MKK12_MKKC, MKK12, MKKC, 480 DISALLOW_ADHOC_11A_TURB | NEED_NFC | LIMIT_FRAME_4MS, NEED_NFC, 481 PSCAN_MKK1 | PSCAN_MKK3, CTRY_JAPAN53}, 482 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, 487 CTRY_JAPAN57}, 488 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}, 495 496 {WOR0_WORLD, WOR0_WORLD, WOR0_WORLD, NO_REQ, NO_REQ, PSCAN_DEFER, 497 0}, 498 {WOR1_WORLD, WOR1_WORLD, WOR1_WORLD, 499 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 500 0}, 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, 504 0}, 505 {WOR4_WORLD, WOR4_WORLD, WOR4_WORLD, 506 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 507 0}, 508 {WOR5_ETSIC, WOR5_ETSIC, WOR5_ETSIC, 509 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 510 0}, 511 {WOR01_WORLD, WOR01_WORLD, WOR01_WORLD, NO_REQ, NO_REQ, 512 PSCAN_DEFER, 0}, 513 {WOR02_WORLD, WOR02_WORLD, WOR02_WORLD, NO_REQ, NO_REQ, 514 PSCAN_DEFER, 0}, 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, 518 0}, 519 {WORA_WORLD, WORA_WORLD, WORA_WORLD, 520 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 521 0}, 522 {WORB_WORLD, WORB_WORLD, WORB_WORLD, 523 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, NO_REQ, PSCAN_DEFER, 524 0}, 525 }; 526 527 #define NO_INTERSECT_REQ 0xFFFFFFFF 528 #define NO_UNION_REQ 0 529 530 static struct country_code_to_enum_rd allCountries[] = { 531 {CTRY_DEBUG, NO_ENUMRD, "DB", "DEBUG", YES, YES, YES, YES, YES, 532 YES, YES, 7000}, 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, 536 NO, NO, 7000}, 537 {CTRY_ALGERIA, NULL1_WORLD, "DZ", "ALGERIA", YES, NO, YES, YES, NO, 538 NO, NO, 7000}, 539 {CTRY_ARGENTINA, APL3_WORLD, "AR", "ARGENTINA", YES, NO, NO, YES, 540 NO, YES, NO, 7000}, 541 {CTRY_ARMENIA, ETSI4_WORLD, "AM", "ARMENIA", YES, NO, YES, YES, 542 YES, NO, NO, 7000}, 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, 552 YES, NO, 7000}, 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, 560 YES, YES, 7000}, 561 {CTRY_BOLIVIA, APL1_ETSIC, "BO", "BOLVIA", YES, YES, YES, YES, YES, 562 YES, YES, 7000}, 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, 566 YES, NO, 7000}, 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, 572 YES, YES, 7000}, 573 {CTRY_CANADA2, FCC6_FCCA, "CA", "CANADA2", YES, YES, YES, YES, YES, 574 YES, YES, 7000}, 575 {CTRY_CHILE, APL6_WORLD, "CL", "CHILE", YES, YES, YES, YES, YES, 576 YES, YES, 7000}, 577 {CTRY_CHINA, APL1_WORLD, "CN", "CHINA", YES, YES, YES, YES, YES, 578 YES, YES, 7000}, 579 {CTRY_COLOMBIA, FCC1_FCCA, "CO", "COLOMBIA", YES, NO, YES, YES, 580 YES, YES, NO, 7000}, 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, 584 YES, YES, NO, 7000}, 585 {CTRY_CYPRUS, ETSI1_WORLD, "CY", "CYPRUS", YES, YES, YES, YES, YES, 586 YES, YES, 7000}, 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, 594 YES, NO, 7000}, 595 {CTRY_EGYPT, ETSI3_WORLD, "EG", "EGYPT", YES, NO, YES, YES, YES, 596 YES, NO, 7000}, 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, 604 YES, YES, 7000}, 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, 610 YES, YES, 7000}, 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, 614 YES, NO, NO, 7000}, 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, 622 YES, NO, 7000}, 623 {CTRY_INDONESIA, APL1_WORLD, "ID", "INDONESIA", YES, NO, YES, YES, 624 YES, YES, NO, 7000}, 625 {CTRY_IRAN, APL1_WORLD, "IR", "IRAN", YES, YES, YES, YES, YES, YES, 626 YES, 7000}, 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, 630 NO, NO, 7000}, 631 {CTRY_ITALY, ETSI1_WORLD, "IT", "ITALY", YES, NO, YES, YES, YES, 632 YES, YES, 7000}, 633 {CTRY_JAMAICA, ETSI1_WORLD, "JM", "JAMAICA", YES, NO, YES, YES, 634 YES, YES, YES, 7000}, 635 636 {CTRY_JAPAN, MKK1_MKKA, "JP", "JAPAN", YES, NO, NO, YES, YES, YES, 637 YES, 7000}, 638 {CTRY_JAPAN1, MKK1_MKKB, "JP", "JAPAN1", YES, NO, NO, YES, YES, 639 YES, YES, 7000}, 640 {CTRY_JAPAN2, MKK1_FCCA, "JP", "JAPAN2", YES, NO, NO, YES, YES, 641 YES, YES, 7000}, 642 {CTRY_JAPAN3, MKK2_MKKA, "JP", "JAPAN3", YES, NO, NO, YES, YES, 643 YES, YES, 7000}, 644 {CTRY_JAPAN4, MKK1_MKKA1, "JP", "JAPAN4", YES, NO, NO, YES, YES, 645 YES, YES, 7000}, 646 {CTRY_JAPAN5, MKK1_MKKA2, "JP", "JAPAN5", YES, NO, NO, YES, YES, 647 YES, YES, 7000}, 648 {CTRY_JAPAN6, MKK1_MKKC, "JP", "JAPAN6", YES, NO, NO, YES, YES, 649 YES, YES, 7000}, 650 651 {CTRY_JAPAN7, MKK3_MKKB, "JP", "JAPAN7", YES, NO, NO, YES, YES, 652 YES, YES, 7000}, 653 {CTRY_JAPAN8, MKK3_MKKA2, "JP", "JAPAN8", YES, NO, NO, YES, YES, 654 YES, YES, 7000}, 655 {CTRY_JAPAN9, MKK3_MKKC, "JP", "JAPAN9", YES, NO, NO, YES, YES, 656 YES, YES, 7000}, 657 658 {CTRY_JAPAN10, MKK4_MKKB, "JP", "JAPAN10", YES, NO, NO, YES, YES, 659 YES, YES, 7000}, 660 {CTRY_JAPAN11, MKK4_MKKA2, "JP", "JAPAN11", YES, NO, NO, YES, YES, 661 YES, YES, 7000}, 662 {CTRY_JAPAN12, MKK4_MKKC, "JP", "JAPAN12", YES, NO, NO, YES, YES, 663 YES, YES, 7000}, 664 665 {CTRY_JAPAN13, MKK5_MKKB, "JP", "JAPAN13", YES, NO, NO, YES, YES, 666 YES, YES, 7000}, 667 {CTRY_JAPAN14, MKK5_MKKA2, "JP", "JAPAN14", YES, NO, NO, YES, YES, 668 YES, YES, 7000}, 669 {CTRY_JAPAN15, MKK5_MKKC, "JP", "JAPAN15", YES, NO, NO, YES, YES, 670 YES, YES, 7000}, 671 672 {CTRY_JAPAN16, MKK6_MKKB, "JP", "JAPAN16", YES, NO, NO, YES, YES, 673 YES, YES, 7000}, 674 {CTRY_JAPAN17, MKK6_MKKA2, "JP", "JAPAN17", YES, NO, NO, YES, YES, 675 YES, YES, 7000}, 676 {CTRY_JAPAN18, MKK6_MKKC, "JP", "JAPAN18", YES, NO, NO, YES, YES, 677 YES, YES, 7000}, 678 679 {CTRY_JAPAN19, MKK7_MKKB, "JP", "JAPAN19", YES, NO, NO, YES, YES, 680 YES, YES, 7000}, 681 {CTRY_JAPAN20, MKK7_MKKA2, "JP", "JAPAN20", YES, NO, NO, YES, YES, 682 YES, YES, 7000}, 683 {CTRY_JAPAN21, MKK7_MKKC, "JP", "JAPAN21", YES, NO, NO, YES, YES, 684 YES, YES, 7000}, 685 686 {CTRY_JAPAN22, MKK8_MKKB, "JP", "JAPAN22", YES, NO, NO, YES, YES, 687 YES, YES, 7000}, 688 {CTRY_JAPAN23, MKK8_MKKA2, "JP", "JAPAN23", YES, NO, NO, YES, YES, 689 YES, YES, 7000}, 690 {CTRY_JAPAN24, MKK8_MKKC, "JP", "JAPAN24", YES, NO, NO, YES, YES, 691 YES, YES, 7000}, 692 693 {CTRY_JAPAN25, MKK3_MKKA, "JP", "JAPAN25", YES, NO, NO, YES, YES, 694 YES, YES, 7000}, 695 {CTRY_JAPAN26, MKK3_MKKA1, "JP", "JAPAN26", YES, NO, NO, YES, YES, 696 YES, YES, 7000}, 697 {CTRY_JAPAN27, MKK3_FCCA, "JP", "JAPAN27", YES, NO, NO, YES, YES, 698 YES, YES, 7000}, 699 {CTRY_JAPAN28, MKK4_MKKA1, "JP", "JAPAN28", YES, NO, NO, YES, YES, 700 YES, YES, 7000}, 701 {CTRY_JAPAN29, MKK4_FCCA, "JP", "JAPAN29", YES, NO, NO, YES, YES, 702 YES, YES, 7000}, 703 {CTRY_JAPAN30, MKK6_MKKA1, "JP", "JAPAN30", YES, NO, NO, YES, YES, 704 YES, YES, 7000}, 705 {CTRY_JAPAN31, MKK6_FCCA, "JP", "JAPAN31", YES, NO, NO, YES, YES, 706 YES, YES, 7000}, 707 {CTRY_JAPAN32, MKK7_MKKA1, "JP", "JAPAN32", YES, NO, NO, YES, YES, 708 YES, YES, 7000}, 709 {CTRY_JAPAN33, MKK7_FCCA, "JP", "JAPAN33", YES, NO, NO, YES, YES, 710 YES, YES, 7000}, 711 {CTRY_JAPAN34, MKK9_MKKA, "JP", "JAPAN34", YES, NO, NO, YES, YES, 712 YES, YES, 7000}, 713 {CTRY_JAPAN35, MKK10_MKKA, "JP", "JAPAN35", YES, NO, NO, YES, YES, 714 YES, YES, 7000}, 715 {CTRY_JAPAN36, MKK4_MKKA, "JP", "JAPAN36", YES, NO, NO, YES, YES, 716 YES, YES, 7000}, 717 {CTRY_JAPAN37, MKK9_FCCA, "JP", "JAPAN37", YES, NO, NO, YES, YES, 718 YES, YES, 7000}, 719 {CTRY_JAPAN38, MKK9_MKKA1, "JP", "JAPAN38", YES, NO, NO, YES, YES, 720 YES, YES, 7000}, 721 {CTRY_JAPAN39, MKK9_MKKC, "JP", "JAPAN39", YES, NO, NO, YES, YES, 722 YES, YES, 7000}, 723 {CTRY_JAPAN40, MKK9_MKKA2, "JP", "JAPAN40", YES, NO, NO, YES, YES, 724 YES, YES, 7000}, 725 {CTRY_JAPAN41, MKK10_FCCA, "JP", "JAPAN41", YES, NO, NO, YES, YES, 726 YES, YES, 7000}, 727 {CTRY_JAPAN42, MKK10_MKKA1, "JP", "JAPAN42", YES, NO, NO, YES, YES, 728 YES, YES, 7000}, 729 {CTRY_JAPAN43, MKK10_MKKC, "JP", "JAPAN43", YES, NO, NO, YES, YES, 730 YES, YES, 7000}, 731 {CTRY_JAPAN44, MKK10_MKKA2, "JP", "JAPAN44", YES, NO, NO, YES, YES, 732 YES, YES, 7000}, 733 {CTRY_JAPAN45, MKK11_MKKA, "JP", "JAPAN45", YES, NO, NO, YES, YES, 734 YES, YES, 7000}, 735 {CTRY_JAPAN46, MKK11_FCCA, "JP", "JAPAN46", YES, NO, NO, YES, YES, 736 YES, YES, 7000}, 737 {CTRY_JAPAN47, MKK11_MKKA1, "JP", "JAPAN47", YES, NO, NO, YES, YES, 738 YES, YES, 7000}, 739 {CTRY_JAPAN48, MKK11_MKKC, "JP", "JAPAN48", YES, NO, NO, YES, YES, 740 YES, YES, 7000}, 741 {CTRY_JAPAN49, MKK11_MKKA2, "JP", "JAPAN49", YES, NO, NO, YES, YES, 742 YES, YES, 7000}, 743 {CTRY_JAPAN50, MKK12_MKKA, "JP", "JAPAN50", YES, NO, NO, YES, YES, 744 YES, YES, 7000}, 745 {CTRY_JAPAN51, MKK12_FCCA, "JP", "JAPAN51", YES, NO, NO, YES, YES, 746 YES, YES, 7000}, 747 {CTRY_JAPAN52, MKK12_MKKA1, "JP", "JAPAN52", YES, NO, NO, YES, YES, 748 YES, YES, 7000}, 749 {CTRY_JAPAN53, MKK12_MKKC, "JP", "JAPAN53", YES, NO, NO, YES, YES, 750 YES, YES, 7000}, 751 {CTRY_JAPAN54, MKK12_MKKA2, "JP", "JAPAN54", YES, NO, NO, YES, YES, 752 YES, YES, 7000}, 753 754 {CTRY_JAPAN57, MKK13_MKKB, "JP", "JAPAN57", YES, NO, NO, YES, YES, 755 YES, YES, 7000}, 756 {CTRY_JAPAN58, MKK14_MKKA1, "JP", "JAPAN58", YES, NO, NO, YES, YES, 757 YES, YES, 7000}, 758 {CTRY_JAPAN59, MKK15_MKKA1, "JP", "JAPAN59", YES, NO, NO, YES, YES, 759 YES, YES, 7000}, 760 761 {CTRY_JORDAN, ETSI2_WORLD, "JO", "JORDAN", YES, NO, YES, YES, YES, 762 YES, NO, 7000}, 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, 774 NO, NO, 7000}, 775 {CTRY_LATVIA, ETSI1_WORLD, "LV", "LATVIA", YES, NO, YES, YES, YES, 776 YES, YES, 7000}, 777 {CTRY_LEBANON, NULL1_WORLD, "LB", "LEBANON", YES, NO, YES, YES, 778 YES, NO, NO, 7000}, 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, 786 YES, YES, 7000}, 787 {CTRY_MACEDONIA, NULL1_WORLD, "MK", "MACEDONIA", YES, NO, YES, YES, 788 YES, NO, NO, 7000}, 789 {CTRY_MALAYSIA, APL8_WORLD, "MY", "MALAYSIA", YES, NO, NO, YES, NO, 790 YES, NO, 7000}, 791 {CTRY_MALTA, ETSI1_WORLD, "MT", "MALTA", YES, NO, YES, YES, YES, 792 YES, YES, 7000}, 793 {CTRY_MEXICO, FCC1_FCCA, "MX", "MEXICO", YES, YES, YES, YES, YES, 794 YES, YES, 7000}, 795 {CTRY_MONACO, ETSI4_WORLD, "MC", "MONACO", YES, YES, YES, YES, YES, 796 YES, YES, 7000}, 797 {CTRY_MOROCCO, NULL1_WORLD, "MA", "MOROCCO", YES, NO, YES, YES, 798 YES, NO, NO, 7000}, 799 {CTRY_NEPAL, APL1_WORLD, "NP", "NEPAL", YES, NO, YES, YES, YES, 800 YES, YES, 7000}, 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, 808 YES, YES, 7000}, 809 {CTRY_OMAN, APL6_WORLD, "OM", "OMAN", YES, NO, YES, YES, YES, YES, 810 NO, 7000}, 811 {CTRY_PAKISTAN, NULL1_WORLD, "PK", "PAKISTAN", YES, NO, YES, YES, 812 YES, NO, NO, 7000}, 813 {CTRY_PANAMA, FCC1_FCCA, "PA", "PANAMA", YES, YES, YES, YES, YES, 814 YES, YES, 7000}, 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, 818 NO, 7000}, 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, 822 YES, YES, 7000}, 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, 828 NO, NO, 7000}, 829 {CTRY_ROMANIA, NULL1_WORLD, "RO", "ROMANIA", YES, NO, YES, YES, 830 YES, NO, NO, 7000}, 831 {CTRY_RUSSIA, NULL1_WORLD, "RU", "RUSSIA", YES, NO, YES, YES, YES, 832 NO, NO, 7000}, 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, 846 YES, YES, 7000}, 847 {CTRY_SRI_LANKA, FCC3_WORLD, "LK", "SRI LANKA", YES, NO, YES, YES, 848 YES, YES, NO, 7000}, 849 {CTRY_SWEDEN, ETSI1_WORLD, "SE", "SWEDEN", YES, NO, YES, YES, YES, 850 YES, YES, 7000}, 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, 854 NO, NO, 7000}, 855 {CTRY_TAIWAN, APL3_FCCA, "TW", "TAIWAN", YES, YES, YES, YES, YES, 856 YES, YES, 7000}, 857 {CTRY_THAILAND, NULL1_WORLD, "TH", "THAILAND", YES, NO, YES, YES, 858 YES, NO, NO, 7000}, 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, 862 YES, YES, NO, 7000}, 863 {CTRY_TURKEY, ETSI3_WORLD, "TR", "TURKEY", YES, NO, YES, YES, YES, 864 YES, NO, 7000}, 865 {CTRY_UKRAINE, NULL1_WORLD, "UA", "UKRAINE", YES, NO, YES, YES, 866 YES, NO, NO, 7000}, 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, 875 YES, 7000}, 876 {CTRY_URUGUAY, APL2_WORLD, "UY", "URUGUAY", YES, NO, YES, YES, YES, 877 YES, NO, 7000}, 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, 881 YES, YES, NO, 7000}, 882 {CTRY_VIET_NAM, NULL1_WORLD, "VN", "VIET NAM", YES, NO, YES, YES, 883 YES, NO, NO, 7000}, 884 {CTRY_YEMEN, NULL1_WORLD, "YE", "YEMEN", YES, NO, YES, YES, YES, 885 NO, NO, 7000}, 886 {CTRY_ZIMBABWE, NULL1_WORLD, "ZW", "ZIMBABWE", YES, NO, YES, YES, 887 YES, NO, NO, 7000} 888 }; 889 890 enum { 891 NO_DFS = 0x0000000000000000ULL, 892 DFS_FCC3 = 0x0000000000000001ULL, 893 DFS_ETSI = 0x0000000000000002ULL, 894 DFS_MKK4 = 0x0000000000000004ULL, 895 }; 896 897 enum { 898 F1_4915_4925, 899 F1_4935_4945, 900 F1_4920_4980, 901 F1_4942_4987, 902 F1_4945_4985, 903 F1_4950_4980, 904 F1_5035_5040, 905 F1_5040_5080, 906 F1_5055_5055, 907 908 F1_5120_5240, 909 910 F1_5170_5230, 911 F2_5170_5230, 912 913 F1_5180_5240, 914 F2_5180_5240, 915 F3_5180_5240, 916 F4_5180_5240, 917 F5_5180_5240, 918 F6_5180_5240, 919 F7_5180_5240, 920 F8_5180_5240, 921 922 F1_5180_5320, 923 924 F1_5240_5280, 925 926 F1_5260_5280, 927 928 F1_5260_5320, 929 F2_5260_5320, 930 F3_5260_5320, 931 F4_5260_5320, 932 F5_5260_5320, 933 F6_5260_5320, 934 935 F1_5260_5700, 936 937 F1_5280_5320, 938 939 F1_5500_5580, 940 941 F1_5500_5620, 942 943 F1_5500_5700, 944 F2_5500_5700, 945 F3_5500_5700, 946 F4_5500_5700, 947 F5_5500_5700, 948 949 F1_5660_5700, 950 951 F1_5745_5805, 952 F2_5745_5805, 953 F3_5745_5805, 954 955 F1_5745_5825, 956 F2_5745_5825, 957 F3_5745_5825, 958 F4_5745_5825, 959 F5_5745_5825, 960 F6_5745_5825, 961 962 W1_4920_4980, 963 W1_5040_5080, 964 W1_5170_5230, 965 W1_5180_5240, 966 W1_5260_5320, 967 W1_5745_5825, 968 W1_5500_5700, 969 A_DEMO_ALL_CHANNELS 970 }; 971 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}, 982 983 {5120, 5240, 5, 6, 20, 20, NO_DFS, NO_PSCAN, 0}, 984 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}, 987 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}, 996 997 {5180, 5320, 20, 6, 20, 20, NO_DFS, PSCAN_ETSI, 0}, 998 999 {5240, 5280, 23, 0, 20, 20, DFS_FCC3, PSCAN_FCC | PSCAN_ETSI, 0}, 1000 1001 {5260, 5280, 23, 0, 20, 20, DFS_FCC3 | DFS_ETSI, 1002 PSCAN_FCC | PSCAN_ETSI, 0}, 1003 1004 {5260, 5320, 18, 0, 20, 20, DFS_FCC3 | DFS_ETSI, 1005 PSCAN_FCC | PSCAN_ETSI, 0}, 1006 1007 {5260, 5320, 20, 0, 20, 20, DFS_FCC3 | DFS_ETSI | DFS_MKK4, 1008 PSCAN_FCC | PSCAN_ETSI | PSCAN_MKK3, 0}, 1009 1010 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}, 1016 1017 {5260, 5700, 5, 6, 20, 20, DFS_FCC3 | DFS_ETSI, NO_PSCAN, 0}, 1018 1019 {5280, 5320, 17, 6, 20, 20, DFS_FCC3 | DFS_ETSI, PSCAN_FCC, 0}, 1020 1021 {5500, 5580, 23, 6, 20, 20, DFS_FCC3, PSCAN_FCC, 0}, 1022 1023 {5500, 5620, 30, 6, 20, 20, DFS_ETSI, PSCAN_ETSI, 0}, 1024 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}, 1033 1034 {5660, 5700, 23, 6, 20, 20, DFS_FCC3, PSCAN_FCC, 0}, 1035 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}, 1045 1046 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}, 1055 }; 1056 1057 enum { 1058 T1_5130_5650, 1059 T1_5150_5670, 1060 1061 T1_5200_5200, 1062 T2_5200_5200, 1063 T3_5200_5200, 1064 T4_5200_5200, 1065 T5_5200_5200, 1066 T6_5200_5200, 1067 T7_5200_5200, 1068 T8_5200_5200, 1069 1070 T1_5200_5280, 1071 T2_5200_5280, 1072 T3_5200_5280, 1073 T4_5200_5280, 1074 T5_5200_5280, 1075 T6_5200_5280, 1076 1077 T1_5200_5240, 1078 T1_5210_5210, 1079 T2_5210_5210, 1080 T3_5210_5210, 1081 T4_5210_5210, 1082 T5_5210_5210, 1083 T6_5210_5210, 1084 T7_5210_5210, 1085 T8_5210_5210, 1086 T9_5210_5210, 1087 T10_5210_5210, 1088 T1_5240_5240, 1089 1090 T1_5210_5250, 1091 T1_5210_5290, 1092 T2_5210_5290, 1093 T3_5210_5290, 1094 1095 T1_5280_5280, 1096 T2_5280_5280, 1097 T1_5290_5290, 1098 T2_5290_5290, 1099 T3_5290_5290, 1100 T1_5250_5290, 1101 T2_5250_5290, 1102 T3_5250_5290, 1103 T4_5250_5290, 1104 1105 T1_5540_5660, 1106 T2_5540_5660, 1107 T3_5540_5660, 1108 T1_5760_5800, 1109 T2_5760_5800, 1110 T3_5760_5800, 1111 T4_5760_5800, 1112 T5_5760_5800, 1113 T6_5760_5800, 1114 T7_5760_5800, 1115 1116 T1_5765_5805, 1117 T2_5765_5805, 1118 T3_5765_5805, 1119 T4_5765_5805, 1120 T5_5765_5805, 1121 T6_5765_5805, 1122 T7_5765_5805, 1123 T8_5765_5805, 1124 T9_5765_5805, 1125 1126 WT1_5210_5250, 1127 WT1_5290_5290, 1128 WT1_5540_5660, 1129 WT1_5760_5800, 1130 }; 1131 1132 enum { 1133 F1_2312_2372, 1134 F2_2312_2372, 1135 1136 F1_2412_2472, 1137 F2_2412_2472, 1138 F3_2412_2472, 1139 1140 F1_2412_2462, 1141 F2_2412_2462, 1142 1143 F1_2432_2442, 1144 1145 F1_2457_2472, 1146 1147 F1_2467_2472, 1148 1149 F1_2484_2484, 1150 F2_2484_2484, 1151 1152 F1_2512_2732, 1153 1154 W1_2312_2372, 1155 W1_2412_2412, 1156 W1_2417_2432, 1157 W1_2437_2442, 1158 W1_2447_2457, 1159 W1_2462_2462, 1160 W1_2467_2467, 1161 W2_2467_2467, 1162 W1_2472_2472, 1163 W2_2472_2472, 1164 W1_2484_2484, 1165 W2_2484_2484, 1166 }; 1167 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}, 1171 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}, 1175 1176 {2412, 2462, 27, 6, 20, 5, NO_DFS, NO_PSCAN, 0}, 1177 {2412, 2462, 20, 0, 20, 5, NO_DFS, PSCAN_MKKA, 0}, 1178 1179 {2432, 2442, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0}, 1180 1181 {2457, 2472, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0}, 1182 1183 {2467, 2472, 20, 0, 20, 5, NO_DFS, PSCAN_MKKA2 | PSCAN_MKKA, 0}, 1184 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}, 1188 1189 {2512, 2732, 5, 6, 20, 5, NO_DFS, NO_PSCAN, 0}, 1190 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}, 1203 }; 1204 1205 enum { 1206 G1_2312_2372, 1207 G2_2312_2372, 1208 1209 G1_2412_2472, 1210 G2_2412_2472, 1211 G3_2412_2472, 1212 1213 G1_2412_2462, 1214 G2_2412_2462, 1215 1216 G1_2432_2442, 1217 1218 G1_2457_2472, 1219 1220 G1_2512_2732, 1221 1222 G1_2467_2472, 1223 1224 WG1_2312_2372, 1225 WG1_2412_2462, 1226 WG1_2467_2472, 1227 WG2_2467_2472, 1228 G_DEMO_ALL_CHANNELS 1229 }; 1230 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}, 1234 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}, 1238 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}, 1241 1242 {2432, 2442, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0}, 1243 1244 {2457, 2472, 20, 0, 20, 5, NO_DFS, NO_PSCAN, 0}, 1245 1246 {2512, 2732, 5, 6, 20, 5, NO_DFS, NO_PSCAN, 0}, 1247 1248 {2467, 2472, 20, 0, 20, 5, NO_DFS, PSCAN_MKKA2 | PSCAN_MKKA, 0}, 1249 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}, 1255 }; 1256 1257 enum { 1258 T1_2312_2372, 1259 T1_2437_2437, 1260 T2_2437_2437, 1261 T3_2437_2437, 1262 T1_2512_2732 1263 }; 1264 1265 static struct regDomain regDomains[] = { 1266 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, 1269 -1), 1270 BM(T1_5130_5650, T1_5150_5670, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1271 -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, 1277 -1), 1278 BM(T1_2312_2372, T1_2437_2437, T1_2512_2732, -1, -1, -1, -1, -1, 1279 -1, -1, -1, -1)}, 1280 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), 1285 BMZERO, 1286 BMZERO, 1287 BMZERO}, 1288 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), 1293 BMZERO, 1294 BMZERO, 1295 BMZERO}, 1296 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, 1299 -1), 1300 BM(T1_5290_5290, T1_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1301 -1), 1302 BM(T1_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1), 1303 BMZERO, 1304 BMZERO, 1305 BMZERO}, 1306 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, 1309 -1), 1310 BM(T1_5210_5210, T3_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1311 -1), 1312 BM(T1_5200_5200, T3_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1313 -1), 1314 BMZERO, 1315 BMZERO, 1316 BMZERO}, 1317 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), 1322 BMZERO, 1323 BMZERO, 1324 BMZERO}, 1325 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, 1328 -1, -1, -1, -1), 1329 BM(T2_5210_5210, T1_5250_5290, T1_5760_5800, -1, -1, -1, -1, -1, 1330 -1, -1, -1, -1), 1331 BM(T1_5200_5280, T5_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1332 -1), 1333 BMZERO, 1334 BMZERO, 1335 BMZERO}, 1336 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, 1339 -1, -1, -1, -1), 1340 BM(T3_5290_5290, T5_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1341 -1), 1342 BM(T1_5540_5660, T6_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1343 -1), 1344 BMZERO, 1345 BMZERO, 1346 BMZERO}, 1347 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, 1351 -1), 1352 BM(T2_5290_5290, T2_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1353 -1), 1354 BM(T1_5280_5280, T1_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1355 -1), 1356 BMZERO, 1357 BMZERO, 1358 BMZERO}, 1359 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, 1363 -1, -1, -1, -1), 1364 BM(T3_5290_5290, T5_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1365 -1), 1366 BM(T1_5540_5660, T6_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1367 -1), 1368 BMZERO, 1369 BMZERO, 1370 BMZERO}, 1371 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, 1375 -1, -1, -1, -1), 1376 BM(T3_5290_5290, T5_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1377 -1), 1378 BM(T1_5540_5660, T6_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1379 -1), 1380 BMZERO, 1381 BMZERO, 1382 BMZERO}, 1383 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, 1387 -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, 1390 -1), 1391 BMZERO, 1392 BMZERO, 1393 BMZERO}, 1394 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), 1400 BMZERO, 1401 BMZERO, 1402 BMZERO}, 1403 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, 1407 -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), 1410 BMZERO, 1411 BMZERO, 1412 BMZERO}, 1413 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, 1417 -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), 1420 BMZERO, 1421 BMZERO, 1422 BMZERO}, 1423 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), 1429 BMZERO, 1430 BMZERO, 1431 BMZERO}, 1432 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, 1436 -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), 1439 BMZERO, 1440 BMZERO, 1441 BMZERO}, 1442 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, 1445 -1, -1, -1, -1), 1446 BM(T6_5210_5210, T2_5250_5290, T6_5760_5800, -1, -1, -1, -1, -1, 1447 -1, -1, -1, -1), 1448 BM(T1_5200_5240, T2_5280_5280, T7_5765_5805, -1, -1, -1, -1, -1, 1449 -1, -1, -1, -1), 1450 BMZERO, 1451 BMZERO, 1452 BMZERO}, 1453 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, 1456 -1, -1, -1, -1), 1457 BM(T7_5210_5210, T3_5250_5290, T2_5760_5800, -1, -1, -1, -1, -1, 1458 -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), 1461 BMZERO, 1462 BMZERO, 1463 BMZERO}, 1464 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, 1469 -1), 1470 BM(T4_5200_5200, T8_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1471 -1), 1472 BMZERO, 1473 BMZERO, 1474 BMZERO}, 1475 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, 1478 -1, -1, -1, -1), 1479 BM(T8_5210_5210, T4_5250_5290, T7_5760_5800, -1, -1, -1, -1, -1, 1480 -1, -1, -1, -1), 1481 BM(T1_5200_5240, T1_5280_5280, T9_5765_5805, -1, -1, -1, -1, -1, 1482 -1, -1, -1, -1), 1483 BMZERO, 1484 BMZERO, 1485 BMZERO}, 1486 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, 1489 -1), 1490 BM(T6_5210_5210, T2_5760_5800, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1491 -1), 1492 BM(T8_5200_5200, T7_5765_5805, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1493 -1), 1494 BMZERO, 1495 BMZERO, 1496 BMZERO}, 1497 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, 1502 -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), 1505 BMZERO, 1506 BMZERO, 1507 BMZERO}, 1508 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), 1514 BMZERO, 1515 BMZERO, 1516 BMZERO}, 1517 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), 1524 BMZERO, 1525 BMZERO, 1526 BMZERO}, 1527 1528 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), 1533 BMZERO, 1534 BMZERO, 1535 BMZERO}, 1536 1537 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, 1540 -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), 1543 BMZERO, 1544 BMZERO, 1545 BMZERO}, 1546 1547 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, 1550 -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, 1553 -1), 1554 BMZERO, 1555 BMZERO, 1556 BMZERO}, 1557 1558 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, 1561 -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), 1564 BMZERO, 1565 BMZERO, 1566 BMZERO}, 1567 1568 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, 1572 -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), 1575 BMZERO, 1576 BMZERO, 1577 BMZERO}, 1578 1579 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, 1586 -1), 1587 BMZERO, 1588 BMZERO, 1589 BMZERO}, 1590 1591 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), 1598 BMZERO, 1599 BMZERO, 1600 BMZERO}, 1601 1602 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, 1607 -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), 1610 BMZERO, 1611 BMZERO, 1612 BMZERO}, 1613 1614 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), 1621 BMZERO, 1622 BMZERO, 1623 BMZERO}, 1624 1625 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), 1633 BMZERO, 1634 BMZERO, 1635 BMZERO}, 1636 1637 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), 1642 BMZERO, 1643 BMZERO, 1644 BMZERO, 1645 BMZERO, 1646 BMZERO}, 1647 1648 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, 1652 -1, -1), 1653 BMZERO, 1654 BMZERO, 1655 BMZERO, 1656 BMZERO, 1657 BMZERO}, 1658 1659 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), 1664 BMZERO, 1665 BMZERO, 1666 BMZERO, 1667 BMZERO, 1668 BMZERO}, 1669 1670 1671 {APLD, NO_CTL, NO_DFS, NO_PSCAN, NO_REQ, 1672 BMZERO, 1673 BMZERO, 1674 BMZERO, 1675 BM(F2_2312_2372, F2_2412_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1676 -1), 1677 BM(G2_2312_2372, G2_2412_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1678 -1), 1679 BMZERO}, 1680 1681 {ETSIA, NO_CTL, NO_DFS, PSCAN_ETSIA, 1682 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, 1683 BMZERO, 1684 BMZERO, 1685 BMZERO, 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)}, 1689 1690 {ETSIB, ETSI, NO_DFS, PSCAN_ETSIB, 1691 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, 1692 BMZERO, 1693 BMZERO, 1694 BMZERO, 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)}, 1698 1699 {ETSIC, ETSI, NO_DFS, PSCAN_ETSIC, 1700 DISALLOW_ADHOC_11A | DISALLOW_ADHOC_11A_TURB, 1701 BMZERO, 1702 BMZERO, 1703 BMZERO, 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)}, 1707 1708 {FCCA, FCC, NO_DFS, NO_PSCAN, NO_REQ, 1709 BMZERO, 1710 BMZERO, 1711 BMZERO, 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)}, 1715 1716 {MKKA, MKK, NO_DFS, 1717 PSCAN_MKKA | PSCAN_MKKA_G | PSCAN_MKKA1 | PSCAN_MKKA1_G | 1718 PSCAN_MKKA2 | PSCAN_MKKA2_G, DISALLOW_ADHOC_11A_TURB, 1719 BMZERO, 1720 BMZERO, 1721 BMZERO, 1722 BM(F2_2412_2462, F1_2467_2472, F2_2484_2484, -1, -1, -1, -1, -1, 1723 -1, -1, -1, -1), 1724 BM(G2_2412_2462, G1_2467_2472, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1725 -1), 1726 BM(T2_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)}, 1727 1728 {MKKC, MKK, NO_DFS, NO_PSCAN, NO_REQ, 1729 BMZERO, 1730 BMZERO, 1731 BMZERO, 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)}, 1735 1736 {WORLD, ETSI, NO_DFS, NO_PSCAN, NO_REQ, 1737 BMZERO, 1738 BMZERO, 1739 BMZERO, 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)}, 1743 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), 1749 BMZERO, 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, 1752 -1, -1), 1753 BM(WG1_2412_2462, WG1_2467_2472, -1, -1, -1, -1, -1, -1, -1, -1, 1754 -1, -1), 1755 BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)}, 1756 1757 {WOR01_WORLD, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, 1758 ADHOC_PER_11D, 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), 1763 BMZERO, 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)}, 1768 1769 {WOR02_WORLD, NO_CTL, DFS_FCC3 | DFS_ETSI, PSCAN_WWR, 1770 ADHOC_PER_11D, 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), 1775 BMZERO, 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, 1779 -1, -1), 1780 BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)}, 1781 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), 1787 BMZERO, 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, 1791 -1, -1), 1792 BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)}, 1793 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), 1797 BMZERO, 1798 BMZERO, 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, 1801 -1, -1), 1802 BM(WG1_2412_2462, WG1_2467_2472, -1, -1, -1, -1, -1, -1, -1, -1, 1803 -1, -1), 1804 BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)}, 1805 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), 1811 BMZERO, 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, 1814 -1, -1), 1815 BM(WG1_2412_2462, WG1_2467_2472, -1, -1, -1, -1, -1, -1, -1, -1, 1816 -1, -1), 1817 BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)}, 1818 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), 1824 BMZERO, 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, 1828 -1, -1), 1829 BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)}, 1830 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, 1833 -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), 1836 BMZERO, 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)}, 1841 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, 1844 -1, -1, -1, -1), 1845 BMZERO, 1846 BMZERO, 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, 1850 -1, -1), 1851 BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)}, 1852 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), 1858 BMZERO, 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)}, 1863 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), 1867 BMZERO, 1868 BMZERO, 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, 1872 -1, -1), 1873 BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)}, 1874 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, 1877 -1, -1, -1, -1), 1878 BMZERO, 1879 BMZERO, 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, 1883 -1, -1), 1884 BM(T3_2437_2437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1)}, 1885 1886 {NULL1, NO_CTL, NO_DFS, NO_PSCAN, NO_REQ, 1887 BMZERO, 1888 BMZERO, 1889 BMZERO, 1890 BMZERO, 1891 BMZERO, 1892 BMZERO} 1893 }; 1894 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}, 1905 }; 1906 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} 1912 }; 1913 1914 1915 #endif 1916