~ubuntu-branches/ubuntu/precise/linux-lowlatency/precise

« back to all changes in this revision

Viewing changes to drivers/net/wireless/b43/tables_lpphy.c

  • Committer: Package Import Robot
  • Author(s): Alessio Igor Bogani
  • Date: 2011-10-26 11:13:05 UTC
  • Revision ID: package-import@ubuntu.com-20111026111305-tz023xykf0i6eosh
Tags: upstream-3.2.0
ImportĀ upstreamĀ versionĀ 3.2.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 
 
3
  Broadcom B43 wireless driver
 
4
  IEEE 802.11a/g LP-PHY and radio device data tables
 
5
 
 
6
  Copyright (c) 2009 Michael Buesch <m@bues.ch>
 
7
  Copyright (c) 2009 GĆ”bor Stefanik <netrolller.3d@gmail.com>
 
8
 
 
9
  This program is free software; you can redistribute it and/or modify
 
10
  it under the terms of the GNU General Public License as published by
 
11
  the Free Software Foundation; either version 2 of the License, or
 
12
  (at your option) any later version.
 
13
 
 
14
  This program is distributed in the hope that it will be useful,
 
15
  but WITHOUT ANY WARRANTY; without even the implied warranty of
 
16
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
17
  GNU General Public License for more details.
 
18
 
 
19
  You should have received a copy of the GNU General Public License
 
20
  along with this program; see the file COPYING.  If not, write to
 
21
  the Free Software Foundation, Inc., 51 Franklin Steet, Fifth Floor,
 
22
  Boston, MA 02110-1301, USA.
 
23
 
 
24
*/
 
25
 
 
26
#include "b43.h"
 
27
#include "tables_lpphy.h"
 
28
#include "phy_common.h"
 
29
#include "phy_lp.h"
 
30
 
 
31
 
 
32
/* Entry of the 2062/2063 radio init table */
 
33
struct b206x_init_tab_entry {
 
34
        u16 offset;
 
35
        u16 value_a;
 
36
        u16 value_g;
 
37
        u8 flags;
 
38
};
 
39
#define B206X_FLAG_A    0x01 /* Flag: Init in A mode */
 
40
#define B206X_FLAG_G    0x02 /* Flag: Init in G mode */
 
