linux/drivers/net/wireless/brcm80211/brcmsmac/phy/phytbl_lcn.c
<<
>>
Prefs
   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
  20static 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
 119static 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
 218static 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
 259static 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
 410static 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
 451static 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
 522static 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
 677static 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
 776static 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
 875static 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
 916static 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
 987static 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
1142static 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
1183static 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
1254static 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
1409static 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
1508const 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
1521static 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
1534const 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
1551const 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
1568const 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
1582const 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
1599const u32 dot11lcnphytbl_rx_gain_info_sz_rev0 =
1600        ARRAY_SIZE(dot11lcnphytbl_rx_gain_info_rev0);
1601
1602const u32 dot11lcnphytbl_rx_gain_info_2G_rev2_sz =
1603        ARRAY_SIZE(dot11lcnphytbl_rx_gain_info_2G_rev2);
1604
1605const u32 dot11lcnphytbl_rx_gain_info_5G_rev2_sz =
1606        ARRAY_SIZE(dot11lcnphytbl_rx_gain_info_5G_rev2);
1607
1608static 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
1675static 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
1742static 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
1755static 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
1778static 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
1846static 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
1913static 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
1980static 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
2047static 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
2114static 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
2181static 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
2200static 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
2263static 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
2394static 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
2551static 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
2662static 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
2825const 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
2873const 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
2878const 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
2883const 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
2888const 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
2893const 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
2898const u32 dot11lcnphytbl_info_sz_rev0 =
2899        ARRAY_SIZE(dot11lcnphytbl_info_rev0);
2900
2901const struct lcnphy_tx_gain_tbl_entry
2902dot11lcnphy_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
3033const 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
3164const 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