xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/broadcom/b43/radio_2055.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun #ifndef B43_RADIO_2055_H_
3*4882a593Smuzhiyun #define B43_RADIO_2055_H_
4*4882a593Smuzhiyun 
5*4882a593Smuzhiyun #include <linux/types.h>
6*4882a593Smuzhiyun 
7*4882a593Smuzhiyun #include "tables_nphy.h"
8*4882a593Smuzhiyun 
9*4882a593Smuzhiyun #define B2055_GEN_SPARE			0x00 /* GEN spare */
10*4882a593Smuzhiyun #define B2055_SP_PINPD			0x02 /* SP PIN PD */
11*4882a593Smuzhiyun #define B2055_C1_SP_RSSI		0x03 /* SP RSSI Core 1 */
12*4882a593Smuzhiyun #define B2055_C1_SP_PDMISC		0x04 /* SP PD MISC Core 1 */
13*4882a593Smuzhiyun #define B2055_C2_SP_RSSI		0x05 /* SP RSSI Core 2 */
14*4882a593Smuzhiyun #define B2055_C2_SP_PDMISC		0x06 /* SP PD MISC Core 2 */
15*4882a593Smuzhiyun #define B2055_C1_SP_RXGC1		0x07 /* SP RX GC1 Core 1 */
16*4882a593Smuzhiyun #define B2055_C1_SP_RXGC2		0x08 /* SP RX GC2 Core 1 */
17*4882a593Smuzhiyun #define B2055_C2_SP_RXGC1		0x09 /* SP RX GC1 Core 2 */
18*4882a593Smuzhiyun #define B2055_C2_SP_RXGC2		0x0A /* SP RX GC2 Core 2 */
19*4882a593Smuzhiyun #define B2055_C1_SP_LPFBWSEL		0x0B /* SP LPF BW select Core 1 */
20*4882a593Smuzhiyun #define B2055_C2_SP_LPFBWSEL		0x0C /* SP LPF BW select Core 2 */
21*4882a593Smuzhiyun #define B2055_C1_SP_TXGC1		0x0D /* SP TX GC1 Core 1 */
22*4882a593Smuzhiyun #define B2055_C1_SP_TXGC2		0x0E /* SP TX GC2 Core 1 */
23*4882a593Smuzhiyun #define B2055_C2_SP_TXGC1		0x0F /* SP TX GC1 Core 2 */
24*4882a593Smuzhiyun #define B2055_C2_SP_TXGC2		0x10 /* SP TX GC2 Core 2 */
25*4882a593Smuzhiyun #define B2055_MASTER1			0x11 /* Master control 1 */
26*4882a593Smuzhiyun #define B2055_MASTER2			0x12 /* Master control 2 */
27*4882a593Smuzhiyun #define B2055_PD_LGEN			0x13 /* PD LGEN */
28*4882a593Smuzhiyun #define B2055_PD_PLLTS			0x14 /* PD PLL TS */
29*4882a593Smuzhiyun #define B2055_C1_PD_LGBUF		0x15 /* PD Core 1 LGBUF */
30*4882a593Smuzhiyun #define B2055_C1_PD_TX			0x16 /* PD Core 1 TX */
31*4882a593Smuzhiyun #define B2055_C1_PD_RXTX		0x17 /* PD Core 1 RXTX */
32*4882a593Smuzhiyun #define B2055_C1_PD_RSSIMISC		0x18 /* PD Core 1 RSSI MISC */
33*4882a593Smuzhiyun #define B2055_C2_PD_LGBUF		0x19 /* PD Core 2 LGBUF */
34*4882a593Smuzhiyun #define B2055_C2_PD_TX			0x1A /* PD Core 2 TX */
35*4882a593Smuzhiyun #define B2055_C2_PD_RXTX		0x1B /* PD Core 2 RXTX */
36*4882a593Smuzhiyun #define B2055_C2_PD_RSSIMISC		0x1C /* PD Core 2 RSSI MISC */
37*4882a593Smuzhiyun #define B2055_PWRDET_LGEN		0x1D /* PWRDET LGEN */
38*4882a593Smuzhiyun #define B2055_C1_PWRDET_LGBUF		0x1E /* PWRDET LGBUF Core 1 */
39*4882a593Smuzhiyun #define B2055_C1_PWRDET_RXTX		0x1F /* PWRDET RXTX Core 1 */
40*4882a593Smuzhiyun #define B2055_C2_PWRDET_LGBUF		0x20 /* PWRDET LGBUF Core 2 */
41*4882a593Smuzhiyun #define B2055_C2_PWRDET_RXTX		0x21 /* PWRDET RXTX Core 2 */
42*4882a593Smuzhiyun #define B2055_RRCCAL_CS			0x22 /* RRCCAL Control spare */
43*4882a593Smuzhiyun #define B2055_RRCCAL_NOPTSEL		0x23 /* RRCCAL N OPT SEL */
44*4882a593Smuzhiyun #define B2055_CAL_MISC			0x24 /* CAL MISC */
45*4882a593Smuzhiyun #define B2055_CAL_COUT			0x25 /* CAL Counter out */
46*4882a593Smuzhiyun #define B2055_CAL_COUT2			0x26 /* CAL Counter out 2 */
47*4882a593Smuzhiyun #define B2055_CAL_CVARCTL		0x27 /* CAL CVAR Control */
48*4882a593Smuzhiyun #define B2055_CAL_RVARCTL		0x28 /* CAL RVAR Control */
49*4882a593Smuzhiyun #define B2055_CAL_LPOCTL		0x29 /* CAL LPO Control */
50*4882a593Smuzhiyun #define B2055_CAL_TS			0x2A /* CAL TS */
51*4882a593Smuzhiyun #define B2055_CAL_RCCALRTS		0x2B /* CAL RCCAL READ TS */
52*4882a593Smuzhiyun #define B2055_CAL_RCALRTS		0x2C /* CAL RCAL READ TS */
53*4882a593Smuzhiyun #define B2055_PADDRV			0x2D /* PAD driver */
54*4882a593Smuzhiyun #define B2055_XOCTL1			0x2E /* XO Control 1 */
55*4882a593Smuzhiyun #define B2055_XOCTL2			0x2F /* XO Control 2 */
56*4882a593Smuzhiyun #define B2055_XOREGUL			0x30 /* XO Regulator */
57*4882a593Smuzhiyun #define B2055_XOMISC			0x31 /* XO misc */
58*4882a593Smuzhiyun #define B2055_PLL_LFC1			0x32 /* PLL LF C1 */
59*4882a593Smuzhiyun #define B2055_PLL_CALVTH		0x33 /* PLL CAL VTH */
60*4882a593Smuzhiyun #define B2055_PLL_LFC2			0x34 /* PLL LF C2 */
61*4882a593Smuzhiyun #define B2055_PLL_REF			0x35 /* PLL reference */
62*4882a593Smuzhiyun #define B2055_PLL_LFR1			0x36 /* PLL LF R1 */
63*4882a593Smuzhiyun #define B2055_PLL_PFDCP			0x37 /* PLL PFD CP */
64*4882a593Smuzhiyun #define B2055_PLL_IDAC_CPOPAMP		0x38 /* PLL IDAC CPOPAMP */
65*4882a593Smuzhiyun #define B2055_PLL_CPREG			0x39 /* PLL CP Regulator */
66*4882a593Smuzhiyun #define B2055_PLL_RCAL			0x3A /* PLL RCAL */
67*4882a593Smuzhiyun #define B2055_RF_PLLMOD0		0x3B /* RF PLL MOD0 */
68*4882a593Smuzhiyun #define B2055_RF_PLLMOD1		0x3C /* RF PLL MOD1 */
69*4882a593Smuzhiyun #define B2055_RF_MMDIDAC1		0x3D /* RF MMD IDAC 1 */
70*4882a593Smuzhiyun #define B2055_RF_MMDIDAC0		0x3E /* RF MMD IDAC 0 */
71*4882a593Smuzhiyun #define B2055_RF_MMDSP			0x3F /* RF MMD spare */
72*4882a593Smuzhiyun #define B2055_VCO_CAL1			0x40 /* VCO cal 1 */
73*4882a593Smuzhiyun #define B2055_VCO_CAL2			0x41 /* VCO cal 2 */
74*4882a593Smuzhiyun #define B2055_VCO_CAL3			0x42 /* VCO cal 3 */
75*4882a593Smuzhiyun #define B2055_VCO_CAL4			0x43 /* VCO cal 4 */
76*4882a593Smuzhiyun #define B2055_VCO_CAL5			0x44 /* VCO cal 5 */
77*4882a593Smuzhiyun #define B2055_VCO_CAL6			0x45 /* VCO cal 6 */
78*4882a593Smuzhiyun #define B2055_VCO_CAL7			0x46 /* VCO cal 7 */
79*4882a593Smuzhiyun #define B2055_VCO_CAL8			0x47 /* VCO cal 8 */
80*4882a593Smuzhiyun #define B2055_VCO_CAL9			0x48 /* VCO cal 9 */
81*4882a593Smuzhiyun #define B2055_VCO_CAL10			0x49 /* VCO cal 10 */
82*4882a593Smuzhiyun #define B2055_VCO_CAL11			0x4A /* VCO cal 11 */
83*4882a593Smuzhiyun #define B2055_VCO_CAL12			0x4B /* VCO cal 12 */
84*4882a593Smuzhiyun #define B2055_VCO_CAL13			0x4C /* VCO cal 13 */
85*4882a593Smuzhiyun #define B2055_VCO_CAL14			0x4D /* VCO cal 14 */
86*4882a593Smuzhiyun #define B2055_VCO_CAL15			0x4E /* VCO cal 15 */
87*4882a593Smuzhiyun #define B2055_VCO_CAL16			0x4F /* VCO cal 16 */
88*4882a593Smuzhiyun #define B2055_VCO_KVCO			0x50 /* VCO KVCO */
89*4882a593Smuzhiyun #define B2055_VCO_CAPTAIL		0x51 /* VCO CAP TAIL */
90*4882a593Smuzhiyun #define B2055_VCO_IDACVCO		0x52 /* VCO IDAC VCO */
91*4882a593Smuzhiyun #define B2055_VCO_REG			0x53 /* VCO Regulator */
92*4882a593Smuzhiyun #define B2055_PLL_RFVTH			0x54 /* PLL RF VTH */
93*4882a593Smuzhiyun #define B2055_LGBUF_CENBUF		0x55 /* LGBUF CEN BUF */
94*4882a593Smuzhiyun #define B2055_LGEN_TUNE1		0x56 /* LGEN tune 1 */
95*4882a593Smuzhiyun #define B2055_LGEN_TUNE2		0x57 /* LGEN tune 2 */
96*4882a593Smuzhiyun #define B2055_LGEN_IDAC1		0x58 /* LGEN IDAC 1 */
97*4882a593Smuzhiyun #define B2055_LGEN_IDAC2		0x59 /* LGEN IDAC 2 */
98*4882a593Smuzhiyun #define B2055_LGEN_BIASC		0x5A /* LGEN BIAS counter */
99*4882a593Smuzhiyun #define B2055_LGEN_BIASIDAC		0x5B /* LGEN BIAS IDAC */
100*4882a593Smuzhiyun #define B2055_LGEN_RCAL			0x5C /* LGEN RCAL */
101*4882a593Smuzhiyun #define B2055_LGEN_DIV			0x5D /* LGEN div */
102*4882a593Smuzhiyun #define B2055_LGEN_SPARE2		0x5E /* LGEN spare 2 */
103*4882a593Smuzhiyun #define B2055_C1_LGBUF_ATUNE		0x5F /* Core 1 LGBUF A tune */
104*4882a593Smuzhiyun #define B2055_C1_LGBUF_GTUNE		0x60 /* Core 1 LGBUF G tune */
105*4882a593Smuzhiyun #define B2055_C1_LGBUF_DIV		0x61 /* Core 1 LGBUF div */
106*4882a593Smuzhiyun #define B2055_C1_LGBUF_AIDAC		0x62 /* Core 1 LGBUF A IDAC */
107*4882a593Smuzhiyun #define B2055_C1_LGBUF_GIDAC		0x63 /* Core 1 LGBUF G IDAC */
108*4882a593Smuzhiyun #define B2055_C1_LGBUF_IDACFO		0x64 /* Core 1 LGBUF IDAC filter override */
109*4882a593Smuzhiyun #define B2055_C1_LGBUF_SPARE		0x65 /* Core 1 LGBUF spare */
110*4882a593Smuzhiyun #define B2055_C1_RX_RFSPC1		0x66 /* Core 1 RX RF SPC1 */
111*4882a593Smuzhiyun #define B2055_C1_RX_RFR1		0x67 /* Core 1 RX RF reg 1 */
112*4882a593Smuzhiyun #define B2055_C1_RX_RFR2		0x68 /* Core 1 RX RF reg 2 */
113*4882a593Smuzhiyun #define B2055_C1_RX_RFRCAL		0x69 /* Core 1 RX RF RCAL */
114*4882a593Smuzhiyun #define B2055_C1_RX_BB_BLCMP		0x6A /* Core 1 RX Baseband BUFI LPF CMP */
115*4882a593Smuzhiyun #define B2055_C1_RX_BB_LPF		0x6B /* Core 1 RX Baseband LPF */
116*4882a593Smuzhiyun #define B2055_C1_RX_BB_MIDACHP		0x6C /* Core 1 RX Baseband MIDAC High-pass */
117*4882a593Smuzhiyun #define B2055_C1_RX_BB_VGA1IDAC		0x6D /* Core 1 RX Baseband VGA1 IDAC */
118*4882a593Smuzhiyun #define B2055_C1_RX_BB_VGA2IDAC		0x6E /* Core 1 RX Baseband VGA2 IDAC */
119*4882a593Smuzhiyun #define B2055_C1_RX_BB_VGA3IDAC		0x6F /* Core 1 RX Baseband VGA3 IDAC */
120*4882a593Smuzhiyun #define B2055_C1_RX_BB_BUFOCTL		0x70 /* Core 1 RX Baseband BUFO Control */
121*4882a593Smuzhiyun #define B2055_C1_RX_BB_RCCALCTL		0x71 /* Core 1 RX Baseband RCCAL Control */
122*4882a593Smuzhiyun #define B2055_C1_RX_BB_RSSICTL1		0x72 /* Core 1 RX Baseband RSSI Control 1 */
123*4882a593Smuzhiyun #define B2055_C1_RX_BB_RSSICTL2		0x73 /* Core 1 RX Baseband RSSI Control 2 */
124*4882a593Smuzhiyun #define B2055_C1_RX_BB_RSSICTL3		0x74 /* Core 1 RX Baseband RSSI Control 3 */
125*4882a593Smuzhiyun #define B2055_C1_RX_BB_RSSICTL4		0x75 /* Core 1 RX Baseband RSSI Control 4 */
126*4882a593Smuzhiyun #define B2055_C1_RX_BB_RSSICTL5		0x76 /* Core 1 RX Baseband RSSI Control 5 */
127*4882a593Smuzhiyun #define B2055_C1_RX_BB_REG		0x77 /* Core 1 RX Baseband Regulator */
128*4882a593Smuzhiyun #define B2055_C1_RX_BB_SPARE1		0x78 /* Core 1 RX Baseband spare 1 */
129*4882a593Smuzhiyun #define B2055_C1_RX_TXBBRCAL		0x79 /* Core 1 RX TX BB RCAL */
130*4882a593Smuzhiyun #define B2055_C1_TX_RF_SPGA		0x7A /* Core 1 TX RF SGM PGA */
131*4882a593Smuzhiyun #define B2055_C1_TX_RF_SPAD		0x7B /* Core 1 TX RF SGM PAD */
132*4882a593Smuzhiyun #define B2055_C1_TX_RF_CNTPGA1		0x7C /* Core 1 TX RF counter PGA 1 */
133*4882a593Smuzhiyun #define B2055_C1_TX_RF_CNTPAD1		0x7D /* Core 1 TX RF counter PAD 1 */
134*4882a593Smuzhiyun #define B2055_C1_TX_RF_PGAIDAC		0x7E /* Core 1 TX RF PGA IDAC */
135*4882a593Smuzhiyun #define B2055_C1_TX_PGAPADTN		0x7F /* Core 1 TX PGA PAD TN */
136*4882a593Smuzhiyun #define B2055_C1_TX_PADIDAC1		0x80 /* Core 1 TX PAD IDAC 1 */
137*4882a593Smuzhiyun #define B2055_C1_TX_PADIDAC2		0x81 /* Core 1 TX PAD IDAC 2 */
138*4882a593Smuzhiyun #define B2055_C1_TX_MXBGTRIM		0x82 /* Core 1 TX MX B/G TRIM */
139*4882a593Smuzhiyun #define B2055_C1_TX_RF_RCAL		0x83 /* Core 1 TX RF RCAL */
140*4882a593Smuzhiyun #define B2055_C1_TX_RF_PADTSSI1		0x84 /* Core 1 TX RF PAD TSSI1 */
141*4882a593Smuzhiyun #define B2055_C1_TX_RF_PADTSSI2		0x85 /* Core 1 TX RF PAD TSSI2 */
142*4882a593Smuzhiyun #define B2055_C1_TX_RF_SPARE		0x86 /* Core 1 TX RF spare */
143*4882a593Smuzhiyun #define B2055_C1_TX_RF_IQCAL1		0x87 /* Core 1 TX RF I/Q CAL 1 */
144*4882a593Smuzhiyun #define B2055_C1_TX_RF_IQCAL2		0x88 /* Core 1 TX RF I/Q CAL 2 */
145*4882a593Smuzhiyun #define B2055_C1_TXBB_RCCAL		0x89 /* Core 1 TXBB RC CAL Control */
146*4882a593Smuzhiyun #define B2055_C1_TXBB_LPF1		0x8A /* Core 1 TXBB LPF 1 */
147*4882a593Smuzhiyun #define B2055_C1_TX_VOSCNCL		0x8B /* Core 1 TX VOS CNCL */
148*4882a593Smuzhiyun #define B2055_C1_TX_LPF_MXGMIDAC	0x8C /* Core 1 TX LPF MXGM IDAC */
149*4882a593Smuzhiyun #define B2055_C1_TX_BB_MXGM		0x8D /* Core 1 TX BB MXGM */
150*4882a593Smuzhiyun #define B2055_C2_LGBUF_ATUNE		0x8E /* Core 2 LGBUF A tune */
151*4882a593Smuzhiyun #define B2055_C2_LGBUF_GTUNE		0x8F /* Core 2 LGBUF G tune */
152*4882a593Smuzhiyun #define B2055_C2_LGBUF_DIV		0x90 /* Core 2 LGBUF div */
153*4882a593Smuzhiyun #define B2055_C2_LGBUF_AIDAC		0x91 /* Core 2 LGBUF A IDAC */
154*4882a593Smuzhiyun #define B2055_C2_LGBUF_GIDAC		0x92 /* Core 2 LGBUF G IDAC */
155*4882a593Smuzhiyun #define B2055_C2_LGBUF_IDACFO		0x93 /* Core 2 LGBUF IDAC filter override */
156*4882a593Smuzhiyun #define B2055_C2_LGBUF_SPARE		0x94 /* Core 2 LGBUF spare */
157*4882a593Smuzhiyun #define B2055_C2_RX_RFSPC1		0x95 /* Core 2 RX RF SPC1 */
158*4882a593Smuzhiyun #define B2055_C2_RX_RFR1		0x96 /* Core 2 RX RF reg 1 */
159*4882a593Smuzhiyun #define B2055_C2_RX_RFR2		0x97 /* Core 2 RX RF reg 2 */
160*4882a593Smuzhiyun #define B2055_C2_RX_RFRCAL		0x98 /* Core 2 RX RF RCAL */
161*4882a593Smuzhiyun #define B2055_C2_RX_BB_BLCMP		0x99 /* Core 2 RX Baseband BUFI LPF CMP */
162*4882a593Smuzhiyun #define B2055_C2_RX_BB_LPF		0x9A /* Core 2 RX Baseband LPF */
163*4882a593Smuzhiyun #define B2055_C2_RX_BB_MIDACHP		0x9B /* Core 2 RX Baseband MIDAC High-pass */
164*4882a593Smuzhiyun #define B2055_C2_RX_BB_VGA1IDAC		0x9C /* Core 2 RX Baseband VGA1 IDAC */
165*4882a593Smuzhiyun #define B2055_C2_RX_BB_VGA2IDAC		0x9D /* Core 2 RX Baseband VGA2 IDAC */
166*4882a593Smuzhiyun #define B2055_C2_RX_BB_VGA3IDAC		0x9E /* Core 2 RX Baseband VGA3 IDAC */
167*4882a593Smuzhiyun #define B2055_C2_RX_BB_BUFOCTL		0x9F /* Core 2 RX Baseband BUFO Control */
168*4882a593Smuzhiyun #define B2055_C2_RX_BB_RCCALCTL		0xA0 /* Core 2 RX Baseband RCCAL Control */
169*4882a593Smuzhiyun #define B2055_C2_RX_BB_RSSICTL1		0xA1 /* Core 2 RX Baseband RSSI Control 1 */
170*4882a593Smuzhiyun #define B2055_C2_RX_BB_RSSICTL2		0xA2 /* Core 2 RX Baseband RSSI Control 2 */
171*4882a593Smuzhiyun #define B2055_C2_RX_BB_RSSICTL3		0xA3 /* Core 2 RX Baseband RSSI Control 3 */
172*4882a593Smuzhiyun #define B2055_C2_RX_BB_RSSICTL4		0xA4 /* Core 2 RX Baseband RSSI Control 4 */
173*4882a593Smuzhiyun #define B2055_C2_RX_BB_RSSICTL5		0xA5 /* Core 2 RX Baseband RSSI Control 5 */
174*4882a593Smuzhiyun #define B2055_C2_RX_BB_REG		0xA6 /* Core 2 RX Baseband Regulator */
175*4882a593Smuzhiyun #define B2055_C2_RX_BB_SPARE1		0xA7 /* Core 2 RX Baseband spare 1 */
176*4882a593Smuzhiyun #define B2055_C2_RX_TXBBRCAL		0xA8 /* Core 2 RX TX BB RCAL */
177*4882a593Smuzhiyun #define B2055_C2_TX_RF_SPGA		0xA9 /* Core 2 TX RF SGM PGA */
178*4882a593Smuzhiyun #define B2055_C2_TX_RF_SPAD		0xAA /* Core 2 TX RF SGM PAD */
179*4882a593Smuzhiyun #define B2055_C2_TX_RF_CNTPGA1		0xAB /* Core 2 TX RF counter PGA 1 */
180*4882a593Smuzhiyun #define B2055_C2_TX_RF_CNTPAD1		0xAC /* Core 2 TX RF counter PAD 1 */
181*4882a593Smuzhiyun #define B2055_C2_TX_RF_PGAIDAC		0xAD /* Core 2 TX RF PGA IDAC */
182*4882a593Smuzhiyun #define B2055_C2_TX_PGAPADTN		0xAE /* Core 2 TX PGA PAD TN */
183*4882a593Smuzhiyun #define B2055_C2_TX_PADIDAC1		0xAF /* Core 2 TX PAD IDAC 1 */
184*4882a593Smuzhiyun #define B2055_C2_TX_PADIDAC2		0xB0 /* Core 2 TX PAD IDAC 2 */
185*4882a593Smuzhiyun #define B2055_C2_TX_MXBGTRIM		0xB1 /* Core 2 TX MX B/G TRIM */
186*4882a593Smuzhiyun #define B2055_C2_TX_RF_RCAL		0xB2 /* Core 2 TX RF RCAL */
187*4882a593Smuzhiyun #define B2055_C2_TX_RF_PADTSSI1		0xB3 /* Core 2 TX RF PAD TSSI1 */
188*4882a593Smuzhiyun #define B2055_C2_TX_RF_PADTSSI2		0xB4 /* Core 2 TX RF PAD TSSI2 */
189*4882a593Smuzhiyun #define B2055_C2_TX_RF_SPARE		0xB5 /* Core 2 TX RF spare */
190*4882a593Smuzhiyun #define B2055_C2_TX_RF_IQCAL1		0xB6 /* Core 2 TX RF I/Q CAL 1 */
191*4882a593Smuzhiyun #define B2055_C2_TX_RF_IQCAL2		0xB7 /* Core 2 TX RF I/Q CAL 2 */
192*4882a593Smuzhiyun #define B2055_C2_TXBB_RCCAL		0xB8 /* Core 2 TXBB RC CAL Control */
193*4882a593Smuzhiyun #define B2055_C2_TXBB_LPF1		0xB9 /* Core 2 TXBB LPF 1 */
194*4882a593Smuzhiyun #define B2055_C2_TX_VOSCNCL		0xBA /* Core 2 TX VOS CNCL */
195*4882a593Smuzhiyun #define B2055_C2_TX_LPF_MXGMIDAC	0xBB /* Core 2 TX LPF MXGM IDAC */
196*4882a593Smuzhiyun #define B2055_C2_TX_BB_MXGM		0xBC /* Core 2 TX BB MXGM */
197*4882a593Smuzhiyun #define B2055_PRG_GCHP21		0xBD /* PRG GC HPVGA23 21 */
198*4882a593Smuzhiyun #define B2055_PRG_GCHP22		0xBE /* PRG GC HPVGA23 22 */
199*4882a593Smuzhiyun #define B2055_PRG_GCHP23		0xBF /* PRG GC HPVGA23 23 */
200*4882a593Smuzhiyun #define B2055_PRG_GCHP24		0xC0 /* PRG GC HPVGA23 24 */
201*4882a593Smuzhiyun #define B2055_PRG_GCHP25		0xC1 /* PRG GC HPVGA23 25 */
202*4882a593Smuzhiyun #define B2055_PRG_GCHP26		0xC2 /* PRG GC HPVGA23 26 */
203*4882a593Smuzhiyun #define B2055_PRG_GCHP27		0xC3 /* PRG GC HPVGA23 27 */
204*4882a593Smuzhiyun #define B2055_PRG_GCHP28		0xC4 /* PRG GC HPVGA23 28 */
205*4882a593Smuzhiyun #define B2055_PRG_GCHP29		0xC5 /* PRG GC HPVGA23 29 */
206*4882a593Smuzhiyun #define B2055_PRG_GCHP30		0xC6 /* PRG GC HPVGA23 30 */
207*4882a593Smuzhiyun #define B2055_C1_LNA_GAINBST		0xCD /* Core 1 LNA GAINBST */
208*4882a593Smuzhiyun #define B2055_C1_B0NB_RSSIVCM		0xD2 /* Core 1 B0 narrow-band RSSI VCM */
209*4882a593Smuzhiyun #define B2055_C1_GENSPARE2		0xD6 /* Core 1 GEN spare 2 */
210*4882a593Smuzhiyun #define B2055_C2_LNA_GAINBST		0xD9 /* Core 2 LNA GAINBST */
211*4882a593Smuzhiyun #define B2055_C2_B0NB_RSSIVCM		0xDE /* Core 2 B0 narrow-band RSSI VCM */
212*4882a593Smuzhiyun #define B2055_C2_GENSPARE2		0xE2 /* Core 2 GEN spare 2 */
213*4882a593Smuzhiyun 
214*4882a593Smuzhiyun struct b43_nphy_channeltab_entry_rev2 {
215*4882a593Smuzhiyun 	/* The channel number */
216*4882a593Smuzhiyun 	u8 channel;
217*4882a593Smuzhiyun 	/* The channel frequency in MHz */
218*4882a593Smuzhiyun 	u16 freq;
219*4882a593Smuzhiyun 	/* An unknown value */
220*4882a593Smuzhiyun 	u16 unk2;
221*4882a593Smuzhiyun 	/* Radio register values on channelswitch */
222*4882a593Smuzhiyun 	u8 radio_pll_ref;
223*4882a593Smuzhiyun 	u8 radio_rf_pllmod0;
224*4882a593Smuzhiyun 	u8 radio_rf_pllmod1;
225*4882a593Smuzhiyun 	u8 radio_vco_captail;
226*4882a593Smuzhiyun 	u8 radio_vco_cal1;
227*4882a593Smuzhiyun 	u8 radio_vco_cal2;
228*4882a593Smuzhiyun 	u8 radio_pll_lfc1;
229*4882a593Smuzhiyun 	u8 radio_pll_lfr1;
230*4882a593Smuzhiyun 	u8 radio_pll_lfc2;
231*4882a593Smuzhiyun 	u8 radio_lgbuf_cenbuf;
232*4882a593Smuzhiyun 	u8 radio_lgen_tune1;
233*4882a593Smuzhiyun 	u8 radio_lgen_tune2;
234*4882a593Smuzhiyun 	u8 radio_c1_lgbuf_atune;
235*4882a593Smuzhiyun 	u8 radio_c1_lgbuf_gtune;
236*4882a593Smuzhiyun 	u8 radio_c1_rx_rfr1;
237*4882a593Smuzhiyun 	u8 radio_c1_tx_pgapadtn;
238*4882a593Smuzhiyun 	u8 radio_c1_tx_mxbgtrim;
239*4882a593Smuzhiyun 	u8 radio_c2_lgbuf_atune;
240*4882a593Smuzhiyun 	u8 radio_c2_lgbuf_gtune;
241*4882a593Smuzhiyun 	u8 radio_c2_rx_rfr1;
242*4882a593Smuzhiyun 	u8 radio_c2_tx_pgapadtn;
243*4882a593Smuzhiyun 	u8 radio_c2_tx_mxbgtrim;
244*4882a593Smuzhiyun 	/* PHY register values on channelswitch */
245*4882a593Smuzhiyun 	struct b43_phy_n_sfo_cfg phy_regs;
246*4882a593Smuzhiyun };
247*4882a593Smuzhiyun 
248*4882a593Smuzhiyun /* Upload the default register value table.
249*4882a593Smuzhiyun  * If "ghz5" is true, we upload the 5Ghz table. Otherwise the 2.4Ghz
250*4882a593Smuzhiyun  * table is uploaded. If "ignore_uploadflag" is true, we upload any value
251*4882a593Smuzhiyun  * and ignore the "UPLOAD" flag. */
252*4882a593Smuzhiyun void b2055_upload_inittab(struct b43_wldev *dev,
253*4882a593Smuzhiyun 			  bool ghz5, bool ignore_uploadflag);
254*4882a593Smuzhiyun 
255*4882a593Smuzhiyun /* Get the NPHY Channel Switch Table entry for a channel.
256*4882a593Smuzhiyun  * Returns NULL on failure to find an entry. */
257*4882a593Smuzhiyun const struct b43_nphy_channeltab_entry_rev2 *
258*4882a593Smuzhiyun b43_nphy_get_chantabent_rev2(struct b43_wldev *dev, u8 channel);
259*4882a593Smuzhiyun 
260*4882a593Smuzhiyun #endif /* B43_RADIO_2055_H_ */
261