41
 
 
42
static const struct b206x_init_tab_entry b2062_init_tab[] = {
 
43
        /* { .offset = B2062_N_COMM1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
44
        /* { .offset = 0x0001, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
45
        /* { .offset = B2062_N_COMM2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
46
        /* { .offset = B2062_N_COMM3, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
47
        { .offset = B2062_N_COMM4, .value_a = 0x0001, .value_g = 0x0000, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
48
        /* { .offset = B2062_N_COMM5, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
49
        /* { .offset = B2062_N_COMM6, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
50
        /* { .offset = B2062_N_COMM7, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
51
        /* { .offset = B2062_N_COMM8, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
52
        /* { .offset = B2062_N_COMM9, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
53
        /* { .offset = B2062_N_COMM10, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
54
        /* { .offset = B2062_N_COMM11, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
55
        /* { .offset = B2062_N_COMM12, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
56
        /* { .offset = B2062_N_COMM13, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
57
        /* { .offset = B2062_N_COMM14, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
58
        /* { .offset = B2062_N_COMM15, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
59
        /* { .offset = B2062_N_PDN_CTL0, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
60
        { .offset = B2062_N_PDN_CTL1, .value_a = 0x0000, .value_g = 0x00CA, .flags = B206X_FLAG_G, },
 
61
        /* { .offset = B2062_N_PDN_CTL2, .value_a = 0x0018, .value_g = 0x0018, .flags = 0, }, */
 
62
        { .offset = B2062_N_PDN_CTL3, .value_a = 0x0000, .value_g = 0x0000, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
63
        { .offset = B2062_N_PDN_CTL4, .value_a = 0x0015, .value_g = 0x002A, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
64
        /* { .offset = B2062_N_GEN_CTL0, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
65
        /* { .offset = B2062_N_IQ_CALIB, .value_a = 0x0001, .value_g = 0x0001, .flags = 0, }, */
 
66
        { .offset = B2062_N_LGENC, .value_a = 0x00DB, .value_g = 0x00FF, .flags = B206X_FLAG_A, },
 
67
        /* { .offset = B2062_N_LGENA_LPF, .value_a = 0x0001, .value_g = 0x0001, .flags = 0, }, */
 
68
        /* { .offset = B2062_N_LGENA_BIAS0, .value_a = 0x0041, .value_g = 0x0041, .flags = 0, }, */
 
69
        /* { .offset = B2062_N_LGNEA_BIAS1, .value_a = 0x0002, .value_g = 0x0002, .flags = 0, }, */
 
70
        /* { .offset = B2062_N_LGENA_CTL0, .value_a = 0x0032, .value_g = 0x0032, .flags = 0, }, */
 
71
        /* { .offset = B2062_N_LGENA_CTL1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
72
        /* { .offset = B2062_N_LGENA_CTL2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
73
        { .offset = B2062_N_LGENA_TUNE0, .value_a = 0x00DD, .value_g = 0x0000, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
74
        /* { .offset = B2062_N_LGENA_TUNE1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
75
        { .offset = B2062_N_LGENA_TUNE2, .value_a = 0x00DD, .value_g = 0x0000, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
76
        { .offset = B2062_N_LGENA_TUNE3, .value_a = 0x0077, .value_g = 0x00B5, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
77
        { .offset = B2062_N_LGENA_CTL3, .value_a = 0x0000, .value_g = 0x00FF, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
78
        /* { .offset = B2062_N_LGENA_CTL4, .value_a = 0x001F, .value_g = 0x001F, .flags = 0, }, */
 
79
        /* { .offset = B2062_N_LGENA_CTL5, .value_a = 0x0032, .value_g = 0x0032, .flags = 0, }, */
 
80
        /* { .offset = B2062_N_LGENA_CTL6, .value_a = 0x0032, .value_g = 0x0032, .flags = 0, }, */
 
81
        { .offset = B2062_N_LGENA_CTL7, .value_a = 0x0033, .value_g = 0x0033, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
82
        /* { .offset = B2062_N_RXA_CTL0, .value_a = 0x0009, .value_g = 0x0009, .flags = 0, }, */
 
83
        { .offset = B2062_N_RXA_CTL1, .value_a = 0x0000, .value_g = 0x0000, .flags = B206X_FLAG_G, },
 
84
        /* { .offset = B2062_N_RXA_CTL2, .value_a = 0x0018, .value_g = 0x0018, .flags = 0, }, */
 
85
        /* { .offset = B2062_N_RXA_CTL3, .value_a = 0x0027, .value_g = 0x0027, .flags = 0, }, */
 
86
        /* { .offset = B2062_N_RXA_CTL4, .value_a = 0x0028, .value_g = 0x0028, .flags = 0, }, */
 
87
        /* { .offset = B2062_N_RXA_CTL5, .value_a = 0x0007, .value_g = 0x0007, .flags = 0, }, */
 
88
        /* { .offset = B2062_N_RXA_CTL6, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
89
        /* { .offset = B2062_N_RXA_CTL7, .value_a = 0x0008, .value_g = 0x0008, .flags = 0, }, */
 
90
        { .offset = B2062_N_RXBB_CTL0, .value_a = 0x0082, .value_g = 0x0080, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
91
        /* { .offset = B2062_N_RXBB_CTL1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
92
        /* { .offset = B2062_N_RXBB_CTL2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
93
        /* { .offset = B2062_N_RXBB_GAIN0, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
94
        { .offset = B2062_N_RXBB_GAIN1, .value_a = 0x0004, .value_g = 0x0004, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
95
        { .offset = B2062_N_RXBB_GAIN2, .value_a = 0x0000, .value_g = 0x0000, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
96
        /* { .offset = B2062_N_RXBB_GAIN3, .value_a = 0x0011, .value_g = 0x0011, .flags = 0, }, */
 
97
        /* { .offset = B2062_N_RXBB_RSSI0, .value_a = 0x0043, .value_g = 0x0043, .flags = 0, }, */
 
98
        /* { .offset = B2062_N_RXBB_RSSI1, .value_a = 0x0033, .value_g = 0x0033, .flags = 0, }, */
 
99
        /* { .offset = B2062_N_RXBB_CALIB0, .value_a = 0x0010, .value_g = 0x0010, .flags = 0, }, */
 
100
        /* { .offset = B2062_N_RXBB_CALIB1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
101
        /* { .offset = B2062_N_RXBB_CALIB2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
102
        /* { .offset = B2062_N_RXBB_BIAS0, .value_a = 0x0006, .value_g = 0x0006, .flags = 0, }, */
 
103
        /* { .offset = B2062_N_RXBB_BIAS1, .value_a = 0x002A, .value_g = 0x002A, .flags = 0, }, */
 
104
        /* { .offset = B2062_N_RXBB_BIAS2, .value_a = 0x00AA, .value_g = 0x00AA, .flags = 0, }, */
 
105
        /* { .offset = B2062_N_RXBB_BIAS3, .value_a = 0x0021, .value_g = 0x0021, .flags = 0, }, */
 
106
        /* { .offset = B2062_N_RXBB_BIAS4, .value_a = 0x00AA, .value_g = 0x00AA, .flags = 0, }, */
 
107
        /* { .offset = B2062_N_RXBB_BIAS5, .value_a = 0x0022, .value_g = 0x0022, .flags = 0, }, */
 
108
        /* { .offset = B2062_N_RXBB_RSSI2, .value_a = 0x0001, .value_g = 0x0001, .flags = 0, }, */
 
109
        /* { .offset = B2062_N_RXBB_RSSI3, .value_a = 0x0055, .value_g = 0x0055, .flags = 0, }, */
 
110
        /* { .offset = B2062_N_RXBB_RSSI4, .value_a = 0x0001, .value_g = 0x0001, .flags = 0, }, */
 
111
        /* { .offset = B2062_N_RXBB_RSSI5, .value_a = 0x0055, .value_g = 0x0055, .flags = 0, }, */
 
112
        /* { .offset = B2062_N_TX_CTL0, .value_a = 0x0001, .value_g = 0x0001, .flags = 0, }, */
 
113
        /* { .offset = B2062_N_TX_CTL1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
114
        /* { .offset = B2062_N_TX_CTL2, .value_a = 0x0084, .value_g = 0x0084, .flags = 0, }, */
 
115
        /* { .offset = B2062_N_TX_CTL3, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
116
        { .offset = B2062_N_TX_CTL4, .value_a = 0x0003, .value_g = 0x0003, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
117
        { .offset = B2062_N_TX_CTL5, .value_a = 0x0002, .value_g = 0x0002, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
118
        /* { .offset = B2062_N_TX_CTL6, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
119
        /* { .offset = B2062_N_TX_CTL7, .value_a = 0x0058, .value_g = 0x0058, .flags = 0, }, */
 
120
        /* { .offset = B2062_N_TX_CTL8, .value_a = 0x0082, .value_g = 0x0082, .flags = 0, }, */
 
121
        /* { .offset = B2062_N_TX_CTL9, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
122
        /* { .offset = B2062_N_TX_CTL_A, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
123
        /* { .offset = B2062_N_TX_GC2G, .value_a = 0x00FF, .value_g = 0x00FF, .flags = 0, }, */
 
124
        /* { .offset = B2062_N_TX_GC5G, .value_a = 0x00FF, .value_g = 0x00FF, .flags = 0, }, */
 
125
        { .offset = B2062_N_TX_TUNE, .value_a = 0x0088, .value_g = 0x001B, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
126
        /* { .offset = B2062_N_TX_PAD, .value_a = 0x0088, .value_g = 0x0088, .flags = 0, }, */
 
127
        /* { .offset = B2062_N_TX_PGA, .value_a = 0x0088, .value_g = 0x0088, .flags = 0, }, */
 
128
        /* { .offset = B2062_N_TX_PADAUX, .value_a = 0x0033, .value_g = 0x0033, .flags = 0, }, */
 
129
        /* { .offset = B2062_N_TX_PGAAUX, .value_a = 0x0033, .value_g = 0x0033, .flags = 0, }, */
 
130
        /* { .offset = B2062_N_TSSI_CTL0, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
131
        /* { .offset = B2062_N_TSSI_CTL1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
132
        /* { .offset = B2062_N_TSSI_CTL2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
133
        /* { .offset = B2062_N_IQ_CALIB_CTL0, .value_a = 0x0033, .value_g = 0x0033, .flags = 0, }, */
 
134
        /* { .offset = B2062_N_IQ_CALIB_CTL1, .value_a = 0x0055, .value_g = 0x0055, .flags = 0, }, */
 
135
        /* { .offset = B2062_N_IQ_CALIB_CTL2, .value_a = 0x0032, .value_g = 0x0032, .flags = 0, }, */
 
136
        /* { .offset = B2062_N_CALIB_TS, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
137
        /* { .offset = B2062_N_CALIB_CTL0, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
138
        /* { .offset = B2062_N_CALIB_CTL1, .value_a = 0x0015, .value_g = 0x0015, .flags = 0, }, */
 
139
        /* { .offset = B2062_N_CALIB_CTL2, .value_a = 0x000F, .value_g = 0x000F, .flags = 0, }, */
 
140
        /* { .offset = B2062_N_CALIB_CTL3, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
141
        /* { .offset = B2062_N_CALIB_CTL4, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
142
        /* { .offset = B2062_N_CALIB_DBG0, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
143
        /* { .offset = B2062_N_CALIB_DBG1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
144
        /* { .offset = B2062_N_CALIB_DBG2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
145
        /* { .offset = B2062_N_CALIB_DBG3, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
146
        /* { .offset = B2062_N_PSENSE_CTL0, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
147
        /* { .offset = B2062_N_PSENSE_CTL1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
148
        /* { .offset = B2062_N_PSENSE_CTL2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
149
        /* { .offset = B2062_N_TEST_BUF0, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
150
        /* { .offset = B2062_S_COMM1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
151
        /* { .offset = B2062_S_RADIO_ID_CODE, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
152
        /* { .offset = B2062_S_COMM2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
153
        /* { .offset = B2062_S_COMM3, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
154
        { .offset = B2062_S_COMM4, .value_a = 0x0001, .value_g = 0x0000, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
155
        /* { .offset = B2062_S_COMM5, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
156
        /* { .offset = B2062_S_COMM6, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
157
        /* { .offset = B2062_S_COMM7, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
158
        /* { .offset = B2062_S_COMM8, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
159
        /* { .offset = B2062_S_COMM9, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
160
        /* { .offset = B2062_S_COMM10, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
161
        /* { .offset = B2062_S_COMM11, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
162
        /* { .offset = B2062_S_COMM12, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
163
        /* { .offset = B2062_S_COMM13, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
164
        /* { .offset = B2062_S_COMM14, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
165
        /* { .offset = B2062_S_COMM15, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
166
        { .offset = B2062_S_PDS_CTL0, .value_a = 0x00FF, .value_g = 0x00FF, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
167
        /* { .offset = B2062_S_PDS_CTL1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
168
        /* { .offset = B2062_S_PDS_CTL2, .value_a = 0x008E, .value_g = 0x008E, .flags = 0, }, */
 
169
        /* { .offset = B2062_S_PDS_CTL3, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
170
        /* { .offset = B2062_S_BG_CTL0, .value_a = 0x0006, .value_g = 0x0006, .flags = 0, }, */
 
171
        /* { .offset = B2062_S_BG_CTL1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
172
        /* { .offset = B2062_S_BG_CTL2, .value_a = 0x0011, .value_g = 0x0011, .flags = 0, }, */
 
173
        { .offset = B2062_S_LGENG_CTL0, .value_a = 0x00F8, .value_g = 0x00D8, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
174
        { .offset = B2062_S_LGENG_CTL1, .value_a = 0x003C, .value_g = 0x0024, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
175
        /* { .offset = B2062_S_LGENG_CTL2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
176
        /* { .offset = B2062_S_LGENG_CTL3, .value_a = 0x0041, .value_g = 0x0041, .flags = 0, }, */
 
177
        /* { .offset = B2062_S_LGENG_CTL4, .value_a = 0x0002, .value_g = 0x0002, .flags = 0, }, */
 
178
        /* { .offset = B2062_S_LGENG_CTL5, .value_a = 0x0033, .value_g = 0x0033, .flags = 0, }, */
 
179
        /* { .offset = B2062_S_LGENG_CTL6, .value_a = 0x0022, .value_g = 0x0022, .flags = 0, }, */
 
180
        /* { .offset = B2062_S_LGENG_CTL7, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
181
        { .offset = B2062_S_LGENG_CTL8, .value_a = 0x0088, .value_g = 0x0080, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
182
        /* { .offset = B2062_S_LGENG_CTL9, .value_a = 0x0088, .value_g = 0x0088, .flags = 0, }, */
 
183
        { .offset = B2062_S_LGENG_CTL10, .value_a = 0x0088, .value_g = 0x0080, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
184
        /* { .offset = B2062_S_LGENG_CTL11, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
185
        /* { .offset = B2062_S_REFPLL_CTL0, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
186
        /* { .offset = B2062_S_REFPLL_CTL1, .value_a = 0x0007, .value_g = 0x0007, .flags = 0, }, */
 
187
        /* { .offset = B2062_S_REFPLL_CTL2, .value_a = 0x00AF, .value_g = 0x00AF, .flags = 0, }, */
 
188
        /* { .offset = B2062_S_REFPLL_CTL3, .value_a = 0x0012, .value_g = 0x0012, .flags = 0, }, */
 
189
        /* { .offset = B2062_S_REFPLL_CTL4, .value_a = 0x000B, .value_g = 0x000B, .flags = 0, }, */
 
190
        /* { .offset = B2062_S_REFPLL_CTL5, .value_a = 0x005F, .value_g = 0x005F, .flags = 0, }, */
 
191
        /* { .offset = B2062_S_REFPLL_CTL6, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
192
        /* { .offset = B2062_S_REFPLL_CTL7, .value_a = 0x0040, .value_g = 0x0040, .flags = 0, }, */
 
193
        /* { .offset = B2062_S_REFPLL_CTL8, .value_a = 0x0052, .value_g = 0x0052, .flags = 0, }, */
 
194
        /* { .offset = B2062_S_REFPLL_CTL9, .value_a = 0x0026, .value_g = 0x0026, .flags = 0, }, */
 
195
        /* { .offset = B2062_S_REFPLL_CTL10, .value_a = 0x0003, .value_g = 0x0003, .flags = 0, }, */
 
196
        /* { .offset = B2062_S_REFPLL_CTL11, .value_a = 0x0036, .value_g = 0x0036, .flags = 0, }, */
 
197
        /* { .offset = B2062_S_REFPLL_CTL12, .value_a = 0x0057, .value_g = 0x0057, .flags = 0, }, */
 
198
        /* { .offset = B2062_S_REFPLL_CTL13, .value_a = 0x0011, .value_g = 0x0011, .flags = 0, }, */
 
199
        /* { .offset = B2062_S_REFPLL_CTL14, .value_a = 0x0075, .value_g = 0x0075, .flags = 0, }, */
 
200
        /* { .offset = B2062_S_REFPLL_CTL15, .value_a = 0x00B4, .value_g = 0x00B4, .flags = 0, }, */
 
201
        /* { .offset = B2062_S_REFPLL_CTL16, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
202
        { .offset = B2062_S_RFPLL_CTL0, .value_a = 0x0098, .value_g = 0x0098, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
203
        { .offset = B2062_S_RFPLL_CTL1, .value_a = 0x0010, .value_g = 0x0010, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
204
        /* { .offset = B2062_S_RFPLL_CTL2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
205
        /* { .offset = B2062_S_RFPLL_CTL3, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
206
        /* { .offset = B2062_S_RFPLL_CTL4, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
207
        { .offset = B2062_S_RFPLL_CTL5, .value_a = 0x0043, .value_g = 0x0043, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
208
        { .offset = B2062_S_RFPLL_CTL6, .value_a = 0x0047, .value_g = 0x0047, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
209
        { .offset = B2062_S_RFPLL_CTL7, .value_a = 0x000C, .value_g = 0x000C, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
210
        { .offset = B2062_S_RFPLL_CTL8, .value_a = 0x0011, .value_g = 0x0011, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
211
        { .offset = B2062_S_RFPLL_CTL9, .value_a = 0x0011, .value_g = 0x0011, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
212
        { .offset = B2062_S_RFPLL_CTL10, .value_a = 0x000E, .value_g = 0x000E, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
213
        { .offset = B2062_S_RFPLL_CTL11, .value_a = 0x0008, .value_g = 0x0008, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
214
        { .offset = B2062_S_RFPLL_CTL12, .value_a = 0x0033, .value_g = 0x0033, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
215
        { .offset = B2062_S_RFPLL_CTL13, .value_a = 0x000A, .value_g = 0x000A, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
216
        { .offset = B2062_S_RFPLL_CTL14, .value_a = 0x0006, .value_g = 0x0006, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
217
        /* { .offset = B2062_S_RFPLL_CTL15, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
218
        /* { .offset = B2062_S_RFPLL_CTL16, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
219
        /* { .offset = B2062_S_RFPLL_CTL17, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
220
        { .offset = B2062_S_RFPLL_CTL18, .value_a = 0x003E, .value_g = 0x003E, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
221
        { .offset = B2062_S_RFPLL_CTL19, .value_a = 0x0013, .value_g = 0x0013, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
222
        /* { .offset = B2062_S_RFPLL_CTL20, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
223
        { .offset = B2062_S_RFPLL_CTL21, .value_a = 0x0062, .value_g = 0x0062, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
224
        { .offset = B2062_S_RFPLL_CTL22, .value_a = 0x0007, .value_g = 0x0007, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
225
        { .offset = B2062_S_RFPLL_CTL23, .value_a = 0x0016, .value_g = 0x0016, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
226
        { .offset = B2062_S_RFPLL_CTL24, .value_a = 0x005C, .value_g = 0x005C, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
227
        { .offset = B2062_S_RFPLL_CTL25, .value_a = 0x0095, .value_g = 0x0095, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
228
        /* { .offset = B2062_S_RFPLL_CTL26, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
229
        /* { .offset = B2062_S_RFPLL_CTL27, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
230
        /* { .offset = B2062_S_RFPLL_CTL28, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
231
        /* { .offset = B2062_S_RFPLL_CTL29, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
232
        { .offset = B2062_S_RFPLL_CTL30, .value_a = 0x00A0, .value_g = 0x00A0, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
233
        { .offset = B2062_S_RFPLL_CTL31, .value_a = 0x0004, .value_g = 0x0004, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
234
        /* { .offset = B2062_S_RFPLL_CTL32, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
235
        { .offset = B2062_S_RFPLL_CTL33, .value_a = 0x00CC, .value_g = 0x00CC, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
236
        { .offset = B2062_S_RFPLL_CTL34, .value_a = 0x0007, .value_g = 0x0007, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
237
        /* { .offset = B2062_S_RXG_CNT0, .value_a = 0x0010, .value_g = 0x0010, .flags = 0, }, */
 
238
        /* { .offset = B2062_S_RXG_CNT1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
239
        /* { .offset = B2062_S_RXG_CNT2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
240
        /* { .offset = B2062_S_RXG_CNT3, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
241
        /* { .offset = B2062_S_RXG_CNT4, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
242
        /* { .offset = B2062_S_RXG_CNT5, .value_a = 0x0055, .value_g = 0x0055, .flags = 0, }, */
 
243
        /* { .offset = B2062_S_RXG_CNT6, .value_a = 0x0055, .value_g = 0x0055, .flags = 0, }, */
 
244
        /* { .offset = B2062_S_RXG_CNT7, .value_a = 0x0005, .value_g = 0x0005, .flags = 0, }, */
 
245
        { .offset = B2062_S_RXG_CNT8, .value_a = 0x000F, .value_g = 0x000F, .flags = B206X_FLAG_A, },
 
246
        /* { .offset = B2062_S_RXG_CNT9, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
247
        /* { .offset = B2062_S_RXG_CNT10, .value_a = 0x0055, .value_g = 0x0055, .flags = 0, }, */
 
248
        /* { .offset = B2062_S_RXG_CNT11, .value_a = 0x0066, .value_g = 0x0066, .flags = 0, }, */
 
249
        /* { .offset = B2062_S_RXG_CNT12, .value_a = 0x0055, .value_g = 0x0055, .flags = 0, }, */
 
250
        /* { .offset = B2062_S_RXG_CNT13, .value_a = 0x0044, .value_g = 0x0044, .flags = 0, }, */
 
251
        /* { .offset = B2062_S_RXG_CNT14, .value_a = 0x00A0, .value_g = 0x00A0, .flags = 0, }, */
 
252
        /* { .offset = B2062_S_RXG_CNT15, .value_a = 0x0004, .value_g = 0x0004, .flags = 0, }, */
 
253
        /* { .offset = B2062_S_RXG_CNT16, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
254
        /* { .offset = B2062_S_RXG_CNT17, .value_a = 0x0055, .value_g = 0x0055, .flags = 0, }, */
 
255
};
 
256
 
 
257
static const struct b206x_init_tab_entry b2063_init_tab[] = {
 
258
        { .offset = B2063_COMM1, .value_a = 0x0000, .value_g = 0x0000, .flags = B206X_FLAG_G, },
 
259
        /* { .offset = B2063_COMM2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
260
        /* { .offset = B2063_COMM3, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
261
        /* { .offset = B2063_COMM4, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
262
        /* { .offset = B2063_COMM5, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
263
        /* { .offset = B2063_COMM6, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
264
        /* { .offset = B2063_COMM7, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
265
        /* { .offset = B2063_COMM8, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
266
        /* { .offset = B2063_COMM9, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
267
        { .offset = B2063_COMM10, .value_a = 0x0001, .value_g = 0x0000, .flags = B206X_FLAG_A, },
 
268
        /* { .offset = B2063_COMM11, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
269
        /* { .offset = B2063_COMM12, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
270
        /* { .offset = B2063_COMM13, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
271
        /* { .offset = B2063_COMM14, .value_a = 0x0006, .value_g = 0x0006, .flags = 0, }, */
 
272
        /* { .offset = B2063_COMM15, .value_a = 0x000f, .value_g = 0x000f, .flags = 0, }, */
 
273
        { .offset = B2063_COMM16, .value_a = 0x0000, .value_g = 0x0000, .flags = B206X_FLAG_G, },
 
274
        { .offset = B2063_COMM17, .value_a = 0x0000, .value_g = 0x0000, .flags = B206X_FLAG_G, },
 
275
        { .offset = B2063_COMM18, .value_a = 0x0000, .value_g = 0x0000, .flags = B206X_FLAG_G, },
 
276
        { .offset = B2063_COMM19, .value_a = 0x0000, .value_g = 0x0000, .flags = B206X_FLAG_G, },
 
277
        { .offset = B2063_COMM20, .value_a = 0x0000, .value_g = 0x0000, .flags = B206X_FLAG_G, },
 
278
        { .offset = B2063_COMM21, .value_a = 0x0000, .value_g = 0x0000, .flags = B206X_FLAG_G, },
 
279
        { .offset = B2063_COMM22, .value_a = 0x0000, .value_g = 0x0000, .flags = B206X_FLAG_G, },
 
280
        { .offset = B2063_COMM23, .value_a = 0x0000, .value_g = 0x0000, .flags = B206X_FLAG_G, },
 
281
        { .offset = B2063_COMM24, .value_a = 0x0000, .value_g = 0x0000, .flags = B206X_FLAG_G, },
 
282
        /* { .offset = B2063_PWR_SWITCH_CTL, .value_a = 0x007f, .value_g = 0x007f, .flags = 0, }, */
 
283
        /* { .offset = B2063_PLL_SP1, .value_a = 0x003f, .value_g = 0x003f, .flags = 0, }, */
 
284
        /* { .offset = B2063_PLL_SP2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
285
        { .offset = B2063_LOGEN_SP1, .value_a = 0x00e8, .value_g = 0x00d4, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
286
        { .offset = B2063_LOGEN_SP2, .value_a = 0x00a7, .value_g = 0x0053, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
287
        /* { .offset = B2063_LOGEN_SP3, .value_a = 0x00ff, .value_g = 0x00ff, .flags = 0, }, */
 
288
        { .offset = B2063_LOGEN_SP4, .value_a = 0x00f0, .value_g = 0x000f, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
289
        /* { .offset = B2063_LOGEN_SP5, .value_a = 0x0001, .value_g = 0x0001, .flags = 0, }, */
 
290
        { .offset = B2063_G_RX_SP1, .value_a = 0x001f, .value_g = 0x005e, .flags = B206X_FLAG_G, },
 
291
        { .offset = B2063_G_RX_SP2, .value_a = 0x007f, .value_g = 0x007e, .flags = B206X_FLAG_G, },
 
292
        { .offset = B2063_G_RX_SP3, .value_a = 0x0030, .value_g = 0x00f0, .flags = B206X_FLAG_G, },
 
293
        /* { .offset = B2063_G_RX_SP4, .value_a = 0x0035, .value_g = 0x0035, .flags = 0, }, */
 
294
        /* { .offset = B2063_G_RX_SP5, .value_a = 0x003f, .value_g = 0x003f, .flags = 0, }, */
 
295
        /* { .offset = B2063_G_RX_SP6, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
296
        { .offset = B2063_G_RX_SP7, .value_a = 0x007f, .value_g = 0x007f, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
297
        /* { .offset = B2063_G_RX_SP8, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
298
        /* { .offset = B2063_G_RX_SP9, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
299
        { .offset = B2063_G_RX_SP10, .value_a = 0x000c, .value_g = 0x000c, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
300
        /* { .offset = B2063_G_RX_SP11, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
301
        { .offset = B2063_A_RX_SP1, .value_a = 0x003c, .value_g = 0x003f, .flags = B206X_FLAG_A, },
 
302
        { .offset = B2063_A_RX_SP2, .value_a = 0x00fc, .value_g = 0x00fe, .flags = B206X_FLAG_A, },
 
303
        /* { .offset = B2063_A_RX_SP3, .value_a = 0x00ff, .value_g = 0x00ff, .flags = 0, }, */
 
304
        /* { .offset = B2063_A_RX_SP4, .value_a = 0x00ff, .value_g = 0x00ff, .flags = 0, }, */
 
305
        /* { .offset = B2063_A_RX_SP5, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
306
        /* { .offset = B2063_A_RX_SP6, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
307
        { .offset = B2063_A_RX_SP7, .value_a = 0x0008, .value_g = 0x0008, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
308
        /* { .offset = B2063_RX_BB_SP1, .value_a = 0x000f, .value_g = 0x000f, .flags = 0, }, */
 
309
        /* { .offset = B2063_RX_BB_SP2, .value_a = 0x0022, .value_g = 0x0022, .flags = 0, }, */
 
310
        /* { .offset = B2063_RX_BB_SP3, .value_a = 0x00a8, .value_g = 0x00a8, .flags = 0, }, */
 
311
        { .offset = B2063_RX_BB_SP4, .value_a = 0x0060, .value_g = 0x0060, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
312
        /* { .offset = B2063_RX_BB_SP5, .value_a = 0x0011, .value_g = 0x0011, .flags = 0, }, */
 
313
        /* { .offset = B2063_RX_BB_SP6, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
314
        /* { .offset = B2063_RX_BB_SP7, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
315
        { .offset = B2063_RX_BB_SP8, .value_a = 0x0030, .value_g = 0x0030, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
316
        /* { .offset = B2063_TX_RF_SP1, .value_a = 0x0001, .value_g = 0x0001, .flags = 0, }, */
 
317
        /* { .offset = B2063_TX_RF_SP2, .value_a = 0x0003, .value_g = 0x0003, .flags = 0, }, */
 
318
        { .offset = B2063_TX_RF_SP3, .value_a = 0x000c, .value_g = 0x000b, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
319
        { .offset = B2063_TX_RF_SP4, .value_a = 0x0010, .value_g = 0x000f, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
320
        /* { .offset = B2063_TX_RF_SP5, .value_a = 0x000f, .value_g = 0x000f, .flags = 0, }, */
 
321
        /* { .offset = B2063_TX_RF_SP6, .value_a = 0x0080, .value_g = 0x0080, .flags = 0, }, */
 
322
        /* { .offset = B2063_TX_RF_SP7, .value_a = 0x0068, .value_g = 0x0068, .flags = 0, }, */
 
323
        /* { .offset = B2063_TX_RF_SP8, .value_a = 0x0068, .value_g = 0x0068, .flags = 0, }, */
 
324
        /* { .offset = B2063_TX_RF_SP9, .value_a = 0x0080, .value_g = 0x0080, .flags = 0, }, */
 
325
        /* { .offset = B2063_TX_RF_SP10, .value_a = 0x00ff, .value_g = 0x00ff, .flags = 0, }, */
 
326
        /* { .offset = B2063_TX_RF_SP11, .value_a = 0x0003, .value_g = 0x0003, .flags = 0, }, */
 
327
        /* { .offset = B2063_TX_RF_SP12, .value_a = 0x0038, .value_g = 0x0038, .flags = 0, }, */
 
328
        /* { .offset = B2063_TX_RF_SP13, .value_a = 0x00ff, .value_g = 0x00ff, .flags = 0, }, */
 
329
        /* { .offset = B2063_TX_RF_SP14, .value_a = 0x0038, .value_g = 0x0038, .flags = 0, }, */
 
330
        /* { .offset = B2063_TX_RF_SP15, .value_a = 0x00c0, .value_g = 0x00c0, .flags = 0, }, */
 
331
        /* { .offset = B2063_TX_RF_SP16, .value_a = 0x00ff, .value_g = 0x00ff, .flags = 0, }, */
 
332
        /* { .offset = B2063_TX_RF_SP17, .value_a = 0x00ff, .value_g = 0x00ff, .flags = 0, }, */
 
333
        { .offset = B2063_PA_SP1, .value_a = 0x003d, .value_g = 0x00fd, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
334
        /* { .offset = B2063_PA_SP2, .value_a = 0x000c, .value_g = 0x000c, .flags = 0, }, */
 
335
        /* { .offset = B2063_PA_SP3, .value_a = 0x0096, .value_g = 0x0096, .flags = 0, }, */
 
336
        /* { .offset = B2063_PA_SP4, .value_a = 0x005a, .value_g = 0x005a, .flags = 0, }, */
 
337
        /* { .offset = B2063_PA_SP5, .value_a = 0x007f, .value_g = 0x007f, .flags = 0, }, */
 
338
        /* { .offset = B2063_PA_SP6, .value_a = 0x007f, .value_g = 0x007f, .flags = 0, }, */
 
339
        /* { .offset = B2063_PA_SP7, .value_a = 0x0033, .value_g = 0x0033, .flags = 0, }, */
 
340
        { .offset = B2063_TX_BB_SP1, .value_a = 0x0002, .value_g = 0x0002, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
341
        /* { .offset = B2063_TX_BB_SP2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
342
        /* { .offset = B2063_TX_BB_SP3, .value_a = 0x0030, .value_g = 0x0030, .flags = 0, }, */
 
343
        /* { .offset = B2063_REG_SP1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
344
        { .offset = B2063_BANDGAP_CTL1, .value_a = 0x0056, .value_g = 0x0056, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
345
        /* { .offset = B2063_BANDGAP_CTL2, .value_a = 0x0006, .value_g = 0x0006, .flags = 0, }, */
 
346
        /* { .offset = B2063_LPO_CTL1, .value_a = 0x000e, .value_g = 0x000e, .flags = 0, }, */
 
347
        /* { .offset = B2063_RC_CALIB_CTL1, .value_a = 0x007e, .value_g = 0x007e, .flags = 0, }, */
 
348
        /* { .offset = B2063_RC_CALIB_CTL2, .value_a = 0x0015, .value_g = 0x0015, .flags = 0, }, */
 
349
        /* { .offset = B2063_RC_CALIB_CTL3, .value_a = 0x000f, .value_g = 0x000f, .flags = 0, }, */
 
350
        /* { .offset = B2063_RC_CALIB_CTL4, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
351
        /* { .offset = B2063_RC_CALIB_CTL5, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
352
        /* { .offset = B2063_RC_CALIB_CTL6, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
353
        /* { .offset = B2063_RC_CALIB_CTL7, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
354
        /* { .offset = B2063_RC_CALIB_CTL8, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
355
        /* { .offset = B2063_RC_CALIB_CTL9, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
356
        /* { .offset = B2063_RC_CALIB_CTL10, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
357
        /* { .offset = B2063_PLL_JTAG_CALNRST, .value_a = 0x0004, .value_g = 0x0004, .flags = 0, }, */
 
358
        /* { .offset = B2063_PLL_JTAG_IN_PLL1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
359
        /* { .offset = B2063_PLL_JTAG_IN_PLL2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
360
        /* { .offset = B2063_PLL_JTAG_PLL_CP1, .value_a = 0x00cf, .value_g = 0x00cf, .flags = 0, }, */
 
361
        /* { .offset = B2063_PLL_JTAG_PLL_CP2, .value_a = 0x0059, .value_g = 0x0059, .flags = 0, }, */
 
362
        /* { .offset = B2063_PLL_JTAG_PLL_CP3, .value_a = 0x0007, .value_g = 0x0007, .flags = 0, }, */
 
363
        /* { .offset = B2063_PLL_JTAG_PLL_CP4, .value_a = 0x0042, .value_g = 0x0042, .flags = 0, }, */
 
364
        /* { .offset = B2063_PLL_JTAG_PLL_CTL1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
365
        /* { .offset = B2063_PLL_JTAG_PLL_LF1, .value_a = 0x00db, .value_g = 0x00db, .flags = 0, }, */
 
366
        /* { .offset = B2063_PLL_JTAG_PLL_LF2, .value_a = 0x0094, .value_g = 0x0094, .flags = 0, }, */
 
367
        /* { .offset = B2063_PLL_JTAG_PLL_LF3, .value_a = 0x0028, .value_g = 0x0028, .flags = 0, }, */
 
368
        /* { .offset = B2063_PLL_JTAG_PLL_LF4, .value_a = 0x0063, .value_g = 0x0063, .flags = 0, }, */
 
369
        /* { .offset = B2063_PLL_JTAG_PLL_SG1, .value_a = 0x0007, .value_g = 0x0007, .flags = 0, }, */
 
370
        /* { .offset = B2063_PLL_JTAG_PLL_SG2, .value_a = 0x00d3, .value_g = 0x00d3, .flags = 0, }, */
 
371
        /* { .offset = B2063_PLL_JTAG_PLL_SG3, .value_a = 0x00b1, .value_g = 0x00b1, .flags = 0, }, */
 
372
        /* { .offset = B2063_PLL_JTAG_PLL_SG4, .value_a = 0x003b, .value_g = 0x003b, .flags = 0, }, */
 
373
        /* { .offset = B2063_PLL_JTAG_PLL_SG5, .value_a = 0x0006, .value_g = 0x0006, .flags = 0, }, */
 
374
        /* { .offset = B2063_PLL_JTAG_PLL_VCO1, .value_a = 0x0058, .value_g = 0x0058, .flags = 0, }, */
 
375
        { .offset = B2063_PLL_JTAG_PLL_VCO2, .value_a = 0x00f7, .value_g = 0x00f7, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
376
        /* { .offset = B2063_PLL_JTAG_PLL_VCO_CALIB1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
377
        /* { .offset = B2063_PLL_JTAG_PLL_VCO_CALIB2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
378
        /* { .offset = B2063_PLL_JTAG_PLL_VCO_CALIB3, .value_a = 0x0002, .value_g = 0x0002, .flags = 0, }, */
 
379
        /* { .offset = B2063_PLL_JTAG_PLL_VCO_CALIB4, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
380
        /* { .offset = B2063_PLL_JTAG_PLL_VCO_CALIB5, .value_a = 0x0009, .value_g = 0x0009, .flags = 0, }, */
 
381
        /* { .offset = B2063_PLL_JTAG_PLL_VCO_CALIB6, .value_a = 0x0005, .value_g = 0x0005, .flags = 0, }, */
 
382
        /* { .offset = B2063_PLL_JTAG_PLL_VCO_CALIB7, .value_a = 0x0016, .value_g = 0x0016, .flags = 0, }, */
 
383
        /* { .offset = B2063_PLL_JTAG_PLL_VCO_CALIB8, .value_a = 0x006b, .value_g = 0x006b, .flags = 0, }, */
 
384
        /* { .offset = B2063_PLL_JTAG_PLL_VCO_CALIB9, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
385
        /* { .offset = B2063_PLL_JTAG_PLL_VCO_CALIB10, .value_a = 0x00b3, .value_g = 0x00b3, .flags = 0, }, */
 
386
        /* { .offset = B2063_PLL_JTAG_PLL_XTAL_12, .value_a = 0x0004, .value_g = 0x0004, .flags = 0, }, */
 
387
        /* { .offset = B2063_PLL_JTAG_PLL_XTAL3, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
388
        /* { .offset = B2063_LOGEN_ACL1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
389
        /* { .offset = B2063_LOGEN_ACL2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
390
        /* { .offset = B2063_LOGEN_ACL3, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
391
        /* { .offset = B2063_LOGEN_ACL4, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
392
        /* { .offset = B2063_LOGEN_ACL5, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
393
        /* { .offset = B2063_LO_CALIB_INPUTS, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
394
        /* { .offset = B2063_LO_CALIB_CTL1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
395
        /* { .offset = B2063_LO_CALIB_CTL2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
396
        /* { .offset = B2063_LO_CALIB_CTL3, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
397
        /* { .offset = B2063_LO_CALIB_WAITCNT, .value_a = 0x0002, .value_g = 0x0002, .flags = 0, }, */
 
398
        /* { .offset = B2063_LO_CALIB_OVR1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
399
        /* { .offset = B2063_LO_CALIB_OVR2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
400
        /* { .offset = B2063_LO_CALIB_OVAL1, .value_a = 0x0066, .value_g = 0x0066, .flags = 0, }, */
 
401
        /* { .offset = B2063_LO_CALIB_OVAL2, .value_a = 0x0066, .value_g = 0x0066, .flags = 0, }, */
 
402
        /* { .offset = B2063_LO_CALIB_OVAL3, .value_a = 0x0066, .value_g = 0x0066, .flags = 0, }, */
 
403
        /* { .offset = B2063_LO_CALIB_OVAL4, .value_a = 0x0066, .value_g = 0x0066, .flags = 0, }, */
 
404
        /* { .offset = B2063_LO_CALIB_OVAL5, .value_a = 0x0066, .value_g = 0x0066, .flags = 0, }, */
 
405
        /* { .offset = B2063_LO_CALIB_OVAL6, .value_a = 0x0066, .value_g = 0x0066, .flags = 0, }, */
 
406
        /* { .offset = B2063_LO_CALIB_OVAL7, .value_a = 0x0066, .value_g = 0x0066, .flags = 0, }, */
 
407
        /* { .offset = B2063_LO_CALIB_CALVLD1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
408
        /* { .offset = B2063_LO_CALIB_CALVLD2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
409
        /* { .offset = B2063_LO_CALIB_CVAL1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
410
        /* { .offset = B2063_LO_CALIB_CVAL2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
411
        /* { .offset = B2063_LO_CALIB_CVAL3, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
412
        /* { .offset = B2063_LO_CALIB_CVAL4, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
413
        /* { .offset = B2063_LO_CALIB_CVAL5, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
414
        /* { .offset = B2063_LO_CALIB_CVAL6, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
415
        /* { .offset = B2063_LO_CALIB_CVAL7, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
416
        /* { .offset = B2063_LOGEN_CALIB_EN, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
417
        /* { .offset = B2063_LOGEN_PEAKDET1, .value_a = 0x00ff, .value_g = 0x00ff, .flags = 0, }, */
 
418
        /* { .offset = B2063_LOGEN_RCCR1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
419
        /* { .offset = B2063_LOGEN_VCOBUF1, .value_a = 0x0060, .value_g = 0x0060, .flags = 0, }, */
 
420
        /* { .offset = B2063_LOGEN_MIXER1, .value_a = 0x0066, .value_g = 0x0066, .flags = 0, }, */
 
421
        /* { .offset = B2063_LOGEN_MIXER2, .value_a = 0x000c, .value_g = 0x000c, .flags = 0, }, */
 
422
        /* { .offset = B2063_LOGEN_BUF1, .value_a = 0x0066, .value_g = 0x0066, .flags = 0, }, */
 
423
        /* { .offset = B2063_LOGEN_BUF2, .value_a = 0x000c, .value_g = 0x000c, .flags = 0, }, */
 
424
        /* { .offset = B2063_LOGEN_DIV1, .value_a = 0x0001, .value_g = 0x0001, .flags = 0, }, */
 
425
        /* { .offset = B2063_LOGEN_DIV2, .value_a = 0x0066, .value_g = 0x0066, .flags = 0, }, */
 
426
        /* { .offset = B2063_LOGEN_DIV3, .value_a = 0x0066, .value_g = 0x0066, .flags = 0, }, */
 
427
        /* { .offset = B2063_LOGEN_CBUFRX1, .value_a = 0x0066, .value_g = 0x0066, .flags = 0, }, */
 
428
        /* { .offset = B2063_LOGEN_CBUFRX2, .value_a = 0x0066, .value_g = 0x0066, .flags = 0, }, */
 
429
        /* { .offset = B2063_LOGEN_CBUFTX1, .value_a = 0x0066, .value_g = 0x0066, .flags = 0, }, */
 
430
        /* { .offset = B2063_LOGEN_CBUFTX2, .value_a = 0x0066, .value_g = 0x0066, .flags = 0, }, */
 
431
        /* { .offset = B2063_LOGEN_IDAC1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
432
        /* { .offset = B2063_LOGEN_SPARE1, .value_a = 0x0001, .value_g = 0x0001, .flags = 0, }, */
 
433
        /* { .offset = B2063_LOGEN_SPARE2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
434
        /* { .offset = B2063_LOGEN_SPARE3, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
435
        /* { .offset = B2063_G_RX_1ST1, .value_a = 0x0033, .value_g = 0x0033, .flags = 0, }, */
 
436
        /* { .offset = B2063_G_RX_1ST2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
437
        /* { .offset = B2063_G_RX_1ST3, .value_a = 0x0005, .value_g = 0x0005, .flags = 0, }, */
 
438
        /* { .offset = B2063_G_RX_2ND1, .value_a = 0x0030, .value_g = 0x0030, .flags = 0, }, */
 
439
        /* { .offset = B2063_G_RX_2ND2, .value_a = 0x0055, .value_g = 0x0055, .flags = 0, }, */
 
440
        /* { .offset = B2063_G_RX_2ND3, .value_a = 0x0033, .value_g = 0x0033, .flags = 0, }, */
 
441
        /* { .offset = B2063_G_RX_2ND4, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
442
        /* { .offset = B2063_G_RX_2ND5, .value_a = 0x0033, .value_g = 0x0033, .flags = 0, }, */
 
443
        /* { .offset = B2063_G_RX_2ND6, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
444
        /* { .offset = B2063_G_RX_2ND7, .value_a = 0x0035, .value_g = 0x0035, .flags = 0, }, */
 
445
        /* { .offset = B2063_G_RX_2ND8, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
446
        /* { .offset = B2063_G_RX_PS1, .value_a = 0x0033, .value_g = 0x0033, .flags = 0, }, */
 
447
        /* { .offset = B2063_G_RX_PS2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
448
        /* { .offset = B2063_G_RX_PS3, .value_a = 0x0033, .value_g = 0x0033, .flags = 0, }, */
 
449
        /* { .offset = B2063_G_RX_PS4, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
450
        /* { .offset = B2063_G_RX_PS5, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
451
        /* { .offset = B2063_G_RX_MIX1, .value_a = 0x0044, .value_g = 0x0044, .flags = 0, }, */
 
452
        /* { .offset = B2063_G_RX_MIX2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
453
        { .offset = B2063_G_RX_MIX3, .value_a = 0x0071, .value_g = 0x0071, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
454
        { .offset = B2063_G_RX_MIX4, .value_a = 0x0071, .value_g = 0x0071, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
455
        /* { .offset = B2063_G_RX_MIX5, .value_a = 0x0003, .value_g = 0x0003, .flags = 0, }, */
 
456
        /* { .offset = B2063_G_RX_MIX6, .value_a = 0x0088, .value_g = 0x0088, .flags = 0, }, */
 
457
        /* { .offset = B2063_G_RX_MIX7, .value_a = 0x0044, .value_g = 0x0044, .flags = 0, }, */
 
458
        /* { .offset = B2063_G_RX_MIX8, .value_a = 0x0001, .value_g = 0x0001, .flags = 0, }, */
 
459
        /* { .offset = B2063_G_RX_PDET1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
460
        /* { .offset = B2063_G_RX_SPARES1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
461
        /* { .offset = B2063_G_RX_SPARES2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
462
        /* { .offset = B2063_G_RX_SPARES3, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
463
        /* { .offset = B2063_A_RX_1ST1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
464
        { .offset = B2063_A_RX_1ST2, .value_a = 0x00f0, .value_g = 0x0030, .flags = B206X_FLAG_A, },
 
465
        /* { .offset = B2063_A_RX_1ST3, .value_a = 0x0005, .value_g = 0x0005, .flags = 0, }, */
 
466
        /* { .offset = B2063_A_RX_1ST4, .value_a = 0x0033, .value_g = 0x0033, .flags = 0, }, */
 
467
        /* { .offset = B2063_A_RX_1ST5, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
468
        /* { .offset = B2063_A_RX_2ND1, .value_a = 0x0005, .value_g = 0x0005, .flags = 0, }, */
 
469
        /* { .offset = B2063_A_RX_2ND2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
470
        /* { .offset = B2063_A_RX_2ND3, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
471
        /* { .offset = B2063_A_RX_2ND4, .value_a = 0x0005, .value_g = 0x0005, .flags = 0, }, */
 
472
        /* { .offset = B2063_A_RX_2ND5, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
473
        /* { .offset = B2063_A_RX_2ND6, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
474
        /* { .offset = B2063_A_RX_2ND7, .value_a = 0x0005, .value_g = 0x0005, .flags = 0, }, */
 
475
        /* { .offset = B2063_A_RX_PS1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
476
        /* { .offset = B2063_A_RX_PS2, .value_a = 0x0033, .value_g = 0x0033, .flags = 0, }, */
 
477
        /* { .offset = B2063_A_RX_PS3, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
478
        /* { .offset = B2063_A_RX_PS4, .value_a = 0x0033, .value_g = 0x0033, .flags = 0, }, */
 
479
        /* { .offset = B2063_A_RX_PS5, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
480
        { .offset = B2063_A_RX_PS6, .value_a = 0x0077, .value_g = 0x0077, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
481
        /* { .offset = B2063_A_RX_MIX1, .value_a = 0x0088, .value_g = 0x0088, .flags = 0, }, */
 
482
        /* { .offset = B2063_A_RX_MIX2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
483
        /* { .offset = B2063_A_RX_MIX3, .value_a = 0x0044, .value_g = 0x0044, .flags = 0, }, */
 
484
        { .offset = B2063_A_RX_MIX4, .value_a = 0x0003, .value_g = 0x0003, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
485
        { .offset = B2063_A_RX_MIX5, .value_a = 0x000f, .value_g = 0x000f, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
486
        { .offset = B2063_A_RX_MIX6, .value_a = 0x000f, .value_g = 0x000f, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
487
        /* { .offset = B2063_A_RX_MIX7, .value_a = 0x0044, .value_g = 0x0044, .flags = 0, }, */
 
488
        /* { .offset = B2063_A_RX_MIX8, .value_a = 0x0001, .value_g = 0x0001, .flags = 0, }, */
 
489
        /* { .offset = B2063_A_RX_PWRDET1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
490
        /* { .offset = B2063_A_RX_SPARE1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
491
        /* { .offset = B2063_A_RX_SPARE2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
492
        /* { .offset = B2063_A_RX_SPARE3, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
493
        { .offset = B2063_RX_TIA_CTL1, .value_a = 0x0077, .value_g = 0x0077, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
494
        /* { .offset = B2063_RX_TIA_CTL2, .value_a = 0x0058, .value_g = 0x0058, .flags = 0, }, */
 
495
        { .offset = B2063_RX_TIA_CTL3, .value_a = 0x0077, .value_g = 0x0077, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
496
        /* { .offset = B2063_RX_TIA_CTL4, .value_a = 0x0058, .value_g = 0x0058, .flags = 0, }, */
 
497
        /* { .offset = B2063_RX_TIA_CTL5, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
498
        /* { .offset = B2063_RX_TIA_CTL6, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
499
        /* { .offset = B2063_RX_BB_CTL1, .value_a = 0x0074, .value_g = 0x0074, .flags = 0, }, */
 
500
        { .offset = B2063_RX_BB_CTL2, .value_a = 0x0004, .value_g = 0x0004, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
501
        /* { .offset = B2063_RX_BB_CTL3, .value_a = 0x00a2, .value_g = 0x00a2, .flags = 0, }, */
 
502
        /* { .offset = B2063_RX_BB_CTL4, .value_a = 0x00aa, .value_g = 0x00aa, .flags = 0, }, */
 
503
        /* { .offset = B2063_RX_BB_CTL5, .value_a = 0x0024, .value_g = 0x0024, .flags = 0, }, */
 
504
        /* { .offset = B2063_RX_BB_CTL6, .value_a = 0x00a9, .value_g = 0x00a9, .flags = 0, }, */
 
505
        /* { .offset = B2063_RX_BB_CTL7, .value_a = 0x0028, .value_g = 0x0028, .flags = 0, }, */
 
506
        /* { .offset = B2063_RX_BB_CTL8, .value_a = 0x0010, .value_g = 0x0010, .flags = 0, }, */
 
507
        /* { .offset = B2063_RX_BB_CTL9, .value_a = 0x0055, .value_g = 0x0055, .flags = 0, }, */
 
508
        /* { .offset = B2063_TX_RF_CTL1, .value_a = 0x0080, .value_g = 0x0080, .flags = 0, }, */
 
509
        /* { .offset = B2063_TX_RF_IDAC_LO_RF_I, .value_a = 0x0088, .value_g = 0x0088, .flags = 0, }, */
 
510
        /* { .offset = B2063_TX_RF_IDAC_LO_RF_Q, .value_a = 0x0088, .value_g = 0x0088, .flags = 0, }, */
 
511
        /* { .offset = B2063_TX_RF_IDAC_LO_BB_I, .value_a = 0x0088, .value_g = 0x0088, .flags = 0, }, */
 
512
        /* { .offset = B2063_TX_RF_IDAC_LO_BB_Q, .value_a = 0x0088, .value_g = 0x0088, .flags = 0, }, */
 
513
        /* { .offset = B2063_TX_RF_CTL2, .value_a = 0x0080, .value_g = 0x0080, .flags = 0, }, */
 
514
        /* { .offset = B2063_TX_RF_CTL3, .value_a = 0x0038, .value_g = 0x0038, .flags = 0, }, */
 
515
        /* { .offset = B2063_TX_RF_CTL4, .value_a = 0x00b8, .value_g = 0x00b8, .flags = 0, }, */
 
516
        /* { .offset = B2063_TX_RF_CTL5, .value_a = 0x0080, .value_g = 0x0080, .flags = 0, }, */
 
517
        /* { .offset = B2063_TX_RF_CTL6, .value_a = 0x0038, .value_g = 0x0038, .flags = 0, }, */
 
518
        /* { .offset = B2063_TX_RF_CTL7, .value_a = 0x0078, .value_g = 0x0078, .flags = 0, }, */
 
519
        /* { .offset = B2063_TX_RF_CTL8, .value_a = 0x00c0, .value_g = 0x00c0, .flags = 0, }, */
 
520
        /* { .offset = B2063_TX_RF_CTL9, .value_a = 0x0003, .value_g = 0x0003, .flags = 0, }, */
 
521
        /* { .offset = B2063_TX_RF_CTL10, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
522
        /* { .offset = B2063_TX_RF_CTL14, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
523
        /* { .offset = B2063_TX_RF_CTL15, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
524
        { .offset = B2063_PA_CTL1, .value_a = 0x0000, .value_g = 0x0004, .flags = B206X_FLAG_A, },
 
525
        /* { .offset = B2063_PA_CTL2, .value_a = 0x000c, .value_g = 0x000c, .flags = 0, }, */
 
526
        /* { .offset = B2063_PA_CTL3, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
527
        /* { .offset = B2063_PA_CTL4, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
528
        /* { .offset = B2063_PA_CTL5, .value_a = 0x0096, .value_g = 0x0096, .flags = 0, }, */
 
529
        /* { .offset = B2063_PA_CTL6, .value_a = 0x0077, .value_g = 0x0077, .flags = 0, }, */
 
530
        /* { .offset = B2063_PA_CTL7, .value_a = 0x005a, .value_g = 0x005a, .flags = 0, }, */
 
531
        /* { .offset = B2063_PA_CTL8, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
532
        /* { .offset = B2063_PA_CTL9, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
533
        /* { .offset = B2063_PA_CTL10, .value_a = 0x0021, .value_g = 0x0021, .flags = 0, }, */
 
534
        /* { .offset = B2063_PA_CTL11, .value_a = 0x0070, .value_g = 0x0070, .flags = 0, }, */
 
535
        /* { .offset = B2063_PA_CTL12, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
536
        /* { .offset = B2063_PA_CTL13, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
537
        /* { .offset = B2063_TX_BB_CTL1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
538
        /* { .offset = B2063_TX_BB_CTL2, .value_a = 0x00b3, .value_g = 0x00b3, .flags = 0, }, */
 
539
        /* { .offset = B2063_TX_BB_CTL3, .value_a = 0x0055, .value_g = 0x0055, .flags = 0, }, */
 
540
        /* { .offset = B2063_TX_BB_CTL4, .value_a = 0x000b, .value_g = 0x000b, .flags = 0, }, */
 
541
        /* { .offset = B2063_GPIO_CTL1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
542
        { .offset = B2063_VREG_CTL1, .value_a = 0x0003, .value_g = 0x0003, .flags = B206X_FLAG_A | B206X_FLAG_G, },
 
543
        /* { .offset = B2063_AMUX_CTL1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
544
        /* { .offset = B2063_IQ_CALIB_GVAR, .value_a = 0x00b3, .value_g = 0x00b3, .flags = 0, }, */
 
545
        /* { .offset = B2063_IQ_CALIB_CTL1, .value_a = 0x0055, .value_g = 0x0055, .flags = 0, }, */
 
546
        /* { .offset = B2063_IQ_CALIB_CTL2, .value_a = 0x0030, .value_g = 0x0030, .flags = 0, }, */
 
547
        /* { .offset = B2063_TEMPSENSE_CTL1, .value_a = 0x0046, .value_g = 0x0046, .flags = 0, }, */
 
548
        /* { .offset = B2063_TEMPSENSE_CTL2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
549
        /* { .offset = B2063_TX_RX_LOOPBACK1, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
550
        /* { .offset = B2063_TX_RX_LOOPBACK2, .value_a = 0x0000, .value_g = 0x0000, .flags = 0, }, */
 
551
        /* { .offset = B2063_EXT_TSSI_CTL1, .value_a = 0x0021, .value_g = 0x0021, .flags = 0, }, */
 
552
        /* { .offset = B2063_EXT_TSSI_CTL2, .value_a = 0x0023, .value_g = 0x0023, .flags = 0, }, */
 
553
        /* { .offset = B2063_AFE_CTL , .value_a = 0x0002, .value_g = 0x0002, .flags = 0, }, */
 
554
};
 
555
 
 
556
void b2062_upload_init_table(struct b43_wldev *dev)
 
557
{
 
558
        const struct b206x_init_tab_entry *e;
 
559
        unsigned int i;
 
560
 
 
561
        for (i = 0; i < ARRAY_SIZE(b2062_init_tab); i++) {
 
562
                e = &b2062_init_tab[i];
 
563
                if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
 
564
                        if (!(e->flags & B206X_FLAG_G))
 
565
                                continue;
 
566
                        b43_radio_write(dev, e->offset, e->value_g);
 
567
                } else {
 
568
                        if (!(e->flags & B206X_FLAG_A))
 
569
                                continue;
 
570
                        b43_radio_write(dev, e->offset, e->value_a);
 
571
                }
 
572
        }
 
573
}
 
574
 
 
575
void b2063_upload_init_table(struct b43_wldev *dev)
 
576
{
 
577
        const struct b206x_init_tab_entry *e;
 
578
        unsigned int i;
 
579
 
 
580
        for (i = 0; i < ARRAY_SIZE(b2063_init_tab); i++) {
 
581
                e = &b2063_init_tab[i];
 
582
                if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {
 
583
                        if (!(e->flags & B206X_FLAG_G))
 
584
                                continue;
 
585
                        b43_radio_write(dev, e->offset, e->value_g);
 
586
                } else {
 
587
                        if (!(e->flags & B206X_FLAG_A))
 
588
                                continue;
 
589
                        b43_radio_write(dev, e->offset, e->value_a);
 
590
                }
 
591
        }
 
592
}
 
593
 
 
594
u32 b43_lptab_read(struct b43_wldev *dev, u32 offset)
 
595
{
 
596
        u32 type, value;
 
597
 
 
598
        type = offset & B43_LPTAB_TYPEMASK;
 
599
        offset &= ~B43_LPTAB_TYPEMASK;
 
600
        B43_WARN_ON(offset > 0xFFFF);
 
601
 
 
602
        switch (type) {
 
603
        case B43_LPTAB_8BIT:
 
604
                b43_phy_write(dev, B43_LPPHY_TABLE_ADDR, offset);
 
605
                value = b43_phy_read(dev, B43_LPPHY_TABLEDATALO) & 0xFF;
 
606
                break;
 
607
        case B43_LPTAB_16BIT:
 
608
                b43_phy_write(dev, B43_LPPHY_TABLE_ADDR, offset);
 
609
                value = b43_phy_read(dev, B43_LPPHY_TABLEDATALO);
 
610
                break;
 
611
        case B43_LPTAB_32BIT:
 
612
                b43_phy_write(dev, B43_LPPHY_TABLE_ADDR, offset);
 
613
                value = b43_phy_read(dev, B43_LPPHY_TABLEDATAHI);
 
614
                value <<= 16;
 
615
                value |= b43_phy_read(dev, B43_LPPHY_TABLEDATALO);
 
616
                break;
 
617
        default:
 
618
                B43_WARN_ON(1);
 
619
                value = 0;
 
620
        }
 
621
 
 
622
        return value;
 
623
}
 
624
 
 
625
void b43_lptab_read_bulk(struct b43_wldev *dev, u32 offset,
 
626
                         unsigned int nr_elements, void *_data)
 
627
{
 
628
        u32 type;
 
629
        u8 *data = _data;
 
630
        unsigned int i;
 
631
 
 
632
        type = offset & B43_LPTAB_TYPEMASK;
 
633
        offset &= ~B43_LPTAB_TYPEMASK;
 
634
        B43_WARN_ON(offset > 0xFFFF);
 
635
 
 
636
        b43_phy_write(dev, B43_LPPHY_TABLE_ADDR, offset);
 
637
 
 
638
        for (i = 0; i < nr_elements; i++) {
 
639
                switch (type) {
 
640
                case B43_LPTAB_8BIT:
 
641
                        *data = b43_phy_read(dev, B43_LPPHY_TABLEDATALO) & 0xFF;
 
642
                        data++;
 
643
                        break;
 
644
                case B43_LPTAB_16BIT:
 
645
                        *((u16 *)data) = b43_phy_read(dev, B43_LPPHY_TABLEDATALO);
 
646
                        data += 2;
 
647
                        break;
 
648
                case B43_LPTAB_32BIT:
 
649
                        *((u32 *)data) = b43_phy_read(dev, B43_LPPHY_TABLEDATAHI);
 
650
                        *((u32 *)data) <<= 16;
 
651
                        *((u32 *)data) |= b43_phy_read(dev, B43_LPPHY_TABLEDATALO);
 
652
                        data += 4;
 
653
                        break;
 
654
                default:
 
655
                        B43_WARN_ON(1);
 
656
                }
 
657
        }
 
658
}
 
659
 
 
660
void b43_lptab_write(struct b43_wldev *dev, u32 offset, u32 value)
 
661
{
 
662
        u32 type;
 
663
 
 
664
        type = offset & B43_LPTAB_TYPEMASK;
 
665
        offset &= ~B43_LPTAB_TYPEMASK;
 
666
        B43_WARN_ON(offset > 0xFFFF);
 
667
 
 
668
        switch (type) {
 
669
        case B43_LPTAB_8BIT:
 
670
                B43_WARN_ON(value & ~0xFF);
 
671
                b43_phy_write(dev, B43_LPPHY_TABLE_ADDR, offset);
 
672
                b43_phy_write(dev, B43_LPPHY_TABLEDATALO, value);
 
673
                break;
 
674
        case B43_LPTAB_16BIT:
 
675
                B43_WARN_ON(value & ~0xFFFF);
 
676
                b43_phy_write(dev, B43_LPPHY_TABLE_ADDR, offset);
 
677
                b43_phy_write(dev, B43_LPPHY_TABLEDATALO, value);
 
678
                break;
 
679
        case B43_LPTAB_32BIT:
 
680
                b43_phy_write(dev, B43_LPPHY_TABLE_ADDR, offset);
 
681
                b43_phy_write(dev, B43_LPPHY_TABLEDATAHI, value >> 16);
 
682
                b43_phy_write(dev, B43_LPPHY_TABLEDATALO, value);
 
683
                break;
 
684
        default:
 
685
                B43_WARN_ON(1);
 
686
        }
 
687
}
 
688
 
 
689
void b43_lptab_write_bulk(struct b43_wldev *dev, u32 offset,
 
690
                          unsigned int nr_elements, const void *_data)
 
691
{
 
692
        u32 type, value;
 
693
        const u8 *data = _data;
 
694
        unsigned int i;
 
695
 
 
696
        type = offset & B43_LPTAB_TYPEMASK;
 
697
        offset &= ~B43_LPTAB_TYPEMASK;
 
698
        B43_WARN_ON(offset > 0xFFFF);
 
699
 
 
700
        b43_phy_write(dev, B43_LPPHY_TABLE_ADDR, offset);
 
701
 
 
702
        for (i = 0; i < nr_elements; i++) {
 
703
                switch (type) {
 
704
                case B43_LPTAB_8BIT:
 
705
                        value = *data;
 
706
                        data++;
 
707
                        B43_WARN_ON(value & ~0xFF);
 
708
                        b43_phy_write(dev, B43_LPPHY_TABLEDATALO, value);
 
709
                        break;
 
710
                case B43_LPTAB_16BIT:
 
711
                        value = *((u16 *)data);
 
712
                        data += 2;
 
713
                        B43_WARN_ON(value & ~0xFFFF);
 
714
                        b43_phy_write(dev, B43_LPPHY_TABLEDATALO, value);
 
715
                        break;
 
716
                case B43_LPTAB_32BIT:
 
717
                        value = *((u32 *)data);
 
718
                        data += 4;
 
719
                        b43_phy_write(dev, B43_LPPHY_TABLEDATAHI, value >> 16);
 
720
                        b43_phy_write(dev, B43_LPPHY_TABLEDATALO, value);
 
721
                        break;
 
722
                default:
 
723
                        B43_WARN_ON(1);
 
724
                }
 
725
        }
 
726
}
 
727
 
 
728
static const u8 lpphy_min_sig_sq_table[] = {
 
729
        0xde, 0xdc, 0xda, 0xd8, 0xd6, 0xd4, 0xd2, 0xcf, 0xcd,
 
730
        0xca, 0xc7, 0xc4, 0xc1, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe,
 
731
        0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0x00,
 
732
        0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe,
 
733
        0xbe, 0xbe, 0xbe, 0xbe, 0xc1, 0xc4, 0xc7, 0xca, 0xcd,
 
734
        0xcf, 0xd2, 0xd4, 0xd6, 0xd8, 0xda, 0xdc, 0xde,
 
735
};
 
736
 
 
737
static const u16 lpphy_rev01_noise_scale_table[] = {
 
738
        0xa4a4, 0xa4a4, 0xa4a4, 0xa4a4, 0xa4a4, 0xa4a4, 0xa4a4, 0xa4a4, 0xa4a4,
 
739
        0xa4a4, 0xa4a4, 0xa4a4, 0xa4a4, 0xa400, 0xa4a4, 0xa4a4, 0xa4a4, 0xa4a4,
 
740
        0xa4a4, 0xa4a4, 0xa4a4, 0xa4a4, 0xa4a4, 0xa4a4, 0xa4a4, 0xa4a4, 0x00a4,
 
741
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4c00, 0x2d36,
 
742
        0x0000, 0x0000, 0x4c00, 0x2d36,
 
743
};
 
744
 
 
745
static const u16 lpphy_rev2plus_noise_scale_table[] = {
 
746
        0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4,
 
747
        0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4,
 
748
        0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x0000,
 
749
        0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4,
 
750
        0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4,
 
751
        0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4, 0x00a4,
 
752
        0x00a4,
 
753
};
 
754
 
 
755
static const u16 lpphy_crs_gain_nft_table[] = {
 
756
        0x0366, 0x036a, 0x036f, 0x0364, 0x0367, 0x036d, 0x0374, 0x037f, 0x036f,
 
757
        0x037b, 0x038a, 0x0378, 0x0367, 0x036d, 0x0375, 0x0381, 0x0374, 0x0381,
 
758
        0x0392, 0x03a9, 0x03c4, 0x03e1, 0x0001, 0x001f, 0x0040, 0x005e, 0x007f,
 
759
        0x009e, 0x00bd, 0x00dd, 0x00fd, 0x011d, 0x013d,
 
760
};
 
761
 
 
762
static const u16 lpphy_rev01_filter_control_table[] = {
 
763
        0xa0fc, 0x10fc, 0x10db, 0x20b7, 0xff93, 0x10bf, 0x109b, 0x2077, 0xff53,
 
764
        0x0127,
 
765
};
 
766
 
 
767
static const u32 lpphy_rev2plus_filter_control_table[] = {
 
768
        0x000141fc, 0x000021fc, 0x000021b7, 0x0000416f, 0x0001ff27, 0x0000217f,
 
769
        0x00002137, 0x000040ef, 0x0001fea7, 0x0000024f,
 
770
};
 
771
 
 
772
static const u32 lpphy_rev01_ps_control_table[] = {
 
773
        0x00010000, 0x000000a0, 0x00040000, 0x00000048, 0x08080101, 0x00000080,
 
774
        0x08080101, 0x00000040, 0x08080101, 0x000000c0, 0x08a81501, 0x000000c0,
 
775
        0x0fe8fd01, 0x000000c0, 0x08300105, 0x000000c0, 0x08080201, 0x000000c0,
 
776
        0x08280205, 0x000000c0, 0xe80802fe, 0x000000c7, 0x28080206, 0x000000c0,
 
777
        0x08080202, 0x000000c0, 0x0ba87602, 0x000000c0, 0x1068013d, 0x000000c0,
 
778
        0x10280105, 0x000000c0, 0x08880102, 0x000000c0, 0x08280106, 0x000000c0,
 
779
        0xe80801fd, 0x000000c7, 0xa8080115, 0x000000c0,
 
780
};
 
781
 
 
782
static const u32 lpphy_rev2plus_ps_control_table[] = {
 
783
        0x00e38e08, 0x00e08e38, 0x00000000, 0x00000000, 0x00000000, 0x00002080,
 
784
        0x00006180, 0x00003002, 0x00000040, 0x00002042, 0x00180047, 0x00080043,
 
785
        0x00000041, 0x000020c1, 0x00046006, 0x00042002, 0x00040000, 0x00002003,
 
786
        0x00180006, 0x00080002,
 
787
};
 
788
 
 
789
static const u8 lpphy_pll_fraction_table[] = {
 
790
        0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x80,
 
791
        0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
 
792
};
 
793
 
 
794
static const u16 lpphy_iqlo_cal_table[] = {
 
795
        0x0200, 0x0300, 0x0400, 0x0600, 0x0800, 0x0b00, 0x1000, 0x1001, 0x1002,
 
796
        0x1003, 0x1004, 0x1005, 0x1006, 0x1007, 0x1707, 0x2007, 0x2d07, 0x4007,
 
797
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 
798
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0300, 0x0400, 0x0600,
 
799
        0x0800, 0x0b00, 0x1000, 0x1001, 0x1002, 0x1003, 0x1004, 0x1005, 0x1006,
 
800
        0x1007, 0x1707, 0x2007, 0x2d07, 0x4007, 0x0000, 0x0000, 0x0000, 0x0000,
 
801
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 
802
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 
803
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 
804
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000,
 
805
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 
806
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 
807
};
 
808
 
 
809
static const u16 lpphy_rev0_ofdm_cck_gain_table[] = {
 
810
        0x0001, 0x0001, 0x0001, 0x0001, 0x1001, 0x2001, 0x3001, 0x4001, 0x5001,
 
811
        0x6001, 0x7001, 0x7011, 0x7021, 0x2035, 0x2045, 0x2055, 0x2065, 0x2075,
 
812
        0x006d, 0x007d, 0x014d, 0x015d, 0x115d, 0x035d, 0x135d, 0x055d, 0x155d,
 
813
        0x0d5d, 0x1d5d, 0x2d5d, 0x555d, 0x655d, 0x755d,
 
814
};
 
815
 
 
816
static const u16 lpphy_rev1_ofdm_cck_gain_table[] = {
 
817
        0x5000, 0x6000, 0x7000, 0x0001, 0x1001, 0x2001, 0x3001, 0x4001, 0x5001,
 
818
        0x6001, 0x7001, 0x7011, 0x7021, 0x2035, 0x2045, 0x2055, 0x2065, 0x2075,
 
819
        0x006d, 0x007d, 0x014d, 0x015d, 0x115d, 0x035d, 0x135d, 0x055d, 0x155d,
 
820
        0x0d5d, 0x1d5d, 0x2d5d, 0x555d, 0x655d, 0x755d,
 
821
};
 
822
 
 
823
static const u16 lpphy_gain_delta_table[] = {
 
824
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 
825
};
 
826
 
 
827
static const u32 lpphy_tx_power_control_table[] = {
 
828
        0x00000050, 0x0000004f, 0x0000004e, 0x0000004d, 0x0000004c, 0x0000004b,
 
829
        0x0000004a, 0x00000049, 0x00000048, 0x00000047, 0x00000046, 0x00000045,
 
830
        0x00000044, 0x00000043, 0x00000042, 0x00000041, 0x00000040, 0x0000003f,
 
831
        0x0000003e, 0x0000003d, 0x0000003c, 0x0000003b, 0x0000003a, 0x00000039,
 
832
        0x00000038, 0x00000037, 0x00000036, 0x00000035, 0x00000034, 0x00000033,
 
833
        0x00000032, 0x00000031, 0x00000030, 0x0000002f, 0x0000002e, 0x0000002d,
 
834
        0x0000002c, 0x0000002b, 0x0000002a, 0x00000029, 0x00000028, 0x00000027,
 
835
        0x00000026, 0x00000025, 0x00000024, 0x00000023, 0x00000022, 0x00000021,
 
836
        0x00000020, 0x0000001f, 0x0000001e, 0x0000001d, 0x0000001c, 0x0000001b,
 
837
        0x0000001a, 0x00000019, 0x00000018, 0x00000017, 0x00000016, 0x00000015,
 
838
        0x00000014, 0x00000013, 0x00000012, 0x00000011, 0x00000000, 0x00000000,
 
839
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
840
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
841
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
842
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
843
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
844
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
845
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
846
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
847
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
848
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
849
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
850
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
851
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
852
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
853
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
854
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
855
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
856
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
857
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
858
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
859
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
860
        0x000075a0, 0x000075a0, 0x000075a1, 0x000075a1, 0x000075a2, 0x000075a2,
 
861
        0x000075a3, 0x000075a3, 0x000074b0, 0x000074b0, 0x000074b1, 0x000074b1,
 
862
        0x000074b2, 0x000074b2, 0x000074b3, 0x000074b3, 0x00006d20, 0x00006d20,
 
863
        0x00006d21, 0x00006d21, 0x00006d22, 0x00006d22, 0x00006d23, 0x00006d23,
 
864
        0x00004660, 0x00004660, 0x00004661, 0x00004661, 0x00004662, 0x00004662,
 
865
        0x00004663, 0x00004663, 0x00003e60, 0x00003e60, 0x00003e61, 0x00003e61,
 
866
        0x00003e62, 0x00003e62, 0x00003e63, 0x00003e63, 0x00003660, 0x00003660,
 
867
        0x00003661, 0x00003661, 0x00003662, 0x00003662, 0x00003663, 0x00003663,
 
868
        0x00002e60, 0x00002e60, 0x00002e61, 0x00002e61, 0x00002e62, 0x00002e62,
 
869
        0x00002e63, 0x00002e63, 0x00002660, 0x00002660, 0x00002661, 0x00002661,
 
870
        0x00002662, 0x00002662, 0x00002663, 0x00002663, 0x000025e0, 0x000025e0,
 
871
        0x000025e1, 0x000025e1, 0x000025e2, 0x000025e2, 0x000025e3, 0x000025e3,
 
872
        0x00001de0, 0x00001de0, 0x00001de1, 0x00001de1, 0x00001de2, 0x00001de2,
 
873
        0x00001de3, 0x00001de3, 0x00001d60, 0x00001d60, 0x00001d61, 0x00001d61,
 
874
        0x00001d62, 0x00001d62, 0x00001d63, 0x00001d63, 0x00001560, 0x00001560,
 
875
        0x00001561, 0x00001561, 0x00001562, 0x00001562, 0x00001563, 0x00001563,
 
876
        0x00000d60, 0x00000d60, 0x00000d61, 0x00000d61, 0x00000d62, 0x00000d62,
 
877
        0x00000d63, 0x00000d63, 0x00000ce0, 0x00000ce0, 0x00000ce1, 0x00000ce1,
 
878
        0x00000ce2, 0x00000ce2, 0x00000ce3, 0x00000ce3, 0x00000e10, 0x00000e10,
 
879
        0x00000e11, 0x00000e11, 0x00000e12, 0x00000e12, 0x00000e13, 0x00000e13,
 
880
        0x00000bf0, 0x00000bf0, 0x00000bf1, 0x00000bf1, 0x00000bf2, 0x00000bf2,
 
881
        0x00000bf3, 0x00000bf3, 0x04200000, 0x04000000, 0x04200000, 0x04000000,
 
882
        0x04200000, 0x04000000, 0x04200000, 0x04000000, 0x04200000, 0x04000000,
 
883
        0x04200000, 0x04000000, 0x04200000, 0x04000000, 0x04200000, 0x04000000,
 
884
        0x04200000, 0x04000000, 0x04200000, 0x04000000, 0x04200000, 0x04000000,
 
885
        0x04200000, 0x04000000, 0x04200000, 0x04000000, 0x04200000, 0x04000000,
 
886
        0x04200000, 0x04000000, 0x04200000, 0x04000000, 0x04200000, 0x04000000,
 
887
        0x04200000, 0x04000000, 0x04200000, 0x04000000, 0x04200000, 0x04000000,
 
888
        0x04200000, 0x04000000, 0x04200000, 0x04000000, 0x04200000, 0x04000000,
 
889
        0x04200000, 0x04000000, 0x04200000, 0x04000000, 0x04200000, 0x04000000,
 
890
        0x04200000, 0x04000000, 0x04200000, 0x04000000, 0x04200000, 0x04000000,
 
891
        0x04200000, 0x04000000, 0x04200000, 0x04000000, 0x04200000, 0x04000000,
 
892
        0x04200000, 0x04000000, 0x04200000, 0x04000000, 0x04200000, 0x04000000,
 
893
        0x04200000, 0x04000000, 0x04200000, 0x04000000, 0x04200000, 0x04000000,
 
894
        0x04200000, 0x04000000, 0x04200000, 0x04000000, 0x04200000, 0x04000000,
 
895
        0x04200000, 0x04000000, 0x04200000, 0x04000000, 0x04200000, 0x04000000,
 
896
        0x04200000, 0x04000000, 0x04200000, 0x04000000, 0x04200000, 0x04000000,
 
897
        0x04200000, 0x04000000, 0x04200000, 0x04000000, 0x04200000, 0x04000000,
 
898
        0x04200000, 0x04000000, 0x04200000, 0x04000000, 0x04200000, 0x04000000,
 
899
        0x04200000, 0x04000000, 0x04200000, 0x04000000, 0x04200000, 0x04000000,
 
900
        0x04200000, 0x04000000, 0x04200000, 0x04000000, 0x04200000, 0x04000000,
 
901
        0x04200000, 0x04000000, 0x04200000, 0x04000000, 0x04200000, 0x04000000,
 
902
        0x04200000, 0x04000000, 0x04200000, 0x04000000, 0x000000ff, 0x000002fc,
 
903
        0x0000fa08, 0x00000305, 0x00000206, 0x00000304, 0x0000fb04, 0x0000fcff,
 
904
        0x000005fb, 0x0000fd01, 0x00000401, 0x00000006, 0x0000ff03, 0x000007fc,
 
905
        0x0000fc08, 0x00000203, 0x0000fffb, 0x00000600, 0x0000fa01, 0x0000fc03,
 
906
        0x0000fe06, 0x0000fe00, 0x00000102, 0x000007fd, 0x000004fb, 0x000006ff,
 
907
        0x000004fd, 0x0000fdfa, 0x000007fb, 0x0000fdfa, 0x0000fa06, 0x00000500,
 
908
        0x0000f902, 0x000007fa, 0x0000fafa, 0x00000500, 0x000007fa, 0x00000700,
 
909
        0x00000305, 0x000004ff, 0x00000801, 0x00000503, 0x000005f9, 0x00000404,
 
910
        0x0000fb08, 0x000005fd, 0x00000501, 0x00000405, 0x0000fb03, 0x000007fc,
 
911
        0x00000403, 0x00000303, 0x00000402, 0x0000faff, 0x0000fe05, 0x000005fd,
 
912
        0x0000fe01, 0x000007fa, 0x00000202, 0x00000504, 0x00000102, 0x000008fe,
 
913
        0x0000fa04, 0x0000fafc, 0x0000fe08, 0x000000f9, 0x000002fa, 0x000003fe,
 
914
        0x00000304, 0x000004f9, 0x00000100, 0x0000fd06, 0x000008fc, 0x00000701,
 
915
        0x00000504, 0x0000fdfe, 0x0000fdfc, 0x000003fe, 0x00000704, 0x000002fc,
 
916
        0x000004f9, 0x0000fdfd, 0x0000fa07, 0x00000205, 0x000003fd, 0x000005fb,
 
917
        0x000004f9, 0x00000804, 0x0000fc06, 0x0000fcf9, 0x00000100, 0x0000fe05,
 
918
        0x00000408, 0x0000fb02, 0x00000304, 0x000006fe, 0x000004fa, 0x00000305,
 
919
        0x000008fc, 0x00000102, 0x000001fd, 0x000004fc, 0x0000fe03, 0x00000701,
 
920
        0x000001fb, 0x000001f9, 0x00000206, 0x000006fd, 0x00000508, 0x00000700,
 
921
        0x00000304, 0x000005fe, 0x000005ff, 0x0000fa04, 0x00000303, 0x0000fefb,
 
922
        0x000007f9, 0x0000fefc, 0x000004fd, 0x000005fc, 0x0000fffd, 0x0000fc08,
 
923
        0x0000fbf9, 0x0000fd07, 0x000008fb, 0x0000fe02, 0x000006fb, 0x00000702,
 
924
};
 
925
 
 
926
static const u32 lpphy_gain_idx_table[] = {
 
927
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
928
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
929
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
930
        0x10000001, 0x00000000, 0x20000082, 0x00000000, 0x40000104, 0x00000000,
 
931
        0x60004207, 0x00000001, 0x7000838a, 0x00000001, 0xd021050d, 0x00000001,
 
932
        0xe041c683, 0x00000001, 0x50828805, 0x00000000, 0x80e34288, 0x00000000,
 
933
        0xb144040b, 0x00000000, 0xe1a6058e, 0x00000000, 0x12064711, 0x00000001,
 
934
        0xb0a18612, 0x00000010, 0xe1024794, 0x00000010, 0x11630915, 0x00000011,
 
935
        0x31c3ca1b, 0x00000011, 0xc1848a9c, 0x00000018, 0xf1e50da0, 0x00000018,
 
936
        0x22468e21, 0x00000019, 0x4286d023, 0x00000019, 0xa347d0a4, 0x00000019,
 
937
        0xb36811a6, 0x00000019, 0xf3e89227, 0x00000019, 0x0408d329, 0x0000001a,
 
938
        0x244953aa, 0x0000001a, 0x346994ab, 0x0000001a, 0x54aa152c, 0x0000001a,
 
939
        0x64ca55ad, 0x0000001a, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
940
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
941
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
942
        0x00000000, 0x00000000, 0x10000001, 0x00000000, 0x20000082, 0x00000000,
 
943
        0x40000104, 0x00000000, 0x60004207, 0x00000001, 0x7000838a, 0x00000001,
 
944
        0xd021050d, 0x00000001, 0xe041c683, 0x00000001, 0x50828805, 0x00000000,
 
945
        0x80e34288, 0x00000000, 0xb144040b, 0x00000000, 0xe1a6058e, 0x00000000,
 
946
        0x12064711, 0x00000001, 0xb0a18612, 0x00000010, 0xe1024794, 0x00000010,
 
947
        0x11630915, 0x00000011, 0x31c3ca1b, 0x00000011, 0xc1848a9c, 0x00000018,
 
948
        0xf1e50da0, 0x00000018, 0x22468e21, 0x00000019, 0x4286d023, 0x00000019,
 
949
        0xa347d0a4, 0x00000019, 0xb36811a6, 0x00000019, 0xf3e89227, 0x00000019,
 
950
        0x0408d329, 0x0000001a, 0x244953aa, 0x0000001a, 0x346994ab, 0x0000001a,
 
951
        0x54aa152c, 0x0000001a, 0x64ca55ad, 0x0000001a,
 
952
};
 
953
 
 
954
static const u16 lpphy_aux_gain_idx_table[] = {
 
955
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 
956
        0x0001, 0x0002, 0x0004, 0x0016, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 
957
        0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0002, 0x0004, 0x0016,
 
958
};
 
959
 
 
960
static const u32 lpphy_gain_value_table[] = {
 
961
        0x00000008, 0x0000000e, 0x00000014, 0x0000001a, 0x000000fb, 0x00000004,
 
962
        0x00000008, 0x0000000d, 0x00000001, 0x00000004, 0x00000007, 0x0000000a,
 
963
        0x0000000d, 0x00000010, 0x00000012, 0x00000015, 0x00000000, 0x00000006,
 
964
        0x0000000c, 0x00000000, 0x00000000, 0x00000000, 0x00000012, 0x00000000,
 
965
        0x00000000, 0x00000000, 0x00000018, 0x00000000, 0x00000000, 0x00000000,
 
966
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
967
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
968
        0x0000001e, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
969
        0x00000000, 0x00000003, 0x00000006, 0x00000009, 0x0000000c, 0x0000000f,
 
970
        0x00000012, 0x00000015, 0x00000018, 0x0000001b, 0x0000001e, 0x00000000,
 
971
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000009, 0x000000f1,
 
972
        0x00000000, 0x00000000,
 
973
};
 
974
 
 
975
static const u16 lpphy_gain_table[] = {
 
976
        0x0000, 0x0400, 0x0800, 0x0802, 0x0804, 0x0806, 0x0807, 0x0808, 0x080a,
 
977
        0x080b, 0x080c, 0x080e, 0x080f, 0x0810, 0x0812, 0x0813, 0x0814, 0x0816,
 
978
        0x0817, 0x081a, 0x081b, 0x081f, 0x0820, 0x0824, 0x0830, 0x0834, 0x0837,
 
979
        0x083b, 0x083f, 0x0840, 0x0844, 0x0857, 0x085b, 0x085f, 0x08d7, 0x08db,
 
980
        0x08df, 0x0957, 0x095b, 0x095f, 0x0b57, 0x0b5b, 0x0b5f, 0x0f5f, 0x135f,
 
981
        0x175f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 
982
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 
983
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 
984
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 
985
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 
986
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 
987
};
 
988
 
 
989
static const u32 lpphy_a0_gain_idx_table[] = {
 
990
        0x001111e0, 0x00652051, 0x00606055, 0x005b005a, 0x00555060, 0x00511065,
 
991
        0x004c806b, 0x0047d072, 0x00444078, 0x00400080, 0x003ca087, 0x0039408f,
 
992
        0x0035e098, 0x0032e0a1, 0x003030aa, 0x002d80b4, 0x002ae0bf, 0x002880ca,
 
993
        0x002640d6, 0x002410e3, 0x002220f0, 0x002020ff, 0x001e510e, 0x001ca11e,
 
994
        0x001b012f, 0x00199140, 0x00182153, 0x0016c168, 0x0015817d, 0x00145193,
 
995
        0x001321ab, 0x001211c5, 0x001111e0, 0x001021fc, 0x000f321a, 0x000e523a,
 
996
        0x000d925c, 0x000cd27f, 0x000c12a5, 0x000b62cd, 0x000ac2f8, 0x000a2325,
 
997
        0x00099355, 0x00091387, 0x000883bd, 0x000813f5, 0x0007a432, 0x00073471,
 
998
        0x0006c4b5, 0x000664fc, 0x00061547, 0x0005b598, 0x000565ec, 0x00051646,
 
999
        0x0004d6a5, 0x0004870a, 0x00044775, 0x000407e6, 0x0003d85e, 0x000398dd,
 
1000
        0x00036963, 0x000339f2, 0x00030a89, 0x0002db28,
 
1001
};
 
1002
 
 
1003
static const u16 lpphy_a0_aux_gain_idx_table[] = {
 
1004
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 
1005
        0x0000, 0x0000, 0x0002, 0x0014, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 
1006
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0014,
 
1007
};
 
1008
 
 
1009
static const u32 lpphy_a0_gain_value_table[] = {
 
1010
        0x00000008, 0x0000000e, 0x00000014, 0x0000001a, 0x000000fb, 0x00000004,
 
1011
        0x00000008, 0x0000000d, 0x00000001, 0x00000004, 0x00000007, 0x0000000a,
 
1012
        0x0000000d, 0x00000010, 0x00000012, 0x00000015, 0x00000000, 0x00000006,
 
1013
        0x0000000c, 0x00000000, 0x00000000, 0x00000000, 0x00000012, 0x00000000,
 
1014
        0x00000000, 0x00000000, 0x00000018, 0x00000000, 0x00000000, 0x00000000,
 
1015
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
1016
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
1017
        0x0000001e, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
 
1018
        0x00000000, 0x00000003, 0x00000006, 0x00000009, 0x0000000c, 0x0000000f,
 
1019
        0x00000012, 0x00000015, 0x00000018, 0x0000001b, 0x0000001e, 0x00000000,
 
1020
        0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000f, 0x000000f7,
 
1021
        0x00000000, 0x00000000,
 
1022
};
 
1023
 
 
1024
static const u16 lpphy_a0_gain_table[] = {
 
1025
        0x0000, 0x0002, 0x0004, 0x0006, 0x0007, 0x0008, 0x000a, 0x000b, 0x000c,
 
1026
        0x000e, 0x000f, 0x0010, 0x0012, 0x0013, 0x0014, 0x0016, 0x0017, 0x001a,
 
1027
        0x001b, 0x001f, 0x0020, 0x0024, 0x0030, 0x0034, 0x0037, 0x003b, 0x003f,
 
1028
        0x0040, 0x0044, 0x0057, 0x005b, 0x005f, 0x00d7, 0x00db, 0x00df, 0x0157,
 
1029
        0x015b, 0x015f, 0x0357, 0x035b, 0x035f, 0x075f, 0x0b5f, 0x0f5f, 0x0000,
 
1030
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 
1031
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 
1032
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 
1033
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 
1034
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 
1035
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
 
1036
};
 
1037
 
 
1038
static const u16 lpphy_sw_control_table[] = {
 
1039
        0x0128, 0x0128, 0x0009, 0x0009, 0x0028, 0x0028, 0x0028, 0x0028, 0x0128,
 
1040
        0x0128, 0x0009, 0x0009, 0x0028, 0x0028, 0x0028, 0x0028, 0x0009, 0x0009,
 
1041
        0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0018, 0x0018, 0x0018,
 
1042
        0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0128, 0x0128, 0x0009, 0x0009,
 
1043
        0x0028, 0x0028, 0x0028, 0x0028, 0x0128, 0x0128, 0x0009, 0x0009, 0x0028,
 
1044
        0x0028, 0x0028, 0x0028, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009,
 
1045
        0x0009, 0x0009, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018,
 
1046
        0x0018,
 
1047
};
 
1048
 
 
1049
static const u8 lpphy_hf_table[] = {
 
1050
        0x4b, 0x36, 0x24, 0x18, 0x49, 0x34, 0x23, 0x17, 0x48,
 
1051
        0x33, 0x23, 0x17, 0x48, 0x33, 0x23, 0x17,
 
1052
};
 
1053
 
 
1054
static const u32 lpphy_papd_eps_table[] = {
 
1055
        0x00000000, 0x00013ffc, 0x0001dff3, 0x0001bff0, 0x00023fe9, 0x00021fdf,
 
1056
        0x00028fdf, 0x00033fd2, 0x00039fcb, 0x00043fc7, 0x0004efc2, 0x00055fb5,
 
1057
        0x0005cfb0, 0x00063fa8, 0x00068fa3, 0x00071f98, 0x0007ef92, 0x00084f8b,
 
1058
        0x0008df82, 0x00097f77, 0x0009df69, 0x000a3f62, 0x000adf57, 0x000b6f4c,
 
1059
        0x000bff41, 0x000c9f39, 0x000cff30, 0x000dbf27, 0x000e4f1e, 0x000edf16,
 
1060
        0x000f7f13, 0x00102f11, 0x00110f10, 0x0011df11, 0x0012ef15, 0x00143f1c,
 
1061
        0x00158f27, 0x00172f35, 0x00193f47, 0x001baf5f, 0x001e6f7e, 0x0021cfa4,
 
1062
        0x0025bfd2, 0x002a2008, 0x002fb047, 0x00360090, 0x003d40e0, 0x0045c135,
 
1063
        0x004fb189, 0x005ae1d7, 0x0067221d, 0x0075025a, 0x007ff291, 0x007ff2bf,
 
1064
        0x007ff2e3, 0x007ff2ff, 0x007ff315, 0x007ff329, 0x007ff33f, 0x007ff356,
 
1065
        0x007ff36e, 0x007ff39c, 0x007ff441, 0x007ff506,
 
1066
};
 
1067
 
 
1068
static const u32 lpphy_papd_mult_table[] = {
 
1069
        0x001111e0, 0x00652051, 0x00606055, 0x005b005a, 0x00555060, 0x00511065,
 
1070
        0x004c806b, 0x0047d072, 0x00444078, 0x00400080, 0x003ca087, 0x0039408f,
 
1071
        0x0035e098, 0x0032e0a1, 0x003030aa, 0x002d80b4, 0x002ae0bf, 0x002880ca,
 
1072
        0x002640d6, 0x002410e3, 0x002220f0, 0x002020ff, 0x001e510e, 0x001ca11e,
 
1073
        0x001b012f, 0x00199140, 0x00182153, 0x0016c168, 0x0015817d, 0x00145193,
 
1074
        0x001321ab, 0x001211c5, 0x001111e0, 0x001021fc, 0x000f321a, 0x000e523a,
 
1075
        0x000d925c, 0x000cd27f, 0x000c12a5, 0x000b62cd, 0x000ac2f8, 0x000a2325,
 
1076
        0x00099355, 0x00091387, 0x000883bd, 0x000813f5, 0x0007a432, 0x00073471,
 
1077
        0x0006c4b5, 0x000664fc, 0x00061547, 0x0005b598, 0x000565ec, 0x00051646,
 
1078
        0x0004d6a5, 0x0004870a, 0x00044775, 0x000407e6, 0x0003d85e, 0x000398dd,
 
1079
        0x00036963, 0x000339f2, 0x00030a89, 0x0002db28,
 
1080
};
 
1081
 
 
1082
static struct lpphy_tx_gain_table_entry lpphy_rev0_nopa_tx_gain_table[] = {
 
1083
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 152, },
 
1084
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 147, },
 
1085
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 143, },
 
1086
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 139, },
 
1087
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 135, },
 
1088
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 131, },
 
1089
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 128, },
 
1090
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 124, },
 
1091
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 121, },
 
1092
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 117, },
 
1093
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 114, },
 
1094
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 111, },
 
1095
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 107, },
 
1096
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 104, },
 
1097
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 101, },
 
1098
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 99, },
 
1099
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 96, },
 
1100
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 93, },
 
1101
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 90, },
 
1102
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 88, },
 
