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