1 /** @file wlan_txpwrlimit_cfg_WW.h 2 * 3 * @brief This file provides WLAN World Wide Safe Mode Tx Power Limits. 4 * 5 * Copyright 2008-2021 NXP 6 * 7 * Permission is hereby granted, free of charge, to any person obtaining 8 * a copy of this software and associated documentation files (the 9 * 'Software'), to deal in the Software without restriction, including 10 * without limitation the rights to use, copy, modify, merge, publish, 11 * distribute, sub license, and/or sell copies of the Software, and to 12 * permit persons to whom the Software is furnished to do so, subject 13 * to the following conditions: 14 * 15 * The above copyright notice and this permission notice (including the 16 * next paragraph) shall be included in all copies or substantial 17 * portions of the Software. 18 * 19 * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 20 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 21 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 22 * IN NO EVENT SHALL NXP AND/OR ITS SUPPLIERS BE LIABLE FOR ANY 23 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 24 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 * 27 */ 28 29 #ifndef _WLAN_TXPWRLIMIT_CFG_WW_H_ 30 #define _WLAN_TXPWRLIMIT_CFG_WW_H_ 31 #include <wlan.h> 32 #include <wifi.h> 33 34 #define WLAN_REGION_CODE "WW" 35 36 static wlan_chanlist_t chanlist_2g_cfg = {13, 37 {[0] = 38 { 39 .chan_num = 1, 40 .chan_freq = 2412, 41 .passive_scan_or_radar_detect = false, 42 }, 43 [1] = 44 { 45 .chan_num = 2, 46 .chan_freq = 2417, 47 .passive_scan_or_radar_detect = false, 48 }, 49 [2] = 50 { 51 .chan_num = 3, 52 .chan_freq = 2422, 53 .passive_scan_or_radar_detect = false, 54 }, 55 [3] = 56 { 57 .chan_num = 4, 58 .chan_freq = 2427, 59 .passive_scan_or_radar_detect = false, 60 }, 61 [4] = 62 { 63 .chan_num = 5, 64 .chan_freq = 2432, 65 .passive_scan_or_radar_detect = false, 66 }, 67 [5] = 68 { 69 .chan_num = 6, 70 .chan_freq = 2437, 71 .passive_scan_or_radar_detect = false, 72 }, 73 [6] = 74 { 75 .chan_num = 7, 76 .chan_freq = 2442, 77 .passive_scan_or_radar_detect = false, 78 }, 79 [7] = 80 { 81 .chan_num = 8, 82 .chan_freq = 2447, 83 .passive_scan_or_radar_detect = false, 84 }, 85 [8] = 86 { 87 .chan_num = 9, 88 .chan_freq = 2452, 89 .passive_scan_or_radar_detect = false, 90 }, 91 [9] = 92 { 93 .chan_num = 10, 94 .chan_freq = 2457, 95 .passive_scan_or_radar_detect = false, 96 }, 97 [10] = 98 { 99 .chan_num = 11, 100 .chan_freq = 2462, 101 .passive_scan_or_radar_detect = false, 102 }, 103 [11] = 104 { 105 .chan_num = 12, 106 .chan_freq = 2467, 107 .passive_scan_or_radar_detect = true, 108 }, 109 [12] = 110 { 111 .chan_num = 13, 112 .chan_freq = 2472, 113 .passive_scan_or_radar_detect = true, 114 }, 115 [13] = {0}, 116 [14] = {0}, 117 [15] = {0}, 118 [16] = {0}, 119 [17] = {0}, 120 [18] = {0}, 121 [19] = {0}, 122 [20] = {0}, 123 [21] = {0}, 124 [22] = {0}, 125 [23] = {0}, 126 [24] = {0}, 127 [25] = {0}, 128 [26] = {0}, 129 [27] = {0}, 130 [28] = {0}, 131 [29] = {0}, 132 [30] = {0}, 133 [31] = {0}, 134 [32] = {0}, 135 [33] = {0}, 136 [34] = {0}, 137 [35] = {0}, 138 [36] = {0}, 139 [37] = {0}, 140 [38] = {0}, 141 [39] = {0}, 142 [40] = {0}, 143 [41] = {0}, 144 [42] = {0}, 145 [43] = {0}, 146 [44] = {0}, 147 [45] = {0}, 148 [46] = {0}, 149 [47] = {0}, 150 [48] = {0}, 151 [49] = {0}, 152 [50] = {0}, 153 [51] = {0}, 154 [52] = {0}, 155 [53] = {0}}}; 156 157 #if CONFIG_5GHz_SUPPORT 158 static wlan_chanlist_t chanlist_5g_cfg = {25, 159 {[0] = 160 { 161 .chan_num = 36, 162 .chan_freq = 5180, 163 .passive_scan_or_radar_detect = false, 164 }, 165 [1] = 166 { 167 .chan_num = 40, 168 .chan_freq = 5200, 169 .passive_scan_or_radar_detect = false, 170 }, 171 [2] = 172 { 173 .chan_num = 44, 174 .chan_freq = 5220, 175 .passive_scan_or_radar_detect = false, 176 }, 177 [3] = 178 { 179 .chan_num = 48, 180 .chan_freq = 5240, 181 .passive_scan_or_radar_detect = false, 182 }, 183 [4] = 184 { 185 .chan_num = 52, 186 .chan_freq = 5260, 187 .passive_scan_or_radar_detect = true, 188 }, 189 [5] = 190 { 191 .chan_num = 56, 192 .chan_freq = 5280, 193 .passive_scan_or_radar_detect = true, 194 }, 195 [6] = 196 { 197 .chan_num = 60, 198 .chan_freq = 5300, 199 .passive_scan_or_radar_detect = true, 200 }, 201 [7] = 202 { 203 .chan_num = 64, 204 .chan_freq = 5320, 205 .passive_scan_or_radar_detect = true, 206 }, 207 [8] = 208 { 209 .chan_num = 100, 210 .chan_freq = 5500, 211 .passive_scan_or_radar_detect = true, 212 }, 213 [9] = 214 { 215 .chan_num = 104, 216 .chan_freq = 5520, 217 .passive_scan_or_radar_detect = true, 218 }, 219 [10] = 220 { 221 .chan_num = 108, 222 .chan_freq = 5540, 223 .passive_scan_or_radar_detect = true, 224 }, 225 [11] = 226 { 227 .chan_num = 112, 228 .chan_freq = 5560, 229 .passive_scan_or_radar_detect = true, 230 }, 231 [12] = 232 { 233 .chan_num = 116, 234 .chan_freq = 5580, 235 .passive_scan_or_radar_detect = true, 236 }, 237 [13] = 238 { 239 .chan_num = 120, 240 .chan_freq = 5600, 241 .passive_scan_or_radar_detect = true, 242 }, 243 [14] = 244 { 245 .chan_num = 124, 246 .chan_freq = 5620, 247 .passive_scan_or_radar_detect = true, 248 }, 249 [15] = 250 { 251 .chan_num = 128, 252 .chan_freq = 5640, 253 .passive_scan_or_radar_detect = true, 254 }, 255 [16] = 256 { 257 .chan_num = 132, 258 .chan_freq = 5660, 259 .passive_scan_or_radar_detect = true, 260 }, 261 [17] = 262 { 263 .chan_num = 136, 264 .chan_freq = 5680, 265 .passive_scan_or_radar_detect = true, 266 }, 267 [18] = 268 { 269 .chan_num = 140, 270 .chan_freq = 5700, 271 .passive_scan_or_radar_detect = true, 272 }, 273 [19] = 274 { 275 .chan_num = 144, 276 .chan_freq = 5720, 277 .passive_scan_or_radar_detect = true, 278 }, 279 [20] = 280 { 281 .chan_num = 149, 282 .chan_freq = 5745, 283 .passive_scan_or_radar_detect = false, 284 }, 285 [21] = 286 { 287 .chan_num = 153, 288 .chan_freq = 5765, 289 .passive_scan_or_radar_detect = false, 290 }, 291 [22] = 292 { 293 .chan_num = 157, 294 .chan_freq = 5785, 295 .passive_scan_or_radar_detect = false, 296 }, 297 [23] = 298 { 299 .chan_num = 161, 300 .chan_freq = 5805, 301 .passive_scan_or_radar_detect = false, 302 }, 303 [24] = 304 { 305 .chan_num = 165, 306 .chan_freq = 5825, 307 .passive_scan_or_radar_detect = false, 308 }, 309 [25] = {0}, 310 [26] = {0}, 311 [27] = {0}, 312 [28] = {0}, 313 [29] = {0}, 314 [30] = {0}, 315 [31] = {0}, 316 [32] = {0}, 317 [33] = {0}, 318 [34] = {0}, 319 [35] = {0}, 320 [36] = {0}, 321 [37] = {0}, 322 [38] = {0}, 323 [39] = {0}, 324 [40] = {0}, 325 [41] = {0}, 326 [42] = {0}, 327 [43] = {0}, 328 [44] = {0}, 329 [45] = {0}, 330 [46] = {0}, 331 [47] = {0}, 332 [48] = {0}, 333 [49] = {0}, 334 [50] = {0}, 335 [51] = {0}, 336 [52] = {0}, 337 [53] = {0}}}; 338 #endif 339 340 #ifndef CONFIG_11AC 341 static wifi_txpwrlimit_t tx_pwrlimit_2g_cfg = 342 { 343 .subband = (wifi_SubBand_t)0x00, 344 .num_chans = 14, 345 .txpwrlimit_config[0] = 346 { 347 .num_mod_grps = 10, 348 .chan_desc = 349 { 350 .start_freq = 2407, 351 .chan_width = 20, 352 .chan_num = 1, 353 }, 354 .txpwrlimit_entry = {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 355 }, 356 .txpwrlimit_config[1] = 357 { 358 .num_mod_grps = 10, 359 .chan_desc = 360 { 361 .start_freq = 2407, 362 .chan_width = 20, 363 .chan_num = 2, 364 }, 365 .txpwrlimit_entry = {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 366 }, 367 .txpwrlimit_config[2] = 368 { 369 .num_mod_grps = 10, 370 .chan_desc = 371 { 372 .start_freq = 2407, 373 .chan_width = 20, 374 .chan_num = 3, 375 }, 376 .txpwrlimit_entry = {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 377 }, 378 .txpwrlimit_config[3] = 379 { 380 .num_mod_grps = 10, 381 .chan_desc = 382 { 383 .start_freq = 2407, 384 .chan_width = 20, 385 .chan_num = 4, 386 }, 387 .txpwrlimit_entry = {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 388 }, 389 .txpwrlimit_config[4] = 390 { 391 .num_mod_grps = 10, 392 .chan_desc = 393 { 394 .start_freq = 2407, 395 .chan_width = 20, 396 .chan_num = 5, 397 }, 398 .txpwrlimit_entry = {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 399 }, 400 .txpwrlimit_config[5] = 401 { 402 .num_mod_grps = 10, 403 .chan_desc = 404 { 405 .start_freq = 2407, 406 .chan_width = 20, 407 .chan_num = 6, 408 }, 409 .txpwrlimit_entry = {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 410 }, 411 .txpwrlimit_config[6] = 412 { 413 .num_mod_grps = 10, 414 .chan_desc = 415 { 416 .start_freq = 2407, 417 .chan_width = 20, 418 .chan_num = 7, 419 }, 420 .txpwrlimit_entry = {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 421 }, 422 .txpwrlimit_config[7] = 423 { 424 .num_mod_grps = 10, 425 .chan_desc = 426 { 427 .start_freq = 2407, 428 .chan_width = 20, 429 .chan_num = 8, 430 }, 431 .txpwrlimit_entry = {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 432 }, 433 .txpwrlimit_config[8] = 434 { 435 .num_mod_grps = 10, 436 .chan_desc = 437 { 438 .start_freq = 2407, 439 .chan_width = 20, 440 .chan_num = 9, 441 }, 442 .txpwrlimit_entry = {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 443 }, 444 .txpwrlimit_config[9] = 445 { 446 .num_mod_grps = 10, 447 .chan_desc = 448 { 449 .start_freq = 2407, 450 .chan_width = 20, 451 .chan_num = 10, 452 }, 453 .txpwrlimit_entry = {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 454 }, 455 .txpwrlimit_config[10] = 456 { 457 .num_mod_grps = 10, 458 .chan_desc = 459 { 460 .start_freq = 2407, 461 .chan_width = 20, 462 .chan_num = 11, 463 }, 464 .txpwrlimit_entry = {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 465 }, 466 .txpwrlimit_config[11] = 467 { 468 .num_mod_grps = 10, 469 .chan_desc = 470 { 471 .start_freq = 2407, 472 .chan_width = 20, 473 .chan_num = 12, 474 }, 475 .txpwrlimit_entry = {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 476 }, 477 .txpwrlimit_config[12] = 478 { 479 .num_mod_grps = 10, 480 .chan_desc = 481 { 482 .start_freq = 2407, 483 .chan_width = 20, 484 .chan_num = 13, 485 }, 486 .txpwrlimit_entry = {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 487 }, 488 .txpwrlimit_config[13] = 489 { 490 .num_mod_grps = 10, 491 .chan_desc = 492 { 493 .start_freq = 2414, 494 .chan_width = 20, 495 .chan_num = 14, 496 }, 497 .txpwrlimit_entry = {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {6, 0}, {7, 0}, {8, 0}, {9, 0}}, 498 }, 499 }; 500 501 #if CONFIG_5GHz_SUPPORT 502 static wifi_txpwrlimit_t 503 tx_pwrlimit_5g_cfg = 504 { 505 .subband = (wifi_SubBand_t)0x00, 506 .num_chans = 39, 507 508 .txpwrlimit_config[0] = 509 { 510 .num_mod_grps = 9, 511 .chan_desc = 512 { 513 .start_freq = 5000, 514 .chan_width = 20, 515 .chan_num = 36, 516 }, 517 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 518 }, 519 .txpwrlimit_config[1] = 520 { 521 .num_mod_grps = 9, 522 .chan_desc = 523 { 524 .start_freq = 5000, 525 .chan_width = 20, 526 .chan_num = 40, 527 }, 528 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 529 }, 530 .txpwrlimit_config[2] = 531 { 532 .num_mod_grps = 9, 533 .chan_desc = 534 { 535 .start_freq = 5000, 536 .chan_width = 20, 537 .chan_num = 44, 538 }, 539 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 540 }, 541 .txpwrlimit_config[3] = 542 { 543 .num_mod_grps = 9, 544 .chan_desc = 545 { 546 .start_freq = 5000, 547 .chan_width = 20, 548 .chan_num = 48, 549 }, 550 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 551 }, 552 .txpwrlimit_config[4] = 553 { 554 .num_mod_grps = 9, 555 .chan_desc = 556 { 557 .start_freq = 5000, 558 .chan_width = 20, 559 .chan_num = 52, 560 }, 561 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 562 }, 563 .txpwrlimit_config[5] = 564 { 565 .num_mod_grps = 9, 566 .chan_desc = 567 { 568 .start_freq = 5000, 569 .chan_width = 20, 570 .chan_num = 56, 571 }, 572 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 573 }, 574 .txpwrlimit_config[6] = 575 { 576 .num_mod_grps = 9, 577 .chan_desc = 578 { 579 .start_freq = 5000, 580 .chan_width = 20, 581 .chan_num = 60, 582 }, 583 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 584 }, 585 .txpwrlimit_config[7] = 586 { 587 .num_mod_grps = 9, 588 .chan_desc = 589 { 590 .start_freq = 5000, 591 .chan_width = 20, 592 .chan_num = 64, 593 }, 594 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 595 }, 596 .txpwrlimit_config[8] = 597 { 598 .num_mod_grps = 9, 599 .chan_desc = 600 { 601 .start_freq = 5000, 602 .chan_width = 20, 603 .chan_num = 100, 604 }, 605 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 606 }, 607 .txpwrlimit_config[9] = 608 { 609 .num_mod_grps = 9, 610 .chan_desc = 611 { 612 .start_freq = 5000, 613 .chan_width = 20, 614 .chan_num = 104, 615 }, 616 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 617 }, 618 .txpwrlimit_config[10] = 619 { 620 .num_mod_grps = 9, 621 .chan_desc = 622 { 623 .start_freq = 5000, 624 .chan_width = 20, 625 .chan_num = 108, 626 }, 627 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 628 }, 629 .txpwrlimit_config[11] = 630 { 631 .num_mod_grps = 9, 632 .chan_desc = 633 { 634 .start_freq = 5000, 635 .chan_width = 20, 636 .chan_num = 112, 637 }, 638 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 639 }, 640 .txpwrlimit_config[12] = 641 { 642 .num_mod_grps = 9, 643 .chan_desc = 644 { 645 .start_freq = 5000, 646 .chan_width = 20, 647 .chan_num = 116, 648 }, 649 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 650 }, 651 .txpwrlimit_config[13] = 652 { 653 .num_mod_grps = 9, 654 .chan_desc = 655 { 656 .start_freq = 5000, 657 .chan_width = 20, 658 .chan_num = 120, 659 }, 660 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 661 }, 662 .txpwrlimit_config[14] = 663 { 664 .num_mod_grps = 9, 665 .chan_desc = 666 { 667 .start_freq = 5000, 668 .chan_width = 20, 669 .chan_num = 124, 670 }, 671 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 672 }, 673 .txpwrlimit_config[15] = 674 { 675 .num_mod_grps = 9, 676 .chan_desc = 677 { 678 .start_freq = 5000, 679 .chan_width = 20, 680 .chan_num = 128, 681 }, 682 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 683 }, 684 .txpwrlimit_config[16] = 685 { 686 .num_mod_grps = 9, 687 .chan_desc = 688 { 689 .start_freq = 5000, 690 .chan_width = 20, 691 .chan_num = 132, 692 }, 693 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 694 }, 695 .txpwrlimit_config[17] = 696 { 697 .num_mod_grps = 9, 698 .chan_desc = 699 { 700 .start_freq = 5000, 701 .chan_width = 20, 702 .chan_num = 136, 703 }, 704 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 705 }, 706 .txpwrlimit_config[18] = 707 { 708 .num_mod_grps = 9, 709 .chan_desc = 710 { 711 .start_freq = 5000, 712 .chan_width = 20, 713 .chan_num = 140, 714 }, 715 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 716 }, 717 .txpwrlimit_config[19] = 718 { 719 .num_mod_grps = 9, 720 .chan_desc = 721 { 722 .start_freq = 5000, 723 .chan_width = 20, 724 .chan_num = 144, 725 }, 726 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 727 }, 728 .txpwrlimit_config[20] = 729 { 730 .num_mod_grps = 9, 731 .chan_desc = 732 { 733 .start_freq = 5000, 734 .chan_width = 20, 735 .chan_num = 149, 736 }, 737 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 738 }, 739 .txpwrlimit_config[21] = 740 { 741 .num_mod_grps = 9, 742 .chan_desc = 743 { 744 .start_freq = 5000, 745 .chan_width = 20, 746 .chan_num = 153, 747 }, 748 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 749 }, 750 .txpwrlimit_config[22] = 751 { 752 .num_mod_grps = 9, 753 .chan_desc = 754 { 755 .start_freq = 5000, 756 .chan_width = 20, 757 .chan_num = 157, 758 }, 759 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 760 }, 761 .txpwrlimit_config[23] = 762 { 763 .num_mod_grps = 9, 764 .chan_desc = 765 { 766 .start_freq = 5000, 767 .chan_width = 20, 768 .chan_num = 161, 769 }, 770 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 771 }, 772 .txpwrlimit_config[24] = 773 { 774 .num_mod_grps = 9, 775 .chan_desc = 776 { 777 .start_freq = 5000, 778 .chan_width = 20, 779 .chan_num = 165, 780 }, 781 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 782 }, 783 .txpwrlimit_config[25] = 784 { 785 .num_mod_grps = 9, 786 .chan_desc = 787 { 788 .start_freq = 5000, 789 .chan_width = 20, 790 .chan_num = 183, 791 }, 792 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 793 }, 794 .txpwrlimit_config[26] = 795 { 796 .num_mod_grps = 9, 797 .chan_desc = 798 { 799 .start_freq = 5000, 800 .chan_width = 20, 801 .chan_num = 184, 802 }, 803 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 804 }, 805 .txpwrlimit_config[27] = 806 { 807 .num_mod_grps = 9, 808 .chan_desc = 809 { 810 .start_freq = 5000, 811 .chan_width = 20, 812 .chan_num = 185, 813 }, 814 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 815 }, 816 .txpwrlimit_config[28] = 817 { 818 .num_mod_grps = 9, 819 .chan_desc = 820 { 821 .start_freq = 5000, 822 .chan_width = 20, 823 .chan_num = 187, 824 }, 825 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 826 }, 827 .txpwrlimit_config[29] = 828 { 829 .num_mod_grps = 9, 830 .chan_desc = 831 { 832 .start_freq = 5000, 833 .chan_width = 20, 834 .chan_num = 188, 835 }, 836 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 837 }, 838 .txpwrlimit_config[30] = 839 { 840 .num_mod_grps = 9, 841 .chan_desc = 842 { 843 .start_freq = 5000, 844 .chan_width = 20, 845 .chan_num = 189, 846 }, 847 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 848 }, 849 .txpwrlimit_config[31] = 850 { 851 .num_mod_grps = 9, 852 .chan_desc = 853 { 854 .start_freq = 5000, 855 .chan_width = 20, 856 .chan_num = 192, 857 }, 858 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 859 }, 860 .txpwrlimit_config[32] = 861 { 862 .num_mod_grps = 9, 863 .chan_desc = 864 { 865 .start_freq = 5000, 866 .chan_width = 20, 867 .chan_num = 196, 868 }, 869 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 870 }, 871 .txpwrlimit_config[33] = 872 { 873 .num_mod_grps = 9, 874 .chan_desc = 875 { 876 .start_freq = 5000, 877 .chan_width = 20, 878 .chan_num = 7, 879 }, 880 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 881 }, 882 .txpwrlimit_config[34] = 883 { 884 .num_mod_grps = 9, 885 .chan_desc = 886 { 887 .start_freq = 5000, 888 .chan_width = 20, 889 .chan_num = 8, 890 }, 891 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 892 }, 893 .txpwrlimit_config[35] = 894 { 895 .num_mod_grps = 9, 896 .chan_desc = 897 { 898 .start_freq = 5000, 899 .chan_width = 20, 900 .chan_num = 11, 901 }, 902 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 903 }, 904 .txpwrlimit_config[36] = 905 { 906 .num_mod_grps = 9, 907 .chan_desc = 908 { 909 .start_freq = 5000, 910 .chan_width = 20, 911 .chan_num = 12, 912 }, 913 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 914 }, 915 .txpwrlimit_config[37] = 916 { 917 .num_mod_grps = 9, 918 .chan_desc = 919 { 920 .start_freq = 5000, 921 .chan_width = 20, 922 .chan_num = 16, 923 }, 924 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 925 }, 926 .txpwrlimit_config[38] = 927 { 928 .num_mod_grps = 9, 929 .chan_desc = 930 { 931 .start_freq = 5000, 932 .chan_width = 20, 933 .chan_num = 34, 934 }, 935 .txpwrlimit_entry = {{1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}}, 936 }, 937 }; 938 #endif /* CONFIG_5GHz_SUPPORT */ 939 #else 940 static wifi_txpwrlimit_t tx_pwrlimit_2g_cfg = 941 { 942 .subband = (wifi_SubBand_t)0x00, 943 .num_chans = 14, 944 .txpwrlimit_config[0] = 945 { 946 .num_mod_grps = 12, 947 .chan_desc = 948 { 949 .start_freq = 2407, 950 .chan_width = 20, 951 .chan_num = 1, 952 }, 953 .txpwrlimit_entry = 954 {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}, {10, 8}, {11, 8}}, 955 }, 956 .txpwrlimit_config[1] = 957 { 958 .num_mod_grps = 12, 959 .chan_desc = 960 { 961 .start_freq = 2407, 962 .chan_width = 20, 963 .chan_num = 2, 964 }, 965 .txpwrlimit_entry = 966 {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}, {10, 8}, {11, 8}}, 967 }, 968 .txpwrlimit_config[2] = 969 { 970 .num_mod_grps = 12, 971 .chan_desc = 972 { 973 .start_freq = 2407, 974 .chan_width = 20, 975 .chan_num = 3, 976 }, 977 .txpwrlimit_entry = 978 {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}, {10, 8}, {11, 8}}, 979 }, 980 .txpwrlimit_config[3] = 981 { 982 .num_mod_grps = 12, 983 .chan_desc = 984 { 985 .start_freq = 2407, 986 .chan_width = 20, 987 .chan_num = 4, 988 }, 989 .txpwrlimit_entry = 990 {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}, {10, 8}, {11, 8}}, 991 }, 992 .txpwrlimit_config[4] = 993 { 994 .num_mod_grps = 12, 995 .chan_desc = 996 { 997 .start_freq = 2407, 998 .chan_width = 20, 999 .chan_num = 5, 1000 }, 1001 .txpwrlimit_entry = 1002 {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}, {10, 8}, {11, 8}}, 1003 }, 1004 .txpwrlimit_config[5] = 1005 { 1006 .num_mod_grps = 12, 1007 .chan_desc = 1008 { 1009 .start_freq = 2407, 1010 .chan_width = 20, 1011 .chan_num = 6, 1012 }, 1013 .txpwrlimit_entry = 1014 {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}, {10, 8}, {11, 8}}, 1015 }, 1016 .txpwrlimit_config[6] = 1017 { 1018 .num_mod_grps = 12, 1019 .chan_desc = 1020 { 1021 .start_freq = 2407, 1022 .chan_width = 20, 1023 .chan_num = 7, 1024 }, 1025 .txpwrlimit_entry = 1026 {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}, {10, 8}, {11, 8}}, 1027 }, 1028 .txpwrlimit_config[7] = 1029 { 1030 .num_mod_grps = 12, 1031 .chan_desc = 1032 { 1033 .start_freq = 2407, 1034 .chan_width = 20, 1035 .chan_num = 8, 1036 }, 1037 .txpwrlimit_entry = 1038 {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}, {10, 8}, {11, 8}}, 1039 }, 1040 .txpwrlimit_config[8] = 1041 { 1042 .num_mod_grps = 12, 1043 .chan_desc = 1044 { 1045 .start_freq = 2407, 1046 .chan_width = 20, 1047 .chan_num = 9, 1048 }, 1049 .txpwrlimit_entry = 1050 {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}, {10, 8}, {11, 8}}, 1051 }, 1052 .txpwrlimit_config[9] = 1053 { 1054 .num_mod_grps = 12, 1055 .chan_desc = 1056 { 1057 .start_freq = 2407, 1058 .chan_width = 20, 1059 .chan_num = 10, 1060 }, 1061 .txpwrlimit_entry = 1062 {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}, {10, 8}, {11, 8}}, 1063 }, 1064 .txpwrlimit_config[10] = 1065 { 1066 .num_mod_grps = 12, 1067 .chan_desc = 1068 { 1069 .start_freq = 2407, 1070 .chan_width = 20, 1071 .chan_num = 11, 1072 }, 1073 .txpwrlimit_entry = 1074 {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}, {10, 8}, {11, 8}}, 1075 }, 1076 .txpwrlimit_config[11] = 1077 { 1078 .num_mod_grps = 12, 1079 .chan_desc = 1080 { 1081 .start_freq = 2407, 1082 .chan_width = 20, 1083 .chan_num = 12, 1084 }, 1085 .txpwrlimit_entry = 1086 {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}, {10, 8}, {11, 8}}, 1087 }, 1088 .txpwrlimit_config[12] = 1089 { 1090 .num_mod_grps = 12, 1091 .chan_desc = 1092 { 1093 .start_freq = 2407, 1094 .chan_width = 20, 1095 .chan_num = 13, 1096 }, 1097 .txpwrlimit_entry = 1098 {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}, {10, 8}, {11, 8}}, 1099 }, 1100 .txpwrlimit_config[13] = 1101 { 1102 .num_mod_grps = 12, 1103 .chan_desc = 1104 { 1105 .start_freq = 2414, 1106 .chan_width = 20, 1107 .chan_num = 14, 1108 }, 1109 .txpwrlimit_entry = 1110 {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}, {10, 8}, {11, 8}}, 1111 }, 1112 }; 1113 1114 #if CONFIG_5GHz_SUPPORT 1115 static wifi_txpwrlimit_t 1116 tx_pwrlimit_5g_cfg = 1117 { 1118 .subband = (wifi_SubBand_t)0x00, 1119 .num_chans = 39, 1120 1121 .txpwrlimit_config[0] = 1122 { 1123 .num_mod_grps = 16, 1124 .chan_desc = 1125 { 1126 .start_freq = 5000, 1127 .chan_width = 20, 1128 .chan_num = 36, 1129 }, 1130 .txpwrlimit_entry = {{0, 0}, 1131 {1, 8}, 1132 {2, 8}, 1133 {3, 8}, 1134 {4, 8}, 1135 {5, 8}, 1136 {6, 8}, 1137 {7, 8}, 1138 {8, 8}, 1139 {9, 8}, 1140 {10, 8}, 1141 {11, 8}, 1142 {12, 8}, 1143 {13, 8}, 1144 {14, 8}, 1145 {15, 8}}, 1146 }, 1147 .txpwrlimit_config[1] = 1148 { 1149 .num_mod_grps = 16, 1150 .chan_desc = 1151 { 1152 .start_freq = 5000, 1153 .chan_width = 20, 1154 .chan_num = 40, 1155 }, 1156 .txpwrlimit_entry = {{0, 0}, 1157 {1, 8}, 1158 {2, 8}, 1159 {3, 8}, 1160 {4, 8}, 1161 {5, 8}, 1162 {6, 8}, 1163 {7, 8}, 1164 {8, 8}, 1165 {9, 8}, 1166 {10, 8}, 1167 {11, 8}, 1168 {12, 8}, 1169 {13, 8}, 1170 {14, 8}, 1171 {15, 8}}, 1172 }, 1173 .txpwrlimit_config[2] = 1174 { 1175 .num_mod_grps = 16, 1176 .chan_desc = 1177 { 1178 .start_freq = 5000, 1179 .chan_width = 20, 1180 .chan_num = 44, 1181 }, 1182 .txpwrlimit_entry = {{0, 0}, 1183 {1, 8}, 1184 {2, 8}, 1185 {3, 8}, 1186 {4, 8}, 1187 {5, 8}, 1188 {6, 8}, 1189 {7, 8}, 1190 {8, 8}, 1191 {9, 8}, 1192 {10, 8}, 1193 {11, 8}, 1194 {12, 8}, 1195 {13, 8}, 1196 {14, 8}, 1197 {15, 8}}, 1198 }, 1199 .txpwrlimit_config[3] = 1200 { 1201 .num_mod_grps = 16, 1202 .chan_desc = 1203 { 1204 .start_freq = 5000, 1205 .chan_width = 20, 1206 .chan_num = 48, 1207 }, 1208 .txpwrlimit_entry = {{0, 0}, 1209 {1, 8}, 1210 {2, 8}, 1211 {3, 8}, 1212 {4, 8}, 1213 {5, 8}, 1214 {6, 8}, 1215 {7, 8}, 1216 {8, 8}, 1217 {9, 8}, 1218 {10, 8}, 1219 {11, 8}, 1220 {12, 8}, 1221 {13, 8}, 1222 {14, 8}, 1223 {15, 8}}, 1224 }, 1225 .txpwrlimit_config[4] = 1226 { 1227 .num_mod_grps = 16, 1228 .chan_desc = 1229 { 1230 .start_freq = 5000, 1231 .chan_width = 20, 1232 .chan_num = 52, 1233 }, 1234 .txpwrlimit_entry = {{0, 0}, 1235 {1, 8}, 1236 {2, 8}, 1237 {3, 8}, 1238 {4, 8}, 1239 {5, 8}, 1240 {6, 8}, 1241 {7, 8}, 1242 {8, 8}, 1243 {9, 8}, 1244 {10, 8}, 1245 {11, 8}, 1246 {12, 8}, 1247 {13, 8}, 1248 {14, 8}, 1249 {15, 8}}, 1250 }, 1251 .txpwrlimit_config[5] = 1252 { 1253 .num_mod_grps = 16, 1254 .chan_desc = 1255 { 1256 .start_freq = 5000, 1257 .chan_width = 20, 1258 .chan_num = 56, 1259 }, 1260 .txpwrlimit_entry = {{0, 0}, 1261 {1, 8}, 1262 {2, 8}, 1263 {3, 8}, 1264 {4, 8}, 1265 {5, 8}, 1266 {6, 8}, 1267 {7, 8}, 1268 {8, 8}, 1269 {9, 8}, 1270 {10, 8}, 1271 {11, 8}, 1272 {12, 8}, 1273 {13, 8}, 1274 {14, 8}, 1275 {15, 8}}, 1276 }, 1277 .txpwrlimit_config[6] = 1278 { 1279 .num_mod_grps = 16, 1280 .chan_desc = 1281 { 1282 .start_freq = 5000, 1283 .chan_width = 20, 1284 .chan_num = 60, 1285 }, 1286 .txpwrlimit_entry = {{0, 0}, 1287 {1, 8}, 1288 {2, 8}, 1289 {3, 8}, 1290 {4, 8}, 1291 {5, 8}, 1292 {6, 8}, 1293 {7, 8}, 1294 {8, 8}, 1295 {9, 8}, 1296 {10, 8}, 1297 {11, 8}, 1298 {12, 8}, 1299 {13, 8}, 1300 {14, 8}, 1301 {15, 8}}, 1302 }, 1303 .txpwrlimit_config[7] = 1304 { 1305 .num_mod_grps = 16, 1306 .chan_desc = 1307 { 1308 .start_freq = 5000, 1309 .chan_width = 20, 1310 .chan_num = 64, 1311 }, 1312 .txpwrlimit_entry = {{0, 0}, 1313 {1, 8}, 1314 {2, 8}, 1315 {3, 8}, 1316 {4, 8}, 1317 {5, 8}, 1318 {6, 8}, 1319 {7, 8}, 1320 {8, 8}, 1321 {9, 8}, 1322 {10, 8}, 1323 {11, 8}, 1324 {12, 8}, 1325 {13, 8}, 1326 {14, 8}, 1327 {15, 8}}, 1328 }, 1329 .txpwrlimit_config[8] = 1330 { 1331 .num_mod_grps = 16, 1332 .chan_desc = 1333 { 1334 .start_freq = 5000, 1335 .chan_width = 20, 1336 .chan_num = 100, 1337 }, 1338 .txpwrlimit_entry = {{0, 0}, 1339 {1, 8}, 1340 {2, 8}, 1341 {3, 8}, 1342 {4, 8}, 1343 {5, 8}, 1344 {6, 8}, 1345 {7, 8}, 1346 {8, 8}, 1347 {9, 8}, 1348 {10, 8}, 1349 {11, 8}, 1350 {12, 8}, 1351 {13, 8}, 1352 {14, 8}, 1353 {15, 8}}, 1354 }, 1355 .txpwrlimit_config[9] = 1356 { 1357 .num_mod_grps = 16, 1358 .chan_desc = 1359 { 1360 .start_freq = 5000, 1361 .chan_width = 20, 1362 .chan_num = 104, 1363 }, 1364 .txpwrlimit_entry = {{0, 0}, 1365 {1, 8}, 1366 {2, 8}, 1367 {3, 8}, 1368 {4, 8}, 1369 {5, 8}, 1370 {6, 8}, 1371 {7, 8}, 1372 {8, 8}, 1373 {9, 8}, 1374 {10, 8}, 1375 {11, 8}, 1376 {12, 8}, 1377 {13, 8}, 1378 {14, 8}, 1379 {15, 8}}, 1380 }, 1381 .txpwrlimit_config[10] = 1382 { 1383 .num_mod_grps = 16, 1384 .chan_desc = 1385 { 1386 .start_freq = 5000, 1387 .chan_width = 20, 1388 .chan_num = 108, 1389 }, 1390 .txpwrlimit_entry = {{0, 0}, 1391 {1, 8}, 1392 {2, 8}, 1393 {3, 8}, 1394 {4, 8}, 1395 {5, 8}, 1396 {6, 8}, 1397 {7, 8}, 1398 {8, 8}, 1399 {9, 8}, 1400 {10, 8}, 1401 {11, 8}, 1402 {12, 8}, 1403 {13, 8}, 1404 {14, 8}, 1405 {15, 8}}, 1406 }, 1407 .txpwrlimit_config[11] = 1408 { 1409 .num_mod_grps = 16, 1410 .chan_desc = 1411 { 1412 .start_freq = 5000, 1413 .chan_width = 20, 1414 .chan_num = 112, 1415 }, 1416 .txpwrlimit_entry = {{0, 0}, 1417 {1, 8}, 1418 {2, 8}, 1419 {3, 8}, 1420 {4, 8}, 1421 {5, 8}, 1422 {6, 8}, 1423 {7, 8}, 1424 {8, 8}, 1425 {9, 8}, 1426 {10, 8}, 1427 {11, 8}, 1428 {12, 8}, 1429 {13, 8}, 1430 {14, 8}, 1431 {15, 8}}, 1432 }, 1433 .txpwrlimit_config[12] = 1434 { 1435 .num_mod_grps = 16, 1436 .chan_desc = 1437 { 1438 .start_freq = 5000, 1439 .chan_width = 20, 1440 .chan_num = 116, 1441 }, 1442 .txpwrlimit_entry = {{0, 0}, 1443 {1, 8}, 1444 {2, 8}, 1445 {3, 8}, 1446 {4, 8}, 1447 {5, 8}, 1448 {6, 8}, 1449 {7, 8}, 1450 {8, 8}, 1451 {9, 8}, 1452 {10, 8}, 1453 {11, 8}, 1454 {12, 8}, 1455 {13, 8}, 1456 {14, 8}, 1457 {15, 8}}, 1458 }, 1459 .txpwrlimit_config[13] = 1460 { 1461 .num_mod_grps = 16, 1462 .chan_desc = 1463 { 1464 .start_freq = 5000, 1465 .chan_width = 20, 1466 .chan_num = 120, 1467 }, 1468 .txpwrlimit_entry = {{0, 0}, 1469 {1, 8}, 1470 {2, 8}, 1471 {3, 8}, 1472 {4, 8}, 1473 {5, 8}, 1474 {6, 8}, 1475 {7, 8}, 1476 {8, 8}, 1477 {9, 8}, 1478 {10, 8}, 1479 {11, 8}, 1480 {12, 8}, 1481 {13, 8}, 1482 {14, 8}, 1483 {15, 8}}, 1484 }, 1485 .txpwrlimit_config[14] = 1486 { 1487 .num_mod_grps = 16, 1488 .chan_desc = 1489 { 1490 .start_freq = 5000, 1491 .chan_width = 20, 1492 .chan_num = 124, 1493 }, 1494 .txpwrlimit_entry = {{0, 0}, 1495 {1, 8}, 1496 {2, 8}, 1497 {3, 8}, 1498 {4, 8}, 1499 {5, 8}, 1500 {6, 8}, 1501 {7, 8}, 1502 {8, 8}, 1503 {9, 8}, 1504 {10, 8}, 1505 {11, 8}, 1506 {12, 8}, 1507 {13, 8}, 1508 {14, 8}, 1509 {15, 8}}, 1510 }, 1511 .txpwrlimit_config[15] = 1512 { 1513 .num_mod_grps = 16, 1514 .chan_desc = 1515 { 1516 .start_freq = 5000, 1517 .chan_width = 20, 1518 .chan_num = 128, 1519 }, 1520 .txpwrlimit_entry = {{0, 0}, 1521 {1, 8}, 1522 {2, 8}, 1523 {3, 8}, 1524 {4, 8}, 1525 {5, 8}, 1526 {6, 8}, 1527 {7, 8}, 1528 {8, 8}, 1529 {9, 8}, 1530 {10, 8}, 1531 {11, 8}, 1532 {12, 8}, 1533 {13, 8}, 1534 {14, 8}, 1535 {15, 8}}, 1536 }, 1537 .txpwrlimit_config[16] = 1538 { 1539 .num_mod_grps = 16, 1540 .chan_desc = 1541 { 1542 .start_freq = 5000, 1543 .chan_width = 20, 1544 .chan_num = 132, 1545 }, 1546 .txpwrlimit_entry = {{0, 0}, 1547 {1, 8}, 1548 {2, 8}, 1549 {3, 8}, 1550 {4, 8}, 1551 {5, 8}, 1552 {6, 8}, 1553 {7, 8}, 1554 {8, 8}, 1555 {9, 8}, 1556 {10, 8}, 1557 {11, 8}, 1558 {12, 8}, 1559 {13, 8}, 1560 {14, 8}, 1561 {15, 8}}, 1562 }, 1563 .txpwrlimit_config[17] = 1564 { 1565 .num_mod_grps = 16, 1566 .chan_desc = 1567 { 1568 .start_freq = 5000, 1569 .chan_width = 20, 1570 .chan_num = 136, 1571 }, 1572 .txpwrlimit_entry = {{0, 0}, 1573 {1, 8}, 1574 {2, 8}, 1575 {3, 8}, 1576 {4, 8}, 1577 {5, 8}, 1578 {6, 8}, 1579 {7, 8}, 1580 {8, 8}, 1581 {9, 8}, 1582 {10, 8}, 1583 {11, 8}, 1584 {12, 8}, 1585 {13, 8}, 1586 {14, 8}, 1587 {15, 8}}, 1588 }, 1589 .txpwrlimit_config[18] = 1590 { 1591 .num_mod_grps = 16, 1592 .chan_desc = 1593 { 1594 .start_freq = 5000, 1595 .chan_width = 20, 1596 .chan_num = 140, 1597 }, 1598 .txpwrlimit_entry = {{0, 0}, 1599 {1, 8}, 1600 {2, 8}, 1601 {3, 8}, 1602 {4, 8}, 1603 {5, 8}, 1604 {6, 8}, 1605 {7, 8}, 1606 {8, 8}, 1607 {9, 8}, 1608 {10, 8}, 1609 {11, 8}, 1610 {12, 8}, 1611 {13, 8}, 1612 {14, 8}, 1613 {15, 8}}, 1614 }, 1615 .txpwrlimit_config[19] = 1616 { 1617 .num_mod_grps = 16, 1618 .chan_desc = 1619 { 1620 .start_freq = 5000, 1621 .chan_width = 20, 1622 .chan_num = 144, 1623 }, 1624 .txpwrlimit_entry = {{0, 0}, 1625 {1, 8}, 1626 {2, 8}, 1627 {3, 8}, 1628 {4, 8}, 1629 {5, 8}, 1630 {6, 8}, 1631 {7, 8}, 1632 {8, 8}, 1633 {9, 8}, 1634 {10, 8}, 1635 {11, 8}, 1636 {12, 8}, 1637 {13, 8}, 1638 {14, 8}, 1639 {15, 8}}, 1640 }, 1641 .txpwrlimit_config[20] = 1642 { 1643 .num_mod_grps = 16, 1644 .chan_desc = 1645 { 1646 .start_freq = 5000, 1647 .chan_width = 20, 1648 .chan_num = 149, 1649 }, 1650 .txpwrlimit_entry = {{0, 0}, 1651 {1, 8}, 1652 {2, 8}, 1653 {3, 8}, 1654 {4, 8}, 1655 {5, 8}, 1656 {6, 8}, 1657 {7, 8}, 1658 {8, 8}, 1659 {9, 8}, 1660 {10, 8}, 1661 {11, 8}, 1662 {12, 8}, 1663 {13, 8}, 1664 {14, 8}, 1665 {15, 8}}, 1666 }, 1667 .txpwrlimit_config[21] = 1668 { 1669 .num_mod_grps = 16, 1670 .chan_desc = 1671 { 1672 .start_freq = 5000, 1673 .chan_width = 20, 1674 .chan_num = 153, 1675 }, 1676 .txpwrlimit_entry = {{0, 0}, 1677 {1, 8}, 1678 {2, 8}, 1679 {3, 8}, 1680 {4, 8}, 1681 {5, 8}, 1682 {6, 8}, 1683 {7, 8}, 1684 {8, 8}, 1685 {9, 8}, 1686 {10, 8}, 1687 {11, 8}, 1688 {12, 8}, 1689 {13, 8}, 1690 {14, 8}, 1691 {15, 8}}, 1692 }, 1693 .txpwrlimit_config[22] = 1694 { 1695 .num_mod_grps = 16, 1696 .chan_desc = 1697 { 1698 .start_freq = 5000, 1699 .chan_width = 20, 1700 .chan_num = 157, 1701 }, 1702 .txpwrlimit_entry = {{0, 0}, 1703 {1, 8}, 1704 {2, 8}, 1705 {3, 8}, 1706 {4, 8}, 1707 {5, 8}, 1708 {6, 8}, 1709 {7, 8}, 1710 {8, 8}, 1711 {9, 8}, 1712 {10, 8}, 1713 {11, 8}, 1714 {12, 8}, 1715 {13, 8}, 1716 {14, 8}, 1717 {15, 8}}, 1718 }, 1719 .txpwrlimit_config[23] = 1720 { 1721 .num_mod_grps = 16, 1722 .chan_desc = 1723 { 1724 .start_freq = 5000, 1725 .chan_width = 20, 1726 .chan_num = 161, 1727 }, 1728 .txpwrlimit_entry = {{0, 0}, 1729 {1, 8}, 1730 {2, 8}, 1731 {3, 8}, 1732 {4, 8}, 1733 {5, 8}, 1734 {6, 8}, 1735 {7, 8}, 1736 {8, 8}, 1737 {9, 8}, 1738 {10, 8}, 1739 {11, 8}, 1740 {12, 8}, 1741 {13, 8}, 1742 {14, 8}, 1743 {15, 8}}, 1744 }, 1745 .txpwrlimit_config[24] = 1746 { 1747 .num_mod_grps = 16, 1748 .chan_desc = 1749 { 1750 .start_freq = 5000, 1751 .chan_width = 20, 1752 .chan_num = 165, 1753 }, 1754 .txpwrlimit_entry = {{0, 0}, 1755 {1, 8}, 1756 {2, 8}, 1757 {3, 8}, 1758 {4, 8}, 1759 {5, 8}, 1760 {6, 8}, 1761 {7, 8}, 1762 {8, 8}, 1763 {9, 8}, 1764 {10, 8}, 1765 {11, 8}, 1766 {12, 8}, 1767 {13, 8}, 1768 {14, 8}, 1769 {15, 8}}, 1770 }, 1771 .txpwrlimit_config[25] = 1772 { 1773 .num_mod_grps = 16, 1774 .chan_desc = 1775 { 1776 .start_freq = 5000, 1777 .chan_width = 20, 1778 .chan_num = 183, 1779 }, 1780 .txpwrlimit_entry = {{0, 0}, 1781 {1, 8}, 1782 {2, 8}, 1783 {3, 8}, 1784 {4, 8}, 1785 {5, 8}, 1786 {6, 8}, 1787 {7, 8}, 1788 {8, 8}, 1789 {9, 8}, 1790 {10, 8}, 1791 {11, 8}, 1792 {12, 8}, 1793 {13, 8}, 1794 {14, 8}, 1795 {15, 8}}, 1796 }, 1797 .txpwrlimit_config[26] = 1798 { 1799 .num_mod_grps = 16, 1800 .chan_desc = 1801 { 1802 .start_freq = 5000, 1803 .chan_width = 20, 1804 .chan_num = 184, 1805 }, 1806 .txpwrlimit_entry = {{0, 0}, 1807 {1, 8}, 1808 {2, 8}, 1809 {3, 8}, 1810 {4, 8}, 1811 {5, 8}, 1812 {6, 8}, 1813 {7, 8}, 1814 {8, 8}, 1815 {9, 8}, 1816 {10, 8}, 1817 {11, 8}, 1818 {12, 8}, 1819 {13, 8}, 1820 {14, 8}, 1821 {15, 8}}, 1822 }, 1823 .txpwrlimit_config[27] = 1824 { 1825 .num_mod_grps = 16, 1826 .chan_desc = 1827 { 1828 .start_freq = 5000, 1829 .chan_width = 20, 1830 .chan_num = 185, 1831 }, 1832 .txpwrlimit_entry = {{0, 0}, 1833 {1, 8}, 1834 {2, 8}, 1835 {3, 8}, 1836 {4, 8}, 1837 {5, 8}, 1838 {6, 8}, 1839 {7, 8}, 1840 {8, 8}, 1841 {9, 8}, 1842 {10, 8}, 1843 {11, 8}, 1844 {12, 8}, 1845 {13, 8}, 1846 {14, 8}, 1847 {15, 8}}, 1848 }, 1849 .txpwrlimit_config[28] = 1850 { 1851 .num_mod_grps = 16, 1852 .chan_desc = {.start_freq = 5000, .chan_width = 20, .chan_num = 187}, 1853 .txpwrlimit_entry = {{0, 0}, 1854 {1, 8}, 1855 {2, 8}, 1856 {3, 8}, 1857 {4, 8}, 1858 {5, 8}, 1859 {6, 8}, 1860 {7, 8}, 1861 {8, 8}, 1862 {9, 8}, 1863 {10, 8}, 1864 {11, 8}, 1865 {12, 8}, 1866 {13, 8}, 1867 {14, 8}, 1868 {15, 8}}, 1869 }, 1870 .txpwrlimit_config[29] = 1871 { 1872 .num_mod_grps = 16, 1873 .chan_desc = 1874 { 1875 .start_freq = 5000, 1876 .chan_width = 20, 1877 .chan_num = 188, 1878 }, 1879 .txpwrlimit_entry = {{0, 0}, 1880 {1, 8}, 1881 {2, 8}, 1882 {3, 8}, 1883 {4, 8}, 1884 {5, 8}, 1885 {6, 8}, 1886 {7, 8}, 1887 {8, 8}, 1888 {9, 8}, 1889 {10, 8}, 1890 {11, 8}, 1891 {12, 8}, 1892 {13, 8}, 1893 {14, 8}, 1894 {15, 8}}, 1895 }, 1896 .txpwrlimit_config[30] = 1897 { 1898 .num_mod_grps = 16, 1899 .chan_desc = 1900 { 1901 .start_freq = 5000, 1902 .chan_width = 20, 1903 .chan_num = 189, 1904 }, 1905 .txpwrlimit_entry = {{0, 0}, 1906 {1, 8}, 1907 {2, 8}, 1908 {3, 8}, 1909 {4, 8}, 1910 {5, 8}, 1911 {6, 8}, 1912 {7, 8}, 1913 {8, 8}, 1914 {9, 8}, 1915 {10, 8}, 1916 {11, 8}, 1917 {12, 8}, 1918 {13, 8}, 1919 {14, 8}, 1920 {15, 8}}, 1921 }, 1922 .txpwrlimit_config[31] = 1923 { 1924 .num_mod_grps = 16, 1925 .chan_desc = 1926 { 1927 .start_freq = 5000, 1928 .chan_width = 20, 1929 .chan_num = 192, 1930 }, 1931 .txpwrlimit_entry = {{0, 0}, 1932 {1, 8}, 1933 {2, 8}, 1934 {3, 8}, 1935 {4, 8}, 1936 {5, 8}, 1937 {6, 8}, 1938 {7, 8}, 1939 {8, 8}, 1940 {9, 8}, 1941 {10, 8}, 1942 {11, 8}, 1943 {12, 8}, 1944 {13, 8}, 1945 {14, 8}, 1946 {15, 8}}, 1947 }, 1948 .txpwrlimit_config[32] = 1949 { 1950 .num_mod_grps = 16, 1951 .chan_desc = 1952 { 1953 .start_freq = 5000, 1954 .chan_width = 20, 1955 .chan_num = 196, 1956 }, 1957 .txpwrlimit_entry = {{0, 0}, 1958 {1, 8}, 1959 {2, 8}, 1960 {3, 8}, 1961 {4, 8}, 1962 {5, 8}, 1963 {6, 8}, 1964 {7, 8}, 1965 {8, 8}, 1966 {9, 8}, 1967 {10, 8}, 1968 {11, 8}, 1969 {12, 8}, 1970 {13, 8}, 1971 {14, 8}, 1972 {15, 8}}, 1973 }, 1974 .txpwrlimit_config[33] = 1975 { 1976 .num_mod_grps = 16, 1977 .chan_desc = 1978 { 1979 .start_freq = 5000, 1980 .chan_width = 20, 1981 .chan_num = 7, 1982 }, 1983 .txpwrlimit_entry = {{0, 0}, 1984 {1, 8}, 1985 {2, 8}, 1986 {3, 8}, 1987 {4, 8}, 1988 {5, 8}, 1989 {6, 8}, 1990 {7, 8}, 1991 {8, 8}, 1992 {9, 8}, 1993 {10, 8}, 1994 {11, 8}, 1995 {12, 8}, 1996 {13, 8}, 1997 {14, 8}, 1998 {15, 8}}, 1999 }, 2000 .txpwrlimit_config[34] = 2001 { 2002 .num_mod_grps = 16, 2003 .chan_desc = 2004 { 2005 .start_freq = 5000, 2006 .chan_width = 20, 2007 .chan_num = 8, 2008 }, 2009 .txpwrlimit_entry = {{0, 0}, 2010 {1, 8}, 2011 {2, 8}, 2012 {3, 8}, 2013 {4, 8}, 2014 {5, 8}, 2015 {6, 8}, 2016 {7, 8}, 2017 {8, 8}, 2018 {9, 8}, 2019 {10, 8}, 2020 {11, 8}, 2021 {12, 8}, 2022 {13, 8}, 2023 {14, 8}, 2024 {15, 8}}, 2025 }, 2026 .txpwrlimit_config[35] = 2027 { 2028 .num_mod_grps = 16, 2029 .chan_desc = 2030 { 2031 .start_freq = 5000, 2032 .chan_width = 20, 2033 .chan_num = 11, 2034 }, 2035 .txpwrlimit_entry = {{0, 0}, 2036 {1, 8}, 2037 {2, 8}, 2038 {3, 8}, 2039 {4, 8}, 2040 {5, 8}, 2041 {6, 8}, 2042 {7, 8}, 2043 {8, 8}, 2044 {9, 8}, 2045 {10, 8}, 2046 {11, 8}, 2047 {12, 8}, 2048 {13, 8}, 2049 {14, 8}, 2050 {15, 8}}, 2051 }, 2052 .txpwrlimit_config[36] = 2053 { 2054 .num_mod_grps = 16, 2055 .chan_desc = 2056 { 2057 .start_freq = 5000, 2058 .chan_width = 20, 2059 .chan_num = 12, 2060 }, 2061 .txpwrlimit_entry = {{0, 0}, 2062 {1, 8}, 2063 {2, 8}, 2064 {3, 8}, 2065 {4, 8}, 2066 {5, 8}, 2067 {6, 8}, 2068 {7, 8}, 2069 {8, 8}, 2070 {9, 8}, 2071 {10, 8}, 2072 {11, 8}, 2073 {12, 8}, 2074 {13, 8}, 2075 {14, 8}, 2076 {15, 8}}, 2077 }, 2078 .txpwrlimit_config[37] = 2079 { 2080 .num_mod_grps = 16, 2081 .chan_desc = 2082 { 2083 .start_freq = 5000, 2084 .chan_width = 20, 2085 .chan_num = 16, 2086 }, 2087 .txpwrlimit_entry = {{0, 0}, 2088 {1, 8}, 2089 {2, 8}, 2090 {3, 8}, 2091 {4, 8}, 2092 {5, 8}, 2093 {6, 8}, 2094 {7, 8}, 2095 {8, 8}, 2096 {9, 8}, 2097 {10, 8}, 2098 {11, 8}, 2099 {12, 8}, 2100 {13, 8}, 2101 {14, 8}, 2102 {15, 8}}, 2103 }, 2104 .txpwrlimit_config[38] = 2105 { 2106 .num_mod_grps = 16, 2107 .chan_desc = 2108 { 2109 .start_freq = 5000, 2110 .chan_width = 20, 2111 .chan_num = 34, 2112 }, 2113 .txpwrlimit_entry = {{0, 0}, 2114 {1, 8}, 2115 {2, 8}, 2116 {3, 8}, 2117 {4, 8}, 2118 {5, 8}, 2119 {6, 8}, 2120 {7, 8}, 2121 {8, 8}, 2122 {9, 8}, 2123 {10, 8}, 2124 {11, 8}, 2125 {12, 8}, 2126 {13, 8}, 2127 {14, 8}, 2128 {15, 8}}, 2129 }, 2130 }; 2131 #endif /* CONFIG_5GHz_SUPPORT */ 2132 #endif /* CONFIG_11AC */ 2133 2134 #if CONFIG_11AX 2135 2136 #define MAX_2G_RU_PWR_CHANNELS 26 2137 #define MAX_5G_RU_PWR_CHANNELS 69 2138 2139 static uint8_t rutxpowerlimit_cfg_set[] = { 2140 0x6d, 0x02, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x01, 0x09, 0x09, 0x09, 0x09, 0x09, 2141 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0xfa, 2142 0xfd, 0x00, 0x03, 0x06, 0x09, 0x0c, 0xfa, 0xfd, 0x00, 0x03, 0x06, 0x09, 0x0c, 0xfa, 0xfd, 0x00, 0x03, 2143 0x06, 0x09, 0x0c, 0xfa, 0xfd, 0x00, 0x03, 0x06, 0x09, 0x0c, 0xfa, 0xfd, 0x00, 0x03, 0x06, 0x09, 0x0c, 2144 0xfa, 0xfd, 0x00, 0x03, 0x06, 0x09, 0x0c, 0xfa, 0xfd, 0x00, 0x03, 0x06, 0x09, 0x0c, 0xfa, 0xfd, 0x00, 2145 0x03, 0x06, 0x09, 0x0c, 0xfa, 0xfd, 0x00, 0x03, 0x06, 0x09, 0x0c, 0x14, 0x14, 0x14, 0x14, 0x14}; 2146 #endif /* CONFIG_11AX */ 2147 #endif /* _WLAN_TXPWRLIMIT_CFG_WW_H_ */ 2148