1103
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 85, },
 
1104
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 83, },
 
1105
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 81, },
 
1106
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 78, },
 
1107
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 76, },
 
1108
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 74, },
 
1109
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 72, },
 
1110
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 70, },
 
1111
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 68, },
 
1112
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 66, },
 
1113
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 64, },
 
1114
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 62, },
 
1115
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 60, },
 
1116
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 59, },
 
1117
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 57, },
 
1118
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 72, },
 
1119
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 70, },
 
1120
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 68, },
 
1121
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 66, },
 
1122
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 64, },
 
1123
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 62, },
 
1124
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 60, },
 
1125
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 59, },
 
1126
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 57, },
 
1127
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 71, },
 
1128
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 69, },
 
1129
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 67, },
 
1130
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 65, },
 
1131
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 63, },
 
1132
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 62, },
 
1133
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 60, },
 
1134
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 58, },
 
1135
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 57, },
 
1136
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 70, },
 
1137
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 68, },
 
1138
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 66, },
 
1139
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 65, },
 
1140
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 63, },
 
1141
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 61, },
 
1142
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 59, },
 
1143
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 58, },
 
1144
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 71, },
 
1145
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 69, },
 
1146
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 67, },
 
1147
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 65, },
 
1148
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 63, },
 
1149
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 61, },
 
