summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/broadcom/b43/radio_2057.h
blob: 220d080238ff8805816eef0b127d990045fa1082 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
#ifndef B43_RADIO_2057_H_
#define B43_RADIO_2057_H_

#include <linux/types.h>

#include "tables_nphy.h"

#define R2057_DACBUF_VINCM_CORE0		0x000
#define R2057_IDCODE				0x001
#define R2057_RCCAL_MASTER			0x002
#define R2057_RCCAL_CAP_SIZE			0x003
#define R2057_RCAL_CONFIG			0x004
#define R2057_GPAIO_CONFIG			0x005
#define R2057_GPAIO_SEL1			0x006
#define R2057_GPAIO_SEL0			0x007
#define R2057_CLPO_CONFIG			0x008
#define R2057_BANDGAP_CONFIG			0x009
#define R2057_BANDGAP_RCAL_TRIM			0x00a
#define R2057_AFEREG_CONFIG			0x00b
#define R2057_TEMPSENSE_CONFIG			0x00c
#define R2057_XTAL_CONFIG1			0x00d
#define R2057_XTAL_ICORE_SIZE			0x00e
#define R2057_XTAL_BUF_SIZE			0x00f
#define R2057_XTAL_PULLCAP_SIZE			0x010
#define R2057_RFPLL_MASTER			0x011
#define R2057_VCOMONITOR_VTH_L			0x012
#define R2057_VCOMONITOR_VTH_H			0x013
#define R2057_VCOCAL_BIASRESET_RFPLLREG_VOUT	0x014
#define R2057_VCO_VARCSIZE_IDAC			0x015
#define R2057_VCOCAL_COUNTVAL0			0x016
#define R2057_VCOCAL_COUNTVAL1			0x017
#define R2057_VCOCAL_INTCLK_COUNT		0x018
#define R2057_VCOCAL_MASTER			0x019
#define R2057_VCOCAL_NUMCAPCHANGE		0x01a
#define R2057_VCOCAL_WINSIZE			0x01b
#define R2057_VCOCAL_DELAY_AFTER_REFRESH	0x01c
#define R2057_VCOCAL_DELAY_AFTER_CLOSELOOP	0x01d
#define R2057_VCOCAL_DELAY_AFTER_OPENLOOP	0x01e
#define R2057_VCOCAL_DELAY_BEFORE_OPENLOOP	0x01f
#define R2057_VCO_FORCECAPEN_FORCECAP1		0x020
#define R2057_VCO_FORCECAP0			0x021
#define R2057_RFPLL_REFMASTER_SPAREXTALSIZE	0x022
#define R2057_RFPLL_PFD_RESET_PW		0x023
#define R2057_RFPLL_LOOPFILTER_R2		0x024
#define R2057_RFPLL_LOOPFILTER_R1		0x025
#define R2057_RFPLL_LOOPFILTER_C3		0x026
#define R2057_RFPLL_LOOPFILTER_C2		0x027
#define R2057_RFPLL_LOOPFILTER_C1		0x028
#define R2057_CP_KPD_IDAC			0x029
#define R2057_RFPLL_IDACS			0x02a
#define R2057_RFPLL_MISC_EN			0x02b
#define R2057_RFPLL_MMD0			0x02c
#define R2057_RFPLL_MMD1			0x02d
#define R2057_RFPLL_MISC_CAL_RESETN		0x02e
#define R2057_JTAGXTAL_SIZE_CPBIAS_FILTRES	0x02f
#define R2057_VCO_ALCREF_BBPLLXTAL_SIZE		0x030
#define R2057_VCOCAL_READCAP0			0x031
#define R2057_VCOCAL_READCAP1			0x032
#define R2057_VCOCAL_STATUS			0x033
#define R2057_LOGEN_PUS				0x034
#define R2057_LOGEN_PTAT_RESETS			0x035
#define R2057_VCOBUF_IDACS			0x036
#define R2057_VCOBUF_TUNE			0x037
#define R2057_CMOSBUF_TX2GQ_IDACS		0x038
#define R2057_CMOSBUF_TX2GI_IDACS		0x039
#define R2057_CMOSBUF_TX5GQ_IDACS		0x03a
#define R2057_CMOSBUF_TX5GI_IDACS		0x03b
#define R2057_CMOSBUF_RX2GQ_IDACS		0x03c
#define R2057_CMOSBUF_RX2GI_IDACS		0x03d
#define R2057_CMOSBUF_RX5GQ_IDACS		0x03e
#define R2057_CMOSBUF_RX5GI_IDACS		0x03f
#define R2057_LOGEN_MX2G_IDACS			0x040
#define R2057_LOGEN_MX2G_TUNE			0x041
#define R2057_LOGEN_MX5G_IDACS			0x042
#define R2057_LOGEN_MX5G_TUNE			0x043
#define R2057_LOGEN_MX5G_RCCR			0x044
#define R2057_LOGEN_INDBUF2G_IDAC		0x045
#define R2057_LOGEN_INDBUF2G_IBOOST		0x046
#define R2057_LOGEN_INDBUF2G_TUNE		0x047
#define R2057_LOGEN_INDBUF5G_IDAC		0x048
#define R2057_LOGEN_INDBUF5G_IBOOST		0x049
#define R2057_LOGEN_INDBUF5G_TUNE		0x04a
#define R2057_CMOSBUF_TX_RCCR			0x04b
#define R2057_CMOSBUF_RX_RCCR			0x04c
#define R2057_LOGEN_SEL_PKDET			0x04d
#define R2057_CMOSBUF_SHAREIQ_PTAT		0x04e

