1300016Sadrian/*
2300016Sadrian
3300016Sadrian  Broadcom B43 wireless driver
4300016Sadrian  IEEE 802.11n PHY data tables
5300016Sadrian
6300016Sadrian  Copyright (c) 2008 Michael Buesch <m@bues.ch>
7300016Sadrian  Copyright (c) 2010 Rafa�� Mi��ecki <zajec5@gmail.com>
8300016Sadrian
9300016Sadrian  This program is free software; you can redistribute it and/or modify
10300016Sadrian  it under the terms of the GNU General Public License as published by
11300016Sadrian  the Free Software Foundation; either version 2 of the License, or
12300016Sadrian  (at your option) any later version.
13300016Sadrian
14300016Sadrian  This program is distributed in the hope that it will be useful,
15300016Sadrian  but WITHOUT ANY WARRANTY; without even the implied warranty of
16300016Sadrian  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17300016Sadrian  GNU General Public License for more details.
18300016Sadrian
19300016Sadrian  You should have received a copy of the GNU General Public License
20300016Sadrian  along with this program; see the file COPYING.  If not, write to
21300016Sadrian  the Free Software Foundation, Inc., 51 Franklin Steet, Fifth Floor,
22300016Sadrian  Boston, MA 02110-1301, USA.
23300016Sadrian
24300016Sadrian*/
25300016Sadrian
26300016Sadrian/*
27300016Sadrian * $FreeBSD$
28300016Sadrian */
29300016Sadrian
30300016Sadrian#ifndef	__IF_BWN_RADIO_2057_H__
31300016Sadrian#define	__IF_BWN_RADIO_2057_H__
32300016Sadrian
33300016Sadrian#define R2057_DACBUF_VINCM_CORE0		0x000
34300016Sadrian#define R2057_IDCODE				0x001
35300016Sadrian#define R2057_RCCAL_MASTER			0x002
36300016Sadrian#define R2057_RCCAL_CAP_SIZE			0x003
37300016Sadrian#define R2057_RCAL_CONFIG			0x004
38300016Sadrian#define R2057_GPAIO_CONFIG			0x005
39300016Sadrian#define R2057_GPAIO_SEL1			0x006
40300016Sadrian#define R2057_GPAIO_SEL0			0x007
41300016Sadrian#define R2057_CLPO_CONFIG			0x008
42300016Sadrian#define R2057_BANDGAP_CONFIG			0x009
43300016Sadrian#define R2057_BANDGAP_RCAL_TRIM			0x00a
44300016Sadrian#define R2057_AFEREG_CONFIG			0x00b
45300016Sadrian#define R2057_TEMPSENSE_CONFIG			0x00c
46300016Sadrian#define R2057_XTAL_CONFIG1			0x00d
47300016Sadrian#define R2057_XTAL_ICORE_SIZE			0x00e
48300016Sadrian#define R2057_XTAL_BUF_SIZE			0x00f
49300016Sadrian#define R2057_XTAL_PULLCAP_SIZE			0x010
50300016Sadrian#define R2057_RFPLL_MASTER			0x011
51300016Sadrian#define R2057_VCOMONITOR_VTH_L			0x012
52300016Sadrian#define R2057_VCOMONITOR_VTH_H			0x013
53300016Sadrian#define R2057_VCOCAL_BIASRESET_RFPLLREG_VOUT	0x014
54300016Sadrian#define R2057_VCO_VARCSIZE_IDAC			0x015
55300016Sadrian#define R2057_VCOCAL_COUNTVAL0			0x016
56300016Sadrian#define R2057_VCOCAL_COUNTVAL1			0x017
57300016Sadrian#define R2057_VCOCAL_INTCLK_COUNT		0x018
58300016Sadrian#define R2057_VCOCAL_MASTER			0x019
59300016Sadrian#define R2057_VCOCAL_NUMCAPCHANGE		0x01a
60300016Sadrian#define R2057_VCOCAL_WINSIZE			0x01b
61300016Sadrian#define R2057_VCOCAL_DELAY_AFTER_REFRESH	0x01c
62300016Sadrian#define R2057_VCOCAL_DELAY_AFTER_CLOSELOOP	0x01d
63300016Sadrian#define R2057_VCOCAL_DELAY_AFTER_OPENLOOP	0x01e
64300016Sadrian#define R2057_VCOCAL_DELAY_BEFORE_OPENLOOP	0x01f
65300016Sadrian#define R2057_VCO_FORCECAPEN_FORCECAP1		0x020
66300016Sadrian#define R2057_VCO_FORCECAP0			0x021
67300016Sadrian#define R2057_RFPLL_REFMASTER_SPAREXTALSIZE	0x022
68300016Sadrian#define R2057_RFPLL_PFD_RESET_PW		0x023
69300016Sadrian#define R2057_RFPLL_LOOPFILTER_R2		0x024
70300016Sadrian#define R2057_RFPLL_LOOPFILTER_R1		0x025
71300016Sadrian#define R2057_RFPLL_LOOPFILTER_C3		0x026
72300016Sadrian#define R2057_RFPLL_LOOPFILTER_C2		0x027
73300016Sadrian#define R2057_RFPLL_LOOPFILTER_C1		0x028
74300016Sadrian#define R2057_CP_KPD_IDAC			0x029
75300016Sadrian#define R2057_RFPLL_IDACS			0x02a
76300016Sadrian#define R2057_RFPLL_MISC_EN			0x02b
77300016Sadrian#define R2057_RFPLL_MMD0			0x02c
78300016Sadrian#define R2057_RFPLL_MMD1			0x02d
79300016Sadrian#define R2057_RFPLL_MISC_CAL_RESETN		0x02e
80300016Sadrian#define R2057_JTAGXTAL_SIZE_CPBIAS_FILTRES	0x02f
81300016Sadrian#define R2057_VCO_ALCREF_BBPLLXTAL_SIZE		0x030
82300016Sadrian#define R2057_VCOCAL_READCAP0			0x031
83300016Sadrian#define R2057_VCOCAL_READCAP1			0x032
84300016Sadrian#define R2057_VCOCAL_STATUS			0x033
85300016Sadrian#define R2057_LOGEN_PUS				0x034
86300016Sadrian#define R2057_LOGEN_PTAT_RESETS			0x035
87300016Sadrian#define R2057_VCOBUF_IDACS			0x036
88300016Sadrian#define R2057_VCOBUF_TUNE			0x037
89300016Sadrian#define R2057_CMOSBUF_TX2GQ_IDACS		0x038
90300016Sadrian#define R2057_CMOSBUF_TX2GI_IDACS		0x039
91300016Sadrian#define R2057_CMOSBUF_TX5GQ_IDACS		0x03a
92300016Sadrian#define R2057_CMOSBUF_TX5GI_IDACS		0x03b
93300016Sadrian#define R2057_CMOSBUF_RX2GQ_IDACS		0x03c
94300016Sadrian#define R2057_CMOSBUF_RX2GI_IDACS		0x03d
95300016Sadrian#define R2057_CMOSBUF_RX5GQ_IDACS		0x03e
96300016Sadrian#define R2057_CMOSBUF_RX5GI_IDACS		0x03f
97300016Sadrian#define R2057_LOGEN_MX2G_IDACS			0x040
98300016Sadrian#define R2057_LOGEN_MX2G_TUNE			0x041
99300016Sadrian#define R2057_LOGEN_MX5G_IDACS			0x042
100300016Sadrian#define R2057_LOGEN_MX5G_TUNE			0x043
101300016Sadrian#define R2057_LOGEN_MX5G_RCCR			0x044
102300016Sadrian#define R2057_LOGEN_INDBUF2G_IDAC		0x045
103300016Sadrian#define R2057_LOGEN_INDBUF2G_IBOOST		0x046
104300016Sadrian#define R2057_LOGEN_INDBUF2G_TUNE		0x047
105300016Sadrian#define R2057_LOGEN_INDBUF5G_IDAC		0x048
106300016Sadrian#define R2057_LOGEN_INDBUF5G_IBOOST		0x049
107300016Sadrian#define R2057_LOGEN_INDBUF5G_TUNE		0x04a
108300016Sadrian#define R2057_CMOSBUF_TX_RCCR			0x04b
109300016Sadrian#define R2057_CMOSBUF_RX_RCCR			0x04c
110300016Sadrian#define R2057_LOGEN_SEL_PKDET			0x04d
111300016Sadrian#define R2057_CMOSBUF_SHAREIQ_PTAT		0x04e
112300016Sadrian
113300016Sadrian/* MISC core 0 */
114300016Sadrian#define R2057_RXTXBIAS_CONFIG_CORE0		0x04f
115300016Sadrian#define R2057_TXGM_TXRF_PUS_CORE0		0x050
116300016Sadrian#define R2057_TXGM_IDAC_BLEED_CORE0		0x051
117300016Sadrian#define R2057_TXGM_GAIN_CORE0			0x056
118300016Sadrian#define R2057_TXGM2G_PKDET_PUS_CORE0		0x057
119300016Sadrian#define R2057_PAD2G_PTATS_CORE0			0x058
120300016Sadrian#define R2057_PAD2G_IDACS_CORE0			0x059
121300016Sadrian#define R2057_PAD2G_BOOST_PU_CORE0		0x05a
122300016Sadrian#define R2057_PAD2G_CASCV_GAIN_CORE0		0x05b
123300016Sadrian#define R2057_TXMIX2G_TUNE_BOOST_PU_CORE0	0x05c
124300016Sadrian#define R2057_TXMIX2G_LODC_CORE0		0x05d
125300016Sadrian#define R2057_PAD2G_TUNE_PUS_CORE0		0x05e
126300016Sadrian#define R2057_IPA2G_GAIN_CORE0			0x05f
127300016Sadrian#define R2057_TSSI2G_SPARE1_CORE0		0x060
128300016Sadrian#define R2057_TSSI2G_SPARE2_CORE0		0x061
129300016Sadrian#define R2057_IPA2G_TUNEV_CASCV_PTAT_CORE0	0x062
130300016Sadrian#define R2057_IPA2G_IMAIN_CORE0			0x063
131300016Sadrian#define R2057_IPA2G_CASCONV_CORE0		0x064
132300016Sadrian#define R2057_IPA2G_CASCOFFV_CORE0		0x065
133300016Sadrian#define R2057_IPA2G_BIAS_FILTER_CORE0		0x066
134300016Sadrian#define R2057_TX5G_PKDET_CORE0			0x069
135300016Sadrian#define R2057_PGA_PTAT_TXGM5G_PU_CORE0		0x06a
136300016Sadrian#define R2057_PAD5G_PTATS1_CORE0		0x06b
137300016Sadrian#define R2057_PAD5G_CLASS_PTATS2_CORE0		0x06c
138300016Sadrian#define R2057_PGA_BOOSTPTAT_IMAIN_CORE0		0x06d
139300016Sadrian#define R2057_PAD5G_CASCV_IMAIN_CORE0		0x06e
140300016Sadrian#define R2057_TXMIX5G_IBOOST_PAD_IAUX_CORE0	0x06f
141300016Sadrian#define R2057_PGA_BOOST_TUNE_CORE0		0x070
142300016Sadrian#define R2057_PGA_GAIN_CORE0			0x071
143300016Sadrian#define R2057_PAD5G_CASCOFFV_GAIN_PUS_CORE0	0x072
144300016Sadrian#define R2057_TXMIX5G_BOOST_TUNE_CORE0		0x073
145300016Sadrian#define R2057_PAD5G_TUNE_MISC_PUS_CORE0		0x074
146300016Sadrian#define R2057_IPA5G_IAUX_CORE0			0x075
147300016Sadrian#define R2057_IPA5G_GAIN_CORE0			0x076
148300016Sadrian#define R2057_TSSI5G_SPARE1_CORE0		0x077
149300016Sadrian#define R2057_TSSI5G_SPARE2_CORE0		0x078
150300016Sadrian#define R2057_IPA5G_CASCOFFV_PU_CORE0		0x079
151300016Sadrian#define R2057_IPA5G_PTAT_CORE0			0x07a
152300016Sadrian#define R2057_IPA5G_IMAIN_CORE0			0x07b
153300016Sadrian#define R2057_IPA5G_CASCONV_CORE0		0x07c
154300016Sadrian#define R2057_IPA5G_BIAS_FILTER_CORE0		0x07d
155300016Sadrian#define R2057_PAD_BIAS_FILTER_BWS_CORE0		0x080
156300016Sadrian#define R2057_TR2G_CONFIG1_CORE0_NU		0x081
157300016Sadrian#define R2057_TR2G_CONFIG2_CORE0_NU		0x082
158300016Sadrian#define R2057_LNA5G_RFEN_CORE0			0x083
159300016Sadrian#define R2057_TR5G_CONFIG2_CORE0_NU		0x084
160300016Sadrian#define R2057_RXRFBIAS_IBOOST_PU_CORE0		0x085
161300016Sadrian#define R2057_RXRF_IABAND_RXGM_IMAIN_PTAT_CORE0	0x086
162300016Sadrian#define R2057_RXGM_CMFBITAIL_AUXPTAT_CORE0	0x087
163300016Sadrian#define R2057_RXMIX_ICORE_RXGM_IAUX_CORE0	0x088
164300016Sadrian#define R2057_RXMIX_CMFBITAIL_PU_CORE0		0x089
165300016Sadrian#define R2057_LNA2_IMAIN_PTAT_PU_CORE0		0x08a
166300016Sadrian#define R2057_LNA2_IAUX_PTAT_CORE0		0x08b
167300016Sadrian#define R2057_LNA1_IMAIN_PTAT_PU_CORE0		0x08c
168300016Sadrian#define R2057_LNA15G_INPUT_MATCH_TUNE_CORE0	0x08d
169300016Sadrian#define R2057_RXRFBIAS_BANDSEL_CORE0		0x08e
170300016Sadrian#define R2057_TIA_CONFIG_CORE0			0x08f
171300016Sadrian#define R2057_TIA_IQGAIN_CORE0			0x090
172300016Sadrian#define R2057_TIA_IBIAS2_CORE0			0x091
173300016Sadrian#define R2057_TIA_IBIAS1_CORE0			0x092
174300016Sadrian#define R2057_TIA_SPARE_Q_CORE0			0x093
175300016Sadrian#define R2057_TIA_SPARE_I_CORE0			0x094
176300016Sadrian#define R2057_RXMIX2G_PUS_CORE0			0x095
177300016Sadrian#define R2057_RXMIX2G_VCMREFS_CORE0		0x096
178300016Sadrian#define R2057_RXMIX2G_LODC_QI_CORE0		0x097
179300016Sadrian#define R2057_W12G_BW_LNA2G_PUS_CORE0		0x098
180300016Sadrian#define R2057_LNA2G_GAIN_CORE0			0x099
181300016Sadrian#define R2057_LNA2G_TUNE_CORE0			0x09a
182300016Sadrian#define R2057_RXMIX5G_PUS_CORE0			0x09b
183300016Sadrian#define R2057_RXMIX5G_VCMREFS_CORE0		0x09c
184300016Sadrian#define R2057_RXMIX5G_LODC_QI_CORE0		0x09d
185300016Sadrian#define R2057_W15G_BW_LNA5G_PUS_CORE0		0x09e
186300016Sadrian#define R2057_LNA5G_GAIN_CORE0			0x09f
187300016Sadrian#define R2057_LNA5G_TUNE_CORE0			0x0a0
188300016Sadrian#define R2057_LPFSEL_TXRX_RXBB_PUS_CORE0	0x0a1
189300016Sadrian#define R2057_RXBB_BIAS_MASTER_CORE0		0x0a2
190300016Sadrian#define R2057_RXBB_VGABUF_IDACS_CORE0		0x0a3
191300016Sadrian#define R2057_LPF_VCMREF_TXBUF_VCMREF_CORE0	0x0a4
192300016Sadrian#define R2057_TXBUF_VINCM_CORE0			0x0a5
193300016Sadrian#define R2057_TXBUF_IDACS_CORE0			0x0a6
194300016Sadrian#define R2057_LPF_RESP_RXBUF_BW_CORE0		0x0a7
195300016Sadrian#define R2057_RXBB_CC_CORE0			0x0a8
196300016Sadrian#define R2057_RXBB_SPARE3_CORE0			0x0a9
197300016Sadrian#define R2057_RXBB_RCCAL_HPC_CORE0		0x0aa
198300016Sadrian#define R2057_LPF_IDACS_CORE0			0x0ab
199300016Sadrian#define R2057_LPFBYP_DCLOOP_BYP_IDAC_CORE0	0x0ac
200300016Sadrian#define R2057_TXBUF_GAIN_CORE0			0x0ad
201300016Sadrian#define R2057_AFELOOPBACK_AACI_RESP_CORE0	0x0ae
202300016Sadrian#define R2057_RXBUF_DEGEN_CORE0			0x0af
203300016Sadrian#define R2057_RXBB_SPARE2_CORE0			0x0b0
204300016Sadrian#define R2057_RXBB_SPARE1_CORE0			0x0b1
205300016Sadrian#define R2057_RSSI_MASTER_CORE0			0x0b2
206300016Sadrian#define R2057_W2_MASTER_CORE0			0x0b3
207300016Sadrian#define R2057_NB_MASTER_CORE0			0x0b4
208300016Sadrian#define R2057_W2_IDACS0_Q_CORE0			0x0b5
209300016Sadrian#define R2057_W2_IDACS1_Q_CORE0			0x0b6
210300016Sadrian#define R2057_W2_IDACS0_I_CORE0			0x0b7
211300016Sadrian#define R2057_W2_IDACS1_I_CORE0			0x0b8
212300016Sadrian#define R2057_RSSI_GPAIOSEL_W1_IDACS_CORE0	0x0b9
213300016Sadrian#define R2057_NB_IDACS_Q_CORE0			0x0ba
214300016Sadrian#define R2057_NB_IDACS_I_CORE0			0x0bb
215300016Sadrian#define R2057_BACKUP4_CORE0			0x0c1
216300016Sadrian#define R2057_BACKUP3_CORE0			0x0c2
217300016Sadrian#define R2057_BACKUP2_CORE0			0x0c3
218300016Sadrian#define R2057_BACKUP1_CORE0			0x0c4
219300016Sadrian#define R2057_SPARE16_CORE0			0x0c5
220300016Sadrian#define R2057_SPARE15_CORE0			0x0c6
221300016Sadrian#define R2057_SPARE14_CORE0			0x0c7
222300016Sadrian#define R2057_SPARE13_CORE0			0x0c8
223300016Sadrian#define R2057_SPARE12_CORE0			0x0c9
224300016Sadrian#define R2057_SPARE11_CORE0			0x0ca
225300016Sadrian#define R2057_TX2G_BIAS_RESETS_CORE0		0x0cb
226300016Sadrian#define R2057_TX5G_BIAS_RESETS_CORE0		0x0cc
227300016Sadrian#define R2057_IQTEST_SEL_PU			0x0cd
228300016Sadrian#define R2057_XTAL_CONFIG2			0x0ce
229300016Sadrian#define R2057_BUFS_MISC_LPFBW_CORE0		0x0cf
230300016Sadrian#define R2057_TXLPF_RCCAL_CORE0			0x0d0
231300016Sadrian#define R2057_RXBB_GPAIOSEL_RXLPF_RCCAL_CORE0	0x0d1
232300016Sadrian#define R2057_LPF_GAIN_CORE0			0x0d2
233300016Sadrian#define R2057_DACBUF_IDACS_BW_CORE0		0x0d3
234300016Sadrian
235300016Sadrian/* MISC core 1 */
236300016Sadrian#define R2057_RXTXBIAS_CONFIG_CORE1		0x0d4
237300016Sadrian#define R2057_TXGM_TXRF_PUS_CORE1		0x0d5
238300016Sadrian#define R2057_TXGM_IDAC_BLEED_CORE1		0x0d6
239300016Sadrian#define R2057_TXGM_GAIN_CORE1			0x0db
240300016Sadrian#define R2057_TXGM2G_PKDET_PUS_CORE1		0x0dc
241300016Sadrian#define R2057_PAD2G_PTATS_CORE1			0x0dd
242300016Sadrian#define R2057_PAD2G_IDACS_CORE1			0x0de
243300016Sadrian#define R2057_PAD2G_BOOST_PU_CORE1		0x0df
244300016Sadrian#define R2057_PAD2G_CASCV_GAIN_CORE1		0x0e0
245300016Sadrian#define R2057_TXMIX2G_TUNE_BOOST_PU_CORE1	0x0e1
246300016Sadrian#define R2057_TXMIX2G_LODC_CORE1		0x0e2
247300016Sadrian#define R2057_PAD2G_TUNE_PUS_CORE1		0x0e3
248300016Sadrian#define R2057_IPA2G_GAIN_CORE1			0x0e4
249300016Sadrian#define R2057_TSSI2G_SPARE1_CORE1		0x0e5
250300016Sadrian#define R2057_TSSI2G_SPARE2_CORE1		0x0e6
251300016Sadrian#define R2057_IPA2G_TUNEV_CASCV_PTAT_CORE1	0x0e7
252300016Sadrian#define R2057_IPA2G_IMAIN_CORE1			0x0e8
253300016Sadrian#define R2057_IPA2G_CASCONV_CORE1		0x0e9
254300016Sadrian#define R2057_IPA2G_CASCOFFV_CORE1		0x0ea
255300016Sadrian#define R2057_IPA2G_BIAS_FILTER_CORE1		0x0eb
256300016Sadrian#define R2057_TX5G_PKDET_CORE1			0x0ee
257300016Sadrian#define R2057_PGA_PTAT_TXGM5G_PU_CORE1		0x0ef
258300016Sadrian#define R2057_PAD5G_PTATS1_CORE1		0x0f0
259300016Sadrian#define R2057_PAD5G_CLASS_PTATS2_CORE1		0x0f1
260300016Sadrian#define R2057_PGA_BOOSTPTAT_IMAIN_CORE1		0x0f2
261300016Sadrian#define R2057_PAD5G_CASCV_IMAIN_CORE1		0x0f3
262300016Sadrian#define R2057_TXMIX5G_IBOOST_PAD_IAUX_CORE1	0x0f4
263300016Sadrian#define R2057_PGA_BOOST_TUNE_CORE1		0x0f5
264300016Sadrian#define R2057_PGA_GAIN_CORE1			0x0f6
265300016Sadrian#define R2057_PAD5G_CASCOFFV_GAIN_PUS_CORE1	0x0f7
266300016Sadrian#define R2057_TXMIX5G_BOOST_TUNE_CORE1		0x0f8
267300016Sadrian#define R2057_PAD5G_TUNE_MISC_PUS_CORE1		0x0f9
268300016Sadrian#define R2057_IPA5G_IAUX_CORE1			0x0fa
269300016Sadrian#define R2057_IPA5G_GAIN_CORE1			0x0fb
270300016Sadrian#define R2057_TSSI5G_SPARE1_CORE1		0x0fc
271300016Sadrian#define R2057_TSSI5G_SPARE2_CORE1		0x0fd
272300016Sadrian#define R2057_IPA5G_CASCOFFV_PU_CORE1		0x0fe
273300016Sadrian#define R2057_IPA5G_PTAT_CORE1			0x0ff
274300016Sadrian#define R2057_IPA5G_IMAIN_CORE1			0x100
275300016Sadrian#define R2057_IPA5G_CASCONV_CORE1		0x101
276300016Sadrian#define R2057_IPA5G_BIAS_FILTER_CORE1		0x102
277300016Sadrian#define R2057_PAD_BIAS_FILTER_BWS_CORE1		0x105
278300016Sadrian#define R2057_TR2G_CONFIG1_CORE1_NU		0x106
279300016Sadrian#define R2057_TR2G_CONFIG2_CORE1_NU		0x107
280300016Sadrian#define R2057_LNA5G_RFEN_CORE1			0x108
281300016Sadrian#define R2057_TR5G_CONFIG2_CORE1_NU		0x109
282300016Sadrian#define R2057_RXRFBIAS_IBOOST_PU_CORE1		0x10a
283300016Sadrian#define R2057_RXRF_IABAND_RXGM_IMAIN_PTAT_CORE1	0x10b
284300016Sadrian#define R2057_RXGM_CMFBITAIL_AUXPTAT_CORE1	0x10c
285300016Sadrian#define R2057_RXMIX_ICORE_RXGM_IAUX_CORE1	0x10d
286300016Sadrian#define R2057_RXMIX_CMFBITAIL_PU_CORE1		0x10e
287300016Sadrian#define R2057_LNA2_IMAIN_PTAT_PU_CORE1		0x10f
288300016Sadrian#define R2057_LNA2_IAUX_PTAT_CORE1		0x110
289300016Sadrian#define R2057_LNA1_IMAIN_PTAT_PU_CORE1		0x111
290300016Sadrian#define R2057_LNA15G_INPUT_MATCH_TUNE_CORE1	0x112
291300016Sadrian#define R2057_RXRFBIAS_BANDSEL_CORE1		0x113
292300016Sadrian#define R2057_TIA_CONFIG_CORE1			0x114
293300016Sadrian#define R2057_TIA_IQGAIN_CORE1			0x115
294300016Sadrian#define R2057_TIA_IBIAS2_CORE1			0x116
295300016Sadrian#define R2057_TIA_IBIAS1_CORE1			0x117
296300016Sadrian#define R2057_TIA_SPARE_Q_CORE1			0x118
297300016Sadrian#define R2057_TIA_SPARE_I_CORE1			0x119
298300016Sadrian#define R2057_RXMIX2G_PUS_CORE1			0x11a
299300016Sadrian#define R2057_RXMIX2G_VCMREFS_CORE1		0x11b
300300016Sadrian#define R2057_RXMIX2G_LODC_QI_CORE1		0x11c
301300016Sadrian#define R2057_W12G_BW_LNA2G_PUS_CORE1		0x11d
302300016Sadrian#define R2057_LNA2G_GAIN_CORE1			0x11e
303300016Sadrian#define R2057_LNA2G_TUNE_CORE1			0x11f
304300016Sadrian#define R2057_RXMIX5G_PUS_CORE1			0x120
305300016Sadrian#define R2057_RXMIX5G_VCMREFS_CORE1		0x121
306300016Sadrian#define R2057_RXMIX5G_LODC_QI_CORE1		0x122
307300016Sadrian#define R2057_W15G_BW_LNA5G_PUS_CORE1		0x123
308300016Sadrian#define R2057_LNA5G_GAIN_CORE1			0x124
309300016Sadrian#define R2057_LNA5G_TUNE_CORE1			0x125
310300016Sadrian#define R2057_LPFSEL_TXRX_RXBB_PUS_CORE1	0x126
311300016Sadrian#define R2057_RXBB_BIAS_MASTER_CORE1		0x127
312300016Sadrian#define R2057_RXBB_VGABUF_IDACS_CORE1		0x128
313300016Sadrian#define R2057_LPF_VCMREF_TXBUF_VCMREF_CORE1	0x129
314300016Sadrian#define R2057_TXBUF_VINCM_CORE1			0x12a
315300016Sadrian#define R2057_TXBUF_IDACS_CORE1			0x12b
316300016Sadrian#define R2057_LPF_RESP_RXBUF_BW_CORE1		0x12c
317300016Sadrian#define R2057_RXBB_CC_CORE1			0x12d
318300016Sadrian#define R2057_RXBB_SPARE3_CORE1			0x12e
319300016Sadrian#define R2057_RXBB_RCCAL_HPC_CORE1		0x12f
320300016Sadrian#define R2057_LPF_IDACS_CORE1			0x130
321300016Sadrian#define R2057_LPFBYP_DCLOOP_BYP_IDAC_CORE1	0x131
322300016Sadrian#define R2057_TXBUF_GAIN_CORE1			0x132
323300016Sadrian#define R2057_AFELOOPBACK_AACI_RESP_CORE1	0x133
324300016Sadrian#define R2057_RXBUF_DEGEN_CORE1			0x134
325300016Sadrian#define R2057_RXBB_SPARE2_CORE1			0x135
326300016Sadrian#define R2057_RXBB_SPARE1_CORE1			0x136
327300016Sadrian#define R2057_RSSI_MASTER_CORE1			0x137
328300016Sadrian#define R2057_W2_MASTER_CORE1			0x138
329300016Sadrian#define R2057_NB_MASTER_CORE1			0x139
330300016Sadrian#define R2057_W2_IDACS0_Q_CORE1			0x13a
331300016Sadrian#define R2057_W2_IDACS1_Q_CORE1			0x13b
332300016Sadrian#define R2057_W2_IDACS0_I_CORE1			0x13c
333300016Sadrian#define R2057_W2_IDACS1_I_CORE1			0x13d
334300016Sadrian#define R2057_RSSI_GPAIOSEL_W1_IDACS_CORE1	0x13e
335300016Sadrian#define R2057_NB_IDACS_Q_CORE1			0x13f
336300016Sadrian#define R2057_NB_IDACS_I_CORE1			0x140
337300016Sadrian#define R2057_BACKUP4_CORE1			0x146
338300016Sadrian#define R2057_BACKUP3_CORE1			0x147
339300016Sadrian#define R2057_BACKUP2_CORE1			0x148
340300016Sadrian#define R2057_BACKUP1_CORE1			0x149
341300016Sadrian#define R2057_SPARE16_CORE1			0x14a
342300016Sadrian#define R2057_SPARE15_CORE1			0x14b
343300016Sadrian#define R2057_SPARE14_CORE1			0x14c
344300016Sadrian#define R2057_SPARE13_CORE1			0x14d
345300016Sadrian#define R2057_SPARE12_CORE1			0x14e
346300016Sadrian#define R2057_SPARE11_CORE1			0x14f
347300016Sadrian#define R2057_TX2G_BIAS_RESETS_CORE1		0x150
348300016Sadrian#define R2057_TX5G_BIAS_RESETS_CORE1		0x151
349300016Sadrian#define R2057_SPARE8_CORE1			0x152
350300016Sadrian#define R2057_SPARE7_CORE1			0x153
351300016Sadrian#define R2057_BUFS_MISC_LPFBW_CORE1		0x154
352300016Sadrian#define R2057_TXLPF_RCCAL_CORE1			0x155
353300016Sadrian#define R2057_RXBB_GPAIOSEL_RXLPF_RCCAL_CORE1	0x156
354300016Sadrian#define R2057_LPF_GAIN_CORE1			0x157
355300016Sadrian#define R2057_DACBUF_IDACS_BW_CORE1		0x158
356300016Sadrian
357300016Sadrian#define R2057_DACBUF_VINCM_CORE1		0x159
358300016Sadrian#define R2057_RCCAL_START_R1_Q1_P1		0x15a
359300016Sadrian#define R2057_RCCAL_X1				0x15b
360300016Sadrian#define R2057_RCCAL_TRC0			0x15c
361300016Sadrian#define R2057_RCCAL_TRC1			0x15d
362300016Sadrian#define R2057_RCCAL_DONE_OSCCAP			0x15e
363300016Sadrian#define R2057_RCCAL_N0_0			0x15f
364300016Sadrian#define R2057_RCCAL_N0_1			0x160
365300016Sadrian#define R2057_RCCAL_N1_0			0x161
366300016Sadrian#define R2057_RCCAL_N1_1			0x162
367300016Sadrian#define R2057_RCAL_STATUS			0x163
368300016Sadrian#define R2057_XTALPUOVR_PINCTRL			0x164
369300016Sadrian#define R2057_OVR_REG0				0x165
370300016Sadrian#define R2057_OVR_REG1				0x166
371300016Sadrian#define R2057_OVR_REG2				0x167
372300016Sadrian#define R2057_OVR_REG3				0x168
373300016Sadrian#define R2057_OVR_REG4				0x169
374300016Sadrian#define R2057_RCCAL_SCAP_VAL			0x16a
375300016Sadrian#define R2057_RCCAL_BCAP_VAL			0x16b
376300016Sadrian#define R2057_RCCAL_HPC_VAL			0x16c
377300016Sadrian#define R2057_RCCAL_OVERRIDES			0x16d
378300016Sadrian
379300016Sadrian/* TX core 0 */
380300016Sadrian#define R2057_TX0_IQCAL_GAIN_BW			0x170
381300016Sadrian#define R2057_TX0_LOFT_FINE_I			0x171
382300016Sadrian#define R2057_TX0_LOFT_FINE_Q			0x172
383300016Sadrian#define R2057_TX0_LOFT_COARSE_I			0x173
384300016Sadrian#define R2057_TX0_LOFT_COARSE_Q			0x174
385300016Sadrian#define R2057_TX0_TX_SSI_MASTER			0x175
386300016Sadrian#define R2057_TX0_IQCAL_VCM_HG			0x176
387300016Sadrian#define R2057_TX0_IQCAL_IDAC			0x177
388300016Sadrian#define R2057_TX0_TSSI_VCM			0x178
389300016Sadrian#define R2057_TX0_TX_SSI_MUX			0x179
390300016Sadrian#define R2057_TX0_TSSIA				0x17a
391300016Sadrian#define R2057_TX0_TSSIG				0x17b
392300016Sadrian#define R2057_TX0_TSSI_MISC1			0x17c
393300016Sadrian#define R2057_TX0_TXRXCOUPLE_2G_ATTEN		0x17d
394300016Sadrian#define R2057_TX0_TXRXCOUPLE_2G_PWRUP		0x17e
395300016Sadrian#define R2057_TX0_TXRXCOUPLE_5G_ATTEN		0x17f
396300016Sadrian#define R2057_TX0_TXRXCOUPLE_5G_PWRUP		0x180
397300016Sadrian
398300016Sadrian/* TX core 1 */
399300016Sadrian#define R2057_TX1_IQCAL_GAIN_BW			0x190
400300016Sadrian#define R2057_TX1_LOFT_FINE_I			0x191
401300016Sadrian#define R2057_TX1_LOFT_FINE_Q			0x192
402300016Sadrian#define R2057_TX1_LOFT_COARSE_I			0x193
403300016Sadrian#define R2057_TX1_LOFT_COARSE_Q			0x194
404300016Sadrian#define R2057_TX1_TX_SSI_MASTER			0x195
405300016Sadrian#define R2057_TX1_IQCAL_VCM_HG			0x196
406300016Sadrian#define R2057_TX1_IQCAL_IDAC			0x197
407300016Sadrian#define R2057_TX1_TSSI_VCM			0x198
408300016Sadrian#define R2057_TX1_TX_SSI_MUX			0x199
409300016Sadrian#define R2057_TX1_TSSIA				0x19a
410300016Sadrian#define R2057_TX1_TSSIG				0x19b
411300016Sadrian#define R2057_TX1_TSSI_MISC1			0x19c
412300016Sadrian#define R2057_TX1_TXRXCOUPLE_2G_ATTEN		0x19d
413300016Sadrian#define R2057_TX1_TXRXCOUPLE_2G_PWRUP		0x19e
414300016Sadrian#define R2057_TX1_TXRXCOUPLE_5G_ATTEN		0x19f
415300016Sadrian#define R2057_TX1_TXRXCOUPLE_5G_PWRUP		0x1a0
416300016Sadrian
417300016Sadrian#define R2057_AFE_VCM_CAL_MASTER_CORE0		0x1a1
418300016Sadrian#define R2057_AFE_SET_VCM_I_CORE0		0x1a2
419300016Sadrian#define R2057_AFE_SET_VCM_Q_CORE0		0x1a3
420300016Sadrian#define R2057_AFE_STATUS_VCM_IQADC_CORE0	0x1a4
421300016Sadrian#define R2057_AFE_STATUS_VCM_I_CORE0		0x1a5
422300016Sadrian#define R2057_AFE_STATUS_VCM_Q_CORE0		0x1a6
423300016Sadrian#define R2057_AFE_VCM_CAL_MASTER_CORE1		0x1a7
424300016Sadrian#define R2057_AFE_SET_VCM_I_CORE1		0x1a8
425300016Sadrian#define R2057_AFE_SET_VCM_Q_CORE1		0x1a9
426300016Sadrian#define R2057_AFE_STATUS_VCM_IQADC_CORE1	0x1aa
427300016Sadrian#define R2057_AFE_STATUS_VCM_I_CORE1		0x1ab
428300016Sadrian#define R2057_AFE_STATUS_VCM_Q_CORE1		0x1ac
429300016Sadrian
430300016Sadrian#define R2057v7_DACBUF_VINCM_CORE0		0x1ad
431300016Sadrian#define R2057v7_RCCAL_MASTER			0x1ae
432300016Sadrian#define R2057v7_TR2G_CONFIG3_CORE0_NU		0x1af
433300016Sadrian#define R2057v7_TR2G_CONFIG3_CORE1_NU		0x1b0
434300016Sadrian#define R2057v7_LOGEN_PUS1			0x1b1
435300016Sadrian#define R2057v7_OVR_REG5			0x1b2
436300016Sadrian#define R2057v7_OVR_REG6			0x1b3
437300016Sadrian#define R2057v7_OVR_REG7			0x1b4
438300016Sadrian#define R2057v7_OVR_REG8			0x1b5
439300016Sadrian#define R2057v7_OVR_REG9			0x1b6
440300016Sadrian#define R2057v7_OVR_REG10			0x1b7
441300016Sadrian#define R2057v7_OVR_REG11			0x1b8
442300016Sadrian#define R2057v7_OVR_REG12			0x1b9
443300016Sadrian#define R2057v7_OVR_REG13			0x1ba
444300016Sadrian#define R2057v7_OVR_REG14			0x1bb
445300016Sadrian#define R2057v7_OVR_REG15			0x1bc
446300016Sadrian#define R2057v7_OVR_REG16			0x1bd
447300016Sadrian#define R2057v7_OVR_REG1			0x1be
448300016Sadrian#define R2057v7_OVR_REG18			0x1bf
449300016Sadrian#define R2057v7_OVR_REG19			0x1c0
450300016Sadrian#define R2057v7_OVR_REG20			0x1c1
451300016Sadrian#define R2057v7_OVR_REG21			0x1c2
452300016Sadrian#define R2057v7_OVR_REG2			0x1c3
453300016Sadrian#define R2057v7_OVR_REG23			0x1c4
454300016Sadrian#define R2057v7_OVR_REG24			0x1c5
455300016Sadrian#define R2057v7_OVR_REG25			0x1c6
456300016Sadrian#define R2057v7_OVR_REG26			0x1c7
457300016Sadrian#define R2057v7_OVR_REG27			0x1c8
458300016Sadrian#define R2057v7_OVR_REG28			0x1c9
459300016Sadrian#define R2057v7_IQTEST_SEL_PU2			0x1ca
460300016Sadrian
461300016Sadrian#define R2057_VCM_MASK				0x7
462300016Sadrian
463300016Sadrianstruct bwn_nphy_chantabent_rev7 {
464300016Sadrian	/* The channel frequency in MHz */
465300016Sadrian	uint16_t freq;
466300016Sadrian	/* Radio regs values on channelswitch */
467300016Sadrian	uint8_t radio_vcocal_countval0;
468300016Sadrian	uint8_t radio_vcocal_countval1;
469300016Sadrian	uint8_t radio_rfpll_refmaster_sparextalsize;
470300016Sadrian	uint8_t radio_rfpll_loopfilter_r1;
471300016Sadrian	uint8_t radio_rfpll_loopfilter_c2;
472300016Sadrian	uint8_t radio_rfpll_loopfilter_c1;
473300016Sadrian	uint8_t radio_cp_kpd_idac;
474300016Sadrian	uint8_t radio_rfpll_mmd0;
475300016Sadrian	uint8_t radio_rfpll_mmd1;
476300016Sadrian	uint8_t radio_vcobuf_tune;
477300016Sadrian	uint8_t radio_logen_mx2g_tune;
478300016Sadrian	uint8_t radio_logen_mx5g_tune;
479300016Sadrian	uint8_t radio_logen_indbuf2g_tune;
480300016Sadrian	uint8_t radio_logen_indbuf5g_tune;
481300016Sadrian	uint8_t radio_txmix2g_tune_boost_pu_core0;
482300016Sadrian	uint8_t radio_pad2g_tune_pus_core0;
483300016Sadrian	uint8_t radio_pga_boost_tune_core0;
484300016Sadrian	uint8_t radio_txmix5g_boost_tune_core0;
485300016Sadrian	uint8_t radio_pad5g_tune_misc_pus_core0;
486300016Sadrian	uint8_t radio_lna2g_tune_core0;
487300016Sadrian	uint8_t radio_lna5g_tune_core0;
488300016Sadrian	uint8_t radio_txmix2g_tune_boost_pu_core1;
489300016Sadrian	uint8_t radio_pad2g_tune_pus_core1;
490300016Sadrian	uint8_t radio_pga_boost_tune_core1;
491300016Sadrian	uint8_t radio_txmix5g_boost_tune_core1;
492300016Sadrian	uint8_t radio_pad5g_tune_misc_pus_core1;
493300016Sadrian	uint8_t radio_lna2g_tune_core1;
494300016Sadrian	uint8_t radio_lna5g_tune_core1;
495300016Sadrian	/* PHY res values on channelswitch */
496300016Sadrian	struct bwn_phy_n_sfo_cfg phy_regs;
497300016Sadrian};
498300016Sadrian
499300016Sadrianstruct bwn_nphy_chantabent_rev7_2g {
500300016Sadrian	/* The channel frequency in MHz */
501300016Sadrian	uint16_t freq;
502300016Sadrian	/* Radio regs values on channelswitch */
503300016Sadrian	uint8_t radio_vcocal_countval0;
504300016Sadrian	uint8_t radio_vcocal_countval1;
505300016Sadrian	uint8_t radio_rfpll_refmaster_sparextalsize;
506300016Sadrian	uint8_t radio_rfpll_loopfilter_r1;
507300016Sadrian	uint8_t radio_rfpll_loopfilter_c2;
508300016Sadrian	uint8_t radio_rfpll_loopfilter_c1;
509300016Sadrian	uint8_t radio_cp_kpd_idac;
510300016Sadrian	uint8_t radio_rfpll_mmd0;
511300016Sadrian	uint8_t radio_rfpll_mmd1;
512300016Sadrian	uint8_t radio_vcobuf_tune;
513300016Sadrian	uint8_t radio_logen_mx2g_tune;
514300016Sadrian	uint8_t radio_logen_indbuf2g_tune;
515300016Sadrian	uint8_t radio_txmix2g_tune_boost_pu_core0;
516300016Sadrian	uint8_t radio_pad2g_tune_pus_core0;
517300016Sadrian	uint8_t radio_lna2g_tune_core0;
518300016Sadrian	uint8_t radio_txmix2g_tune_boost_pu_core1;
519300016Sadrian	uint8_t radio_pad2g_tune_pus_core1;
520300016Sadrian	uint8_t radio_lna2g_tune_core1;
521300016Sadrian	/* PHY regs values on channelswitch */
522300016Sadrian	struct bwn_phy_n_sfo_cfg phy_regs;
523300016Sadrian};
524300016Sadrian
525300016Sadrianvoid r2057_upload_inittabs(struct bwn_mac *mac);
526300016Sadrian
527300016Sadrianvoid r2057_get_chantabent_rev7(struct bwn_mac *mac, uint16_t freq,
528300016Sadrian			       const struct bwn_nphy_chantabent_rev7 **tabent_r7,
529300016Sadrian			       const struct bwn_nphy_chantabent_rev7_2g **tabent_r7_2g);
530300016Sadrian
531300016Sadrian#endif	/* IF_BWN_RADIO_2057_H_ */
532