1150
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 60, },
 
1151
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 58, },
 
1152
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 56, },
 
1153
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 70, },
 
1154
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 68, },
 
1155
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 66, },
 
1156
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 64, },
 
1157
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 62, },
 
1158
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 60, },
 
1159
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 59, },
 
1160
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 72, },
 
1161
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 70, },
 
1162
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 68, },
 
1163
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 66, },
 
1164
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 64, },
 
1165
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 62, },
 
1166
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 60, },
 
1167
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 59, },
 
1168
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 72, },
 
1169
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 70, },
 
1170
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 68, },
 
1171
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 66, },
 
1172
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 64, },
 
1173
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 63, },
 
1174
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 61, },
 
1175
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 59, },
 
1176
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 57, },
 
1177
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 72, },
 
1178
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 70, },
 
1179
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 68, },
 
1180
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 66, },
 
1181
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 64, },
 
1182
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 62, },
 
1183
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 60, },
 
1184
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 59, },
 
1185
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 72, },
 
1186
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 70, },
 
1187
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 68, },
 
1188
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 66, },
 
1189
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 64, },
 
1190
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 62, },
 
1191
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 61, },
 
1192
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 59, },
 
1193
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 73, },
 
1194
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 71, },
 
1195
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 69, },
 
1196
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 67, },
 