/* MISC core 0 */
#define R2057_RXTXBIAS_CONFIG_CORE0		0x04f
#define R2057_TXGM_TXRF_PUS_CORE0		0x050
#define R2057_TXGM_IDAC_BLEED_CORE0		0x051
#define R2057_TXGM_GAIN_CORE0			0x056
#define R2057_TXGM2G_PKDET_PUS_CORE0		0x057
#define R2057_PAD2G_PTATS_CORE0			0x058
#define R2057_PAD2G_IDACS_CORE0			0x059
#define R2057_PAD2G_BOOST_PU_CORE0		0x05a
#define R2057_PAD2G_CASCV_GAIN_CORE0		0x05b
#define R2057_TXMIX2G_TUNE_BOOST_PU_CORE0	0x05c
#define R2057_TXMIX2G_LODC_CORE0		0x05d
#define R2057_PAD2G_TUNE_PUS_CORE0		0x05e
#define R2057_IPA2G_GAIN_CORE0			0x05f
#define R2057_TSSI2G_SPARE1_CORE0		0x060
#define R2057_TSSI2G_SPARE2_CORE0		0x061
#define R2057_IPA2G_TUNEV_CASCV_PTAT_CORE0	0x062
#define R2057_IPA2G_IMAIN_CORE0			0x063
#define R2057_IPA2G_CASCONV_CORE0		0x064
#define R2057_IPA2G_CASCOFFV_CORE0		0x065
#define R2057_IPA2G_BIAS_FILTER_CORE0		0x066
#define R2057_TX5G_PKDET_CORE0			0x069
#define R2057_PGA_PTAT_TXGM5G_PU_CORE0		0x06a
#define R2057_PAD5G_PTATS1_CORE0		0x06b
#define R2057_PAD5G_CLASS_PTATS2_CORE0		0x06c
#define R2057_PGA_BOOSTPTAT_IMAIN_CORE0		0x06d
#define R2057_PAD5G_CASCV_IMAIN_CORE0		0x06e
#define R2057_TXMIX5G_IBOOST_PAD_IAUX_CORE0	0x06f
#define R2057_PGA_BOOST_TUNE_CORE0		0x070
#define R2057_PGA_GAIN_CORE0			0x071
#define R2057_PAD5G_CASCOFFV_GAIN_PUS_CORE0	0x072
#define R2057_TXMIX5G_BOOST_TUNE_CORE0		0x073
#define R2057_PAD5G_TUNE_MISC_PUS_CORE0		0x074
#define R2057_IPA5G_IAUX_CORE0			0x075
#define R2057_IPA5G_GAIN_CORE0			0x076
#define R2057_TSSI5G_SPARE1_CORE0		0x077
#define R2057_TSSI5G_SPARE2_CORE0		0x078
#define R2057_IPA5G_CASCOFFV_PU_CORE0		0x079
#define R2057_IPA5G_PTAT_CORE0			0x07a
#define R2057_IPA5G_IMAIN_CORE0			0x07b
#define R2057_IPA5G_CASCONV_CORE0		0x07c
#define R2057_IPA5G_BIAS_FILTER_CORE0		0x07d
#define R2057_PAD_BIAS_FILTER_BWS_CORE0		0x080
#define R2057_TR2G_CONFIG1_CORE0_NU		0x081
#define R2057_TR2G_CONFIG2_CORE0_NU		0x082
#define R2057_LNA5G_RFEN_CORE0			0x083
#define R2057_TR5G_CONFIG2_CORE0_NU		0x084
#define R2057_RXRFBIAS_IBOOST_PU_CORE0		0x085
#define R2057_RXRF_IABAND_RXGM_IMAIN_PTAT_CORE0	0x086
#define R2057_RXGM_CMFBITAIL_AUXPTAT_CORE0	0x087
#define R2057_RXMIX_ICORE_RXGM_IAUX_CORE0	0x088
#define R2057_RXMIX_CMFBITAIL_PU_CORE0		0x089
#define R2057_LNA2_IMAIN_PTAT_PU_CORE0		0x08a
#define R2057_LNA2_IAUX_PTAT_CORE0		0x08b
#define R2057_LNA1_IMAIN_PTAT_PU_CORE0		0x08c
#define R2057_LNA15G_INPUT_MATCH_TUNE_CORE0	0x08d
#define R2057_RXRFBIAS_BANDSEL_CORE0		0x08e
#define R2057_TIA_CONFIG_CORE0			0x08f
#define R2057_TIA_IQGAIN_CORE0			0x090
#define R2057_TIA_IBIAS2_CORE0			0x091
#define R2057_TIA_IBIAS1_CORE0			0x092
#define R2057_TIA_SPARE_Q_CORE0			0x093
#define R2057_TIA_SPARE_I_CORE0			0x094
#define R2057_RXMIX2G_PUS_CORE0			0x095
#define R2057_RXMIX2G_VCMREFS_CORE0		0x096
#define R2057_RXMIX2G_LODC_QI_CORE0		0x097
#define R2057_W12G_BW_LNA2G_PUS_CORE0		0x098
#define R2057_LNA2G_GAIN_CORE0			0x099
#define R2057_LNA2G_TUNE_CORE0			0x09a
#define R2057_RXMIX5G_PUS_CORE0			0x09b
#define R2057_RXMIX5G_VCMREFS_CORE0		0x09c
#define R2057_RXMIX5G_LODC_QI_CORE0		0x09d
#define R2057_W15G_BW_LNA5G_PUS_CORE0		0x09e
#define R2057_LNA5G_GAIN_CORE0			0x09f
#define R2057_LNA5G_TUNE_CORE0			0x0a0
#define R2057_LPFSEL_TXRX_RXBB_PUS_CORE0	0x0a1
#define R2057_RXBB_BIAS_MASTER_CORE0		0x0a2
#define R2057_RXBB_VGABUF_IDACS_CORE0		0x0a3
#define R2057_LPF_VCMREF_TXBUF_VCMREF_CORE0	0x0a4
#define R2057_TXBUF_VINCM_CORE0			0x0a5
#define R2057_TXBUF_IDACS_CORE0			0x0a6
#define R2057_LPF_RESP_RXBUF_BW_CORE0		0x0a7
#define R2057_RXBB_CC_CORE0			0x0a8
#define R2057_RXBB_SPARE3_CORE0			0x0a9
#define R2057_RXBB_RCCAL_HPC_CORE0		0x0aa
#define R2057_LPF_IDACS_CORE0			0x0ab
#define R2057_LPFBYP_DCLOOP_BYP_IDAC_CORE0	0x0ac
#define R2057_TXBUF_GAIN_CORE0			0x0ad
#define R2057_AFELOOPBACK_AACI_RESP_CORE0	0x0ae
#define R2057_RXBUF_DEGEN_CORE0			0x0af
#define R2057_RXBB_SPARE2_CORE0			0x0b0
#define R2057_RXBB_SPARE1_CORE0			0x0b1
#define R2057_RSSI_MASTER_CORE0			0x0b2
#define R2057_W2_MASTER_CORE0			0x0b3
#define R2057_NB_MASTER_CORE0			0x0b4
#define R2057_W2_IDACS0_Q_CORE0			0x0b5
#define R2057_W2_IDACS1_Q_CORE0			0x0b6
#define R2057_W2_IDACS0_I_CORE0			0x0b7
#define R2057_W2_IDACS1_I_CORE0			0x0b8
#define R2057_RSSI_GPAIOSEL_W1_IDACS_CORE0	0x0b9
#define R2057_NB_IDACS_Q_CORE0			0x0ba
#define R2057_NB_IDACS_I_CORE0			0x0bb
#define R2057_BACKUP4_CORE0			0x0c1
#define R2057_BACKUP3_CORE0			0x0c2
#define R2057_BACKUP2_CORE0			0x0c3
#define R2057_BACKUP1_CORE0			0x0c4
#define R2057_SPARE16_CORE0			0x0c5
#define R2057_SPARE15_CORE0			0x0c6
#define R2057_SPARE14_CORE0			0x0c7
#define R2057_SPARE13_CORE0			0x0c8
#define R2057_SPARE12_CORE0			0x0c9
#define R2057_SPARE11_CORE0			0x0ca
#define R2057_TX2G_BIAS_RESETS_CORE0		0x0cb
#define R2057_TX5G_BIAS_RESETS_CORE0		0x0cc
#define R2057_IQTEST_SEL_PU			0x0cd
#define R2057_XTAL_CONFIG2			0x0ce
#define R2057_BUFS_MISC_LPFBW_CORE0		0x0cf
#define R2057_TXLPF_RCCAL_CORE0			0x0d0
#define R2057_RXBB_GPAIOSEL_RXLPF_RCCAL_CORE0	0x0d1
#define R2057_LPF_GAIN_CORE0			0x0d2
#define R2057_DACBUF_IDACS_BW_CORE0		0x0d3

