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