1197
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 65, },
 
1198
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 63, },
 
1199
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 61, },
 
1200
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 59, },
 
1201
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 72, },
 
1202
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 70, },
 
1203
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 68, },
 
1204
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 66, },
 
1205
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 65, },
 
1206
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 63, },
 
1207
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 61, },
 
1208
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 59, },
 
1209
        { .gm = 7, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 73, },
 
1210
        { .gm = 7, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 71, },
 
1211
};
 
1212
 
 
1213
static struct lpphy_tx_gain_table_entry lpphy_rev0_2ghz_tx_gain_table[] = {
 
1214
        { .gm = 4, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 64, },
 
1215
        { .gm = 4, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 62, },
 
1216
        { .gm = 4, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 60, },
 
1217
        { .gm = 4, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 59, },
 
1218
        { .gm = 4, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 72, },
 
1219
        { .gm = 4, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 70, },
 
1220
        { .gm = 4, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 68, },
 
1221
        { .gm = 4, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 66, },
 
1222
        { .gm = 4, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 64, },
 
1223
        { .gm = 4, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 62, },
 
1224
        { .gm = 4, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 60, },
 
1225
        { .gm = 4, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 59, },
 
1226
        { .gm = 4, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 72, },
 
1227
        { .gm = 4, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 70, },
 
1228
        { .gm = 4, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 68, },
 
1229
        { .gm = 4, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 66, },
 
1230
        { .gm = 4, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 64, },
 
1231
        { .gm = 4, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 63, },
 
1232
        { .gm = 4, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 61, },
 
1233
        { .gm = 4, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 59, },
 
1234
        { .gm = 4, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 57, },
 
1235
        { .gm = 4, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 72, },
 
1236
        { .gm = 4, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 70, },
 
1237
        { .gm = 4, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 68, },
 
1238
        { .gm = 4, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 66, },
 
1239
        { .gm = 4, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 64, },
 
1240
        { .gm = 4, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 62, },
 
1241
        { .gm = 4, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 60, },
 
1242
        { .gm = 4, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 59, },
 
1243
        { .gm = 4, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 72, },
 
1244
        { .gm = 4, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 70, },
 
1245
        { .gm = 4, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 68, },
 
1246
        { .gm = 4, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 66, },
 
1247
        { .gm = 4, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 64, },
 
1248
        { .gm = 4, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 62, },
 
1249
        { .gm = 4, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 61, },
 
1250
        { .gm = 4, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 59, },
 
1251
        { .gm = 4, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 73, },
 
1252
        { .gm = 4, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 71, },
 
1253
        { .gm = 4, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 69, },
 
1254
        { .gm = 4, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 67, },
 
1255
        { .gm = 4, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 65, },
 
1256
        { .gm = 4, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 63, },
 
1257
        { .gm = 4, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 61, },
 
1258
        { .gm = 4, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 59, },
 
1259
        { .gm = 4, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 72, },
 
1260
        { .gm = 4, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 70, },
 
1261
        { .gm = 4, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 68, },
 
1262
        { .gm = 4, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 66, },
 
1263
        { .gm = 4, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 65, },
 
1264
        { .gm = 4, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 63, },
 
1265
        { .gm = 4, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 61, },
 
1266
        { .gm = 4, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 59, },
 
1267
        { .gm = 4, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 73, },
 
1268
        { .gm = 4, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 71, },
 
1269
        { .gm = 4, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 69, },
 
1270
        { .gm = 4, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 67, },
 
1271
        { .gm = 4, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 65, },
 
1272
        { .gm = 4, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 63, },
 
1273
        { .gm = 4, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 61, },
 
1274
        { .gm = 4, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 60, },
 
1275
        { .gm = 4, .pga = 10, .pad = 6, .dac = 0, .bb_mult = 72, },
 
1276
        { .gm = 4, .pga = 10, .pad = 6, .dac = 0, .bb_mult = 70, },
 
1277
        { .gm = 4, .pga = 10, .pad = 6, .dac = 0, .bb_mult = 68, },
 
1278
        { .gm = 4, .pga = 10, .pad = 6, .dac = 0, .bb_mult = 66, },
 
1279
        { .gm = 4, .pga = 10, .pad = 6, .dac = 0, .bb_mult = 64, },
 
1280
        { .gm = 4, .pga = 10, .pad = 6, .dac = 0, .bb_mult = 62, },
 
1281
        { .gm = 4, .pga = 10, .pad = 6, .dac = 0, .bb_mult = 60, },
 
1282
        { .gm = 4, .pga = 10, .pad = 6, .dac = 0, .bb_mult = 59, },
 
1283
        { .gm = 4, .pga = 10, .pad = 5, .dac = 0, .bb_mult = 72, },
 
1284
        { .gm = 4, .pga = 10, .pad = 5, .dac = 0, .bb_mult = 70, },
 
1285
        { .gm = 4, .pga = 10, .pad = 5, .dac = 0, .bb_mult = 68, },
 
1286
        { .gm = 4, .pga = 10, .pad = 5, .dac = 0, .bb_mult = 66, },
 
1287
        { .gm = 4, .pga = 10, .pad = 5, .dac = 0, .bb_mult = 64, },
 
1288
        { .gm = 4, .pga = 10, .pad = 5, .dac = 0, .bb_mult = 62, },
 
1289
        { .gm = 4, .pga = 10, .pad = 5, .dac = 0, .bb_mult = 60, },
 
1290
        { .gm = 4, .pga = 10, .pad = 5, .dac = 0, .bb_mult = 59, },
 
1291
        { .gm = 4, .pga = 9, .pad = 5, .dac = 0, .bb_mult = 70, },
 
1292
        { .gm = 4, .pga = 9, .pad = 5, .dac = 0, .bb_mult = 68, },
 
1293
        { .gm = 4, .pga = 9, .pad = 5, .dac = 0, .bb_mult = 66, },
 
1294
        { .gm = 4, .pga = 9, .pad = 5, .dac = 0, .bb_mult = 64, },
 
1295
        { .gm = 4, .pga = 9, .pad = 5, .dac = 0, .bb_mult = 63, },
 
1296
        { .gm = 4, .pga = 9, .pad = 5, .dac = 0, .bb_mult = 61, },
 
1297
        { .gm = 4, .pga = 9, .pad = 5, .dac = 0, .bb_mult = 59, },
 
1298
        { .gm = 4, .pga = 9, .pad = 4, .dac = 0, .bb_mult = 71, },
 
1299
        { .gm = 4, .pga = 9, .pad = 4, .dac = 0, .bb_mult = 69, },
 
1300
        { .gm = 4, .pga = 9, .pad = 4, .dac = 0, .bb_mult = 67, },
 
1301
        { .gm = 4, .pga = 9, .pad = 4, .dac = 0, .bb_mult = 65, },
 
1302
        { .gm = 4, .pga = 9, .pad = 4, .dac = 0, .bb_mult = 63, },
 
1303
        { .gm = 4, .pga = 9, .pad = 4, .dac = 0, .bb_mult = 62, },
 
1304
        { .gm = 4, .pga = 9, .pad = 4, .dac = 0, .bb_mult = 60, },
 
1305
        { .gm = 4, .pga = 9, .pad = 4, .dac = 0, .bb_mult = 58, },
 
1306
        { .gm = 4, .pga = 8, .pad = 4, .dac = 0, .bb_mult = 70, },
 
1307
        { .gm = 4, .pga = 8, .pad = 4, .dac = 0, .bb_mult = 68, },
 
1308
        { .gm = 4, .pga = 8, .pad = 4, .dac = 0, .bb_mult = 66, },
 
1309
        { .gm = 4, .pga = 8, .pad = 4, .dac = 0, .bb_mult = 65, },
 
1310
        { .gm = 4, .pga = 8, .pad = 4, .dac = 0, .bb_mult = 63, },
 
1311
        { .gm = 4, .pga = 8, .pad = 4, .dac = 0, .bb_mult = 61, },
 
1312
        { .gm = 4, .pga = 8, .pad = 4, .dac = 0, .bb_mult = 59, },
 
1313
        { .gm = 4, .pga = 7, .pad = 4, .dac = 0, .bb_mult = 68, },
 
1314
        { .gm = 4, .pga = 7, .pad = 4, .dac = 0, .bb_mult = 66, },
 
1315
        { .gm = 4, .pga = 7, .pad = 4, .dac = 0, .bb_mult = 64, },
 
1316
        { .gm = 4, .pga = 7, .pad = 4, .dac = 0, .bb_mult = 62, },
 
1317
        { .gm = 4, .pga = 7, .pad = 4, .dac = 0, .bb_mult = 61, },
 
1318
        { .gm = 4, .pga = 7, .pad = 4, .dac = 0, .bb_mult = 59, },
 
1319
        { .gm = 4, .pga = 7, .pad = 3, .dac = 0, .bb_mult = 67, },
 
1320
        { .gm = 4, .pga = 7, .pad = 3, .dac = 0, .bb_mult = 65, },
 
1321
        { .gm = 4, .pga = 7, .pad = 3, .dac = 0, .bb_mult = 63, },
 
1322
        { .gm = 4, .pga = 7, .pad = 3, .dac = 0, .bb_mult = 62, },
 
1323
        { .gm = 4, .pga = 7, .pad = 3, .dac = 0, .bb_mult = 60, },
 
1324
        { .gm = 4, .pga = 6, .pad = 3, .dac = 0, .bb_mult = 65, },
 
1325
        { .gm = 4, .pga = 6, .pad = 3, .dac = 0, .bb_mult = 63, },
 
1326
        { .gm = 4, .pga = 6, .pad = 3, .dac = 0, .bb_mult = 61, },
 
1327
        { .gm = 4, .pga = 6, .pad = 3, .dac = 0, .bb_mult = 60, },
 
1328
        { .gm = 4, .pga = 6, .pad = 3, .dac = 0, .bb_mult = 58, },
 
1329
        { .gm = 4, .pga = 5, .pad = 3, .dac = 0, .bb_mult = 68, },
 
1330
        { .gm = 4, .pga = 5, .pad = 3, .dac = 0, .bb_mult = 66, },
 
1331
        { .gm = 4, .pga = 5, .pad = 3, .dac = 0, .bb_mult = 64, },
 
1332
        { .gm = 4, .pga = 5, .pad = 3, .dac = 0, .bb_mult = 62, },
 
1333
        { .gm = 4, .pga = 5, .pad = 3, .dac = 0, .bb_mult = 60, },
 
1334
        { .gm = 4, .pga = 5, .pad = 3, .dac = 0, .bb_mult = 59, },
 
1335
        { .gm = 4, .pga = 5, .pad = 3, .dac = 0, .bb_mult = 57, },
 
1336
        { .gm = 4, .pga = 4, .pad = 2, .dac = 0, .bb_mult = 83, },
 
1337
        { .gm = 4, .pga = 4, .pad = 2, .dac = 0, .bb_mult = 81, },
 
1338
        { .gm = 4, .pga = 4, .pad = 2, .dac = 0, .bb_mult = 78, },
 
1339
        { .gm = 4, .pga = 4, .pad = 2, .dac = 0, .bb_mult = 76, },
 
1340
        { .gm = 4, .pga = 4, .pad = 2, .dac = 0, .bb_mult = 74, },
 
1341
        { .gm = 4, .pga = 4, .pad = 2, .dac = 0, .bb_mult = 72, },
 
1342
};
 
1343
 
 
1344
static struct lpphy_tx_gain_table_entry lpphy_rev0_5ghz_tx_gain_table[] = {
 
1345
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 99, },
 
1346
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 96, },
 
1347
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 93, },
 
1348
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 90, },
 
1349
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 88, },
 
1350
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 85, },
 
1351
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 83, },
 
1352
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 81, },
 
1353
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 78, },
 
1354
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 76, },
 
1355
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 74, },
 
1356
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 72, },
 
1357
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 70, },
 
1358
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 68, },
 
1359
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 66, },
 
1360
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 64, },
 
1361
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 62, },
 
1362
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 60, },
 
1363
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 59, },
 
1364
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 57, },
 
1365
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 55, },
 
1366
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 72, },
 
1367
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 70, },
 
1368
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 68, },
 
1369
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 66, },
 
1370
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 64, },
 
1371
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 62, },
 
1372
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 60, },
 
1373
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 58, },
 
1374
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 56, },
 
1375
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 55, },
 
1376
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 71, },
 
1377
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 69, },
 
1378
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 67, },
 
1379
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 65, },
 
1380
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 63, },
 
1381
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 62, },
 
1382
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 60, },
 
1383
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 58, },
 
1384
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 56, },
 
1385
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 72, },
 
1386
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 70, },
 
1387
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 68, },
 
1388
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 66, },
 
1389
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 64, },
 
1390
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 62, },
 
1391
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 60, },
 
1392
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 59, },
 
1393
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 57, },
 
1394
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 73, },
 
1395
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 71, },
 
1396
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 69, },
 
1397
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 67, },
 
1398
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 65, },
 
1399
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 63, },
 
1400
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 61, },
 
1401
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 60, },
 
1402
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 58, },
 
1403
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 71, },
 
1404
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 69, },
 
1405
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 67, },
 
1406
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 65, },
 
1407
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 63, },
 
1408
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 61, },
 
1409
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 60, },
 
1410
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 58, },
 
1411
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 70, },
 
1412
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 68, },
 
1413
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 66, },
 
1414
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 64, },
 
1415
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 62, },
 
1416
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 61, },
 
1417
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 59, },
 
1418
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 57, },
 
1419
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 56, },
 
1420
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 68, },
 
1421
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 66, },
 
1422
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 65, },
 
1423
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 63, },
 
1424
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 61, },
 
1425
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 59, },
 
1426
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 58, },
 
1427
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 70, },
 
1428
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 68, },
 
1429
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 66, },
 
1430
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 64, },
 
1431
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 63, },
 
1432
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 61, },
 
1433
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 59, },
 
1434
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 57, },
 
1435
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 70, },
 
1436
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 68, },
 
1437
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 66, },
 
1438
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 64, },
 
1439
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 62, },
 
1440
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 60, },
 
1441
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 59, },
 
1442
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 57, },
 
1443
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 70, },
 