/* MISC core 1 */
#define R2057_RXTXBIAS_CONFIG_CORE1		0x0d4
#define R2057_TXGM_TXRF_PUS_CORE1		0x0d5
#define R2057_TXGM_IDAC_BLEED_CORE1		0x0d6
#define R2057_TXGM_GAIN_CORE1			0x0db
#define R2057_TXGM2G_PKDET_PUS_CORE1		0x0dc
#define R2057_PAD2G_PTATS_CORE1			0x0dd
#define R2057_PAD2G_IDACS_CORE1			0x0de
#define R2057_PAD2G_BOOST_PU_CORE1		0x0df
#define R2057_PAD2G_CASCV_GAIN_CORE1		0x0e0
#define R2057_TXMIX2G_TUNE_BOOST_PU_CORE1	0x0e1
#define R2057_TXMIX2G_LODC_CORE1		0x0e2
#define R2057_PAD2G_TUNE_PUS_CORE1		0x0e3
#define R2057_IPA2G_GAIN_CORE1			0x0e4
#define R2057_TSSI2G_SPARE1_CORE1		0x0e5
#define R2057_TSSI2G_SPARE2_CORE1		0x0e6
#define R2057_IPA2G_TUNEV_CASCV_PTAT_CORE1	0x0e7
#define R2057_IPA2G_IMAIN_CORE1			0x0e8
#define R2057_IPA2G_CASCONV_CORE1		0x0e9
#define R2057_IPA2G_CASCOFFV_CORE1		0x0ea
#define R2057_IPA2G_BIAS_FILTER_CORE1		0x0eb
#define R2057_TX5G_PKDET_CORE1			0x0ee
#define R2057_PGA_PTAT_TXGM5G_PU_CORE1		0x0ef
#define R2057_PAD5G_PTATS1_CORE1		0x0f0
#define R2057_PAD5G_CLASS_PTATS2_CORE1		0x0f1
#define R2057_PGA_BOOSTPTAT_IMAIN_CORE1		0x0f2
#define R2057_PAD5G_CASCV_IMAIN_CORE1		0x0f3
#define R2057_TXMIX5G_IBOOST_PAD_IAUX_CORE1	0x0f4
#define R2057_PGA_BOOST_TUNE_CORE1		0x0f5
#define R2057_PGA_GAIN_CORE1			0x0f6
#define R2057_PAD5G_CASCOFFV_GAIN_PUS_CORE1	0x0f7
#define R2057_TXMIX5G_BOOST_TUNE_CORE1		0x0f8
#define R2057_PAD5G_TUNE_MISC_PUS_CORE1		0x0f9
#define R2057_IPA5G_IAUX_CORE1			0x0fa
#define R2057_IPA5G_GAIN_CORE1			0x0fb
#define R2057_TSSI5G_SPARE1_CORE1		0x0fc
#define R2057_TSSI5G_SPARE2_CORE1		0x0fd
#define R2057_IPA5G_CASCOFFV_PU_CORE1		0x0fe
#define R2057_IPA5G_PTAT_CORE1			0x0ff
#define R2057_IPA5G_IMAIN_CORE1			0x100
#define R2057_IPA5G_CASCONV_CORE1		0x101
#define R2057_IPA5G_BIAS_FILTER_CORE1		0x102
#define R2057_PAD_BIAS_FILTER_BWS_CORE1		0x105
#define R2057_TR2G_CONFIG1_CORE1_NU		0x106
#define R2057_TR2G_CONFIG2_CORE1_NU		0x107
#define R2057_LNA5G_RFEN_CORE1			0x108
#define R2057_TR5G_CONFIG2_CORE1_NU		0x109
#define R2057_RXRFBIAS_IBOOST_PU_CORE1		0x10a
#define R2057_RXRF_IABAND_RXGM_IMAIN_PTAT_CORE1	0x10b
#define R2057_RXGM_CMFBITAIL_AUXPTAT_CORE1	0x10c
#define R2057_RXMIX_ICORE_RXGM_IAUX_CORE1	0x10d
#define R2057_RXMIX_CMFBITAIL_PU_CORE1		0x10e
#define R2057_LNA2_IMAIN_PTAT_PU_CORE1		0x10f
#define R2057_LNA2_IAUX_PTAT_CORE1		0x110
#define R2057_LNA1_IMAIN_PTAT_PU_CORE1		0x111
#define R2057_LNA15G_INPUT_MATCH_TUNE_CORE1	0x112
#define R2057_RXRFBIAS_BANDSEL_CORE1		0x113
#define R2057_TIA_CONFIG_CORE1			0x114
#define R2057_TIA_IQGAIN_CORE1			0x115
#define R2057_TIA_IBIAS2_CORE1			0x116
#define R2057_TIA_IBIAS1_CORE1			0x117
#define R2057_TIA_SPARE_Q_CORE1			0x118
#define R2057_TIA_SPARE_I_CORE1			0x119
#define R2057_RXMIX2G_PUS_CORE1			0x11a
#define R2057_RXMIX2G_VCMREFS_CORE1		0x11b
#define R2057_RXMIX2G_LODC_QI_CORE1		0x11c
#define R2057_W12G_BW_LNA2G_PUS_CORE1		0x11d
#define R2057_LNA2G_GAIN_CORE1			0x11e
#define R2057_LNA2G_TUNE_CORE1			0x11f
#define R2057_RXMIX5G_PUS_CORE1			0x120
#define R2057_RXMIX5G_VCMREFS_CORE1		0x121
#define R2057_RXMIX5G_LODC_QI_CORE1		0x122
#define R2057_W15G_BW_LNA5G_PUS_CORE1		0x123
#define R2057_LNA5G_GAIN_CORE1			0x124
#define R2057_LNA5G_TUNE_CORE1			0x125
#define R2057_LPFSEL_TXRX_RXBB_PUS_CORE1	0x126
#define R2057_RXBB_BIAS_MASTER_CORE1		0x127
#define R2057_RXBB_VGABUF_IDACS_CORE1		0x128
#define R2057_LPF_VCMREF_TXBUF_VCMREF_CORE1	0x129
#define R2057_TXBUF_VINCM_CORE1			0x12a
#define R2057_TXBUF_IDACS_CORE1			0x12b
#define R2057_LPF_RESP_RXBUF_BW_CORE1		0x12c
#define R2057_RXBB_CC_CORE1			0x12d
#define R2057_RXBB_SPARE3_CORE1			0x12e
#define R2057_RXBB_RCCAL_HPC_CORE1		0x12f
#define R2057_LPF_IDACS_CORE1			0x130
#define R2057_LPFBYP_DCLOOP_BYP_IDAC_CORE1	0x131
#define R2057_TXBUF_GAIN_CORE1			0x132
#define R2057_AFELOOPBACK_AACI_RESP_CORE1	0x133
#define R2057_RXBUF_DEGEN_CORE1			0x134
#define R2057_RXBB_SPARE2_CORE1			0x135
#define R2057_RXBB_SPARE1_CORE1			0x136
#define R2057_RSSI_MASTER_CORE1			0x137
#define R2057_W2_MASTER_CORE1			0x138
#define R2057_NB_MASTER_CORE1			0x139
#define R2057_W2_IDACS0_Q_CORE1			0x13a
#define R2057_W2_IDACS1_Q_CORE1			0x13b
#define R2057_W2_IDACS0_I_CORE1			0x13c
#define R2057_W2_IDACS1_I_CORE1			0x13d
#define R2057_RSSI_GPAIOSEL_W1_IDACS_CORE1	0x13e
#define R2057_NB_IDACS_Q_CORE1			0x13f
#define R2057_NB_IDACS_I_CORE1			0x140
#define R2057_BACKUP4_CORE1			0x146
#define R2057_BACKUP3_CORE1			0x147
#define R2057_BACKUP2_CORE1			0x148
#define R2057_BACKUP1_CORE1			0x149
#define R2057_SPARE16_CORE1			0x14a
#define R2057_SPARE15_CORE1			0x14b
#define R2057_SPARE14_CORE1			0x14c
#define R2057_SPARE13_CORE1			0x14d
#define R2057_SPARE12_CORE1			0x14e
#define R2057_SPARE11_CORE1			0x14f
#define R2057_TX2G_BIAS_RESETS_CORE1		0x150
#define R2057_TX5G_BIAS_RESETS_CORE1		0x151
#define R2057_SPARE8_CORE1			0x152
#define R2057_SPARE7_CORE1			0x153
#define R2057_BUFS_MISC_LPFBW_CORE1		0x154
#define R2057_TXLPF_RCCAL_CORE1			0x155
#define R2057_RXBB_GPAIOSEL_RXLPF_RCCAL_CORE1	0x156
#define R2057_LPF_GAIN_CORE1			0x157
#define R2057_DACBUF_IDACS_BW_CORE1		0x158

