1 // SPDX-License-Identifier: ISC 2 /* 3 * Copyright (c) 2010 Broadcom Corporation 4 */ 5 6 #include <types.h> 7 #include "phytbl_lcn.h" 8 9 static const u32 dot11lcn_gain_tbl_rev0[] = { 10 0x00000000, 11 0x00000000, 12 0x00000000, 13 0x00000000, 14 0x00000000, 15 0x00000000, 16 0x00000000, 17 0x00000000, 18 0x00000004, 19 0x00000000, 20 0x00000004, 21 0x00000008, 22 0x00000001, 23 0x00000005, 24 0x00000009, 25 0x0000000d, 26 0x0000004d, 27 0x0000008d, 28 0x0000000d, 29 0x0000004d, 30 0x0000008d, 31 0x000000cd, 32 0x0000004f, 33 0x0000008f, 34 0x000000cf, 35 0x000000d3, 36 0x00000113, 37 0x00000513, 38 0x00000913, 39 0x00000953, 40 0x00000d53, 41 0x00001153, 42 0x00001193, 43 0x00005193, 44 0x00009193, 45 0x0000d193, 46 0x00011193, 47 0x00000000, 48 0x00000000, 49 0x00000000, 50 0x00000000, 51 0x00000000, 52 0x00000000, 53 0x00000004, 54 0x00000000, 55 0x00000004, 56 0x00000008, 57 0x00000001, 58 0x00000005, 59 0x00000009, 60 0x0000000d, 61 0x0000004d, 62 0x0000008d, 63 0x0000000d, 64 0x0000004d, 65 0x0000008d, 66 0x000000cd, 67 0x0000004f, 68 0x0000008f, 69 0x000000cf, 70 0x000000d3, 71 0x00000113, 72 0x00000513, 73 0x00000913, 74 0x00000953, 75 0x00000d53, 76 0x00001153, 77 0x00005153, 78 0x00009153, 79 0x0000d153, 80 0x00011153, 81 0x00015153, 82 0x00019153, 83 0x0001d153, 84 0x00000000, 85 0x00000000, 86 0x00000000, 87 0x00000000, 88 0x00000000, 89 0x00000000, 90 0x00000000, 91 0x00000000, 92 0x00000000, 93 0x00000000, 94 0x00000000, 95 0x00000000, 96 0x00000000, 97 0x00000000, 98 0x00000000, 99 0x00000000, 100 0x00000000, 101 0x00000000, 102 0x00000000, 103 0x00000000, 104 0x00000000, 105 0x00000000, 106 }; 107 108 static const u32 dot11lcn_gain_tbl_rev1[] = { 109 0x00000000, 110 0x00000000, 111 0x00000000, 112 0x00000000, 113 0x00000000, 114 0x00000000, 115 0x00000000, 116 0x00000000, 117 0x00000008, 118 0x00000004, 119 0x00000008, 120 0x00000001, 121 0x00000005, 122 0x00000009, 123 0x0000000D, 124 0x00000011, 125 0x00000051, 126 0x00000091, 127 0x00000011, 128 0x00000051, 129 0x00000091, 130 0x000000d1, 131 0x00000053, 132 0x00000093, 133 0x000000d3, 134 0x000000d7, 135 0x00000117, 136 0x00000517, 137 0x00000917, 138 0x00000957, 139 0x00000d57, 140 0x00001157, 141 0x00001197, 142 0x00005197, 143 0x00009197, 144 0x0000d197, 145 0x00011197, 146 0x00000000, 147 0x00000000, 148 0x00000000, 149 0x00000000, 150 0x00000000, 151 0x00000000, 152 0x00000008, 153 0x00000004, 154 0x00000008, 155 0x00000001, 156 0x00000005, 157 0x00000009, 158 0x0000000D, 159 0x00000011, 160 0x00000051, 161 0x00000091, 162 0x00000011, 163 0x00000051, 164 0x00000091, 165 0x000000d1, 166 0x00000053, 167 0x00000093, 168 0x000000d3, 169 0x000000d7, 170 0x00000117, 171 0x00000517, 172 0x00000917, 173 0x00000957, 174 0x00000d57, 175 0x00001157, 176 0x00005157, 177 0x00009157, 178 0x0000d157, 179 0x00011157, 180 0x00015157, 181 0x00019157, 182 0x0001d157, 183 0x00000000, 184 0x00000000, 185 0x00000000, 186 0x00000000, 187 0x00000000, 188 0x00000000, 189 0x00000000, 190 0x00000000, 191 0x00000000, 192 0x00000000, 193 0x00000000, 194 0x00000000, 195 0x00000000, 196 0x00000000, 197 0x00000000, 198 0x00000000, 199 0x00000000, 200 0x00000000, 201 0x00000000, 202 0x00000000, 203 0x00000000, 204 0x00000000, 205 }; 206 207 static const u16 dot11lcn_aux_gain_idx_tbl_rev0[] = { 208 0x0401, 209 0x0402, 210 0x0403, 211 0x0404, 212 0x0405, 213 0x0406, 214 0x0407, 215 0x0408, 216 0x0409, 217 0x040a, 218 0x058b, 219 0x058c, 220 0x058d, 221 0x058e, 222 0x058f, 223 0x0090, 224 0x0091, 225 0x0092, 226 0x0193, 227 0x0194, 228 0x0195, 229 0x0196, 230 0x0197, 231 0x0198, 232 0x0199, 233 0x019a, 234 0x019b, 235 0x019c, 236 0x019d, 237 0x019e, 238 0x019f, 239 0x01a0, 240 0x01a1, 241 0x01a2, 242 0x01a3, 243 0x01a4, 244 0x01a5, 245 0x0000, 246 }; 247 248 static const u32 dot11lcn_gain_idx_tbl_rev0[] = { 249 0x00000000, 250 0x00000000, 251 0x10000000, 252 0x00000000, 253 0x20000000, 254 0x00000000, 255 0x30000000, 256 0x00000000, 257 0x40000000, 258 0x00000000, 259 0x50000000, 260 0x00000000, 261 0x60000000, 262 0x00000000, 263 0x70000000, 264 0x00000000, 265 0x80000000, 266 0x00000000, 267 0x90000000, 268 0x00000008, 269 0xa0000000, 270 0x00000008, 271 0xb0000000, 272 0x00000008, 273 0xc0000000, 274 0x00000008, 275 0xd0000000, 276 0x00000008, 277 0xe0000000, 278 0x00000008, 279 0xf0000000, 280 0x00000008, 281 0x00000000, 282 0x00000009, 283 0x10000000, 284 0x00000009, 285 0x20000000, 286 0x00000019, 287 0x30000000, 288 0x00000019, 289 0x40000000, 290 0x00000019, 291 0x50000000, 292 0x00000019, 293 0x60000000, 294 0x00000019, 295 0x70000000, 296 0x00000019, 297 0x80000000, 298 0x00000019, 299 0x90000000, 300 0x00000019, 301 0xa0000000, 302 0x00000019, 303 0xb0000000, 304 0x00000019, 305 0xc0000000, 306 0x00000019, 307 0xd0000000, 308 0x00000019, 309 0xe0000000, 310 0x00000019, 311 0xf0000000, 312 0x00000019, 313 0x00000000, 314 0x0000001a, 315 0x10000000, 316 0x0000001a, 317 0x20000000, 318 0x0000001a, 319 0x30000000, 320 0x0000001a, 321 0x40000000, 322 0x0000001a, 323 0x50000000, 324 0x00000002, 325 0x60000000, 326 0x00000002, 327 0x70000000, 328 0x00000002, 329 0x80000000, 330 0x00000002, 331 0x90000000, 332 0x00000002, 333 0xa0000000, 334 0x00000002, 335 0xb0000000, 336 0x00000002, 337 0xc0000000, 338 0x0000000a, 339 0xd0000000, 340 0x0000000a, 341 0xe0000000, 342 0x0000000a, 343 0xf0000000, 344 0x0000000a, 345 0x00000000, 346 0x0000000b, 347 0x10000000, 348 0x0000000b, 349 0x20000000, 350 0x0000000b, 351 0x30000000, 352 0x0000000b, 353 0x40000000, 354 0x0000000b, 355 0x50000000, 356 0x0000001b, 357 0x60000000, 358 0x0000001b, 359 0x70000000, 360 0x0000001b, 361 0x80000000, 362 0x0000001b, 363 0x90000000, 364 0x0000001b, 365 0xa0000000, 366 0x0000001b, 367 0xb0000000, 368 0x0000001b, 369 0xc0000000, 370 0x0000001b, 371 0xd0000000, 372 0x0000001b, 373 0xe0000000, 374 0x0000001b, 375 0xf0000000, 376 0x0000001b, 377 0x00000000, 378 0x0000001c, 379 0x10000000, 380 0x0000001c, 381 0x20000000, 382 0x0000001c, 383 0x30000000, 384 0x0000001c, 385 0x40000000, 386 0x0000001c, 387 0x50000000, 388 0x0000001c, 389 0x60000000, 390 0x0000001c, 391 0x70000000, 392 0x0000001c, 393 0x80000000, 394 0x0000001c, 395 0x90000000, 396 0x0000001c, 397 }; 398 399 static const u16 dot11lcn_aux_gain_idx_tbl_2G[] = { 400 0x0000, 401 0x0000, 402 0x0000, 403 0x0000, 404 0x0001, 405 0x0080, 406 0x0081, 407 0x0100, 408 0x0101, 409 0x0180, 410 0x0181, 411 0x0182, 412 0x0183, 413 0x0184, 414 0x0185, 415 0x0186, 416 0x0187, 417 0x0188, 418 0x0285, 419 0x0289, 420 0x028a, 421 0x028b, 422 0x028c, 423 0x028d, 424 0x028e, 425 0x028f, 426 0x0290, 427 0x0291, 428 0x0292, 429 0x0293, 430 0x0294, 431 0x0295, 432 0x0296, 433 0x0297, 434 0x0298, 435 0x0299, 436 0x029a, 437 0x0000 438 }; 439 440 static const u8 dot11lcn_gain_val_tbl_2G[] = { 441 0xfc, 442 0x02, 443 0x08, 444 0x0e, 445 0x13, 446 0x1b, 447 0xfc, 448 0x02, 449 0x08, 450 0x0e, 451 0x13, 452 0x1b, 453 0xfc, 454 0x00, 455 0x0c, 456 0x03, 457 0xeb, 458 0xfe, 459 0x07, 460 0x0b, 461 0x0f, 462 0xfb, 463 0xfe, 464 0x01, 465 0x05, 466 0x08, 467 0x0b, 468 0x0e, 469 0x11, 470 0x14, 471 0x17, 472 0x00, 473 0x00, 474 0x00, 475 0x00, 476 0x00, 477 0x00, 478 0x00, 479 0x03, 480 0x06, 481 0x09, 482 0x0c, 483 0x0f, 484 0x12, 485 0x00, 486 0x00, 487 0x00, 488 0x00, 489 0x00, 490 0x00, 491 0x00, 492 0x00, 493 0x00, 494 0x00, 495 0x03, 496 0x06, 497 0x09, 498 0x0c, 499 0x0f, 500 0x12, 501 0x15, 502 0x18, 503 0x1b, 504 0x00, 505 0x00, 506 0x00, 507 0x00, 508 0x00 509 }; 510 511 static const u32 dot11lcn_gain_idx_tbl_2G[] = { 512 0x00000000, 513 0x00000000, 514 0x00000000, 515 0x00000000, 516 0x00000000, 517 0x00000000, 518 0x00000000, 519 0x00000000, 520 0x10000000, 521 0x00000000, 522 0x00000000, 523 0x00000008, 524 0x10000000, 525 0x00000008, 526 0x00000000, 527 0x00000010, 528 0x10000000, 529 0x00000010, 530 0x00000000, 531 0x00000018, 532 0x10000000, 533 0x00000018, 534 0x20000000, 535 0x00000018, 536 0x30000000, 537 0x00000018, 538 0x40000000, 539 0x00000018, 540 0x50000000, 541 0x00000018, 542 0x60000000, 543 0x00000018, 544 0x70000000, 545 0x00000018, 546 0x80000000, 547 0x00000018, 548 0x50000000, 549 0x00000028, 550 0x90000000, 551 0x00000028, 552 0xa0000000, 553 0x00000028, 554 0xb0000000, 555 0x00000028, 556 0xc0000000, 557 0x00000028, 558 0xd0000000, 559 0x00000028, 560 0xe0000000, 561 0x00000028, 562 0xf0000000, 563 0x00000028, 564 0x00000000, 565 0x00000029, 566 0x10000000, 567 0x00000029, 568 0x20000000, 569 0x00000029, 570 0x30000000, 571 0x00000029, 572 0x40000000, 573 0x00000029, 574 0x50000000, 575 0x00000029, 576 0x60000000, 577 0x00000029, 578 0x70000000, 579 0x00000029, 580 0x80000000, 581 0x00000029, 582 0x90000000, 583 0x00000029, 584 0xa0000000, 585 0x00000029, 586 0x00000000, 587 0x00000000, 588 0x00000000, 589 0x00000000, 590 0x10000000, 591 0x00000000, 592 0x00000000, 593 0x00000008, 594 0x10000000, 595 0x00000008, 596 0x00000000, 597 0x00000010, 598 0x10000000, 599 0x00000010, 600 0x00000000, 601 0x00000018, 602 0x10000000, 603 0x00000018, 604 0x20000000, 605 0x00000018, 606 0x30000000, 607 0x00000018, 608 0x40000000, 609 0x00000018, 610 0x50000000, 611 0x00000018, 612 0x60000000, 613 0x00000018, 614 0x70000000, 615 0x00000018, 616 0x80000000, 617 0x00000018, 618 0x50000000, 619 0x00000028, 620 0x90000000, 621 0x00000028, 622 0xa0000000, 623 0x00000028, 624 0xb0000000, 625 0x00000028, 626 0xc0000000, 627 0x00000028, 628 0xd0000000, 629 0x00000028, 630 0xe0000000, 631 0x00000028, 632 0xf0000000, 633 0x00000028, 634 0x00000000, 635 0x00000029, 636 0x10000000, 637 0x00000029, 638 0x20000000, 639 0x00000029, 640 0x30000000, 641 0x00000029, 642 0x40000000, 643 0x00000029, 644 0x50000000, 645 0x00000029, 646 0x60000000, 647 0x00000029, 648 0x70000000, 649 0x00000029, 650 0x80000000, 651 0x00000029, 652 0x90000000, 653 0x00000029, 654 0xa0000000, 655 0x00000029, 656 0xb0000000, 657 0x00000029, 658 0xc0000000, 659 0x00000029, 660 0x00000000, 661 0x00000000, 662 0x00000000, 663 0x00000000 664 }; 665 666 static const u32 dot11lcn_gain_tbl_2G[] = { 667 0x00000000, 668 0x00000004, 669 0x00000008, 670 0x00000001, 671 0x00000005, 672 0x00000009, 673 0x0000000d, 674 0x0000004d, 675 0x0000008d, 676 0x00000049, 677 0x00000089, 678 0x000000c9, 679 0x0000004b, 680 0x0000008b, 681 0x000000cb, 682 0x000000cf, 683 0x0000010f, 684 0x0000050f, 685 0x0000090f, 686 0x0000094f, 687 0x00000d4f, 688 0x0000114f, 689 0x0000118f, 690 0x0000518f, 691 0x0000918f, 692 0x0000d18f, 693 0x0001118f, 694 0x0001518f, 695 0x0001918f, 696 0x00000000, 697 0x00000000, 698 0x00000000, 699 0x00000000, 700 0x00000000, 701 0x00000000, 702 0x00000000, 703 0x00000000, 704 0x00000000, 705 0x00000000, 706 0x00000000, 707 0x00000000, 708 0x00000000, 709 0x00000000, 710 0x00000000, 711 0x00000000, 712 0x00000000, 713 0x00000000, 714 0x00000000, 715 0x00000000, 716 0x00000000, 717 0x00000000, 718 0x00000000, 719 0x00000000, 720 0x00000000, 721 0x00000000, 722 0x00000000, 723 0x00000000, 724 0x00000000, 725 0x00000000, 726 0x00000000, 727 0x00000000, 728 0x00000000, 729 0x00000000, 730 0x00000000, 731 0x00000000, 732 0x00000000, 733 0x00000000, 734 0x00000000, 735 0x00000000, 736 0x00000000, 737 0x00000000, 738 0x00000000, 739 0x00000000, 740 0x00000000, 741 0x00000000, 742 0x00000000, 743 0x00000000, 744 0x00000000, 745 0x00000000, 746 0x00000000, 747 0x00000000, 748 0x00000000, 749 0x00000000, 750 0x00000000, 751 0x00000000, 752 0x00000000, 753 0x00000000, 754 0x00000000, 755 0x00000000, 756 0x00000000, 757 0x00000000, 758 0x00000000, 759 0x00000000, 760 0x00000000, 761 0x00000000, 762 0x00000000 763 }; 764 765 static const u32 dot11lcn_gain_tbl_extlna_2G[] = { 766 0x00000000, 767 0x00000004, 768 0x00000008, 769 0x00000001, 770 0x00000005, 771 0x00000009, 772 0x0000000d, 773 0x00000003, 774 0x00000007, 775 0x0000000b, 776 0x0000000f, 777 0x0000004f, 778 0x0000008f, 779 0x000000cf, 780 0x0000010f, 781 0x0000014f, 782 0x0000018f, 783 0x0000058f, 784 0x0000098f, 785 0x00000d8f, 786 0x00008000, 787 0x00008004, 788 0x00008008, 789 0x00008001, 790 0x00008005, 791 0x00008009, 792 0x0000800d, 793 0x00008003, 794 0x00008007, 795 0x0000800b, 796 0x0000800f, 797 0x0000804f, 798 0x0000808f, 799 0x000080cf, 800 0x0000810f, 801 0x0000814f, 802 0x0000818f, 803 0x0000858f, 804 0x0000898f, 805 0x00008d8f, 806 0x00000000, 807 0x00000000, 808 0x00000000, 809 0x00000000, 810 0x00000000, 811 0x00000000, 812 0x00000000, 813 0x00000000, 814 0x00000000, 815 0x00000000, 816 0x00000000, 817 0x00000000, 818 0x00000000, 819 0x00000000, 820 0x00000000, 821 0x00000000, 822 0x00000000, 823 0x00000000, 824 0x00000000, 825 0x00000000, 826 0x00000000, 827 0x00000000, 828 0x00000000, 829 0x00000000, 830 0x00000000, 831 0x00000000, 832 0x00000000, 833 0x00000000, 834 0x00000000, 835 0x00000000, 836 0x00000000, 837 0x00000000, 838 0x00000000, 839 0x00000000, 840 0x00000000, 841 0x00000000, 842 0x00000000, 843 0x00000000, 844 0x00000000, 845 0x00000000, 846 0x00000000, 847 0x00000000, 848 0x00000000, 849 0x00000000, 850 0x00000000, 851 0x00000000, 852 0x00000000, 853 0x00000000, 854 0x00000000, 855 0x00000000, 856 0x00000000, 857 0x00000000, 858 0x00000000, 859 0x00000000, 860 0x00000000, 861 0x00000000 862 }; 863 864 static const u16 dot11lcn_aux_gain_idx_tbl_extlna_2G[] = { 865 0x0400, 866 0x0400, 867 0x0400, 868 0x0400, 869 0x0400, 870 0x0400, 871 0x0400, 872 0x0400, 873 0x0400, 874 0x0401, 875 0x0402, 876 0x0403, 877 0x0404, 878 0x0483, 879 0x0484, 880 0x0485, 881 0x0486, 882 0x0583, 883 0x0584, 884 0x0585, 885 0x0587, 886 0x0588, 887 0x0589, 888 0x058a, 889 0x0687, 890 0x0688, 891 0x0689, 892 0x068a, 893 0x068b, 894 0x068c, 895 0x068d, 896 0x068e, 897 0x068f, 898 0x0690, 899 0x0691, 900 0x0692, 901 0x0693, 902 0x0000 903 }; 904 905 static const u8 dot11lcn_gain_val_tbl_extlna_2G[] = { 906 0xfc, 907 0x02, 908 0x08, 909 0x0e, 910 0x13, 911 0x1b, 912 0xfc, 913 0x02, 914 0x08, 915 0x0e, 916 0x13, 917 0x1b, 918 0xfc, 919 0x00, 920 0x0f, 921 0x03, 922 0xeb, 923 0xfe, 924 0x07, 925 0x0b, 926 0x0f, 927 0xfb, 928 0xfe, 929 0x01, 930 0x05, 931 0x08, 932 0x0b, 933 0x0e, 934 0x11, 935 0x14, 936 0x17, 937 0x00, 938 0x00, 939 0x00, 940 0x00, 941 0x00, 942 0x00, 943 0x00, 944 0x03, 945 0x06, 946 0x09, 947 0x0c, 948 0x0f, 949 0x12, 950 0x00, 951 0x00, 952 0x00, 953 0x00, 954 0x00, 955 0x00, 956 0x00, 957 0x00, 958 0x00, 959 0x00, 960 0x03, 961 0x06, 962 0x09, 963 0x0c, 964 0x0f, 965 0x12, 966 0x15, 967 0x18, 968 0x1b, 969 0x00, 970 0x00, 971 0x00, 972 0x00, 973 0x00 974 }; 975 976 static const u32 dot11lcn_gain_idx_tbl_extlna_2G[] = { 977 0x00000000, 978 0x00000040, 979 0x00000000, 980 0x00000040, 981 0x00000000, 982 0x00000040, 983 0x00000000, 984 0x00000040, 985 0x00000000, 986 0x00000040, 987 0x00000000, 988 0x00000040, 989 0x00000000, 990 0x00000040, 991 0x00000000, 992 0x00000040, 993 0x00000000, 994 0x00000040, 995 0x10000000, 996 0x00000040, 997 0x20000000, 998 0x00000040, 999 0x30000000, 1000 0x00000040, 1001 0x40000000, 1002 0x00000040, 1003 0x30000000, 1004 0x00000048, 1005 0x40000000, 1006 0x00000048, 1007 0x50000000, 1008 0x00000048, 1009 0x60000000, 1010 0x00000048, 1011 0x30000000, 1012 0x00000058, 1013 0x40000000, 1014 0x00000058, 1015 0x50000000, 1016 0x00000058, 1017 0x70000000, 1018 0x00000058, 1019 0x80000000, 1020 0x00000058, 1021 0x90000000, 1022 0x00000058, 1023 0xa0000000, 1024 0x00000058, 1025 0x70000000, 1026 0x00000068, 1027 0x80000000, 1028 0x00000068, 1029 0x90000000, 1030 0x00000068, 1031 0xa0000000, 1032 0x00000068, 1033 0xb0000000, 1034 0x00000068, 1035 0xc0000000, 1036 0x00000068, 1037 0xd0000000, 1038 0x00000068, 1039 0xe0000000, 1040 0x00000068, 1041 0xf0000000, 1042 0x00000068, 1043 0x00000000, 1044 0x00000069, 1045 0x10000000, 1046 0x00000069, 1047 0x20000000, 1048 0x00000069, 1049 0x30000000, 1050 0x00000069, 1051 0x40000000, 1052 0x00000041, 1053 0x40000000, 1054 0x00000041, 1055 0x40000000, 1056 0x00000041, 1057 0x40000000, 1058 0x00000041, 1059 0x40000000, 1060 0x00000041, 1061 0x40000000, 1062 0x00000041, 1063 0x40000000, 1064 0x00000041, 1065 0x40000000, 1066 0x00000041, 1067 0x40000000, 1068 0x00000041, 1069 0x50000000, 1070 0x00000041, 1071 0x60000000, 1072 0x00000041, 1073 0x70000000, 1074 0x00000041, 1075 0x80000000, 1076 0x00000041, 1077 0x70000000, 1078 0x00000049, 1079 0x80000000, 1080 0x00000049, 1081 0x90000000, 1082 0x00000049, 1083 0xa0000000, 1084 0x00000049, 1085 0x70000000, 1086 0x00000059, 1087 0x80000000, 1088 0x00000059, 1089 0x90000000, 1090 0x00000059, 1091 0xb0000000, 1092 0x00000059, 1093 0xc0000000, 1094 0x00000059, 1095 0xd0000000, 1096 0x00000059, 1097 0xe0000000, 1098 0x00000059, 1099 0xb0000000, 1100 0x00000069, 1101 0xc0000000, 1102 0x00000069, 1103 0xd0000000, 1104 0x00000069, 1105 0xe0000000, 1106 0x00000069, 1107 0xf0000000, 1108 0x00000069, 1109 0x00000000, 1110 0x0000006a, 1111 0x10000000, 1112 0x0000006a, 1113 0x20000000, 1114 0x0000006a, 1115 0x30000000, 1116 0x0000006a, 1117 0x40000000, 1118 0x0000006a, 1119 0x50000000, 1120 0x0000006a, 1121 0x60000000, 1122 0x0000006a, 1123 0x70000000, 1124 0x0000006a, 1125 0x00000000, 1126 0x00000000, 1127 0x00000000, 1128 0x00000000 1129 }; 1130 1131 static const u32 dot11lcn_aux_gain_idx_tbl_5G[] = { 1132 0x0000, 1133 0x0000, 1134 0x0000, 1135 0x0000, 1136 0x0001, 1137 0x0002, 1138 0x0003, 1139 0x0004, 1140 0x0083, 1141 0x0084, 1142 0x0085, 1143 0x0086, 1144 0x0087, 1145 0x0186, 1146 0x0187, 1147 0x0188, 1148 0x0189, 1149 0x018a, 1150 0x018b, 1151 0x018c, 1152 0x018d, 1153 0x018e, 1154 0x018f, 1155 0x0190, 1156 0x0191, 1157 0x0192, 1158 0x0193, 1159 0x0194, 1160 0x0195, 1161 0x0196, 1162 0x0197, 1163 0x0198, 1164 0x0199, 1165 0x019a, 1166 0x019b, 1167 0x019c, 1168 0x019d, 1169 0x0000 1170 }; 1171 1172 static const u32 dot11lcn_gain_val_tbl_5G[] = { 1173 0xf7, 1174 0xfd, 1175 0x00, 1176 0x04, 1177 0x04, 1178 0x04, 1179 0xf7, 1180 0xfd, 1181 0x00, 1182 0x04, 1183 0x04, 1184 0x04, 1185 0xf6, 1186 0x00, 1187 0x0c, 1188 0x03, 1189 0xeb, 1190 0xfe, 1191 0x06, 1192 0x0a, 1193 0x10, 1194 0x00, 1195 0x03, 1196 0x06, 1197 0x09, 1198 0x0c, 1199 0x0f, 1200 0x12, 1201 0x15, 1202 0x18, 1203 0x1b, 1204 0x00, 1205 0x00, 1206 0x00, 1207 0x00, 1208 0x00, 1209 0x00, 1210 0x00, 1211 0x03, 1212 0x06, 1213 0x09, 1214 0x0c, 1215 0x0f, 1216 0x12, 1217 0x00, 1218 0x00, 1219 0x00, 1220 0x00, 1221 0x00, 1222 0x00, 1223 0x00, 1224 0x00, 1225 0x00, 1226 0x00, 1227 0x03, 1228 0x06, 1229 0x09, 1230 0x0c, 1231 0x0f, 1232 0x12, 1233 0x15, 1234 0x18, 1235 0x1b, 1236 0x00, 1237 0x00, 1238 0x00, 1239 0x00, 1240 0x00 1241 }; 1242 1243 static const u32 dot11lcn_gain_idx_tbl_5G[] = { 1244 0x00000000, 1245 0x00000000, 1246 0x00000000, 1247 0x00000000, 1248 0x00000000, 1249 0x00000000, 1250 0x00000000, 1251 0x00000000, 1252 0x10000000, 1253 0x00000000, 1254 0x20000000, 1255 0x00000000, 1256 0x30000000, 1257 0x00000000, 1258 0x40000000, 1259 0x00000000, 1260 0x30000000, 1261 0x00000008, 1262 0x40000000, 1263 0x00000008, 1264 0x50000000, 1265 0x00000008, 1266 0x60000000, 1267 0x00000008, 1268 0x70000000, 1269 0x00000008, 1270 0x60000000, 1271 0x00000018, 1272 0x70000000, 1273 0x00000018, 1274 0x80000000, 1275 0x00000018, 1276 0x90000000, 1277 0x00000018, 1278 0xa0000000, 1279 0x00000018, 1280 0xb0000000, 1281 0x00000018, 1282 0xc0000000, 1283 0x00000018, 1284 0xd0000000, 1285 0x00000018, 1286 0xe0000000, 1287 0x00000018, 1288 0xf0000000, 1289 0x00000018, 1290 0x00000000, 1291 0x00000019, 1292 0x10000000, 1293 0x00000019, 1294 0x20000000, 1295 0x00000019, 1296 0x30000000, 1297 0x00000019, 1298 0x40000000, 1299 0x00000019, 1300 0x50000000, 1301 0x00000019, 1302 0x60000000, 1303 0x00000019, 1304 0x70000000, 1305 0x00000019, 1306 0x80000000, 1307 0x00000019, 1308 0x90000000, 1309 0x00000019, 1310 0xa0000000, 1311 0x00000019, 1312 0xb0000000, 1313 0x00000019, 1314 0xc0000000, 1315 0x00000019, 1316 0xd0000000, 1317 0x00000019, 1318 0x00000000, 1319 0x00000000, 1320 0x00000000, 1321 0x00000000, 1322 0x00000000, 1323 0x00000000, 1324 0x00000000, 1325 0x00000000, 1326 0x00000000, 1327 0x00000000, 1328 0x00000000, 1329 0x00000000, 1330 0x00000000, 1331 0x00000000, 1332 0x00000000, 1333 0x00000000, 1334 0x00000000, 1335 0x00000000, 1336 0x00000000, 1337 0x00000000, 1338 0x00000000, 1339 0x00000000, 1340 0x00000000, 1341 0x00000000, 1342 0x00000000, 1343 0x00000000, 1344 0x00000000, 1345 0x00000000, 1346 0x00000000, 1347 0x00000000, 1348 0x00000000, 1349 0x00000000, 1350 0x00000000, 1351 0x00000000, 1352 0x00000000, 1353 0x00000000, 1354 0x00000000, 1355 0x00000000, 1356 0x00000000, 1357 0x00000000, 1358 0x00000000, 1359 0x00000000, 1360 0x00000000, 1361 0x00000000, 1362 0x00000000, 1363 0x00000000, 1364 0x00000000, 1365 0x00000000, 1366 0x00000000, 1367 0x00000000, 1368 0x00000000, 1369 0x00000000, 1370 0x00000000, 1371 0x00000000, 1372 0x00000000, 1373 0x00000000, 1374 0x00000000, 1375 0x00000000, 1376 0x00000000, 1377 0x00000000, 1378 0x00000000, 1379 0x00000000, 1380 0x00000000, 1381 0x00000000, 1382 0x00000000, 1383 0x00000000, 1384 0x00000000, 1385 0x00000000, 1386 0x00000000, 1387 0x00000000, 1388 0x00000000, 1389 0x00000000, 1390 0x00000000, 1391 0x00000000, 1392 0x00000000, 1393 0x00000000, 1394 0x00000000, 1395 0x00000000 1396 }; 1397 1398 static const u32 dot11lcn_gain_tbl_5G[] = { 1399 0x00000000, 1400 0x00000040, 1401 0x00000080, 1402 0x00000001, 1403 0x00000005, 1404 0x00000009, 1405 0x0000000d, 1406 0x00000011, 1407 0x00000015, 1408 0x00000055, 1409 0x00000095, 1410 0x00000017, 1411 0x0000001b, 1412 0x0000005b, 1413 0x0000009b, 1414 0x000000db, 1415 0x0000011b, 1416 0x0000015b, 1417 0x0000019b, 1418 0x0000059b, 1419 0x0000099b, 1420 0x00000d9b, 1421 0x0000119b, 1422 0x0000519b, 1423 0x0000919b, 1424 0x0000d19b, 1425 0x0001119b, 1426 0x0001519b, 1427 0x0001919b, 1428 0x0001d19b, 1429 0x00000000, 1430 0x00000000, 1431 0x00000000, 1432 0x00000000, 1433 0x00000000, 1434 0x00000000, 1435 0x00000000, 1436 0x00000000, 1437 0x00000000, 1438 0x00000000, 1439 0x00000000, 1440 0x00000000, 1441 0x00000000, 1442 0x00000000, 1443 0x00000000, 1444 0x00000000, 1445 0x00000000, 1446 0x00000000, 1447 0x00000000, 1448 0x00000000, 1449 0x00000000, 1450 0x00000000, 1451 0x00000000, 1452 0x00000000, 1453 0x00000000, 1454 0x00000000, 1455 0x00000000, 1456 0x00000000, 1457 0x00000000, 1458 0x00000000, 1459 0x00000000, 1460 0x00000000, 1461 0x00000000, 1462 0x00000000, 1463 0x00000000, 1464 0x00000000, 1465 0x00000000, 1466 0x00000000, 1467 0x00000000, 1468 0x00000000, 1469 0x00000000, 1470 0x00000000, 1471 0x00000000, 1472 0x00000000, 1473 0x00000000, 1474 0x00000000, 1475 0x00000000, 1476 0x00000000, 1477 0x00000000, 1478 0x00000000, 1479 0x00000000, 1480 0x00000000, 1481 0x00000000, 1482 0x00000000, 1483 0x00000000, 1484 0x00000000, 1485 0x00000000, 1486 0x00000000, 1487 0x00000000, 1488 0x00000000, 1489 0x00000000, 1490 0x00000000, 1491 0x00000000, 1492 0x00000000, 1493 0x00000000, 1494 0x00000000 1495 }; 1496 1497 const struct phytbl_info dot11lcnphytbl_rx_gain_info_rev0[] = { 1498 {&dot11lcn_gain_tbl_rev0, 1499 ARRAY_SIZE(dot11lcn_gain_tbl_rev0), 18, 1500 0, 32} 1501 , 1502 {&dot11lcn_aux_gain_idx_tbl_rev0, 1503 ARRAY_SIZE(dot11lcn_aux_gain_idx_tbl_rev0), 14, 0, 16} 1504 , 1505 {&dot11lcn_gain_idx_tbl_rev0, 1506 ARRAY_SIZE(dot11lcn_gain_idx_tbl_rev0), 13, 0, 32} 1507 , 1508 }; 1509 1510 static const struct phytbl_info dot11lcnphytbl_rx_gain_info_rev1[] = { 1511 {&dot11lcn_gain_tbl_rev1, 1512 ARRAY_SIZE(dot11lcn_gain_tbl_rev1), 18, 1513 0, 32} 1514 , 1515 {&dot11lcn_aux_gain_idx_tbl_rev0, 1516 ARRAY_SIZE(dot11lcn_aux_gain_idx_tbl_rev0), 14, 0, 16} 1517 , 1518 {&dot11lcn_gain_idx_tbl_rev0, 1519 ARRAY_SIZE(dot11lcn_gain_idx_tbl_rev0), 13, 0, 32} 1520 , 1521 }; 1522 1523 const struct phytbl_info dot11lcnphytbl_rx_gain_info_2G_rev2[] = { 1524 {&dot11lcn_gain_tbl_2G, 1525 ARRAY_SIZE(dot11lcn_gain_tbl_2G), 18, 0, 1526 32} 1527 , 1528 {&dot11lcn_aux_gain_idx_tbl_2G, 1529 ARRAY_SIZE(dot11lcn_aux_gain_idx_tbl_2G), 14, 0, 16} 1530 , 1531 {&dot11lcn_gain_idx_tbl_2G, 1532 ARRAY_SIZE(dot11lcn_gain_idx_tbl_2G), 1533 13, 0, 32} 1534 , 1535 {&dot11lcn_gain_val_tbl_2G, 1536 ARRAY_SIZE(dot11lcn_gain_val_tbl_2G), 1537 17, 0, 8} 1538 }; 1539 1540 const struct phytbl_info dot11lcnphytbl_rx_gain_info_5G_rev2[] = { 1541 {&dot11lcn_gain_tbl_5G, 1542 ARRAY_SIZE(dot11lcn_gain_tbl_5G), 18, 0, 1543 32} 1544 , 1545 {&dot11lcn_aux_gain_idx_tbl_5G, 1546 ARRAY_SIZE(dot11lcn_aux_gain_idx_tbl_5G), 14, 0, 16} 1547 , 1548 {&dot11lcn_gain_idx_tbl_5G, 1549 ARRAY_SIZE(dot11lcn_gain_idx_tbl_5G), 1550 13, 0, 32} 1551 , 1552 {&dot11lcn_gain_val_tbl_5G, 1553 ARRAY_SIZE(dot11lcn_gain_val_tbl_5G), 1554 17, 0, 8} 1555 }; 1556 1557 const struct phytbl_info dot11lcnphytbl_rx_gain_info_extlna_2G_rev2[] = { 1558 {&dot11lcn_gain_tbl_extlna_2G, 1559 ARRAY_SIZE(dot11lcn_gain_tbl_extlna_2G), 18, 0, 32} 1560 , 1561 {&dot11lcn_aux_gain_idx_tbl_extlna_2G, 1562 ARRAY_SIZE(dot11lcn_aux_gain_idx_tbl_extlna_2G), 14, 0, 16} 1563 , 1564 {&dot11lcn_gain_idx_tbl_extlna_2G, 1565 ARRAY_SIZE(dot11lcn_gain_idx_tbl_extlna_2G), 13, 0, 32} 1566 , 1567 {&dot11lcn_gain_val_tbl_extlna_2G, 1568 ARRAY_SIZE(dot11lcn_gain_val_tbl_extlna_2G), 17, 0, 8} 1569 }; 1570 1571 const struct phytbl_info dot11lcnphytbl_rx_gain_info_extlna_5G_rev2[] = { 1572 {&dot11lcn_gain_tbl_5G, 1573 ARRAY_SIZE(dot11lcn_gain_tbl_5G), 18, 0, 1574 32} 1575 , 1576 {&dot11lcn_aux_gain_idx_tbl_5G, 1577 ARRAY_SIZE(dot11lcn_aux_gain_idx_tbl_5G), 14, 0, 16} 1578 , 1579 {&dot11lcn_gain_idx_tbl_5G, 1580 ARRAY_SIZE(dot11lcn_gain_idx_tbl_5G), 1581 13, 0, 32} 1582 , 1583 {&dot11lcn_gain_val_tbl_5G, 1584 ARRAY_SIZE(dot11lcn_gain_val_tbl_5G), 1585 17, 0, 8} 1586 }; 1587 1588 const u32 dot11lcnphytbl_rx_gain_info_sz_rev0 = 1589 ARRAY_SIZE(dot11lcnphytbl_rx_gain_info_rev0); 1590 1591 const u32 dot11lcnphytbl_rx_gain_info_2G_rev2_sz = 1592 ARRAY_SIZE(dot11lcnphytbl_rx_gain_info_2G_rev2); 1593 1594 const u32 dot11lcnphytbl_rx_gain_info_5G_rev2_sz = 1595 ARRAY_SIZE(dot11lcnphytbl_rx_gain_info_5G_rev2); 1596 1597 static const u16 dot11lcn_min_sig_sq_tbl_rev0[] = { 1598 0x014d, 1599 0x014d, 1600 0x014d, 1601 0x014d, 1602 0x014d, 1603 0x014d, 1604 0x014d, 1605 0x014d, 1606 0x014d, 1607 0x014d, 1608 0x014d, 1609 0x014d, 1610 0x014d, 1611 0x014d, 1612 0x014d, 1613 0x014d, 1614 0x014d, 1615 0x014d, 1616 0x014d, 1617 0x014d, 1618 0x014d, 1619 0x014d, 1620 0x014d, 1621 0x014d, 1622 0x014d, 1623 0x014d, 1624 0x014d, 1625 0x014d, 1626 0x014d, 1627 0x014d, 1628 0x014d, 1629 0x014d, 1630 0x014d, 1631 0x014d, 1632 0x014d, 1633 0x014d, 1634 0x014d, 1635 0x014d, 1636 0x014d, 1637 0x014d, 1638 0x014d, 1639 0x014d, 1640 0x014d, 1641 0x014d, 1642 0x014d, 1643 0x014d, 1644 0x014d, 1645 0x014d, 1646 0x014d, 1647 0x014d, 1648 0x014d, 1649 0x014d, 1650 0x014d, 1651 0x014d, 1652 0x014d, 1653 0x014d, 1654 0x014d, 1655 0x014d, 1656 0x014d, 1657 0x014d, 1658 0x014d, 1659 0x014d, 1660 0x014d, 1661 0x014d, 1662 }; 1663 1664 static const u16 dot11lcn_noise_scale_tbl_rev0[] = { 1665 0x0000, 1666 0x0000, 1667 0x0000, 1668 0x0000, 1669 0x0000, 1670 0x0000, 1671 0x0000, 1672 0x0000, 1673 0x0000, 1674 0x0000, 1675 0x0000, 1676 0x0000, 1677 0x0000, 1678 0x0000, 1679 0x0000, 1680 0x0000, 1681 0x0000, 1682 0x0000, 1683 0x0000, 1684 0x0000, 1685 0x0000, 1686 0x0000, 1687 0x0000, 1688 0x0000, 1689 0x0000, 1690 0x0000, 1691 0x0000, 1692 0x0000, 1693 0x0000, 1694 0x0000, 1695 0x0000, 1696 0x0000, 1697 0x0000, 1698 0x0000, 1699 0x0000, 1700 0x0000, 1701 0x0000, 1702 0x0000, 1703 0x0000, 1704 0x0000, 1705 0x0000, 1706 0x0000, 1707 0x0000, 1708 0x0000, 1709 0x0000, 1710 0x0000, 1711 0x0000, 1712 0x0000, 1713 0x0000, 1714 0x0000, 1715 0x0000, 1716 0x0000, 1717 0x0000, 1718 0x0000, 1719 0x0000, 1720 0x0000, 1721 0x0000, 1722 0x0000, 1723 0x0000, 1724 0x0000, 1725 0x0000, 1726 0x0000, 1727 0x0000, 1728 0x0000, 1729 }; 1730 1731 static const u32 dot11lcn_fltr_ctrl_tbl_rev0[] = { 1732 0x000141f8, 1733 0x000021f8, 1734 0x000021fb, 1735 0x000041fb, 1736 0x0001fe4b, 1737 0x0000217b, 1738 0x00002133, 1739 0x000040eb, 1740 0x0001fea3, 1741 0x0000024b, 1742 }; 1743 1744 static const u32 dot11lcn_ps_ctrl_tbl_rev0[] = { 1745 0x00100001, 1746 0x00200010, 1747 0x00300001, 1748 0x00400010, 1749 0x00500022, 1750 0x00600122, 1751 0x00700222, 1752 0x00800322, 1753 0x00900422, 1754 0x00a00522, 1755 0x00b00622, 1756 0x00c00722, 1757 0x00d00822, 1758 0x00f00922, 1759 0x00100a22, 1760 0x00200b22, 1761 0x00300c22, 1762 0x00400d22, 1763 0x00500e22, 1764 0x00600f22, 1765 }; 1766 1767 static const u16 dot11lcn_sw_ctrl_tbl_4313_epa_rev0_combo[] = { 1768 0x0007, 1769 0x0005, 1770 0x0006, 1771 0x0004, 1772 0x0007, 1773 0x0005, 1774 0x0006, 1775 0x0004, 1776 0x0007, 1777 0x0005, 1778 0x0006, 1779 0x0004, 1780 0x0007, 1781 0x0005, 1782 0x0006, 1783 0x0004, 1784 0x000b, 1785 0x000b, 1786 0x000a, 1787 0x000a, 1788 0x000b, 1789 0x000b, 1790 0x000a, 1791 0x000a, 1792 0x000b, 1793 0x000b, 1794 0x000a, 1795 0x000a, 1796 0x000b, 1797 0x000b, 1798 0x000a, 1799 0x000a, 1800 0x0007, 1801 0x0005, 1802 0x0006, 1803 0x0004, 1804 0x0007, 1805 0x0005, 1806 0x0006, 1807 0x0004, 1808 0x0007, 1809 0x0005, 1810 0x0006, 1811 0x0004, 1812 0x0007, 1813 0x0005, 1814 0x0006, 1815 0x0004, 1816 0x000b, 1817 0x000b, 1818 0x000a, 1819 0x000a, 1820 0x000b, 1821 0x000b, 1822 0x000a, 1823 0x000a, 1824 0x000b, 1825 0x000b, 1826 0x000a, 1827 0x000a, 1828 0x000b, 1829 0x000b, 1830 0x000a, 1831 0x000a, 1832 1833 }; 1834 1835 static const u16 dot11lcn_sw_ctrl_tbl_4313_bt_epa_p250_rev0[] = { 1836 0x0007, 1837 0x0005, 1838 0x0002, 1839 0x0000, 1840 0x0007, 1841 0x0005, 1842 0x0002, 1843 0x0000, 1844 0x0007, 1845 0x0005, 1846 0x0002, 1847 0x0000, 1848 0x0007, 1849 0x0005, 1850 0x0002, 1851 0x0000, 1852 0x0007, 1853 0x0007, 1854 0x0002, 1855 0x0002, 1856 0x0007, 1857 0x0007, 1858 0x0002, 1859 0x0002, 1860 0x0007, 1861 0x0007, 1862 0x0002, 1863 0x0002, 1864 0x0007, 1865 0x0007, 1866 0x0002, 1867 0x0002, 1868 0x0007, 1869 0x0005, 1870 0x0002, 1871 0x0000, 1872 0x0007, 1873 0x0005, 1874 0x0002, 1875 0x0000, 1876 0x0007, 1877 0x0005, 1878 0x0002, 1879 0x0000, 1880 0x0007, 1881 0x0005, 1882 0x0002, 1883 0x0000, 1884 0x0007, 1885 0x0007, 1886 0x0002, 1887 0x0002, 1888 0x0007, 1889 0x0007, 1890 0x0002, 1891 0x0002, 1892 0x0007, 1893 0x0007, 1894 0x0002, 1895 0x0002, 1896 0x0007, 1897 0x0007, 1898 0x0002, 1899 0x0002, 1900 }; 1901 1902 static const u16 dot11lcn_sw_ctrl_tbl_4313_epa_rev0[] = { 1903 0x0002, 1904 0x0008, 1905 0x0004, 1906 0x0001, 1907 0x0002, 1908 0x0008, 1909 0x0004, 1910 0x0001, 1911 0x0002, 1912 0x0008, 1913 0x0004, 1914 0x0001, 1915 0x0002, 1916 0x0008, 1917 0x0004, 1918 0x0001, 1919 0x0002, 1920 0x0008, 1921 0x0004, 1922 0x0001, 1923 0x0002, 1924 0x0008, 1925 0x0004, 1926 0x0001, 1927 0x0002, 1928 0x0008, 1929 0x0004, 1930 0x0001, 1931 0x0002, 1932 0x0008, 1933 0x0004, 1934 0x0001, 1935 0x0002, 1936 0x0008, 1937 0x0004, 1938 0x0001, 1939 0x0002, 1940 0x0008, 1941 0x0004, 1942 0x0001, 1943 0x0002, 1944 0x0008, 1945 0x0004, 1946 0x0001, 1947 0x0002, 1948 0x0008, 1949 0x0004, 1950 0x0001, 1951 0x0002, 1952 0x0008, 1953 0x0004, 1954 0x0001, 1955 0x0002, 1956 0x0008, 1957 0x0004, 1958 0x0001, 1959 0x0002, 1960 0x0008, 1961 0x0004, 1962 0x0001, 1963 0x0002, 1964 0x0008, 1965 0x0004, 1966 0x0001, 1967 }; 1968 1969 static const u16 dot11lcn_sw_ctrl_tbl_4313_rev0[] = { 1970 0x000a, 1971 0x0009, 1972 0x0006, 1973 0x0005, 1974 0x000a, 1975 0x0009, 1976 0x0006, 1977 0x0005, 1978 0x000a, 1979 0x0009, 1980 0x0006, 1981 0x0005, 1982 0x000a, 1983 0x0009, 1984 0x0006, 1985 0x0005, 1986 0x000a, 1987 0x0009, 1988 0x0006, 1989 0x0005, 1990 0x000a, 1991 0x0009, 1992 0x0006, 1993 0x0005, 1994 0x000a, 1995 0x0009, 1996 0x0006, 1997 0x0005, 1998 0x000a, 1999 0x0009, 2000 0x0006, 2001 0x0005, 2002 0x000a, 2003 0x0009, 2004 0x0006, 2005 0x0005, 2006 0x000a, 2007 0x0009, 2008 0x0006, 2009 0x0005, 2010 0x000a, 2011 0x0009, 2012 0x0006, 2013 0x0005, 2014 0x000a, 2015 0x0009, 2016 0x0006, 2017 0x0005, 2018 0x000a, 2019 0x0009, 2020 0x0006, 2021 0x0005, 2022 0x000a, 2023 0x0009, 2024 0x0006, 2025 0x0005, 2026 0x000a, 2027 0x0009, 2028 0x0006, 2029 0x0005, 2030 0x000a, 2031 0x0009, 2032 0x0006, 2033 0x0005, 2034 }; 2035 2036 static const u16 dot11lcn_sw_ctrl_tbl_4313_ipa_rev0_combo[] = { 2037 0x0005, 2038 0x0006, 2039 0x0009, 2040 0x000a, 2041 0x0005, 2042 0x0006, 2043 0x0009, 2044 0x000a, 2045 0x0005, 2046 0x0006, 2047 0x0009, 2048 0x000a, 2049 0x0005, 2050 0x0006, 2051 0x0009, 2052 0x000a, 2053 0x0005, 2054 0x0006, 2055 0x0009, 2056 0x000a, 2057 0x0005, 2058 0x0006, 2059 0x0009, 2060 0x000a, 2061 0x0005, 2062 0x0006, 2063 0x0009, 2064 0x000a, 2065 0x0005, 2066 0x0006, 2067 0x0009, 2068 0x000a, 2069 0x0005, 2070 0x0006, 2071 0x0009, 2072 0x000a, 2073 0x0005, 2074 0x0006, 2075 0x0009, 2076 0x000a, 2077 0x0005, 2078 0x0006, 2079 0x0009, 2080 0x000a, 2081 0x0005, 2082 0x0006, 2083 0x0009, 2084 0x000a, 2085 0x0005, 2086 0x0006, 2087 0x0009, 2088 0x000a, 2089 0x0005, 2090 0x0006, 2091 0x0009, 2092 0x000a, 2093 0x0005, 2094 0x0006, 2095 0x0009, 2096 0x000a, 2097 0x0005, 2098 0x0006, 2099 0x0009, 2100 0x000a, 2101 }; 2102 2103 static const u16 dot11lcn_sw_ctrl_tbl_rev0[] = { 2104 0x0004, 2105 0x0004, 2106 0x0002, 2107 0x0002, 2108 0x0004, 2109 0x0004, 2110 0x0002, 2111 0x0002, 2112 0x0004, 2113 0x0004, 2114 0x0002, 2115 0x0002, 2116 0x0004, 2117 0x0004, 2118 0x0002, 2119 0x0002, 2120 0x0004, 2121 0x0004, 2122 0x0002, 2123 0x0002, 2124 0x0004, 2125 0x0004, 2126 0x0002, 2127 0x0002, 2128 0x0004, 2129 0x0004, 2130 0x0002, 2131 0x0002, 2132 0x0004, 2133 0x0004, 2134 0x0002, 2135 0x0002, 2136 0x0004, 2137 0x0004, 2138 0x0002, 2139 0x0002, 2140 0x0004, 2141 0x0004, 2142 0x0002, 2143 0x0002, 2144 0x0004, 2145 0x0004, 2146 0x0002, 2147 0x0002, 2148 0x0004, 2149 0x0004, 2150 0x0002, 2151 0x0002, 2152 0x0004, 2153 0x0004, 2154 0x0002, 2155 0x0002, 2156 0x0004, 2157 0x0004, 2158 0x0002, 2159 0x0002, 2160 0x0004, 2161 0x0004, 2162 0x0002, 2163 0x0002, 2164 0x0004, 2165 0x0004, 2166 0x0002, 2167 0x0002, 2168 }; 2169 2170 static const u8 dot11lcn_nf_table_rev0[] = { 2171 0x5f, 2172 0x36, 2173 0x29, 2174 0x1f, 2175 0x5f, 2176 0x36, 2177 0x29, 2178 0x1f, 2179 0x5f, 2180 0x36, 2181 0x29, 2182 0x1f, 2183 0x5f, 2184 0x36, 2185 0x29, 2186 0x1f, 2187 }; 2188 2189 static const u8 dot11lcn_gain_val_tbl_rev0[] = { 2190 0x09, 2191 0x0f, 2192 0x14, 2193 0x18, 2194 0xfe, 2195 0x07, 2196 0x0b, 2197 0x0f, 2198 0xfb, 2199 0xfe, 2200 0x01, 2201 0x05, 2202 0x08, 2203 0x0b, 2204 0x0e, 2205 0x11, 2206 0x14, 2207 0x17, 2208 0x00, 2209 0x00, 2210 0x00, 2211 0x00, 2212 0x00, 2213 0x00, 2214 0x00, 2215 0x03, 2216 0x06, 2217 0x09, 2218 0x0c, 2219 0x0f, 2220 0x12, 2221 0x00, 2222 0x00, 2223 0x00, 2224 0x00, 2225 0x00, 2226 0x00, 2227 0x00, 2228 0x00, 2229 0x00, 2230 0x00, 2231 0x03, 2232 0x06, 2233 0x09, 2234 0x0c, 2235 0x0f, 2236 0x12, 2237 0x15, 2238 0x18, 2239 0x1b, 2240 0x00, 2241 0x00, 2242 0x00, 2243 0x00, 2244 0x00, 2245 0x00, 2246 0x03, 2247 0xeb, 2248 0x00, 2249 0x00, 2250 }; 2251 2252 static const u8 dot11lcn_spur_tbl_rev0[] = { 2253 0x01, 2254 0x01, 2255 0x01, 2256 0x01, 2257 0x01, 2258 0x01, 2259 0x01, 2260 0x01, 2261 0x01, 2262 0x01, 2263 0x01, 2264 0x01, 2265 0x01, 2266 0x01, 2267 0x01, 2268 0x01, 2269 0x01, 2270 0x01, 2271 0x01, 2272 0x01, 2273 0x01, 2274 0x01, 2275 0x01, 2276 0x01, 2277 0x01, 2278 0x01, 2279 0x01, 2280 0x01, 2281 0x01, 2282 0x01, 2283 0x02, 2284 0x03, 2285 0x01, 2286 0x03, 2287 0x02, 2288 0x01, 2289 0x01, 2290 0x01, 2291 0x01, 2292 0x01, 2293 0x01, 2294 0x01, 2295 0x01, 2296 0x01, 2297 0x01, 2298 0x01, 2299 0x01, 2300 0x01, 2301 0x01, 2302 0x01, 2303 0x01, 2304 0x01, 2305 0x01, 2306 0x01, 2307 0x01, 2308 0x01, 2309 0x01, 2310 0x01, 2311 0x01, 2312 0x01, 2313 0x01, 2314 0x01, 2315 0x01, 2316 0x01, 2317 0x01, 2318 0x01, 2319 0x01, 2320 0x01, 2321 0x01, 2322 0x01, 2323 0x01, 2324 0x01, 2325 0x01, 2326 0x01, 2327 0x01, 2328 0x01, 2329 0x01, 2330 0x01, 2331 0x01, 2332 0x01, 2333 0x01, 2334 0x01, 2335 0x01, 2336 0x01, 2337 0x01, 2338 0x01, 2339 0x01, 2340 0x01, 2341 0x01, 2342 0x01, 2343 0x01, 2344 0x01, 2345 0x01, 2346 0x01, 2347 0x02, 2348 0x03, 2349 0x01, 2350 0x03, 2351 0x02, 2352 0x01, 2353 0x01, 2354 0x01, 2355 0x01, 2356 0x01, 2357 0x01, 2358 0x01, 2359 0x01, 2360 0x01, 2361 0x01, 2362 0x01, 2363 0x01, 2364 0x01, 2365 0x01, 2366 0x01, 2367 0x01, 2368 0x01, 2369 0x01, 2370 0x01, 2371 0x01, 2372 0x01, 2373 0x01, 2374 0x01, 2375 0x01, 2376 0x01, 2377 0x01, 2378 0x01, 2379 0x01, 2380 0x01, 2381 }; 2382 2383 static const u16 dot11lcn_unsup_mcs_tbl_rev0[] = { 2384 0x001a, 2385 0x0034, 2386 0x004e, 2387 0x0068, 2388 0x009c, 2389 0x00d0, 2390 0x00ea, 2391 0x0104, 2392 0x0034, 2393 0x0068, 2394 0x009c, 2395 0x00d0, 2396 0x0138, 2397 0x01a0, 2398 0x01d4, 2399 0x0208, 2400 0x004e, 2401 0x009c, 2402 0x00ea, 2403 0x0138, 2404 0x01d4, 2405 0x0270, 2406 0x02be, 2407 0x030c, 2408 0x0068, 2409 0x00d0, 2410 0x0138, 2411 0x01a0, 2412 0x0270, 2413 0x0340, 2414 0x03a8, 2415 0x0410, 2416 0x0018, 2417 0x009c, 2418 0x00d0, 2419 0x0104, 2420 0x00ea, 2421 0x0138, 2422 0x0186, 2423 0x00d0, 2424 0x0104, 2425 0x0104, 2426 0x0138, 2427 0x016c, 2428 0x016c, 2429 0x01a0, 2430 0x0138, 2431 0x0186, 2432 0x0186, 2433 0x01d4, 2434 0x0222, 2435 0x0222, 2436 0x0270, 2437 0x0104, 2438 0x0138, 2439 0x016c, 2440 0x0138, 2441 0x016c, 2442 0x01a0, 2443 0x01d4, 2444 0x01a0, 2445 0x01d4, 2446 0x0208, 2447 0x0208, 2448 0x023c, 2449 0x0186, 2450 0x01d4, 2451 0x0222, 2452 0x01d4, 2453 0x0222, 2454 0x0270, 2455 0x02be, 2456 0x0270, 2457 0x02be, 2458 0x030c, 2459 0x030c, 2460 0x035a, 2461 0x0036, 2462 0x006c, 2463 0x00a2, 2464 0x00d8, 2465 0x0144, 2466 0x01b0, 2467 0x01e6, 2468 0x021c, 2469 0x006c, 2470 0x00d8, 2471 0x0144, 2472 0x01b0, 2473 0x0288, 2474 0x0360, 2475 0x03cc, 2476 0x0438, 2477 0x00a2, 2478 0x0144, 2479 0x01e6, 2480 0x0288, 2481 0x03cc, 2482 0x0510, 2483 0x05b2, 2484 0x0654, 2485 0x00d8, 2486 0x01b0, 2487 0x0288, 2488 0x0360, 2489 0x0510, 2490 0x06c0, 2491 0x0798, 2492 0x0870, 2493 0x0018, 2494 0x0144, 2495 0x01b0, 2496 0x021c, 2497 0x01e6, 2498 0x0288, 2499 0x032a, 2500 0x01b0, 2501 0x021c, 2502 0x021c, 2503 0x0288, 2504 0x02f4, 2505 0x02f4, 2506 0x0360, 2507 0x0288, 2508 0x032a, 2509 0x032a, 2510 0x03cc, 2511 0x046e, 2512 0x046e, 2513 0x0510, 2514 0x021c, 2515 0x0288, 2516 0x02f4, 2517 0x0288, 2518 0x02f4, 2519 0x0360, 2520 0x03cc, 2521 0x0360, 2522 0x03cc, 2523 0x0438, 2524 0x0438, 2525 0x04a4, 2526 0x032a, 2527 0x03cc, 2528 0x046e, 2529 0x03cc, 2530 0x046e, 2531 0x0510, 2532 0x05b2, 2533 0x0510, 2534 0x05b2, 2535 0x0654, 2536 0x0654, 2537 0x06f6, 2538 }; 2539 2540 static const u16 dot11lcn_iq_local_tbl_rev0[] = { 2541 0x0200, 2542 0x0300, 2543 0x0400, 2544 0x0600, 2545 0x0800, 2546 0x0b00, 2547 0x1000, 2548 0x1001, 2549 0x1002, 2550 0x1003, 2551 0x1004, 2552 0x1005, 2553 0x1006, 2554 0x1007, 2555 0x1707, 2556 0x2007, 2557 0x2d07, 2558 0x4007, 2559 0x0000, 2560 0x0000, 2561 0x0000, 2562 0x0000, 2563 0x0000, 2564 0x0000, 2565 0x0000, 2566 0x0000, 2567 0x0000, 2568 0x0000, 2569 0x0000, 2570 0x0000, 2571 0x0000, 2572 0x0000, 2573 0x0200, 2574 0x0300, 2575 0x0400, 2576 0x0600, 2577 0x0800, 2578 0x0b00, 2579 0x1000, 2580 0x1001, 2581 0x1002, 2582 0x1003, 2583 0x1004, 2584 0x1005, 2585 0x1006, 2586 0x1007, 2587 0x1707, 2588 0x2007, 2589 0x2d07, 2590 0x4007, 2591 0x0000, 2592 0x0000, 2593 0x0000, 2594 0x0000, 2595 0x0000, 2596 0x0000, 2597 0x0000, 2598 0x0000, 2599 0x0000, 2600 0x0000, 2601 0x0000, 2602 0x0000, 2603 0x0000, 2604 0x0000, 2605 0x0000, 2606 0x0000, 2607 0x0000, 2608 0x0000, 2609 0x0000, 2610 0x0000, 2611 0x0000, 2612 0x0000, 2613 0x0000, 2614 0x0000, 2615 0x0000, 2616 0x0000, 2617 0x0000, 2618 0x0000, 2619 0x0000, 2620 0x0000, 2621 0x0000, 2622 0x0000, 2623 0x0000, 2624 0x0000, 2625 0x0000, 2626 0x0000, 2627 0x0000, 2628 0x4000, 2629 0x0000, 2630 0x0000, 2631 0x0000, 2632 0x0000, 2633 0x0000, 2634 0x0000, 2635 0x0000, 2636 0x0000, 2637 0x0000, 2638 0x0000, 2639 0x0000, 2640 0x0000, 2641 0x0000, 2642 0x0000, 2643 0x0000, 2644 0x0000, 2645 0x0000, 2646 0x0000, 2647 0x0000, 2648 0x0000, 2649 }; 2650 2651 static const u32 dot11lcn_papd_compdelta_tbl_rev0[] = { 2652 0x00080000, 2653 0x00080000, 2654 0x00080000, 2655 0x00080000, 2656 0x00080000, 2657 0x00080000, 2658 0x00080000, 2659 0x00080000, 2660 0x00080000, 2661 0x00080000, 2662 0x00080000, 2663 0x00080000, 2664 0x00080000, 2665 0x00080000, 2666 0x00080000, 2667 0x00080000, 2668 0x00080000, 2669 0x00080000, 2670 0x00080000, 2671 0x00080000, 2672 0x00080000, 2673 0x00080000, 2674 0x00080000, 2675 0x00080000, 2676 0x00080000, 2677 0x00080000, 2678 0x00080000, 2679 0x00080000, 2680 0x00080000, 2681 0x00080000, 2682 0x00080000, 2683 0x00080000, 2684 0x00080000, 2685 0x00080000, 2686 0x00080000, 2687 0x00080000, 2688 0x00080000, 2689 0x00080000, 2690 0x00080000, 2691 0x00080000, 2692 0x00080000, 2693 0x00080000, 2694 0x00080000, 2695 0x00080000, 2696 0x00080000, 2697 0x00080000, 2698 0x00080000, 2699 0x00080000, 2700 0x00080000, 2701 0x00080000, 2702 0x00080000, 2703 0x00080000, 2704 0x00080000, 2705 0x00080000, 2706 0x00080000, 2707 0x00080000, 2708 0x00080000, 2709 0x00080000, 2710 0x00080000, 2711 0x00080000, 2712 0x00080000, 2713 0x00080000, 2714 0x00080000, 2715 0x00080000, 2716 0x00080000, 2717 0x00080000, 2718 0x00080000, 2719 0x00080000, 2720 0x00080000, 2721 0x00080000, 2722 0x00080000, 2723 0x00080000, 2724 0x00080000, 2725 0x00080000, 2726 0x00080000, 2727 0x00080000, 2728 0x00080000, 2729 0x00080000, 2730 0x00080000, 2731 0x00080000, 2732 0x00080000, 2733 0x00080000, 2734 0x00080000, 2735 0x00080000, 2736 0x00080000, 2737 0x00080000, 2738 0x00080000, 2739 0x00080000, 2740 0x00080000, 2741 0x00080000, 2742 0x00080000, 2743 0x00080000, 2744 0x00080000, 2745 0x00080000, 2746 0x00080000, 2747 0x00080000, 2748 0x00080000, 2749 0x00080000, 2750 0x00080000, 2751 0x00080000, 2752 0x00080000, 2753 0x00080000, 2754 0x00080000, 2755 0x00080000, 2756 0x00080000, 2757 0x00080000, 2758 0x00080000, 2759 0x00080000, 2760 0x00080000, 2761 0x00080000, 2762 0x00080000, 2763 0x00080000, 2764 0x00080000, 2765 0x00080000, 2766 0x00080000, 2767 0x00080000, 2768 0x00080000, 2769 0x00080000, 2770 0x00080000, 2771 0x00080000, 2772 0x00080000, 2773 0x00080000, 2774 0x00080000, 2775 0x00080000, 2776 0x00080000, 2777 0x00080000, 2778 0x00080000, 2779 0x00080000, 2780 0x00080000, 2781 0x00080000, 2782 0x00080000, 2783 0x00080000, 2784 0x00080000, 2785 0x00080000, 2786 0x00080000, 2787 0x00080000, 2788 0x00080000, 2789 0x00080000, 2790 0x00080000, 2791 0x00080000, 2792 0x00080000, 2793 0x00080000, 2794 0x00080000, 2795 0x00080000, 2796 0x00080000, 2797 0x00080000, 2798 0x00080000, 2799 0x00080000, 2800 0x00080000, 2801 0x00080000, 2802 0x00080000, 2803 0x00080000, 2804 0x00080000, 2805 0x00080000, 2806 0x00080000, 2807 0x00080000, 2808 0x00080000, 2809 0x00080000, 2810 0x00080000, 2811 0x00080000, 2812 }; 2813 2814 const struct phytbl_info dot11lcnphytbl_info_rev0[] = { 2815 {&dot11lcn_min_sig_sq_tbl_rev0, 2816 ARRAY_SIZE(dot11lcn_min_sig_sq_tbl_rev0), 2, 0, 16} 2817 , 2818 {&dot11lcn_noise_scale_tbl_rev0, 2819 ARRAY_SIZE(dot11lcn_noise_scale_tbl_rev0), 1, 0, 16} 2820 , 2821 {&dot11lcn_fltr_ctrl_tbl_rev0, 2822 ARRAY_SIZE(dot11lcn_fltr_ctrl_tbl_rev0), 11, 0, 32} 2823 , 2824 {&dot11lcn_ps_ctrl_tbl_rev0, 2825 ARRAY_SIZE(dot11lcn_ps_ctrl_tbl_rev0), 12, 0, 32} 2826 , 2827 {&dot11lcn_gain_idx_tbl_rev0, 2828 ARRAY_SIZE(dot11lcn_gain_idx_tbl_rev0), 13, 0, 32} 2829 , 2830 {&dot11lcn_aux_gain_idx_tbl_rev0, 2831 ARRAY_SIZE(dot11lcn_aux_gain_idx_tbl_rev0), 14, 0, 16} 2832 , 2833 {&dot11lcn_sw_ctrl_tbl_rev0, 2834 ARRAY_SIZE(dot11lcn_sw_ctrl_tbl_rev0), 15, 0, 16} 2835 , 2836 {&dot11lcn_nf_table_rev0, 2837 ARRAY_SIZE(dot11lcn_nf_table_rev0), 16, 2838 0, 8} 2839 , 2840 {&dot11lcn_gain_val_tbl_rev0, 2841 ARRAY_SIZE(dot11lcn_gain_val_tbl_rev0), 17, 0, 8} 2842 , 2843 {&dot11lcn_gain_tbl_rev0, 2844 ARRAY_SIZE(dot11lcn_gain_tbl_rev0), 18, 2845 0, 32} 2846 , 2847 {&dot11lcn_spur_tbl_rev0, 2848 ARRAY_SIZE(dot11lcn_spur_tbl_rev0), 20, 2849 0, 8} 2850 , 2851 {&dot11lcn_unsup_mcs_tbl_rev0, 2852 ARRAY_SIZE(dot11lcn_unsup_mcs_tbl_rev0), 23, 0, 16} 2853 , 2854 {&dot11lcn_iq_local_tbl_rev0, 2855 ARRAY_SIZE(dot11lcn_iq_local_tbl_rev0), 0, 0, 16} 2856 , 2857 {&dot11lcn_papd_compdelta_tbl_rev0, 2858 ARRAY_SIZE(dot11lcn_papd_compdelta_tbl_rev0), 24, 0, 32} 2859 , 2860 }; 2861 2862 const struct phytbl_info dot11lcn_sw_ctrl_tbl_info_4313 = { 2863 &dot11lcn_sw_ctrl_tbl_4313_rev0, 2864 ARRAY_SIZE(dot11lcn_sw_ctrl_tbl_4313_rev0), 15, 0, 16 2865 }; 2866 2867 const struct phytbl_info dot11lcn_sw_ctrl_tbl_info_4313_bt_ipa = { 2868 &dot11lcn_sw_ctrl_tbl_4313_ipa_rev0_combo, 2869 ARRAY_SIZE(dot11lcn_sw_ctrl_tbl_4313_ipa_rev0_combo), 15, 0, 16 2870 }; 2871 2872 const struct phytbl_info dot11lcn_sw_ctrl_tbl_info_4313_epa = { 2873 &dot11lcn_sw_ctrl_tbl_4313_epa_rev0, 2874 ARRAY_SIZE(dot11lcn_sw_ctrl_tbl_4313_epa_rev0), 15, 0, 16 2875 }; 2876 2877 const struct phytbl_info dot11lcn_sw_ctrl_tbl_info_4313_bt_epa = { 2878 &dot11lcn_sw_ctrl_tbl_4313_epa_rev0_combo, 2879 ARRAY_SIZE(dot11lcn_sw_ctrl_tbl_4313_epa_rev0_combo), 15, 0, 16 2880 }; 2881 2882 const struct phytbl_info dot11lcn_sw_ctrl_tbl_info_4313_bt_epa_p250 = { 2883 &dot11lcn_sw_ctrl_tbl_4313_bt_epa_p250_rev0, 2884 ARRAY_SIZE(dot11lcn_sw_ctrl_tbl_4313_bt_epa_p250_rev0), 15, 0, 16 2885 }; 2886 2887 const u32 dot11lcnphytbl_info_sz_rev0 = 2888 ARRAY_SIZE(dot11lcnphytbl_info_rev0); 2889 2890 const struct lcnphy_tx_gain_tbl_entry 2891 dot11lcnphy_2GHz_extPA_gaintable_rev0[128] = { 2892 {3, 0, 31, 0, 72}, 2893 {3, 0, 31, 0, 70}, 2894 {3, 0, 31, 0, 68}, 2895 {3, 0, 30, 0, 67}, 2896 {3, 0, 29, 0, 68}, 2897 {3, 0, 28, 0, 68}, 2898 {3, 0, 27, 0, 69}, 2899 {3, 0, 26, 0, 70}, 2900 {3, 0, 25, 0, 70}, 2901 {3, 0, 24, 0, 71}, 2902 {3, 0, 23, 0, 72}, 2903 {3, 0, 23, 0, 70}, 2904 {3, 0, 22, 0, 71}, 2905 {3, 0, 21, 0, 72}, 2906 {3, 0, 21, 0, 70}, 2907 {3, 0, 21, 0, 68}, 2908 {3, 0, 21, 0, 66}, 2909 {3, 0, 21, 0, 64}, 2910 {3, 0, 21, 0, 63}, 2911 {3, 0, 20, 0, 64}, 2912 {3, 0, 19, 0, 65}, 2913 {3, 0, 19, 0, 64}, 2914 {3, 0, 18, 0, 65}, 2915 {3, 0, 18, 0, 64}, 2916 {3, 0, 17, 0, 65}, 2917 {3, 0, 17, 0, 64}, 2918 {3, 0, 16, 0, 65}, 2919 {3, 0, 16, 0, 64}, 2920 {3, 0, 16, 0, 62}, 2921 {3, 0, 16, 0, 60}, 2922 {3, 0, 16, 0, 58}, 2923 {3, 0, 15, 0, 61}, 2924 {3, 0, 15, 0, 59}, 2925 {3, 0, 14, 0, 61}, 2926 {3, 0, 14, 0, 60}, 2927 {3, 0, 14, 0, 58}, 2928 {3, 0, 13, 0, 60}, 2929 {3, 0, 13, 0, 59}, 2930 {3, 0, 12, 0, 62}, 2931 {3, 0, 12, 0, 60}, 2932 {3, 0, 12, 0, 58}, 2933 {3, 0, 11, 0, 62}, 2934 {3, 0, 11, 0, 60}, 2935 {3, 0, 11, 0, 59}, 2936 {3, 0, 11, 0, 57}, 2937 {3, 0, 10, 0, 61}, 2938 {3, 0, 10, 0, 59}, 2939 {3, 0, 10, 0, 57}, 2940 {3, 0, 9, 0, 62}, 2941 {3, 0, 9, 0, 60}, 2942 {3, 0, 9, 0, 58}, 2943 {3, 0, 9, 0, 57}, 2944 {3, 0, 8, 0, 62}, 2945 {3, 0, 8, 0, 60}, 2946 {3, 0, 8, 0, 58}, 2947 {3, 0, 8, 0, 57}, 2948 {3, 0, 8, 0, 55}, 2949 {3, 0, 7, 0, 61}, 2950 {3, 0, 7, 0, 60}, 2951 {3, 0, 7, 0, 58}, 2952 {3, 0, 7, 0, 56}, 2953 {3, 0, 7, 0, 55}, 2954 {3, 0, 6, 0, 62}, 2955 {3, 0, 6, 0, 60}, 2956 {3, 0, 6, 0, 58}, 2957 {3, 0, 6, 0, 57}, 2958 {3, 0, 6, 0, 55}, 2959 {3, 0, 6, 0, 54}, 2960 {3, 0, 6, 0, 52}, 2961 {3, 0, 5, 0, 61}, 2962 {3, 0, 5, 0, 59}, 2963 {3, 0, 5, 0, 57}, 2964 {3, 0, 5, 0, 56}, 2965 {3, 0, 5, 0, 54}, 2966 {3, 0, 5, 0, 53}, 2967 {3, 0, 5, 0, 51}, 2968 {3, 0, 4, 0, 62}, 2969 {3, 0, 4, 0, 60}, 2970 {3, 0, 4, 0, 58}, 2971 {3, 0, 4, 0, 57}, 2972 {3, 0, 4, 0, 55}, 2973 {3, 0, 4, 0, 54}, 2974 {3, 0, 4, 0, 52}, 2975 {3, 0, 4, 0, 51}, 2976 {3, 0, 4, 0, 49}, 2977 {3, 0, 4, 0, 48}, 2978 {3, 0, 4, 0, 46}, 2979 {3, 0, 3, 0, 60}, 2980 {3, 0, 3, 0, 58}, 2981 {3, 0, 3, 0, 57}, 2982 {3, 0, 3, 0, 55}, 2983 {3, 0, 3, 0, 54}, 2984 {3, 0, 3, 0, 52}, 2985 {3, 0, 3, 0, 51}, 2986 {3, 0, 3, 0, 49}, 2987 {3, 0, 3, 0, 48}, 2988 {3, 0, 3, 0, 46}, 2989 {3, 0, 3, 0, 45}, 2990 {3, 0, 3, 0, 44}, 2991 {3, 0, 3, 0, 43}, 2992 {3, 0, 3, 0, 41}, 2993 {3, 0, 2, 0, 61}, 2994 {3, 0, 2, 0, 59}, 2995 {3, 0, 2, 0, 57}, 2996 {3, 0, 2, 0, 56}, 2997 {3, 0, 2, 0, 54}, 2998 {3, 0, 2, 0, 53}, 2999 {3, 0, 2, 0, 51}, 3000 {3, 0, 2, 0, 50}, 3001 {3, 0, 2, 0, 48}, 3002 {3, 0, 2, 0, 47}, 3003 {3, 0, 2, 0, 46}, 3004 {3, 0, 2, 0, 44}, 3005 {3, 0, 2, 0, 43}, 3006 {3, 0, 2, 0, 42}, 3007 {3, 0, 2, 0, 41}, 3008 {3, 0, 2, 0, 39}, 3009 {3, 0, 2, 0, 38}, 3010 {3, 0, 2, 0, 37}, 3011 {3, 0, 2, 0, 36}, 3012 {3, 0, 2, 0, 35}, 3013 {3, 0, 2, 0, 34}, 3014 {3, 0, 2, 0, 33}, 3015 {3, 0, 2, 0, 32}, 3016 {3, 0, 1, 0, 63}, 3017 {3, 0, 1, 0, 61}, 3018 {3, 0, 1, 0, 59}, 3019 {3, 0, 1, 0, 57}, 3020 }; 3021 3022 const struct lcnphy_tx_gain_tbl_entry dot11lcnphy_2GHz_gaintable_rev0[128] = { 3023 {15, 0, 31, 0, 72}, 3024 {15, 0, 31, 0, 70}, 3025 {15, 0, 31, 0, 68}, 3026 {15, 0, 30, 0, 68}, 3027 {15, 0, 29, 0, 69}, 3028 {15, 0, 28, 0, 69}, 3029 {15, 0, 27, 0, 70}, 3030 {15, 0, 26, 0, 70}, 3031 {15, 0, 25, 0, 71}, 3032 {15, 0, 24, 0, 72}, 3033 {15, 0, 23, 0, 73}, 3034 {15, 0, 23, 0, 71}, 3035 {15, 0, 22, 0, 72}, 3036 {15, 0, 21, 0, 73}, 3037 {15, 0, 21, 0, 71}, 3038 {15, 0, 21, 0, 69}, 3039 {15, 0, 21, 0, 67}, 3040 {15, 0, 21, 0, 65}, 3041 {15, 0, 21, 0, 63}, 3042 {15, 0, 20, 0, 65}, 3043 {15, 0, 19, 0, 66}, 3044 {15, 0, 19, 0, 64}, 3045 {15, 0, 18, 0, 66}, 3046 {15, 0, 18, 0, 64}, 3047 {15, 0, 17, 0, 66}, 3048 {15, 0, 17, 0, 64}, 3049 {15, 0, 16, 0, 66}, 3050 {15, 0, 16, 0, 64}, 3051 {15, 0, 16, 0, 62}, 3052 {15, 0, 16, 0, 61}, 3053 {15, 0, 16, 0, 59}, 3054 {15, 0, 15, 0, 61}, 3055 {15, 0, 15, 0, 59}, 3056 {15, 0, 14, 0, 62}, 3057 {15, 0, 14, 0, 60}, 3058 {15, 0, 14, 0, 58}, 3059 {15, 0, 13, 0, 61}, 3060 {15, 0, 13, 0, 59}, 3061 {15, 0, 12, 0, 62}, 3062 {15, 0, 12, 0, 61}, 3063 {15, 0, 12, 0, 59}, 3064 {15, 0, 11, 0, 62}, 3065 {15, 0, 11, 0, 61}, 3066 {15, 0, 11, 0, 59}, 3067 {15, 0, 11, 0, 57}, 3068 {15, 0, 10, 0, 61}, 3069 {15, 0, 10, 0, 59}, 3070 {15, 0, 10, 0, 58}, 3071 {15, 0, 9, 0, 62}, 3072 {15, 0, 9, 0, 61}, 3073 {15, 0, 9, 0, 59}, 3074 {15, 0, 9, 0, 57}, 3075 {15, 0, 8, 0, 62}, 3076 {15, 0, 8, 0, 61}, 3077 {15, 0, 8, 0, 59}, 3078 {15, 0, 8, 0, 57}, 3079 {15, 0, 8, 0, 56}, 3080 {15, 0, 8, 0, 54}, 3081 {15, 0, 8, 0, 53}, 3082 {15, 0, 8, 0, 51}, 3083 {15, 0, 8, 0, 50}, 3084 {7, 0, 7, 0, 69}, 3085 {7, 0, 7, 0, 67}, 3086 {7, 0, 7, 0, 65}, 3087 {7, 0, 7, 0, 64}, 3088 {7, 0, 7, 0, 62}, 3089 {7, 0, 7, 0, 60}, 3090 {7, 0, 7, 0, 58}, 3091 {7, 0, 7, 0, 57}, 3092 {7, 0, 7, 0, 55}, 3093 {7, 0, 6, 0, 62}, 3094 {7, 0, 6, 0, 61}, 3095 {7, 0, 6, 0, 59}, 3096 {7, 0, 6, 0, 57}, 3097 {7, 0, 6, 0, 56}, 3098 {7, 0, 6, 0, 54}, 3099 {7, 0, 6, 0, 53}, 3100 {7, 0, 5, 0, 61}, 3101 {7, 0, 5, 0, 60}, 3102 {7, 0, 5, 0, 58}, 3103 {7, 0, 5, 0, 56}, 3104 {7, 0, 5, 0, 55}, 3105 {7, 0, 5, 0, 53}, 3106 {7, 0, 5, 0, 52}, 3107 {7, 0, 5, 0, 50}, 3108 {7, 0, 5, 0, 49}, 3109 {7, 0, 5, 0, 47}, 3110 {7, 0, 4, 0, 57}, 3111 {7, 0, 4, 0, 56}, 3112 {7, 0, 4, 0, 54}, 3113 {7, 0, 4, 0, 53}, 3114 {7, 0, 4, 0, 51}, 3115 {7, 0, 4, 0, 50}, 3116 {7, 0, 4, 0, 48}, 3117 {7, 0, 4, 0, 47}, 3118 {7, 0, 4, 0, 46}, 3119 {7, 0, 4, 0, 44}, 3120 {7, 0, 4, 0, 43}, 3121 {7, 0, 4, 0, 42}, 3122 {7, 0, 4, 0, 41}, 3123 {7, 0, 4, 0, 40}, 3124 {7, 0, 3, 0, 51}, 3125 {7, 0, 3, 0, 50}, 3126 {7, 0, 3, 0, 48}, 3127 {7, 0, 3, 0, 47}, 3128 {7, 0, 3, 0, 46}, 3129 {7, 0, 3, 0, 44}, 3130 {7, 0, 3, 0, 43}, 3131 {7, 0, 3, 0, 42}, 3132 {7, 0, 3, 0, 41}, 3133 {3, 0, 3, 0, 56}, 3134 {3, 0, 3, 0, 54}, 3135 {3, 0, 3, 0, 53}, 3136 {3, 0, 3, 0, 51}, 3137 {3, 0, 3, 0, 50}, 3138 {3, 0, 3, 0, 48}, 3139 {3, 0, 3, 0, 47}, 3140 {3, 0, 3, 0, 46}, 3141 {3, 0, 3, 0, 44}, 3142 {3, 0, 3, 0, 43}, 3143 {3, 0, 3, 0, 42}, 3144 {3, 0, 3, 0, 41}, 3145 {3, 0, 3, 0, 39}, 3146 {3, 0, 3, 0, 38}, 3147 {3, 0, 3, 0, 37}, 3148 {3, 0, 3, 0, 36}, 3149 {3, 0, 3, 0, 35}, 3150 {3, 0, 3, 0, 34}, 3151 }; 3152 3153 const struct lcnphy_tx_gain_tbl_entry dot11lcnphy_5GHz_gaintable_rev0[128] = { 3154 {255, 255, 0xf0, 0, 152}, 3155 {255, 255, 0xf0, 0, 147}, 3156 {255, 255, 0xf0, 0, 143}, 3157 {255, 255, 0xf0, 0, 139}, 3158 {255, 255, 0xf0, 0, 135}, 3159 {255, 255, 0xf0, 0, 131}, 3160 {255, 255, 0xf0, 0, 128}, 3161 {255, 255, 0xf0, 0, 124}, 3162 {255, 255, 0xf0, 0, 121}, 3163 {255, 255, 0xf0, 0, 117}, 3164 {255, 255, 0xf0, 0, 114}, 3165 {255, 255, 0xf0, 0, 111}, 3166 {255, 255, 0xf0, 0, 107}, 3167 {255, 255, 0xf0, 0, 104}, 3168 {255, 255, 0xf0, 0, 101}, 3169 {255, 255, 0xf0, 0, 99}, 3170 {255, 255, 0xf0, 0, 96}, 3171 {255, 255, 0xf0, 0, 93}, 3172 {255, 255, 0xf0, 0, 90}, 3173 {255, 255, 0xf0, 0, 88}, 3174 {255, 255, 0xf0, 0, 85}, 3175 {255, 255, 0xf0, 0, 83}, 3176 {255, 255, 0xf0, 0, 81}, 3177 {255, 255, 0xf0, 0, 78}, 3178 {255, 255, 0xf0, 0, 76}, 3179 {255, 255, 0xf0, 0, 74}, 3180 {255, 255, 0xf0, 0, 72}, 3181 {255, 255, 0xf0, 0, 70}, 3182 {255, 255, 0xf0, 0, 68}, 3183 {255, 255, 0xf0, 0, 66}, 3184 {255, 255, 0xf0, 0, 64}, 3185 {255, 248, 0xf0, 0, 64}, 3186 {255, 241, 0xf0, 0, 64}, 3187 {255, 251, 0xe0, 0, 64}, 3188 {255, 244, 0xe0, 0, 64}, 3189 {255, 254, 0xd0, 0, 64}, 3190 {255, 246, 0xd0, 0, 64}, 3191 {255, 239, 0xd0, 0, 64}, 3192 {255, 249, 0xc0, 0, 64}, 3193 {255, 242, 0xc0, 0, 64}, 3194 {255, 255, 0xb0, 0, 64}, 3195 {255, 248, 0xb0, 0, 64}, 3196 {255, 241, 0xb0, 0, 64}, 3197 {255, 254, 0xa0, 0, 64}, 3198 {255, 246, 0xa0, 0, 64}, 3199 {255, 239, 0xa0, 0, 64}, 3200 {255, 255, 0x90, 0, 64}, 3201 {255, 248, 0x90, 0, 64}, 3202 {255, 241, 0x90, 0, 64}, 3203 {255, 234, 0x90, 0, 64}, 3204 {255, 255, 0x80, 0, 64}, 3205 {255, 248, 0x80, 0, 64}, 3206 {255, 241, 0x80, 0, 64}, 3207 {255, 234, 0x80, 0, 64}, 3208 {255, 255, 0x70, 0, 64}, 3209 {255, 248, 0x70, 0, 64}, 3210 {255, 241, 0x70, 0, 64}, 3211 {255, 234, 0x70, 0, 64}, 3212 {255, 227, 0x70, 0, 64}, 3213 {255, 221, 0x70, 0, 64}, 3214 {255, 215, 0x70, 0, 64}, 3215 {255, 208, 0x70, 0, 64}, 3216 {255, 203, 0x70, 0, 64}, 3217 {255, 197, 0x70, 0, 64}, 3218 {255, 255, 0x60, 0, 64}, 3219 {255, 248, 0x60, 0, 64}, 3220 {255, 241, 0x60, 0, 64}, 3221 {255, 234, 0x60, 0, 64}, 3222 {255, 227, 0x60, 0, 64}, 3223 {255, 221, 0x60, 0, 64}, 3224 {255, 255, 0x50, 0, 64}, 3225 {255, 248, 0x50, 0, 64}, 3226 {255, 241, 0x50, 0, 64}, 3227 {255, 234, 0x50, 0, 64}, 3228 {255, 227, 0x50, 0, 64}, 3229 {255, 221, 0x50, 0, 64}, 3230 {255, 215, 0x50, 0, 64}, 3231 {255, 208, 0x50, 0, 64}, 3232 {255, 255, 0x40, 0, 64}, 3233 {255, 248, 0x40, 0, 64}, 3234 {255, 241, 0x40, 0, 64}, 3235 {255, 234, 0x40, 0, 64}, 3236 {255, 227, 0x40, 0, 64}, 3237 {255, 221, 0x40, 0, 64}, 3238 {255, 215, 0x40, 0, 64}, 3239 {255, 208, 0x40, 0, 64}, 3240 {255, 203, 0x40, 0, 64}, 3241 {255, 197, 0x40, 0, 64}, 3242 {255, 255, 0x30, 0, 64}, 3243 {255, 248, 0x30, 0, 64}, 3244 {255, 241, 0x30, 0, 64}, 3245 {255, 234, 0x30, 0, 64}, 3246 {255, 227, 0x30, 0, 64}, 3247 {255, 221, 0x30, 0, 64}, 3248 {255, 215, 0x30, 0, 64}, 3249 {255, 208, 0x30, 0, 64}, 3250 {255, 203, 0x30, 0, 64}, 3251 {255, 197, 0x30, 0, 64}, 3252 {255, 191, 0x30, 0, 64}, 3253 {255, 186, 0x30, 0, 64}, 3254 {255, 181, 0x30, 0, 64}, 3255 {255, 175, 0x30, 0, 64}, 3256 {255, 255, 0x20, 0, 64}, 3257 {255, 248, 0x20, 0, 64}, 3258 {255, 241, 0x20, 0, 64}, 3259 {255, 234, 0x20, 0, 64}, 3260 {255, 227, 0x20, 0, 64}, 3261 {255, 221, 0x20, 0, 64}, 3262 {255, 215, 0x20, 0, 64}, 3263 {255, 208, 0x20, 0, 64}, 3264 {255, 203, 0x20, 0, 64}, 3265 {255, 197, 0x20, 0, 64}, 3266 {255, 191, 0x20, 0, 64}, 3267 {255, 186, 0x20, 0, 64}, 3268 {255, 181, 0x20, 0, 64}, 3269 {255, 175, 0x20, 0, 64}, 3270 {255, 170, 0x20, 0, 64}, 3271 {255, 166, 0x20, 0, 64}, 3272 {255, 161, 0x20, 0, 64}, 3273 {255, 156, 0x20, 0, 64}, 3274 {255, 152, 0x20, 0, 64}, 3275 {255, 148, 0x20, 0, 64}, 3276 {255, 143, 0x20, 0, 64}, 3277 {255, 139, 0x20, 0, 64}, 3278 {255, 135, 0x20, 0, 64}, 3279 {255, 132, 0x20, 0, 64}, 3280 {255, 255, 0x10, 0, 64}, 3281 {255, 248, 0x10, 0, 64}, 3282 }; 3283