1444
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 68, },
 
1445
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 66, },
 
1446
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 64, },
 
1447
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 62, },
 
1448
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 61, },
 
1449
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 59, },
 
1450
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 57, },
 
1451
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 70, },
 
1452
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 68, },
 
1453
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 66, },
 
1454
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 64, },
 
1455
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 62, },
 
1456
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 61, },
 
1457
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 59, },
 
1458
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 57, },
 
1459
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 70, },
 
1460
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 68, },
 
1461
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 66, },
 
1462
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 64, },
 
1463
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 62, },
 
1464
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 61, },
 
1465
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 59, },
 
1466
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 57, },
 
1467
        { .gm = 7, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 69, },
 
1468
        { .gm = 7, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 67, },
 
1469
        { .gm = 7, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 65, },
 
1470
        { .gm = 7, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 63, },
 
1471
        { .gm = 7, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 62, },
 
1472
        { .gm = 7, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 60, },
 
1473
};
 
1474
 
 
1475
static struct lpphy_tx_gain_table_entry lpphy_rev1_nopa_tx_gain_table[] = {
 
1476
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 152, },
 
1477
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 147, },
 
1478
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 143, },
 
1479
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 139, },
 
1480
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 135, },
 
1481
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 131, },
 
1482
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 128, },
 
1483
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 124, },
 
1484
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 121, },
 
1485
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 117, },
 
1486
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 114, },
 
1487
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 111, },
 
1488
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 107, },
 
1489
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 104, },
 
1490
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 101, },
 
1491
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 99, },
 
1492
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 96, },
 
1493
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 93, },
 
1494
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 90, },
 
1495
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 88, },
 
1496
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 85, },
 
1497
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 83, },
 
1498
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 81, },
 
1499
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 78, },
 
1500
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 76, },
 
1501
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 74, },
 
1502
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 72, },
 
1503
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 70, },
 
1504
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 68, },
 
1505
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 66, },
 
1506
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 64, },
 
1507
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 62, },
 
1508
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 60, },
 
1509
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 59, },
 
1510
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 57, },
 
1511
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 72, },
 
1512
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 70, },
 
1513
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 68, },
 
1514
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 66, },
 
1515
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 64, },
 
1516
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 62, },
 
1517
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 60, },
 
1518
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 59, },
 
1519
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 57, },
 
1520
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 72, },
 
1521
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 70, },
 
1522
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 68, },
 
1523
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 66, },
 
1524
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 64, },
 
1525
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 62, },
 
1526
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 60, },
 
1527
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 59, },
 
1528
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 57, },
 
1529
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 71, },
 
1530
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 69, },
 
1531
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 67, },
 
1532
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 65, },
 
1533
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 63, },
 
1534
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 62, },
 
1535
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 60, },
 
1536
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 58, },
 
1537
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 57, },
 
1538
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 70, },
 
1539
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 68, },
 
1540
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 66, },
 
1541
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 65, },
 
1542
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 63, },
 
1543
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 61, },
 
1544
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 59, },
 
1545
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 58, },
 
1546
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 71, },
 
1547
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 69, },
 
1548
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 67, },
 
1549
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 65, },
 
1550
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 63, },
 
1551
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 61, },
 
1552
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 60, },
 
1553
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 58, },
 
1554
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 56, },
 
1555
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 70, },
 
1556
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 68, },
 
1557
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 66, },
 
1558
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 64, },
 
1559
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 62, },
 
1560
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 60, },
 
1561
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 59, },
 
1562
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 72, },
 
1563
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 70, },
 
1564
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 68, },
 
1565
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 66, },
 
1566
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 64, },
 
1567
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 62, },
 
1568
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 60, },
 
1569
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 59, },
 
1570
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 72, },
 
1571
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 70, },
 
1572
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 68, },
 
1573
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 66, },
 
1574
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 64, },
 
1575
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 63, },
 
1576
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 61, },
 
1577
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 59, },
 
1578
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 57, },
 
1579
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 72, },
 
1580
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 70, },
 
1581
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 68, },
 
1582
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 66, },
 
1583
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 64, },
 
1584
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 62, },
 
1585
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 60, },
 
1586
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 59, },
 
1587
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 72, },
 
1588
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 70, },
 
1589
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 68, },
 
1590
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 66, },
 
1591
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 64, },
 
1592
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 62, },
 
1593
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 61, },
 
1594
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 59, },
 
1595
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 73, },
 
1596
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 71, },
 
1597
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 69, },
 
1598
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 67, },
 
1599
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 65, },
 
1600
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 63, },
 
1601
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 61, },
 
1602
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 59, },
 
1603
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 72, },
 
1604
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 70, },
 
1605
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 68, },
 
1606
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 66, },
 
1607
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 65, },
 
1608
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 63, },
 
1609
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 61, },
 
1610
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 59, },
 
1611
        { .gm = 7, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 73, },
 
1612
        { .gm = 7, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 71, },
 
1613
};
 
1614
 
 
1615
static struct lpphy_tx_gain_table_entry lpphy_rev1_2ghz_tx_gain_table[] = {
 
1616
        { .gm = 4, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 90, },
 
1617
        { .gm = 4, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 88, },
 
1618
        { .gm = 4, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 85, },
 
1619
        { .gm = 4, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 83, },
 
1620
        { .gm = 4, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 81, },
 
1621
        { .gm = 4, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 78, },
 
1622
        { .gm = 4, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 76, },
 
1623
        { .gm = 4, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 74, },
 
1624
        { .gm = 4, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 72, },
 
1625
        { .gm = 4, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 70, },
 
1626
        { .gm = 4, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 68, },
 
1627
        { .gm = 4, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 66, },
 
1628
        { .gm = 4, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 64, },
 
1629
        { .gm = 4, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 62, },
 
1630
        { .gm = 4, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 60, },
 
1631
        { .gm = 4, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 59, },
 
1632
        { .gm = 4, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 72, },
 
1633
        { .gm = 4, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 70, },
 
1634
        { .gm = 4, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 68, },
 
1635
        { .gm = 4, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 66, },
 
1636
        { .gm = 4, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 64, },
 
1637
        { .gm = 4, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 62, },
 
1638
        { .gm = 4, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 60, },
 
1639
        { .gm = 4, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 59, },
 
1640
        { .gm = 4, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 72, },
 
1641
        { .gm = 4, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 70, },
 
1642
        { .gm = 4, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 68, },
 
1643
        { .gm = 4, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 66, },
 
1644
        { .gm = 4, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 64, },
 
1645
        { .gm = 4, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 62, },
 
1646
        { .gm = 4, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 60, },
 
1647
        { .gm = 4, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 59, },
 
1648
        { .gm = 4, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 72, },
 
1649
        { .gm = 4, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 70, },
 
1650
        { .gm = 4, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 68, },
 
1651
        { .gm = 4, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 66, },
 
1652
        { .gm = 4, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 64, },
 
1653
        { .gm = 4, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 62, },
 
1654
        { .gm = 4, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 60, },
 
1655
        { .gm = 4, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 59, },
 
1656
        { .gm = 4, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 72, },
 
1657
        { .gm = 4, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 70, },
 
1658
        { .gm = 4, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 68, },
 
1659
        { .gm = 4, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 66, },
 
1660
        { .gm = 4, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 64, },
 
1661
        { .gm = 4, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 62, },
 
1662
        { .gm = 4, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 60, },
 
1663
        { .gm = 4, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 59, },
 
1664
        { .gm = 4, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 72, },
 
1665
        { .gm = 4, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 70, },
 
1666
        { .gm = 4, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 68, },
 
1667
        { .gm = 4, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 66, },
 
1668
        { .gm = 4, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 64, },
 
1669
        { .gm = 4, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 62, },
 
1670
        { .gm = 4, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 60, },
 
1671
        { .gm = 4, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 59, },
 
1672
        { .gm = 4, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 72, },
 
1673
        { .gm = 4, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 70, },
 
1674
        { .gm = 4, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 68, },
 
1675
        { .gm = 4, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 66, },
 
1676
        { .gm = 4, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 64, },
 
1677
        { .gm = 4, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 62, },
 
1678
        { .gm = 4, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 60, },
 
1679
        { .gm = 4, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 59, },
 
1680
        { .gm = 4, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 72, },
 
1681
        { .gm = 4, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 70, },
 
1682
        { .gm = 4, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 68, },
 
1683
        { .gm = 4, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 66, },
 
1684
        { .gm = 4, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 64, },
 
1685
        { .gm = 4, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 62, },
 
1686
        { .gm = 4, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 60, },
 
1687
        { .gm = 4, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 59, },
 
1688
        { .gm = 4, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 72, },
 
1689
        { .gm = 4, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 70, },
 
1690
        { .gm = 4, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 68, },
 
1691
        { .gm = 4, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 66, },
 
1692
        { .gm = 4, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 64, },
 
1693
        { .gm = 4, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 63, },
 
1694
        { .gm = 4, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 61, },
 
1695
        { .gm = 4, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 59, },
 
1696
        { .gm = 4, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 57, },
 
1697
        { .gm = 4, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 72, },
 
1698
        { .gm = 4, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 70, },
 
1699
        { .gm = 4, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 68, },
 
1700
        { .gm = 4, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 66, },
 
1701
        { .gm = 4, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 64, },
 
1702
        { .gm = 4, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 62, },
 
1703
        { .gm = 4, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 60, },
 
1704
        { .gm = 4, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 59, },
 
1705
        { .gm = 4, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 72, },
 
1706
        { .gm = 4, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 70, },
 
1707
        { .gm = 4, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 68, },
 
1708
        { .gm = 4, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 66, },
 
1709
        { .gm = 4, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 64, },
 
1710
        { .gm = 4, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 62, },
 
1711
        { .gm = 4, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 61, },
 
1712
        { .gm = 4, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 59, },
 
1713
        { .gm = 4, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 73, },
 
1714
        { .gm = 4, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 71, },
 
1715
        { .gm = 4, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 69, },
 
1716
        { .gm = 4, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 67, },
 
1717
        { .gm = 4, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 65, },
 
1718
        { .gm = 4, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 63, },
 
1719
        { .gm = 4, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 61, },
 
1720
        { .gm = 4, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 59, },
 
1721
        { .gm = 4, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 72, },
 
1722
        { .gm = 4, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 70, },
 
1723
        { .gm = 4, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 68, },
 
1724
        { .gm = 4, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 66, },
 
1725
        { .gm = 4, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 65, },
 
1726
        { .gm = 4, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 63, },
 
1727
        { .gm = 4, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 61, },
 
1728
        { .gm = 4, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 59, },
 
1729
        { .gm = 4, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 73, },
 
1730
        { .gm = 4, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 71, },
 
1731
        { .gm = 4, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 69, },
 
1732
        { .gm = 4, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 67, },
 
1733
        { .gm = 4, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 65, },
 
1734
        { .gm = 4, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 63, },
 
1735
        { .gm = 4, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 61, },
 
1736
        { .gm = 4, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 60, },
 
1737
        { .gm = 4, .pga = 10, .pad = 6, .dac = 0, .bb_mult = 72, },
 
1738
        { .gm = 4, .pga = 10, .pad = 6, .dac = 0, .bb_mult = 70, },
 
1739
        { .gm = 4, .pga = 10, .pad = 6, .dac = 0, .bb_mult = 68, },
 
1740
        { .gm = 4, .pga = 10, .pad = 6, .dac = 0, .bb_mult = 66, },
 
1741
        { .gm = 4, .pga = 10, .pad = 6, .dac = 0, .bb_mult = 64, },
 
1742
        { .gm = 4, .pga = 10, .pad = 6, .dac = 0, .bb_mult = 62, },
 
1743
        { .gm = 4, .pga = 10, .pad = 6, .dac = 0, .bb_mult = 60, },
 
1744
};
 
1745
 
 
1746
static struct lpphy_tx_gain_table_entry lpphy_rev1_5ghz_tx_gain_table[] = {
 
1747
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 99, },
 
1748
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 96, },
 
1749
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 93, },
 
1750
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 90, },
 
1751
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 88, },
 
1752
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 85, },
 
1753
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 83, },
 
1754
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 81, },
 
1755
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 78, },
 
1756
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 76, },
 
1757
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 74, },
 
1758
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 72, },
 
1759
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 70, },
 
1760
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 68, },
 
1761
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 66, },
 
1762
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 64, },
 
1763
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 62, },
 
1764
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 60, },
 
1765
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 59, },
 
1766
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 57, },
 
1767
        { .gm = 7, .pga = 15, .pad = 15, .dac = 0, .bb_mult = 55, },
 
1768
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 72, },
 
1769
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 70, },
 
1770
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 68, },
 
1771
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 66, },
 
1772
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 64, },
 
1773
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 62, },
 
1774
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 60, },
 
1775
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 58, },
 
1776
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 56, },
 
1777
        { .gm = 7, .pga = 15, .pad = 14, .dac = 0, .bb_mult = 55, },
 
1778
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 71, },
 
1779
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 69, },
 
1780
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 67, },
 
1781
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 65, },
 
1782
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 63, },
 
1783
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 62, },
 
1784
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 60, },
 
1785
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 58, },
 
1786
        { .gm = 7, .pga = 15, .pad = 13, .dac = 0, .bb_mult = 56, },
 
1787
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 72, },
 
1788
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 70, },
 
1789
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 68, },
 
1790
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 66, },
 
1791
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 64, },
 
1792
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 62, },
 
1793
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 60, },
 
1794
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 59, },
 
1795
        { .gm = 7, .pga = 15, .pad = 12, .dac = 0, .bb_mult = 57, },
 
1796
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 73, },
 
1797
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 71, },
 
1798
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 69, },
 
1799
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 67, },
 
1800
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 65, },
 
1801
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 63, },
 
1802
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 61, },
 
1803
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 60, },
 
1804
        { .gm = 7, .pga = 15, .pad = 11, .dac = 0, .bb_mult = 58, },
 
1805
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 71, },
 
1806
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 69, },
 
1807
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 67, },
 
1808
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 65, },
 
1809
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 63, },
 
1810
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 61, },
 
1811
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 60, },
 
1812
        { .gm = 7, .pga = 15, .pad = 10, .dac = 0, .bb_mult = 58, },
 
1813
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 70, },
 
1814
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 68, },
 
1815
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 66, },
 
1816
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 64, },
 
1817
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 62, },
 
1818
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 61, },
 
1819
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 59, },
 
1820
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 57, },
 
1821
        { .gm = 7, .pga = 15, .pad = 9, .dac = 0, .bb_mult = 56, },
 
1822
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 68, },
 
1823
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 66, },
 
1824
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 65, },
 
1825
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 63, },
 
1826
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 61, },
 
1827
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 59, },
 
1828
        { .gm = 7, .pga = 14, .pad = 9, .dac = 0, .bb_mult = 58, },
 
1829
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 70, },
 
1830
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 68, },
 
1831
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 66, },
 
1832
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 64, },
 
1833
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 63, },
 
1834
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 61, },
 
1835
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 59, },
 
1836
        { .gm = 7, .pga = 13, .pad = 9, .dac = 0, .bb_mult = 57, },
 
1837
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 70, },
 
1838
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 68, },
 
1839
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 66, },
 
1840
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 64, },
 
1841
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 62, },
 
1842
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 60, },
 
1843
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 59, },
 
1844
        { .gm = 7, .pga = 13, .pad = 8, .dac = 0, .bb_mult = 57, },
 
1845
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 70, },
 
1846
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 68, },
 
1847
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 66, },
 
1848
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 64, },
 
1849
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 62, },
 
1850
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 61, },
 
1851
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 59, },
 
1852
        { .gm = 7, .pga = 12, .pad = 8, .dac = 0, .bb_mult = 57, },
 
1853
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 70, },
 
1854
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 68, },
 
1855
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 66, },
 
1856
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 64, },
 
1857
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 62, },
 
1858
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 61, },
 
1859
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 59, },
 
1860
        { .gm = 7, .pga = 12, .pad = 7, .dac = 0, .bb_mult = 57, },
 
1861
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 70, },
 
1862
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 68, },
 
1863
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 66, },
 
1864
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 64, },
 
1865
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 62, },
 
1866
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 61, },
 
1867
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 59, },
 
1868
        { .gm = 7, .pga = 11, .pad = 7, .dac = 0, .bb_mult = 57, },
 
1869
        { .gm = 7, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 69, },
 
1870
        { .gm = 7, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 67, },
 
1871
        { .gm = 7, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 65, },
 
1872
        { .gm = 7, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 63, },
 
1873
        { .gm = 7, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 62, },
 
1874
        { .gm = 7, .pga = 11, .pad = 6, .dac = 0, .bb_mult = 60, },
 
1875
};
 
1876
 
 
1877
static struct lpphy_tx_gain_table_entry lpphy_rev2_nopa_tx_gain_table[] = {
 
1878
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 152, },
 
1879
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 147, },
 
1880
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 143, },
 
1881
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 139, },
 
1882
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 135, },
 
1883
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 131, },
 
1884
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 128, },
 
1885
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 124, },
 
1886
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 121, },
 
1887
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 117, },
 
1888
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 114, },
 
1889
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 111, },
 
1890
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 107, },
 
1891
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 104, },
 
1892
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 101, },
 
1893
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 99, },
 
1894
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 96, },
 
1895
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 93, },
 
1896
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 90, },
 
1897
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 88, },
 
1898
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 85, },
 
1899
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 83, },
 
1900
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 81, },
 
1901
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 78, },
 
1902
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 76, },
 
1903
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 74, },
 
1904
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 72, },
 
1905
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 70, },
 
1906
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 68, },
 
1907
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 66, },
 
1908
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 64, },
 
1909
        { .gm = 255, .pga = 255, .pad = 197, .dac = 0, .bb_mult = 64, },
 
1910
        { .gm = 255, .pga = 255, .pad = 192, .dac = 0, .bb_mult = 64, },
 
1911
        { .gm = 255, .pga = 255, .pad = 186, .dac = 0, .bb_mult = 64, },
 
1912
        { .gm = 255, .pga = 255, .pad = 181, .dac = 0, .bb_mult = 64, },
 
1913
        { .gm = 255, .pga = 255, .pad = 176, .dac = 0, .bb_mult = 64, },
 
1914
        { .gm = 255, .pga = 255, .pad = 171, .dac = 0, .bb_mult = 64, },
 
1915
        { .gm = 255, .pga = 255, .pad = 166, .dac = 0, .bb_mult = 64, },
 
1916
        { .gm = 255, .pga = 255, .pad = 161, .dac = 0, .bb_mult = 64, },
 
1917
        { .gm = 255, .pga = 255, .pad = 157, .dac = 0, .bb_mult = 64, },
 
1918
        { .gm = 255, .pga = 255, .pad = 152, .dac = 0, .bb_mult = 64, },
 
1919
        { .gm = 255, .pga = 255, .pad = 148, .dac = 0, .bb_mult = 64, },
 
1920
        { .gm = 255, .pga = 255, .pad = 144, .dac = 0, .bb_mult = 64, },
 
1921
        { .gm = 255, .pga = 255, .pad = 140, .dac = 0, .bb_mult = 64, },
 
1922
        { .gm = 255, .pga = 255, .pad = 136, .dac = 0, .bb_mult = 64, },
 
1923
        { .gm = 255, .pga = 255, .pad = 132, .dac = 0, .bb_mult = 64, },
 
1924
        { .gm = 255, .pga = 255, .pad = 128, .dac = 0, .bb_mult = 64, },
 
1925
        { .gm = 255, .pga = 255, .pad = 124, .dac = 0, .bb_mult = 64, },
 
1926
        { .gm = 255, .pga = 255, .pad = 121, .dac = 0, .bb_mult = 64, },
 
1927
        { .gm = 255, .pga = 255, .pad = 117, .dac = 0, .bb_mult = 64, },
 
1928
        { .gm = 255, .pga = 255, .pad = 114, .dac = 0, .bb_mult = 64, },
 
1929
        { .gm = 255, .pga = 255, .pad = 111, .dac = 0, .bb_mult = 64, },
 
1930
        { .gm = 255, .pga = 255, .pad = 108, .dac = 0, .bb_mult = 64, },
 
1931
        { .gm = 255, .pga = 255, .pad = 105, .dac = 0, .bb_mult = 64, },
 
1932
        { .gm = 255, .pga = 255, .pad = 102, .dac = 0, .bb_mult = 64, },
 
1933
        { .gm = 255, .pga = 255, .pad = 99, .dac = 0, .bb_mult = 64, },
 
1934
        { .gm = 255, .pga = 255, .pad = 96, .dac = 0, .bb_mult = 64, },
 
1935
        { .gm = 255, .pga = 255, .pad = 93, .dac = 0, .bb_mult = 64, },
 
1936
        { .gm = 255, .pga = 255, .pad = 91, .dac = 0, .bb_mult = 64, },
 
1937
        { .gm = 255, .pga = 255, .pad = 88, .dac = 0, .bb_mult = 64, },
 
1938
        { .gm = 255, .pga = 255, .pad = 86, .dac = 0, .bb_mult = 64, },
 
1939
        { .gm = 255, .pga = 255, .pad = 83, .dac = 0, .bb_mult = 64, },
 
1940
        { .gm = 255, .pga = 255, .pad = 81, .dac = 0, .bb_mult = 64, },
 
1941
        { .gm = 255, .pga = 255, .pad = 79, .dac = 0, .bb_mult = 64, },
 
1942
        { .gm = 255, .pga = 255, .pad = 76, .dac = 0, .bb_mult = 64, },
 
1943
        { .gm = 255, .pga = 255, .pad = 74, .dac = 0, .bb_mult = 64, },
 
1944
        { .gm = 255, .pga = 255, .pad = 72, .dac = 0, .bb_mult = 64, },
 
1945
        { .gm = 255, .pga = 255, .pad = 70, .dac = 0, .bb_mult = 64, },
 
1946
        { .gm = 255, .pga = 255, .pad = 68, .dac = 0, .bb_mult = 64, },
 
1947
        { .gm = 255, .pga = 255, .pad = 66, .dac = 0, .bb_mult = 64, },
 
1948
        { .gm = 255, .pga = 255, .pad = 64, .dac = 0, .bb_mult = 64, },
 
1949
        { .gm = 255, .pga = 248, .pad = 64, .dac = 0, .bb_mult = 64, },
 
1950
        { .gm = 255, .pga = 248, .pad = 62, .dac = 0, .bb_mult = 64, },
 
1951
        { .gm = 255, .pga = 241, .pad = 62, .dac = 0, .bb_mult = 64, },
 
1952
        { .gm = 255, .pga = 241, .pad = 60, .dac = 0, .bb_mult = 64, },
 
1953
        { .gm = 255, .pga = 234, .pad = 60, .dac = 0, .bb_mult = 64, },
 
1954
        { .gm = 255, .pga = 234, .pad = 59, .dac = 0, .bb_mult = 64, },
 