#define R2057_DACBUF_VINCM_CORE1		0x159
#define R2057_RCCAL_START_R1_Q1_P1		0x15a
#define R2057_RCCAL_X1				0x15b
#define R2057_RCCAL_TRC0			0x15c
#define R2057_RCCAL_TRC1			0x15d
#define R2057_RCCAL_DONE_OSCCAP			0x15e
#define R2057_RCCAL_N0_0			0x15f
#define R2057_RCCAL_N0_1			0x160
#define R2057_RCCAL_N1_0			0x161
#define R2057_RCCAL_N1_1			0x162
#define R2057_RCAL_STATUS			0x163
#define R2057_XTALPUOVR_PINCTRL			0x164
#define R2057_OVR_REG0				0x165
#define R2057_OVR_REG1				0x166
#define R2057_OVR_REG2				0x167
#define R2057_OVR_REG3				0x168
#define R2057_OVR_REG4				0x169
#define R2057_RCCAL_SCAP_VAL			0x16a
#define R2057_RCCAL_BCAP_VAL			0x16b
#define R2057_RCCAL_HPC_VAL			0x16c
#define R2057_RCCAL_OVERRIDES			0x16d

/* TX core 0 */
#define R2057_TX0_IQCAL_GAIN_BW			0x170
#define R2057_TX0_LOFT_FINE_I			0x171
#define R2057_TX0_LOFT_FINE_Q			0x172
#define R2057_TX0_LOFT_COARSE_I			0x173
#define R2057_TX0_LOFT_COARSE_Q			0x174
#define R2057_TX0_TX_SSI_MASTER			0x175
#define R2057_TX0_IQCAL_VCM_HG			0x176
#define R2057_TX0_IQCAL_IDAC			0x177
#define R2057_TX0_TSSI_VCM			0x178
#define R2057_TX0_TX_SSI_MUX			0x179
#define R2057_TX0_TSSIA				0x17a
#define R2057_TX0_TSSIG				0x17b
#define R2057_TX0_TSSI_MISC1			0x17c
#define R2057_TX0_TXRXCOUPLE_2G_ATTEN		0x17d
#define R2057_TX0_TXRXCOUPLE_2G_PWRUP		0x17e
#define R2057_TX0_TXRXCOUPLE_5G_ATTEN		0x17f
#define R2057_TX0_TXRXCOUPLE_5G_PWRUP		0x180

/* TX core 1 */
#define R2057_TX1_IQCAL_GAIN_BW			0x190
#define R2057_TX1_LOFT_FINE_I			0x191
#define R2057_TX1_LOFT_FINE_Q			0x192
#define R2057_TX1_LOFT_COARSE_I			0x193
#define R2057_TX1_LOFT_COARSE_Q			0x194
#define R2057_TX1_TX_SSI_MASTER			0x195
#define R2057_TX1_IQCAL_VCM_HG			0x196
#define R2057_TX1_IQCAL_IDAC			0x197
#define R2057_TX1_TSSI_VCM			0x198
#define R2057_TX1_TX_SSI_MUX			0x199
#define R2057_TX1_TSSIA				0x19a
#define R2057_TX1_TSSIG				0x19b
#define R2057_TX1_TSSI_MISC1			0x19c
#define R2057_TX1_TXRXCOUPLE_2G_ATTEN		0x19d
#define R2057_TX1_TXRXCOUPLE_2G_PWRUP		0x19e
#define R2057_TX1_TXRXCOUPLE_5G_ATTEN		0x19f
#define R2057_TX1_TXRXCOUPLE_5G_PWRUP		0x1a0

#define R2057_AFE_VCM_CAL_MASTER_CORE0		0x1a1
#define R2057_AFE_SET_VCM_I_CORE0		0x1a2
#define R2057_AFE_SET_VCM_Q_CORE0		0x1a3
#define R2057_AFE_STATUS_VCM_IQADC_CORE0	0x1a4
#define R2057_AFE_STATUS_VCM_I_CORE0		0x1a5
#define R2057_AFE_STATUS_VCM_Q_CORE0		0x1a6
#define R2057_AFE_VCM_CAL_MASTER_CORE1		0x1a7
#define R2057_AFE_SET_VCM_I_CORE1		0x1a8
#define R2057_AFE_SET_VCM_Q_CORE1		0x1a9
#define R2057_AFE_STATUS_VCM_IQADC_CORE1	0x1aa
#define R2057_AFE_STATUS_VCM_I_CORE1		0x1ab
#define R2057_AFE_STATUS_VCM_Q_CORE1		0x1ac