1955
        { .gm = 255, .pga = 227, .pad = 59, .dac = 0, .bb_mult = 64, },
 
1956
        { .gm = 255, .pga = 227, .pad = 57, .dac = 0, .bb_mult = 64, },
 
1957
        { .gm = 255, .pga = 221, .pad = 57, .dac = 0, .bb_mult = 64, },
 
1958
        { .gm = 255, .pga = 221, .pad = 55, .dac = 0, .bb_mult = 64, },
 
1959
        { .gm = 255, .pga = 215, .pad = 55, .dac = 0, .bb_mult = 64, },
 
1960
        { .gm = 255, .pga = 215, .pad = 54, .dac = 0, .bb_mult = 64, },
 
1961
        { .gm = 255, .pga = 208, .pad = 54, .dac = 0, .bb_mult = 64, },
 
1962
        { .gm = 255, .pga = 208, .pad = 52, .dac = 0, .bb_mult = 64, },
 
1963
        { .gm = 255, .pga = 203, .pad = 52, .dac = 0, .bb_mult = 64, },
 
1964
        { .gm = 255, .pga = 203, .pad = 51, .dac = 0, .bb_mult = 64, },
 
1965
        { .gm = 255, .pga = 197, .pad = 51, .dac = 0, .bb_mult = 64, },
 
1966
        { .gm = 255, .pga = 197, .pad = 49, .dac = 0, .bb_mult = 64, },
 
1967
        { .gm = 255, .pga = 191, .pad = 49, .dac = 0, .bb_mult = 64, },
 
1968
        { .gm = 255, .pga = 191, .pad = 48, .dac = 0, .bb_mult = 64, },
 
1969
        { .gm = 255, .pga = 186, .pad = 48, .dac = 0, .bb_mult = 64, },
 
1970
        { .gm = 255, .pga = 186, .pad = 47, .dac = 0, .bb_mult = 64, },
 
1971
        { .gm = 255, .pga = 181, .pad = 47, .dac = 0, .bb_mult = 64, },
 
1972
        { .gm = 255, .pga = 181, .pad = 45, .dac = 0, .bb_mult = 64, },
 
1973
        { .gm = 255, .pga = 175, .pad = 45, .dac = 0, .bb_mult = 64, },
 
1974
        { .gm = 255, .pga = 175, .pad = 44, .dac = 0, .bb_mult = 64, },
 
1975
        { .gm = 255, .pga = 170, .pad = 44, .dac = 0, .bb_mult = 64, },
 
1976
        { .gm = 255, .pga = 170, .pad = 43, .dac = 0, .bb_mult = 64, },
 
1977
        { .gm = 255, .pga = 166, .pad = 43, .dac = 0, .bb_mult = 64, },
 
1978
        { .gm = 255, .pga = 166, .pad = 42, .dac = 0, .bb_mult = 64, },
 
1979
        { .gm = 255, .pga = 161, .pad = 42, .dac = 0, .bb_mult = 64, },
 
1980
        { .gm = 255, .pga = 161, .pad = 40, .dac = 0, .bb_mult = 64, },
 
1981
        { .gm = 255, .pga = 156, .pad = 40, .dac = 0, .bb_mult = 64, },
 
1982
        { .gm = 255, .pga = 156, .pad = 39, .dac = 0, .bb_mult = 64, },
 
1983
        { .gm = 255, .pga = 152, .pad = 39, .dac = 0, .bb_mult = 64, },
 
1984
        { .gm = 255, .pga = 152, .pad = 38, .dac = 0, .bb_mult = 64, },
 
1985
        { .gm = 255, .pga = 148, .pad = 38, .dac = 0, .bb_mult = 64, },
 
1986
        { .gm = 255, .pga = 148, .pad = 37, .dac = 0, .bb_mult = 64, },
 
1987
        { .gm = 255, .pga = 143, .pad = 37, .dac = 0, .bb_mult = 64, },
 
1988
        { .gm = 255, .pga = 143, .pad = 36, .dac = 0, .bb_mult = 64, },
 
1989
        { .gm = 255, .pga = 139, .pad = 36, .dac = 0, .bb_mult = 64, },
 
1990
        { .gm = 255, .pga = 139, .pad = 35, .dac = 0, .bb_mult = 64, },
 
1991
        { .gm = 255, .pga = 135, .pad = 35, .dac = 0, .bb_mult = 64, },
 
1992
        { .gm = 255, .pga = 135, .pad = 34, .dac = 0, .bb_mult = 64, },
 
1993
        { .gm = 255, .pga = 132, .pad = 34, .dac = 0, .bb_mult = 64, },
 
1994
        { .gm = 255, .pga = 132, .pad = 33, .dac = 0, .bb_mult = 64, },
 
1995
        { .gm = 255, .pga = 128, .pad = 33, .dac = 0, .bb_mult = 64, },
 
1996
        { .gm = 255, .pga = 128, .pad = 32, .dac = 0, .bb_mult = 64, },
 
1997
        { .gm = 255, .pga = 124, .pad = 32, .dac = 0, .bb_mult = 64, },
 
1998
        { .gm = 255, .pga = 124, .pad = 31, .dac = 0, .bb_mult = 64, },
 
1999
        { .gm = 255, .pga = 121, .pad = 31, .dac = 0, .bb_mult = 64, },
 
2000
        { .gm = 255, .pga = 121, .pad = 30, .dac = 0, .bb_mult = 64, },
 
2001
        { .gm = 255, .pga = 117, .pad = 30, .dac = 0, .bb_mult = 64, },
 
2002
        { .gm = 255, .pga = 117, .pad = 29, .dac = 0, .bb_mult = 64, },
 
2003
        { .gm = 255, .pga = 114, .pad = 29, .dac = 0, .bb_mult = 64, },
 
2004
        { .gm = 255, .pga = 114, .pad = 29, .dac = 0, .bb_mult = 64, },
 
2005
        { .gm = 255, .pga = 111, .pad = 29, .dac = 0, .bb_mult = 64, },
 
2006
};
 
2007
 
 
2008
static struct lpphy_tx_gain_table_entry lpphy_rev2_2ghz_tx_gain_table[] = {
 
2009
        { .gm = 7, .pga = 99, .pad = 255, .dac = 0, .bb_mult = 64, },
 
2010
        { .gm = 7, .pga = 96, .pad = 255, .dac = 0, .bb_mult = 64, },
 
2011
        { .gm = 7, .pga = 93, .pad = 255, .dac = 0, .bb_mult = 64, },
 
2012
        { .gm = 7, .pga = 90, .pad = 255, .dac = 0, .bb_mult = 64, },
 
2013
        { .gm = 7, .pga = 88, .pad = 255, .dac = 0, .bb_mult = 64, },
 
2014
        { .gm = 7, .pga = 85, .pad = 255, .dac = 0, .bb_mult = 64, },
 
2015
        { .gm = 7, .pga = 83, .pad = 255, .dac = 0, .bb_mult = 64, },
 
2016
        { .gm = 7, .pga = 81, .pad = 255, .dac = 0, .bb_mult = 64, },
 
2017
        { .gm = 7, .pga = 78, .pad = 255, .dac = 0, .bb_mult = 64, },
 
2018
        { .gm = 7, .pga = 76, .pad = 255, .dac = 0, .bb_mult = 64, },
 
2019
        { .gm = 7, .pga = 74, .pad = 255, .dac = 0, .bb_mult = 64, },
 
2020
        { .gm = 7, .pga = 72, .pad = 255, .dac = 0, .bb_mult = 64, },
 
2021
        { .gm = 7, .pga = 70, .pad = 255, .dac = 0, .bb_mult = 64, },
 
2022
        { .gm = 7, .pga = 68, .pad = 255, .dac = 0, .bb_mult = 64, },
 
2023
        { .gm = 7, .pga = 66, .pad = 255, .dac = 0, .bb_mult = 64, },
 
2024
        { .gm = 7, .pga = 64, .pad = 255, .dac = 0, .bb_mult = 64, },
 
2025
        { .gm = 7, .pga = 64, .pad = 255, .dac = 0, .bb_mult = 64, },
 
2026
        { .gm = 7, .pga = 62, .pad = 255, .dac = 0, .bb_mult = 64, },
 
2027
        { .gm = 7, .pga = 62, .pad = 248, .dac = 0, .bb_mult = 64, },
 
2028
        { .gm = 7, .pga = 60, .pad = 248, .dac = 0, .bb_mult = 64, },
 
2029
        { .gm = 7, .pga = 60, .pad = 241, .dac = 0, .bb_mult = 64, },
 
2030
        { .gm = 7, .pga = 59, .pad = 241, .dac = 0, .bb_mult = 64, },
 
2031
        { .gm = 7, .pga = 59, .pad = 234, .dac = 0, .bb_mult = 64, },
 
2032
        { .gm = 7, .pga = 57, .pad = 234, .dac = 0, .bb_mult = 64, },
 
2033
        { .gm = 7, .pga = 57, .pad = 227, .dac = 0, .bb_mult = 64, },
 
2034
        { .gm = 7, .pga = 55, .pad = 227, .dac = 0, .bb_mult = 64, },
 
2035
        { .gm = 7, .pga = 55, .pad = 221, .dac = 0, .bb_mult = 64, },
 
2036
        { .gm = 7, .pga = 54, .pad = 221, .dac = 0, .bb_mult = 64, },
 
2037
        { .gm = 7, .pga = 54, .pad = 215, .dac = 0, .bb_mult = 64, },
 
2038
        { .gm = 7, .pga = 52, .pad = 215, .dac = 0, .bb_mult = 64, },
 
2039
        { .gm = 7, .pga = 52, .pad = 208, .dac = 0, .bb_mult = 64, },
 
2040
        { .gm = 7, .pga = 51, .pad = 208, .dac = 0, .bb_mult = 64, },
 
2041
        { .gm = 7, .pga = 51, .pad = 203, .dac = 0, .bb_mult = 64, },
 
2042
        { .gm = 7, .pga = 49, .pad = 203, .dac = 0, .bb_mult = 64, },
 
2043
        { .gm = 7, .pga = 49, .pad = 197, .dac = 0, .bb_mult = 64, },
 
2044
        { .gm = 7, .pga = 48, .pad = 197, .dac = 0, .bb_mult = 64, },
 
2045
        { .gm = 7, .pga = 48, .pad = 191, .dac = 0, .bb_mult = 64, },
 
2046
        { .gm = 7, .pga = 47, .pad = 191, .dac = 0, .bb_mult = 64, },
 
2047
        { .gm = 7, .pga = 47, .pad = 186, .dac = 0, .bb_mult = 64, },
 
2048
        { .gm = 7, .pga = 45, .pad = 186, .dac = 0, .bb_mult = 64, },
 
2049
        { .gm = 7, .pga = 45, .pad = 181, .dac = 0, .bb_mult = 64, },
 
2050
        { .gm = 7, .pga = 44, .pad = 181, .dac = 0, .bb_mult = 64, },
 
2051
        { .gm = 7, .pga = 44, .pad = 175, .dac = 0, .bb_mult = 64, },
 
2052
        { .gm = 7, .pga = 43, .pad = 175, .dac = 0, .bb_mult = 64, },
 
2053
        { .gm = 7, .pga = 43, .pad = 170, .dac = 0, .bb_mult = 64, },
 
2054
        { .gm = 7, .pga = 42, .pad = 170, .dac = 0, .bb_mult = 64, },
 
2055
        { .gm = 7, .pga = 42, .pad = 166, .dac = 0, .bb_mult = 64, },
 
2056
        { .gm = 7, .pga = 40, .pad = 166, .dac = 0, .bb_mult = 64, },
 
2057
        { .gm = 7, .pga = 40, .pad = 161, .dac = 0, .bb_mult = 64, },
 
2058
        { .gm = 7, .pga = 39, .pad = 161, .dac = 0, .bb_mult = 64, },
 
2059
        { .gm = 7, .pga = 39, .pad = 156, .dac = 0, .bb_mult = 64, },
 
2060
        { .gm = 7, .pga = 38, .pad = 156, .dac = 0, .bb_mult = 64, },
 
2061
        { .gm = 7, .pga = 38, .pad = 152, .dac = 0, .bb_mult = 64, },
 
2062
        { .gm = 7, .pga = 37, .pad = 152, .dac = 0, .bb_mult = 64, },
 
2063
        { .gm = 7, .pga = 37, .pad = 148, .dac = 0, .bb_mult = 64, },
 
2064
        { .gm = 7, .pga = 36, .pad = 148, .dac = 0, .bb_mult = 64, },
 
2065
        { .gm = 7, .pga = 36, .pad = 143, .dac = 0, .bb_mult = 64, },
 
2066
        { .gm = 7, .pga = 35, .pad = 143, .dac = 0, .bb_mult = 64, },
 
2067
        { .gm = 7, .pga = 35, .pad = 139, .dac = 0, .bb_mult = 64, },
 
2068
        { .gm = 7, .pga = 34, .pad = 139, .dac = 0, .bb_mult = 64, },
 
2069
        { .gm = 7, .pga = 34, .pad = 135, .dac = 0, .bb_mult = 64, },
 
2070
        { .gm = 7, .pga = 33, .pad = 135, .dac = 0, .bb_mult = 64, },
 
2071
        { .gm = 7, .pga = 33, .pad = 132, .dac = 0, .bb_mult = 64, },
 
2072
        { .gm = 7, .pga = 32, .pad = 132, .dac = 0, .bb_mult = 64, },
 
2073
        { .gm = 7, .pga = 32, .pad = 128, .dac = 0, .bb_mult = 64, },
 
2074
        { .gm = 7, .pga = 31, .pad = 128, .dac = 0, .bb_mult = 64, },
 
2075
        { .gm = 7, .pga = 31, .pad = 124, .dac = 0, .bb_mult = 64, },
 
2076
        { .gm = 7, .pga = 30, .pad = 124, .dac = 0, .bb_mult = 64, },
 
2077
        { .gm = 7, .pga = 30, .pad = 121, .dac = 0, .bb_mult = 64, },
 
2078
        { .gm = 7, .pga = 29, .pad = 121, .dac = 0, .bb_mult = 64, },
 
2079
        { .gm = 7, .pga = 29, .pad = 117, .dac = 0, .bb_mult = 64, },
 
2080
        { .gm = 7, .pga = 29, .pad = 117, .dac = 0, .bb_mult = 64, },
 
2081
        { .gm = 7, .pga = 29, .pad = 114, .dac = 0, .bb_mult = 64, },
 
2082
        { .gm = 7, .pga = 28, .pad = 114, .dac = 0, .bb_mult = 64, },
 
2083
        { .gm = 7, .pga = 28, .pad = 111, .dac = 0, .bb_mult = 64, },
 
2084
        { .gm = 7, .pga = 27, .pad = 111, .dac = 0, .bb_mult = 64, },
 
2085
        { .gm = 7, .pga = 27, .pad = 108, .dac = 0, .bb_mult = 64, },
 
2086
        { .gm = 7, .pga = 26, .pad = 108, .dac = 0, .bb_mult = 64, },
 
2087
        { .gm = 7, .pga = 26, .pad = 104, .dac = 0, .bb_mult = 64, },
 
2088
        { .gm = 7, .pga = 25, .pad = 104, .dac = 0, .bb_mult = 64, },
 
2089
        { .gm = 7, .pga = 25, .pad = 102, .dac = 0, .bb_mult = 64, },
 
2090
        { .gm = 7, .pga = 25, .pad = 102, .dac = 0, .bb_mult = 64, },
 
2091
        { .gm = 7, .pga = 25, .pad = 99, .dac = 0, .bb_mult = 64, },
 
2092
        { .gm = 7, .pga = 24, .pad = 99, .dac = 0, .bb_mult = 64, },
 
2093
        { .gm = 7, .pga = 24, .pad = 96, .dac = 0, .bb_mult = 64, },
 
2094
        { .gm = 7, .pga = 23, .pad = 96, .dac = 0, .bb_mult = 64, },
 
2095
        { .gm = 7, .pga = 23, .pad = 93, .dac = 0, .bb_mult = 64, },
 
2096
        { .gm = 7, .pga = 23, .pad = 93, .dac = 0, .bb_mult = 64, },
 
2097
        { .gm = 7, .pga = 23, .pad = 90, .dac = 0, .bb_mult = 64, },
 
2098
        { .gm = 7, .pga = 22, .pad = 90, .dac = 0, .bb_mult = 64, },
 
2099
        { .gm = 7, .pga = 22, .pad = 88, .dac = 0, .bb_mult = 64, },
 
2100
        { .gm = 7, .pga = 21, .pad = 88, .dac = 0, .bb_mult = 64, },
 
2101
        { .gm = 7, .pga = 21, .pad = 85, .dac = 0, .bb_mult = 64, },
 
2102
        { .gm = 7, .pga = 21, .pad = 85, .dac = 0, .bb_mult = 64, },
 
2103
        { .gm = 7, .pga = 21, .pad = 83, .dac = 0, .bb_mult = 64, },
 
2104
        { .gm = 7, .pga = 20, .pad = 83, .dac = 0, .bb_mult = 64, },
 
2105
        { .gm = 7, .pga = 20, .pad = 81, .dac = 0, .bb_mult = 64, },
 
2106
        { .gm = 7, .pga = 20, .pad = 81, .dac = 0, .bb_mult = 64, },
 
2107
        { .gm = 7, .pga = 20, .pad = 78, .dac = 0, .bb_mult = 64, },
 
2108
        { .gm = 7, .pga = 19, .pad = 78, .dac = 0, .bb_mult = 64, },
 
2109
        { .gm = 7, .pga = 19, .pad = 76, .dac = 0, .bb_mult = 64, },
 
2110
        { .gm = 7, .pga = 19, .pad = 76, .dac = 0, .bb_mult = 64, },
 
2111
        { .gm = 7, .pga = 19, .pad = 74, .dac = 0, .bb_mult = 64, },
 
2112
        { .gm = 7, .pga = 18, .pad = 74, .dac = 0, .bb_mult = 64, },
 
2113
        { .gm = 7, .pga = 18, .pad = 72, .dac = 0, .bb_mult = 64, },
 
2114
        { .gm = 7, .pga = 18, .pad = 72, .dac = 0, .bb_mult = 64, },
 
2115
        { .gm = 7, .pga = 18, .pad = 70, .dac = 0, .bb_mult = 64, },
 
2116
        { .gm = 7, .pga = 17, .pad = 70, .dac = 0, .bb_mult = 64, },
 
2117
        { .gm = 7, .pga = 17, .pad = 68, .dac = 0, .bb_mult = 64, },
 
2118
        { .gm = 7, .pga = 17, .pad = 68, .dac = 0, .bb_mult = 64, },
 
2119
        { .gm = 7, .pga = 17, .pad = 66, .dac = 0, .bb_mult = 64, },
 
2120
        { .gm = 7, .pga = 16, .pad = 66, .dac = 0, .bb_mult = 64, },
 
2121
        { .gm = 7, .pga = 16, .pad = 64, .dac = 0, .bb_mult = 64, },
 
2122
        { .gm = 7, .pga = 16, .pad = 64, .dac = 0, .bb_mult = 64, },
 
2123
        { .gm = 7, .pga = 16, .pad = 62, .dac = 0, .bb_mult = 64, },
 
2124
        { .gm = 7, .pga = 15, .pad = 62, .dac = 0, .bb_mult = 64, },
 
2125
        { .gm = 7, .pga = 15, .pad = 60, .dac = 0, .bb_mult = 64, },
 
2126
        { .gm = 7, .pga = 15, .pad = 60, .dac = 0, .bb_mult = 64, },
 
2127
        { .gm = 7, .pga = 15, .pad = 59, .dac = 0, .bb_mult = 64, },
 
2128
        { .gm = 7, .pga = 14, .pad = 59, .dac = 0, .bb_mult = 64, },
 
2129
        { .gm = 7, .pga = 14, .pad = 57, .dac = 0, .bb_mult = 64, },
 
2130
        { .gm = 7, .pga = 14, .pad = 57, .dac = 0, .bb_mult = 64, },
 
2131
        { .gm = 7, .pga = 14, .pad = 55, .dac = 0, .bb_mult = 64, },
 
2132
        { .gm = 7, .pga = 14, .pad = 55, .dac = 0, .bb_mult = 64, },
 
2133
        { .gm = 7, .pga = 14, .pad = 54, .dac = 0, .bb_mult = 64, },
 
2134
        { .gm = 7, .pga = 13, .pad = 54, .dac = 0, .bb_mult = 64, },
 
2135
        { .gm = 7, .pga = 13, .pad = 52, .dac = 0, .bb_mult = 64, },
 
2136
        { .gm = 7, .pga = 13, .pad = 52, .dac = 0, .bb_mult = 64, },
 
2137
};
 
2138
 
 
2139
static struct lpphy_tx_gain_table_entry lpphy_rev2_5ghz_tx_gain_table[] = {
 
2140
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 152, },
 
2141
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 147, },
 
2142
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 143, },
 
2143
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 139, },
 
2144
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 135, },
 
2145
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 131, },
 
2146
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 128, },
 
2147
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 124, },
 
2148
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 121, },
 
2149
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 117, },
 
2150
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 114, },
 
2151
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 111, },
 
2152
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 107, },
 
2153
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 104, },
 
2154
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 101, },
 
2155
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 99, },
 
2156
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 96, },
 
2157
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 93, },
 
2158
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 90, },
 
2159
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 88, },
 
2160
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 85, },
 
2161
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 83, },
 
2162
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 81, },
 
2163
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 78, },
 
2164
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 76, },
 
2165
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 74, },
 
2166
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 72, },
 
2167
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 70, },
 
2168
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 68, },
 
2169
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 66, },
 
2170
        { .gm = 255, .pga = 255, .pad = 255, .dac = 0, .bb_mult = 64, },
 
2171
        { .gm = 255, .pga = 255, .pad = 248, .dac = 0, .bb_mult = 64, },
 
2172
        { .gm = 255, .pga = 255, .pad = 241, .dac = 0, .bb_mult = 64, },
 
2173
        { .gm = 255, .pga = 255, .pad = 234, .dac = 0, .bb_mult = 64, },
 
2174
        { .gm = 255, .pga = 255, .pad = 227, .dac = 0, .bb_mult = 64, },
 
2175
        { .gm = 255, .pga = 255, .pad = 221, .dac = 0, .bb_mult = 64, },
 
2176
        { .gm = 255, .pga = 255, .pad = 215, .dac = 0, .bb_mult = 64, },
 
2177
        { .gm = 255, .pga = 255, .pad = 208, .dac = 0, .bb_mult = 64, },
 
2178
        { .gm = 255, .pga = 255, .pad = 203, .dac = 0, .bb_mult = 64, },
 
2179
        { .gm = 255, .pga = 255, .pad = 197, .dac = 0, .bb_mult = 64, },
 