#define R2057v7_DACBUF_VINCM_CORE0		0x1ad
#define R2057v7_RCCAL_MASTER			0x1ae
#define R2057v7_TR2G_CONFIG3_CORE0_NU		0x1af
#define R2057v7_TR2G_CONFIG3_CORE1_NU		0x1b0
#define R2057v7_LOGEN_PUS1			0x1b1
#define R2057v7_OVR_REG5			0x1b2
#define R2057v7_OVR_REG6			0x1b3
#define R2057v7_OVR_REG7			0x1b4
#define R2057v7_OVR_REG8			0x1b5
#define R2057v7_OVR_REG9			0x1b6
#define R2057v7_OVR_REG10			0x1b7
#define R2057v7_OVR_REG11			0x1b8
#define R2057v7_OVR_REG12			0x1b9
#define R2057v7_OVR_REG13			0x1ba
#define R2057v7_OVR_REG14			0x1bb
#define R2057v7_OVR_REG15			0x1bc
#define R2057v7_OVR_REG16			0x1bd
#define R2057v7_OVR_REG1			0x1be
#define R2057v7_OVR_REG18			0x1bf
#define R2057v7_OVR_REG19			0x1c0
#define R2057v7_OVR_REG20			0x1c1
#define R2057v7_OVR_REG21			0x1c2
#define R2057v7_OVR_REG2			0x1c3
#define R2057v7_OVR_REG23			0x1c4
#define R2057v7_OVR_REG24			0x1c5
#define R2057v7_OVR_REG25			0x1c6
#define R2057v7_OVR_REG26			0x1c7
#define R2057v7_OVR_REG27			0x1c8
#define R2057v7_OVR_REG28			0x1c9
#define R2057v7_IQTEST_SEL_PU2			0x1ca

#define R2057_VCM_MASK				0x7

struct b43_nphy_chantabent_rev7 {
	/* The channel frequency in MHz */
	u16 freq;
	/* Radio regs values on channelswitch */
	u8 radio_vcocal_countval0;
	u8 radio_vcocal_countval1;
	u8 radio_rfpll_refmaster_sparextalsize;
	u8 radio_rfpll_loopfilter_r1;
	u8 radio_rfpll_loopfilter_c2;
	u8 radio_rfpll_loopfilter_c1;
	u8 radio_cp_kpd_idac;
	u8 radio_rfpll_mmd0;
	u8 radio_rfpll_mmd1;
	u8 radio_vcobuf_tune;
	u8 radio_logen_mx2g_tune;
	u8 radio_logen_mx5g_tune;
	u8 radio_logen_indbuf2g_tune;
	u8 radio_logen_indbuf5g_tune;
	u8 radio_txmix2g_tune_boost_pu_core0;
	u8 radio_pad2g_tune_pus_core0;
	u8 radio_pga_boost_tune_core0;
	u8 radio_txmix5g_boost_tune_core0;
	u8 radio_pad5g_tune_misc_pus_core0;
	u8 radio_lna2g_tune_core0;
	u8 radio_lna5g_tune_core0;
	u8 radio_txmix2g_tune_boost_pu_core1;
	u8 radio_pad2g_tune_pus_core1;
	u8 radio_pga_boost_tune_core1;
	u8 radio_txmix5g_boost_tune_core1;
	u8 radio_pad5g_tune_misc_pus_core1;
	u8 radio_lna2g_tune_core1;
	u8 radio_lna5g_tune_core1;
	/* PHY res values on channelswitch */
	struct b43_phy_n_sfo_cfg phy_regs;
};