2180
        { .gm = 255, .pga = 255, .pad = 191, .dac = 0, .bb_mult = 64, },
 
2181
        { .gm = 255, .pga = 255, .pad = 186, .dac = 0, .bb_mult = 64, },
 
2182
        { .gm = 255, .pga = 255, .pad = 181, .dac = 0, .bb_mult = 64, },
 
2183
        { .gm = 255, .pga = 255, .pad = 175, .dac = 0, .bb_mult = 64, },
 
2184
        { .gm = 255, .pga = 255, .pad = 170, .dac = 0, .bb_mult = 64, },
 
2185
        { .gm = 255, .pga = 255, .pad = 166, .dac = 0, .bb_mult = 64, },
 
2186
        { .gm = 255, .pga = 255, .pad = 161, .dac = 0, .bb_mult = 64, },
 
2187
        { .gm = 255, .pga = 255, .pad = 156, .dac = 0, .bb_mult = 64, },
 
2188
        { .gm = 255, .pga = 255, .pad = 152, .dac = 0, .bb_mult = 64, },
 
2189
        { .gm = 255, .pga = 255, .pad = 148, .dac = 0, .bb_mult = 64, },
 
2190
        { .gm = 255, .pga = 255, .pad = 143, .dac = 0, .bb_mult = 64, },
 
2191
        { .gm = 255, .pga = 255, .pad = 139, .dac = 0, .bb_mult = 64, },
 
2192
        { .gm = 255, .pga = 255, .pad = 135, .dac = 0, .bb_mult = 64, },
 
2193
        { .gm = 255, .pga = 255, .pad = 132, .dac = 0, .bb_mult = 64, },
 
2194
        { .gm = 255, .pga = 255, .pad = 128, .dac = 0, .bb_mult = 64, },
 
2195
        { .gm = 255, .pga = 255, .pad = 124, .dac = 0, .bb_mult = 64, },
 
2196
        { .gm = 255, .pga = 255, .pad = 121, .dac = 0, .bb_mult = 64, },
 
2197
        { .gm = 255, .pga = 255, .pad = 117, .dac = 0, .bb_mult = 64, },
 
2198
        { .gm = 255, .pga = 255, .pad = 114, .dac = 0, .bb_mult = 64, },
 
2199
        { .gm = 255, .pga = 255, .pad = 111, .dac = 0, .bb_mult = 64, },
 
2200
        { .gm = 255, .pga = 255, .pad = 108, .dac = 0, .bb_mult = 64, },
 
2201
        { .gm = 255, .pga = 255, .pad = 104, .dac = 0, .bb_mult = 64, },
 
2202
        { .gm = 255, .pga = 255, .pad = 102, .dac = 0, .bb_mult = 64, },
 
2203
        { .gm = 255, .pga = 255, .pad = 99, .dac = 0, .bb_mult = 64, },
 
2204
        { .gm = 255, .pga = 255, .pad = 96, .dac = 0, .bb_mult = 64, },
 
2205
        { .gm = 255, .pga = 255, .pad = 93, .dac = 0, .bb_mult = 64, },
 
2206
        { .gm = 255, .pga = 255, .pad = 90, .dac = 0, .bb_mult = 64, },
 
2207
        { .gm = 255, .pga = 255, .pad = 88, .dac = 0, .bb_mult = 64, },
 
2208
        { .gm = 255, .pga = 255, .pad = 85, .dac = 0, .bb_mult = 64, },
 
2209
        { .gm = 255, .pga = 255, .pad = 83, .dac = 0, .bb_mult = 64, },
 
2210
        { .gm = 255, .pga = 255, .pad = 81, .dac = 0, .bb_mult = 64, },
 
2211
        { .gm = 255, .pga = 255, .pad = 78, .dac = 0, .bb_mult = 64, },
 
2212
        { .gm = 255, .pga = 255, .pad = 76, .dac = 0, .bb_mult = 64, },
 
2213
        { .gm = 255, .pga = 255, .pad = 74, .dac = 0, .bb_mult = 64, },
 
2214
        { .gm = 255, .pga = 255, .pad = 72, .dac = 0, .bb_mult = 64, },
 
2215
        { .gm = 255, .pga = 255, .pad = 70, .dac = 0, .bb_mult = 64, },
 
2216
        { .gm = 255, .pga = 255, .pad = 68, .dac = 0, .bb_mult = 64, },
 
2217
        { .gm = 255, .pga = 255, .pad = 66, .dac = 0, .bb_mult = 64, },
 
2218
        { .gm = 255, .pga = 255, .pad = 64, .dac = 0, .bb_mult = 64, },
 
2219
        { .gm = 255, .pga = 255, .pad = 64, .dac = 0, .bb_mult = 64, },
 
2220
        { .gm = 255, .pga = 255, .pad = 62, .dac = 0, .bb_mult = 64, },
 
2221
        { .gm = 255, .pga = 248, .pad = 62, .dac = 0, .bb_mult = 64, },
 
2222
        { .gm = 255, .pga = 248, .pad = 60, .dac = 0, .bb_mult = 64, },
 
2223
        { .gm = 255, .pga = 241, .pad = 60, .dac = 0, .bb_mult = 64, },
 
2224
        { .gm = 255, .pga = 241, .pad = 59, .dac = 0, .bb_mult = 64, },
 
2225
        { .gm = 255, .pga = 234, .pad = 59, .dac = 0, .bb_mult = 64, },
 
2226
        { .gm = 255, .pga = 234, .pad = 57, .dac = 0, .bb_mult = 64, },
 
2227
        { .gm = 255, .pga = 227, .pad = 57, .dac = 0, .bb_mult = 64, },
 
2228
        { .gm = 255, .pga = 227, .pad = 55, .dac = 0, .bb_mult = 64, },
 
2229
        { .gm = 255, .pga = 221, .pad = 55, .dac = 0, .bb_mult = 64, },
 
2230
        { .gm = 255, .pga = 221, .pad = 54, .dac = 0, .bb_mult = 64, },
 
2231
        { .gm = 255, .pga = 215, .pad = 54, .dac = 0, .bb_mult = 64, },
 
2232
        { .gm = 255, .pga = 215, .pad = 52, .dac = 0, .bb_mult = 64, },
 
2233
        { .gm = 255, .pga = 208, .pad = 52, .dac = 0, .bb_mult = 64, },
 
2234
        { .gm = 255, .pga = 208, .pad = 51, .dac = 0, .bb_mult = 64, },
 
2235
        { .gm = 255, .pga = 203, .pad = 51, .dac = 0, .bb_mult = 64, },
 
2236
        { .gm = 255, .pga = 203, .pad = 49, .dac = 0, .bb_mult = 64, },
 
2237
        { .gm = 255, .pga = 197, .pad = 49, .dac = 0, .bb_mult = 64, },
 
2238
        { .gm = 255, .pga = 197, .pad = 48, .dac = 0, .bb_mult = 64, },
 
2239
        { .gm = 255, .pga = 191, .pad = 48, .dac = 0, .bb_mult = 64, },
 
2240
        { .gm = 255, .pga = 191, .pad = 47, .dac = 0, .bb_mult = 64, },
 
2241
        { .gm = 255, .pga = 186, .pad = 47, .dac = 0, .bb_mult = 64, },
 
2242
        { .gm = 255, .pga = 186, .pad = 45, .dac = 0, .bb_mult = 64, },
 
2243
        { .gm = 255, .pga = 181, .pad = 45, .dac = 0, .bb_mult = 64, },
 
2244
        { .gm = 255, .pga = 181, .pad = 44, .dac = 0, .bb_mult = 64, },
 
2245
        { .gm = 255, .pga = 175, .pad = 44, .dac = 0, .bb_mult = 64, },
 
2246
        { .gm = 255, .pga = 175, .pad = 43, .dac = 0, .bb_mult = 64, },
 
2247
        { .gm = 255, .pga = 170, .pad = 43, .dac = 0, .bb_mult = 64, },
 
2248
        { .gm = 255, .pga = 170, .pad = 42, .dac = 0, .bb_mult = 64, },
 
2249
        { .gm = 255, .pga = 166, .pad = 42, .dac = 0, .bb_mult = 64, },
 
2250
        { .gm = 255, .pga = 166, .pad = 40, .dac = 0, .bb_mult = 64, },
 
2251
        { .gm = 255, .pga = 161, .pad = 40, .dac = 0, .bb_mult = 64, },
 
2252
        { .gm = 255, .pga = 161, .pad = 39, .dac = 0, .bb_mult = 64, },
 
2253
        { .gm = 255, .pga = 156, .pad = 39, .dac = 0, .bb_mult = 64, },
 
2254
        { .gm = 255, .pga = 156, .pad = 38, .dac = 0, .bb_mult = 64, },
 
2255
        { .gm = 255, .pga = 152, .pad = 38, .dac = 0, .bb_mult = 64, },
 
2256
        { .gm = 255, .pga = 152, .pad = 37, .dac = 0, .bb_mult = 64, },
 
2257
        { .gm = 255, .pga = 148, .pad = 37, .dac = 0, .bb_mult = 64, },
 
2258
        { .gm = 255, .pga = 148, .pad = 36, .dac = 0, .bb_mult = 64, },
 
2259
        { .gm = 255, .pga = 143, .pad = 36, .dac = 0, .bb_mult = 64, },
 
2260
        { .gm = 255, .pga = 143, .pad = 35, .dac = 0, .bb_mult = 64, },
 
2261
        { .gm = 255, .pga = 139, .pad = 35, .dac = 0, .bb_mult = 64, },
 
2262
        { .gm = 255, .pga = 139, .pad = 34, .dac = 0, .bb_mult = 64, },
 
2263
        { .gm = 255, .pga = 135, .pad = 34, .dac = 0, .bb_mult = 64, },
 
2264
        { .gm = 255, .pga = 135, .pad = 33, .dac = 0, .bb_mult = 64, },
 
2265
        { .gm = 255, .pga = 132, .pad = 33, .dac = 0, .bb_mult = 64, },
 
2266
        { .gm = 255, .pga = 132, .pad = 32, .dac = 0, .bb_mult = 64, },
 
2267
        { .gm = 255, .pga = 128, .pad = 32, .dac = 0, .bb_mult = 64, },
 
2268
};
 
2269
 
 
2270
void lpphy_rev0_1_table_init(struct b43_wldev *dev)
 
2271
{
 
2272
        B43_WARN_ON(dev->phy.rev >= 2);
 
2273
 
 
2274
        b43_lptab_write_bulk(dev, B43_LPTAB8(2, 0),
 
2275
                ARRAY_SIZE(lpphy_min_sig_sq_table), lpphy_min_sig_sq_table);
 
2276
        b43_lptab_write_bulk(dev, B43_LPTAB16(1, 0),
 
2277
                ARRAY_SIZE(lpphy_rev01_noise_scale_table), lpphy_rev01_noise_scale_table);
 
2278
        b43_lptab_write_bulk(dev, B43_LPTAB16(14, 0),
 
2279
                ARRAY_SIZE(lpphy_crs_gain_nft_table), lpphy_crs_gain_nft_table);
 
2280
        b43_lptab_write_bulk(dev, B43_LPTAB16(8, 0),
 
2281
                ARRAY_SIZE(lpphy_rev01_filter_control_table), lpphy_rev01_filter_control_table);
 
2282
        b43_lptab_write_bulk(dev, B43_LPTAB32(9, 0),
 
2283
                ARRAY_SIZE(lpphy_rev01_ps_control_table), lpphy_rev01_ps_control_table);
 
2284
        b43_lptab_write_bulk(dev, B43_LPTAB8(6, 0),
 
2285
                ARRAY_SIZE(lpphy_pll_fraction_table), lpphy_pll_fraction_table);
 
2286
        b43_lptab_write_bulk(dev, B43_LPTAB16(0, 0),
 
2287
                ARRAY_SIZE(lpphy_iqlo_cal_table), lpphy_iqlo_cal_table);
 
2288
        if (dev->phy.rev == 0) {
 
2289
                b43_lptab_write_bulk(dev, B43_LPTAB16(13, 0),
 
2290
                        ARRAY_SIZE(lpphy_rev0_ofdm_cck_gain_table), lpphy_rev0_ofdm_cck_gain_table);
 
2291
                b43_lptab_write_bulk(dev, B43_LPTAB16(12, 0),
 
2292
                        ARRAY_SIZE(lpphy_rev0_ofdm_cck_gain_table), lpphy_rev0_ofdm_cck_gain_table);
 
2293
        } else {
 
2294
                b43_lptab_write_bulk(dev, B43_LPTAB16(13, 0),
 
2295
                        ARRAY_SIZE(lpphy_rev1_ofdm_cck_gain_table), lpphy_rev1_ofdm_cck_gain_table);
 
2296
                b43_lptab_write_bulk(dev, B43_LPTAB16(12, 0),
 
2297
                        ARRAY_SIZE(lpphy_rev1_ofdm_cck_gain_table), lpphy_rev1_ofdm_cck_gain_table);
 
2298
}
 
2299
        b43_lptab_write_bulk(dev, B43_LPTAB16(15, 0),
 
2300
                ARRAY_SIZE(lpphy_gain_delta_table), lpphy_gain_delta_table);
 
2301
        b43_lptab_write_bulk(dev, B43_LPTAB32(10, 0),
 
2302
                ARRAY_SIZE(lpphy_tx_power_control_table), lpphy_tx_power_control_table);
 
2303
}
 
2304
 
 
2305
void lpphy_rev2plus_table_init(struct b43_wldev *dev)
 
2306
{
 
2307
        int i;
 
2308
 
 
2309
        B43_WARN_ON(dev->phy.rev < 2);
 
2310
 
 
2311
        for (i = 0; i < 704; i++)
 
2312
                b43_lptab_write(dev, B43_LPTAB32(7, i), 0);
 
2313
 
 
2314
        b43_lptab_write_bulk(dev, B43_LPTAB8(2, 0),
 
2315
                ARRAY_SIZE(lpphy_min_sig_sq_table), lpphy_min_sig_sq_table);
 
2316
        b43_lptab_write_bulk(dev, B43_LPTAB16(1, 0),
 
2317
                ARRAY_SIZE(lpphy_rev2plus_noise_scale_table), lpphy_rev2plus_noise_scale_table);
 
2318
        b43_lptab_write_bulk(dev, B43_LPTAB32(11, 0),
 
2319
                ARRAY_SIZE(lpphy_rev2plus_filter_control_table), lpphy_rev2plus_filter_control_table);
 
2320
        b43_lptab_write_bulk(dev, B43_LPTAB32(12, 0),
 
2321
                ARRAY_SIZE(lpphy_rev2plus_ps_control_table), lpphy_rev2plus_ps_control_table);
 
2322
        b43_lptab_write_bulk(dev, B43_LPTAB32(13, 0),
 
2323
                ARRAY_SIZE(lpphy_gain_idx_table), lpphy_gain_idx_table);
 
2324
        b43_lptab_write_bulk(dev, B43_LPTAB16(14, 0),
 
2325
                ARRAY_SIZE(lpphy_aux_gain_idx_table), lpphy_aux_gain_idx_table);
 
2326
        b43_lptab_write_bulk(dev, B43_LPTAB16(15, 0),
 
2327
                ARRAY_SIZE(lpphy_sw_control_table), lpphy_sw_control_table);
 
2328
        b43_lptab_write_bulk(dev, B43_LPTAB8(16, 0),
 
2329
                ARRAY_SIZE(lpphy_hf_table), lpphy_hf_table);
 
2330
        b43_lptab_write_bulk(dev, B43_LPTAB32(17, 0),
 
2331
                ARRAY_SIZE(lpphy_gain_value_table), lpphy_gain_value_table);
 
2332
        b43_lptab_write_bulk(dev, B43_LPTAB16(18, 0),
 
2333
                ARRAY_SIZE(lpphy_gain_table), lpphy_gain_table);
 
2334
        b43_lptab_write_bulk(dev, B43_LPTAB8(6, 0),
 
2335
                ARRAY_SIZE(lpphy_pll_fraction_table), lpphy_pll_fraction_table);
 
2336
        b43_lptab_write_bulk(dev, B43_LPTAB16(0, 0),
 
2337
                ARRAY_SIZE(lpphy_iqlo_cal_table), lpphy_iqlo_cal_table);
 
2338
        b43_lptab_write_bulk(dev, B43_LPTAB32(9, 0),
 
2339
                ARRAY_SIZE(lpphy_papd_eps_table), lpphy_papd_eps_table);
 
2340
        b43_lptab_write_bulk(dev, B43_LPTAB32(10, 0),
 
2341
                ARRAY_SIZE(lpphy_papd_mult_table), lpphy_papd_mult_table);
 
2342
 
 
2343
        if ((dev->dev->chip_id == 0x4325) && (dev->dev->chip_rev == 0)) {
 
2344
                b43_lptab_write_bulk(dev, B43_LPTAB32(13, 0),
 
2345
                        ARRAY_SIZE(lpphy_a0_gain_idx_table), lpphy_a0_gain_idx_table);
 
2346
                b43_lptab_write_bulk(dev, B43_LPTAB16(14, 0),
 
2347
                        ARRAY_SIZE(lpphy_a0_aux_gain_idx_table), lpphy_a0_aux_gain_idx_table);
 
2348
                b43_lptab_write_bulk(dev, B43_LPTAB32(17, 0),
 
2349
                        ARRAY_SIZE(lpphy_a0_gain_value_table), lpphy_a0_gain_value_table);
 
2350
                b43_lptab_write_bulk(dev, B43_LPTAB16(18, 0),
 
2351
                        ARRAY_SIZE(lpphy_a0_gain_table), lpphy_a0_gain_table);
 
2352
        }
 
2353
}
 
2354
 
 
2355
static void lpphy_rev0_1_write_gain_table(struct b43_wldev *dev, int offset,
 
2356
                                struct lpphy_tx_gain_table_entry data)
 
2357
{
 
2358
        u32 tmp;
 
2359
 
 
2360
        B43_WARN_ON(dev->phy.rev >= 2);
 
2361
 
 
2362
        tmp  = data.pad << 11;
 
2363
        tmp |= data.pga << 7;
 
2364
        tmp |= data.gm  << 4;
 
2365
        tmp |= data.dac;
 
2366
        b43_lptab_write(dev, B43_LPTAB32(10, 0xC0 + offset), tmp);
 
2367
        tmp  = data.bb_mult << 20;
 
2368
        b43_lptab_write(dev, B43_LPTAB32(10, 0x140 + offset), tmp);
 
2369
}
 
2370
 
 
2371
static void lpphy_rev2plus_write_gain_table(struct b43_wldev *dev, int offset,
 
2372
                                struct lpphy_tx_gain_table_entry data)
 
2373
{
 
2374
        u32 tmp;
 
2375
 
 
2376
        B43_WARN_ON(dev->phy.rev < 2);
 
2377
 
 
2378
        tmp  = data.pad << 16;
 
2379
        tmp |= data.pga << 8;
 
2380
        tmp |= data.gm;
 
2381
        if (dev->phy.rev >= 3) {
 
2382
                if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ)
 
2383
                        tmp |= 0x10 << 24;
 
2384
                else
 
2385
                        tmp |= 0x70 << 24;
 
2386
        } else {
 
2387
                if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ)
 
2388
                        tmp |= 0x14 << 24;
 
2389
                else
 
2390
                        tmp |= 0x7F << 24;
 
2391
        }
 
2392
        b43_lptab_write(dev, B43_LPTAB32(7, 0xC0 + offset), tmp);
 
2393
        tmp  = data.bb_mult << 20;
 
2394
        tmp |= data.dac << 28;
 
2395
        b43_lptab_write(dev, B43_LPTAB32(7, 0x140 + offset), tmp);
 
2396
}
 
2397
 
 
2398
void lpphy_write_gain_table(struct b43_wldev *dev, int offset,
 
2399
                            struct lpphy_tx_gain_table_entry data)
 
2400
{
 
2401
        if (dev->phy.rev >= 2)
 
2402
                lpphy_rev2plus_write_gain_table(dev, offset, data);
 
2403
        else
 
2404
                lpphy_rev0_1_write_gain_table(dev, offset, data);
 
2405
}
 
2406
 
 
2407
void lpphy_write_gain_table_bulk(struct b43_wldev *dev, int offset, int count,
 
2408
                                 struct lpphy_tx_gain_table_entry *table)
 
2409
{
 
2410
        int i;
 
2411
 
 
2412
        for (i = offset; i < count; i++)
 
2413
                lpphy_write_gain_table(dev, i, table[i]);
 
2414
}
 
2415
 
 
2416
void lpphy_init_tx_gain_table(struct b43_wldev *dev)
 
2417
{
 
2418
        struct ssb_sprom *sprom = dev->dev->bus_sprom;
 
2419
 
 
2420
        switch (dev->phy.rev) {
 
2421
        case 0:
 
2422
                if ((sprom->boardflags_hi & B43_BFH_NOPA) ||
 
2423
                    (sprom->boardflags_lo & B43_BFL_HGPA))
 
2424
                        lpphy_write_gain_table_bulk(dev, 0, 128,
 
2425
                                        lpphy_rev0_nopa_tx_gain_table);
 
2426
                else if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
 
2427
                        lpphy_write_gain_table_bulk(dev, 0, 128,
 
2428
                                        lpphy_rev0_2ghz_tx_gain_table);
 
2429
                else
 
2430
                        lpphy_write_gain_table_bulk(dev, 0, 128,
 
2431
                                        lpphy_rev0_5ghz_tx_gain_table);
 
2432
                break;
 
2433
        case 1:
 
2434
                if ((sprom->boardflags_hi & B43_BFH_NOPA) ||
 
2435
                    (sprom->boardflags_lo & B43_BFL_HGPA))
 
2436
                        lpphy_write_gain_table_bulk(dev, 0, 128,
 
2437
                                        lpphy_rev1_nopa_tx_gain_table);
 
2438
                else if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
 
2439
                        lpphy_write_gain_table_bulk(dev, 0, 128,
 
2440
                                        lpphy_rev1_2ghz_tx_gain_table);
 
2441
                else
 
2442
                        lpphy_write_gain_table_bulk(dev, 0, 128,
 
2443
                                        lpphy_rev1_5ghz_tx_gain_table);
 
2444
                break;
 
2445
        default:
 
2446
                if (sprom->boardflags_hi & B43_BFH_NOPA)
 
2447
                        lpphy_write_gain_table_bulk(dev, 0, 128,
 
2448
                                        lpphy_rev2_nopa_tx_gain_table);
 
2449
                else if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)
 
2450
                        lpphy_write_gain_table_bulk(dev, 0, 128,
 
2451
                                        lpphy_rev2_2ghz_tx_gain_table);
 
2452
                else
 
2453
                        lpphy_write_gain_table_bulk(dev, 0, 128,
 
2454
                                        lpphy_rev2_5ghz_tx_gain_table);
 
2455
        }
 
2456
}