struct b43_nphy_chantabent_rev7_2g {
	/* The channel frequency in MHz */
	u16 freq;
	/* Radio regs values on channelswitch */
	u8 radio_vcocal_countval0;
	u8 radio_vcocal_countval1;
	u8 radio_rfpll_refmaster_sparextalsize;
	u8 radio_rfpll_loopfilter_r1;
	u8 radio_rfpll_loopfilter_c2;
	u8 radio_rfpll_loopfilter_c1;
	u8 radio_cp_kpd_idac;
	u8 radio_rfpll_mmd0;
	u8 radio_rfpll_mmd1;
	u8 radio_vcobuf_tune;
	u8 radio_logen_mx2g_tune;
	u8 radio_logen_indbuf2g_tune;
	u8 radio_txmix2g_tune_boost_pu_core0;
	u8 radio_pad2g_tune_pus_core0;
	u8 radio_lna2g_tune_core0;
	u8 radio_txmix2g_tune_boost_pu_core1;
	u8 radio_pad2g_tune_pus_core1;
	u8 radio_lna2g_tune_core1;
	/* PHY regs values on channelswitch */
	struct b43_phy_n_sfo_cfg phy_regs;
};

void r2057_upload_inittabs(struct b43_wldev *dev);

void r2057_get_chantabent_rev7(struct b43_wldev *dev, u16 freq,
			       const struct b43_nphy_chantabent_rev7 **tabent_r7,
			       const struct b43_nphy_chantabent_rev7_2g **tabent_r7_2g);

#endif /* B43_RADIO_2057_H_ */