net: wifi: rockchip: update broadcom drivers for kernel4.4
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rkwifi / bcmdhd / include / bcmsrom_fmt.h
1 /*
2  * SROM format definition.
3  *
4  * Copyright (C) 1999-2016, Broadcom Corporation
5  * 
6  *      Unless you and Broadcom execute a separate written software license
7  * agreement governing use of this software, this software is licensed to you
8  * under the terms of the GNU General Public License version 2 (the "GPL"),
9  * available at http://www.broadcom.com/licenses/GPLv2.php, with the
10  * following added to such license:
11  * 
12  *      As a special exception, the copyright holders of this software give you
13  * permission to link this software with independent modules, and to copy and
14  * distribute the resulting executable under terms of your choice, provided that
15  * you also meet, for each linked independent module, the terms and conditions of
16  * the license of that module.  An independent module is a module which is not
17  * derived from this software.  The special exception does not apply to any
18  * modifications of the software.
19  * 
20  *      Notwithstanding the above, under no circumstances may you combine this
21  * software in any way with any other Broadcom software provided under a license
22  * other than the GPL, without Broadcom's express prior written consent.
23  *
24  *
25  * <<Broadcom-WL-IPTag/Open:>>
26  *
27  * $Id: bcmsrom_fmt.h 553280 2015-04-29 07:55:29Z $
28  */
29
30 #ifndef _bcmsrom_fmt_h_
31 #define _bcmsrom_fmt_h_
32
33 #define SROM_MAXREV             13      /* max revision supported by driver */
34
35 /* Maximum srom: 12 Kilobits == 1536 bytes */
36
37 #define SROM_MAX                1536
38 #define SROM_MAXW               594
39
40 #ifdef LARGE_NVRAM_MAXSZ
41 #define VARS_MAX                LARGE_NVRAM_MAXSZ
42 #else
43 #define VARS_MAX                4096
44 #endif /* LARGE_NVRAM_MAXSZ */
45
46 /* PCI fields */
47 #define PCI_F0DEVID             48
48
49
50 #define SROM_WORDS              64
51
52 #define SROM3_SWRGN_OFF         28      /* s/w region offset in words */
53
54 #define SROM_SSID               2
55 #define SROM_SVID               3
56
57 #define SROM_WL1LHMAXP          29
58
59 #define SROM_WL1LPAB0           30
60 #define SROM_WL1LPAB1           31
61 #define SROM_WL1LPAB2           32
62
63 #define SROM_WL1HPAB0           33
64 #define SROM_WL1HPAB1           34
65 #define SROM_WL1HPAB2           35
66
67 #define SROM_MACHI_IL0          36
68 #define SROM_MACMID_IL0         37
69 #define SROM_MACLO_IL0          38
70 #define SROM_MACHI_ET0          39
71 #define SROM_MACMID_ET0         40
72 #define SROM_MACLO_ET0          41
73 #define SROM_MACHI_ET1          42
74 #define SROM_MACMID_ET1         43
75 #define SROM_MACLO_ET1          44
76 #define SROM3_MACHI             37
77 #define SROM3_MACMID            38
78 #define SROM3_MACLO             39
79
80 #define SROM_BXARSSI2G          40
81 #define SROM_BXARSSI5G          41
82
83 #define SROM_TRI52G             42
84 #define SROM_TRI5GHL            43
85
86 #define SROM_RXPO52G            45
87
88 #define SROM2_ENETPHY           45
89
90 #define SROM_AABREV             46
91 /* Fields in AABREV */
92 #define SROM_BR_MASK            0x00ff
93 #define SROM_CC_MASK            0x0f00
94 #define SROM_CC_SHIFT           8
95 #define SROM_AA0_MASK           0x3000
96 #define SROM_AA0_SHIFT          12
97 #define SROM_AA1_MASK           0xc000
98 #define SROM_AA1_SHIFT          14
99
100 #define SROM_WL0PAB0            47
101 #define SROM_WL0PAB1            48
102 #define SROM_WL0PAB2            49
103
104 #define SROM_LEDBH10            50
105 #define SROM_LEDBH32            51
106
107 #define SROM_WL10MAXP           52
108
109 #define SROM_WL1PAB0            53
110 #define SROM_WL1PAB1            54
111 #define SROM_WL1PAB2            55
112
113 #define SROM_ITT                56
114
115 #define SROM_BFL                57
116 #define SROM_BFL2               28
117 #define SROM3_BFL2              61
118
119 #define SROM_AG10               58
120
121 #define SROM_CCODE              59
122
123 #define SROM_OPO                60
124
125 #define SROM3_LEDDC             62
126
127 #define SROM_CRCREV             63
128
129 /* SROM Rev 4: Reallocate the software part of the srom to accomodate
130  * MIMO features. It assumes up to two PCIE functions and 440 bytes
131  * of useable srom i.e. the useable storage in chips with OTP that
132  * implements hardware redundancy.
133  */
134
135 #define SROM4_WORDS             220
136
137 #define SROM4_SIGN              32
138 #define SROM4_SIGNATURE         0x5372
139
140 #define SROM4_BREV              33
141
142 #define SROM4_BFL0              34
143 #define SROM4_BFL1              35
144 #define SROM4_BFL2              36
145 #define SROM4_BFL3              37
146 #define SROM5_BFL0              37
147 #define SROM5_BFL1              38
148 #define SROM5_BFL2              39
149 #define SROM5_BFL3              40
150
151 #define SROM4_MACHI             38
152 #define SROM4_MACMID            39
153 #define SROM4_MACLO             40
154 #define SROM5_MACHI             41
155 #define SROM5_MACMID            42
156 #define SROM5_MACLO             43
157
158 #define SROM4_CCODE             41
159 #define SROM4_REGREV            42
160 #define SROM5_CCODE             34
161 #define SROM5_REGREV            35
162
163 #define SROM4_LEDBH10           43
164 #define SROM4_LEDBH32           44
165 #define SROM5_LEDBH10           59
166 #define SROM5_LEDBH32           60
167
168 #define SROM4_LEDDC             45
169 #define SROM5_LEDDC             45
170
171 #define SROM4_AA                46
172 #define SROM4_AA2G_MASK         0x00ff
173 #define SROM4_AA2G_SHIFT        0
174 #define SROM4_AA5G_MASK         0xff00
175 #define SROM4_AA5G_SHIFT        8
176
177 #define SROM4_AG10              47
178 #define SROM4_AG32              48
179
180 #define SROM4_TXPID2G           49
181 #define SROM4_TXPID5G           51
182 #define SROM4_TXPID5GL          53
183 #define SROM4_TXPID5GH          55
184
185 #define SROM4_TXRXC             61
186 #define SROM4_TXCHAIN_MASK      0x000f
187 #define SROM4_TXCHAIN_SHIFT     0
188 #define SROM4_RXCHAIN_MASK      0x00f0
189 #define SROM4_RXCHAIN_SHIFT     4
190 #define SROM4_SWITCH_MASK       0xff00
191 #define SROM4_SWITCH_SHIFT      8
192
193
194 /* Per-path fields */
195 #define MAX_PATH_SROM           4
196 #define SROM4_PATH0             64
197 #define SROM4_PATH1             87
198 #define SROM4_PATH2             110
199 #define SROM4_PATH3             133
200
201 #define SROM4_2G_ITT_MAXP       0
202 #define SROM4_2G_PA             1
203 #define SROM4_5G_ITT_MAXP       5
204 #define SROM4_5GLH_MAXP         6
205 #define SROM4_5G_PA             7
206 #define SROM4_5GL_PA            11
207 #define SROM4_5GH_PA            15
208
209 /* Fields in the ITT_MAXP and 5GLH_MAXP words */
210 #define B2G_MAXP_MASK           0xff
211 #define B2G_ITT_SHIFT           8
212 #define B5G_MAXP_MASK           0xff
213 #define B5G_ITT_SHIFT           8
214 #define B5GH_MAXP_MASK          0xff
215 #define B5GL_MAXP_SHIFT         8
216
217 /* All the miriad power offsets */
218 #define SROM4_2G_CCKPO          156
219 #define SROM4_2G_OFDMPO         157
220 #define SROM4_5G_OFDMPO         159
221 #define SROM4_5GL_OFDMPO        161
222 #define SROM4_5GH_OFDMPO        163
223 #define SROM4_2G_MCSPO          165
224 #define SROM4_5G_MCSPO          173
225 #define SROM4_5GL_MCSPO         181
226 #define SROM4_5GH_MCSPO         189
227 #define SROM4_CDDPO             197
228 #define SROM4_STBCPO            198
229 #define SROM4_BW40PO            199
230 #define SROM4_BWDUPPO           200
231
232 #define SROM4_CRCREV            219
233
234
235 /* SROM Rev 8: Make space for a 48word hardware header for PCIe rev >= 6.
236  * This is acombined srom for both MIMO and SISO boards, usable in
237  * the .130 4Kilobit OTP with hardware redundancy.
238  */
239
240 #define SROM8_SIGN              64
241
242 #define SROM8_BREV              65
243
244 #define SROM8_BFL0              66
245 #define SROM8_BFL1              67
246 #define SROM8_BFL2              68
247 #define SROM8_BFL3              69
248
249 #define SROM8_MACHI             70
250 #define SROM8_MACMID            71
251 #define SROM8_MACLO             72
252
253 #define SROM8_CCODE             73
254 #define SROM8_REGREV            74
255
256 #define SROM8_LEDBH10           75
257 #define SROM8_LEDBH32           76
258
259 #define SROM8_LEDDC             77
260
261 #define SROM8_AA                78
262
263 #define SROM8_AG10              79
264 #define SROM8_AG32              80
265
266 #define SROM8_TXRXC             81
267
268 #define SROM8_BXARSSI2G         82
269 #define SROM8_BXARSSI5G         83
270 #define SROM8_TRI52G            84
271 #define SROM8_TRI5GHL           85
272 #define SROM8_RXPO52G           86
273
274 #define SROM8_FEM2G             87
275 #define SROM8_FEM5G             88
276 #define SROM8_FEM_ANTSWLUT_MASK         0xf800
277 #define SROM8_FEM_ANTSWLUT_SHIFT        11
278 #define SROM8_FEM_TR_ISO_MASK           0x0700
279 #define SROM8_FEM_TR_ISO_SHIFT          8
280 #define SROM8_FEM_PDET_RANGE_MASK       0x00f8
281 #define SROM8_FEM_PDET_RANGE_SHIFT      3
282 #define SROM8_FEM_EXTPA_GAIN_MASK       0x0006
283 #define SROM8_FEM_EXTPA_GAIN_SHIFT      1
284 #define SROM8_FEM_TSSIPOS_MASK          0x0001
285 #define SROM8_FEM_TSSIPOS_SHIFT         0
286
287 #define SROM8_THERMAL           89
288
289 /* Temp sense related entries */
290 #define SROM8_MPWR_RAWTS                90
291 #define SROM8_TS_SLP_OPT_CORRX  91
292 /* FOC: freiquency offset correction, HWIQ: H/W IOCAL enable, IQSWP: IQ CAL swap disable */
293 #define SROM8_FOC_HWIQ_IQSWP    92
294
295 #define SROM8_EXTLNAGAIN        93
296
297 /* Temperature delta for PHY calibration */
298 #define SROM8_PHYCAL_TEMPDELTA  94
299
300 /* Measured power 1 & 2, 0-13 bits at offset 95, MSB 2 bits are unused for now. */
301 #define SROM8_MPWR_1_AND_2      95
302
303
304 /* Per-path offsets & fields */
305 #define SROM8_PATH0             96
306 #define SROM8_PATH1             112
307 #define SROM8_PATH2             128
308 #define SROM8_PATH3             144
309
310 #define SROM8_2G_ITT_MAXP       0
311 #define SROM8_2G_PA             1
312 #define SROM8_5G_ITT_MAXP       4
313 #define SROM8_5GLH_MAXP         5
314 #define SROM8_5G_PA             6
315 #define SROM8_5GL_PA            9
316 #define SROM8_5GH_PA            12
317
318 /* All the miriad power offsets */
319 #define SROM8_2G_CCKPO          160
320
321 #define SROM8_2G_OFDMPO         161
322 #define SROM8_5G_OFDMPO         163
323 #define SROM8_5GL_OFDMPO        165
324 #define SROM8_5GH_OFDMPO        167
325
326 #define SROM8_2G_MCSPO          169
327 #define SROM8_5G_MCSPO          177
328 #define SROM8_5GL_MCSPO         185
329 #define SROM8_5GH_MCSPO         193
330
331 #define SROM8_CDDPO             201
332 #define SROM8_STBCPO            202
333 #define SROM8_BW40PO            203
334 #define SROM8_BWDUPPO           204
335
336 /* SISO PA parameters are in the path0 spaces */
337 #define SROM8_SISO              96
338
339 /* Legacy names for SISO PA paramters */
340 #define SROM8_W0_ITTMAXP        (SROM8_SISO + SROM8_2G_ITT_MAXP)
341 #define SROM8_W0_PAB0           (SROM8_SISO + SROM8_2G_PA)
342 #define SROM8_W0_PAB1           (SROM8_SISO + SROM8_2G_PA + 1)
343 #define SROM8_W0_PAB2           (SROM8_SISO + SROM8_2G_PA + 2)
344 #define SROM8_W1_ITTMAXP        (SROM8_SISO + SROM8_5G_ITT_MAXP)
345 #define SROM8_W1_MAXP_LCHC      (SROM8_SISO + SROM8_5GLH_MAXP)
346 #define SROM8_W1_PAB0           (SROM8_SISO + SROM8_5G_PA)
347 #define SROM8_W1_PAB1           (SROM8_SISO + SROM8_5G_PA + 1)
348 #define SROM8_W1_PAB2           (SROM8_SISO + SROM8_5G_PA + 2)
349 #define SROM8_W1_PAB0_LC        (SROM8_SISO + SROM8_5GL_PA)
350 #define SROM8_W1_PAB1_LC        (SROM8_SISO + SROM8_5GL_PA + 1)
351 #define SROM8_W1_PAB2_LC        (SROM8_SISO + SROM8_5GL_PA + 2)
352 #define SROM8_W1_PAB0_HC        (SROM8_SISO + SROM8_5GH_PA)
353 #define SROM8_W1_PAB1_HC        (SROM8_SISO + SROM8_5GH_PA + 1)
354 #define SROM8_W1_PAB2_HC        (SROM8_SISO + SROM8_5GH_PA + 2)
355
356 #define SROM8_CRCREV            219
357
358 /* SROM REV 9 */
359 #define SROM9_2GPO_CCKBW20      160
360 #define SROM9_2GPO_CCKBW20UL    161
361 #define SROM9_2GPO_LOFDMBW20    162
362 #define SROM9_2GPO_LOFDMBW20UL  164
363
364 #define SROM9_5GLPO_LOFDMBW20   166
365 #define SROM9_5GLPO_LOFDMBW20UL 168
366 #define SROM9_5GMPO_LOFDMBW20   170
367 #define SROM9_5GMPO_LOFDMBW20UL 172
368 #define SROM9_5GHPO_LOFDMBW20   174
369 #define SROM9_5GHPO_LOFDMBW20UL 176
370
371 #define SROM9_2GPO_MCSBW20      178
372 #define SROM9_2GPO_MCSBW20UL    180
373 #define SROM9_2GPO_MCSBW40      182
374
375 #define SROM9_5GLPO_MCSBW20     184
376 #define SROM9_5GLPO_MCSBW20UL   186
377 #define SROM9_5GLPO_MCSBW40     188
378 #define SROM9_5GMPO_MCSBW20     190
379 #define SROM9_5GMPO_MCSBW20UL   192
380 #define SROM9_5GMPO_MCSBW40     194
381 #define SROM9_5GHPO_MCSBW20     196
382 #define SROM9_5GHPO_MCSBW20UL   198
383 #define SROM9_5GHPO_MCSBW40     200
384
385 #define SROM9_PO_MCS32          202
386 #define SROM9_PO_LOFDM40DUP     203
387 #define SROM9_EU_EDCRSTH        204
388 #define SROM10_EU_EDCRSTH       204
389 #define SROM8_RXGAINERR_2G      205
390 #define SROM8_RXGAINERR_5GL     206
391 #define SROM8_RXGAINERR_5GM     207
392 #define SROM8_RXGAINERR_5GH     208
393 #define SROM8_RXGAINERR_5GU     209
394 #define SROM8_SUBBAND_PPR       210
395 #define SROM8_PCIEINGRESS_WAR   211
396 #define SROM8_EU_EDCRSTH        212
397 #define SROM9_SAR               212
398
399 #define SROM8_NOISELVL_2G       213
400 #define SROM8_NOISELVL_5GL      214
401 #define SROM8_NOISELVL_5GM      215
402 #define SROM8_NOISELVL_5GH      216
403 #define SROM8_NOISELVL_5GU      217
404 #define SROM8_NOISECALOFFSET    218
405
406 #define SROM9_REV_CRC           219
407
408 #define SROM10_CCKPWROFFSET     218
409 #define SROM10_SIGN             219
410 #define SROM10_SWCTRLMAP_2G     220
411 #define SROM10_CRCREV           229
412
413 #define SROM10_WORDS            230
414 #define SROM10_SIGNATURE        SROM4_SIGNATURE
415
416
417 /* SROM REV 11 */
418 #define SROM11_BREV                     65
419
420 #define SROM11_BFL0                     66
421 #define SROM11_BFL1                     67
422 #define SROM11_BFL2                     68
423 #define SROM11_BFL3                     69
424 #define SROM11_BFL4                     70
425 #define SROM11_BFL5                     71
426
427 #define SROM11_MACHI                    72
428 #define SROM11_MACMID                   73
429 #define SROM11_MACLO                    74
430
431 #define SROM11_CCODE                    75
432 #define SROM11_REGREV                   76
433
434 #define SROM11_LEDBH10                  77
435 #define SROM11_LEDBH32                  78
436
437 #define SROM11_LEDDC                    79
438
439 #define SROM11_AA                       80
440
441 #define SROM11_AGBG10                   81
442 #define SROM11_AGBG2A0                  82
443 #define SROM11_AGA21                    83
444
445 #define SROM11_TXRXC                    84
446
447 #define SROM11_FEM_CFG1                 85
448 #define SROM11_FEM_CFG2                 86
449
450 /* Masks and offsets for FEM_CFG */
451 #define SROM11_FEMCTRL_MASK             0xf800
452 #define SROM11_FEMCTRL_SHIFT            11
453 #define SROM11_PAPDCAP_MASK             0x0400
454 #define SROM11_PAPDCAP_SHIFT            10
455 #define SROM11_TWORANGETSSI_MASK        0x0200
456 #define SROM11_TWORANGETSSI_SHIFT       9
457 #define SROM11_PDGAIN_MASK              0x01f0
458 #define SROM11_PDGAIN_SHIFT             4
459 #define SROM11_EPAGAIN_MASK             0x000e
460 #define SROM11_EPAGAIN_SHIFT            1
461 #define SROM11_TSSIPOSSLOPE_MASK        0x0001
462 #define SROM11_TSSIPOSSLOPE_SHIFT       0
463 #define SROM11_GAINCTRLSPH_MASK         0xf800
464 #define SROM11_GAINCTRLSPH_SHIFT        11
465
466 #define SROM11_THERMAL                  87
467 #define SROM11_MPWR_RAWTS               88
468 #define SROM11_TS_SLP_OPT_CORRX         89
469 #define SROM11_XTAL_FREQ                90
470 #define SROM11_5GB0_4080_W0_A1          91
471 #define SROM11_PHYCAL_TEMPDELTA         92
472 #define SROM11_MPWR_1_AND_2             93
473 #define SROM11_5GB0_4080_W1_A1          94
474 #define SROM11_TSSIFLOOR_2G             95
475 #define SROM11_TSSIFLOOR_5GL            96
476 #define SROM11_TSSIFLOOR_5GM            97
477 #define SROM11_TSSIFLOOR_5GH            98
478 #define SROM11_TSSIFLOOR_5GU            99
479
480 /* Masks and offsets for Thermal parameters */
481 #define SROM11_TEMPS_PERIOD_MASK        0xf0
482 #define SROM11_TEMPS_PERIOD_SHIFT       4
483 #define SROM11_TEMPS_HYSTERESIS_MASK    0x0f
484 #define SROM11_TEMPS_HYSTERESIS_SHIFT   0
485 #define SROM11_TEMPCORRX_MASK           0xfc
486 #define SROM11_TEMPCORRX_SHIFT          2
487 #define SROM11_TEMPSENSE_OPTION_MASK    0x3
488 #define SROM11_TEMPSENSE_OPTION_SHIFT   0
489
490 #define SROM11_PDOFF_2G_40M_A0_MASK     0x000f
491 #define SROM11_PDOFF_2G_40M_A0_SHIFT    0
492 #define SROM11_PDOFF_2G_40M_A1_MASK     0x00f0
493 #define SROM11_PDOFF_2G_40M_A1_SHIFT    4
494 #define SROM11_PDOFF_2G_40M_A2_MASK     0x0f00
495 #define SROM11_PDOFF_2G_40M_A2_SHIFT    8
496 #define SROM11_PDOFF_2G_40M_VALID_MASK  0x8000
497 #define SROM11_PDOFF_2G_40M_VALID_SHIFT 15
498
499 #define SROM11_PDOFF_2G_40M             100
500 #define SROM11_PDOFF_40M_A0             101
501 #define SROM11_PDOFF_40M_A1             102
502 #define SROM11_PDOFF_40M_A2             103
503 #define SROM11_5GB0_4080_W2_A1          103
504 #define SROM11_PDOFF_80M_A0             104
505 #define SROM11_PDOFF_80M_A1             105
506 #define SROM11_PDOFF_80M_A2             106
507 #define SROM11_5GB1_4080_W0_A1          106
508
509 #define SROM11_SUBBAND5GVER             107
510
511 /* Per-path fields and offset */
512 #define MAX_PATH_SROM_11                3
513 #define SROM11_PATH0                    108
514 #define SROM11_PATH1                    128
515 #define SROM11_PATH2                    148
516
517 #define SROM11_2G_MAXP                  0
518 #define SROM11_5GB1_4080_PA             0
519 #define SROM11_2G_PA                    1
520 #define SROM11_5GB2_4080_PA             2
521 #define SROM11_RXGAINS1                 4
522 #define SROM11_RXGAINS                  5
523 #define SROM11_5GB3_4080_PA             5
524 #define SROM11_5GB1B0_MAXP              6
525 #define SROM11_5GB3B2_MAXP              7
526 #define SROM11_5GB0_PA                  8
527 #define SROM11_5GB1_PA                  11
528 #define SROM11_5GB2_PA                  14
529 #define SROM11_5GB3_PA                  17
530
531 /* Masks and offsets for rxgains */
532 #define SROM11_RXGAINS5GTRELNABYPA_MASK         0x8000
533 #define SROM11_RXGAINS5GTRELNABYPA_SHIFT        15
534 #define SROM11_RXGAINS5GTRISOA_MASK             0x7800
535 #define SROM11_RXGAINS5GTRISOA_SHIFT            11
536 #define SROM11_RXGAINS5GELNAGAINA_MASK          0x0700
537 #define SROM11_RXGAINS5GELNAGAINA_SHIFT         8
538 #define SROM11_RXGAINS2GTRELNABYPA_MASK         0x0080
539 #define SROM11_RXGAINS2GTRELNABYPA_SHIFT        7
540 #define SROM11_RXGAINS2GTRISOA_MASK             0x0078
541 #define SROM11_RXGAINS2GTRISOA_SHIFT            3
542 #define SROM11_RXGAINS2GELNAGAINA_MASK          0x0007
543 #define SROM11_RXGAINS2GELNAGAINA_SHIFT         0
544 #define SROM11_RXGAINS5GHTRELNABYPA_MASK        0x8000
545 #define SROM11_RXGAINS5GHTRELNABYPA_SHIFT       15
546 #define SROM11_RXGAINS5GHTRISOA_MASK            0x7800
547 #define SROM11_RXGAINS5GHTRISOA_SHIFT           11
548 #define SROM11_RXGAINS5GHELNAGAINA_MASK         0x0700
549 #define SROM11_RXGAINS5GHELNAGAINA_SHIFT        8
550 #define SROM11_RXGAINS5GMTRELNABYPA_MASK        0x0080
551 #define SROM11_RXGAINS5GMTRELNABYPA_SHIFT       7
552 #define SROM11_RXGAINS5GMTRISOA_MASK            0x0078
553 #define SROM11_RXGAINS5GMTRISOA_SHIFT           3
554 #define SROM11_RXGAINS5GMELNAGAINA_MASK         0x0007
555 #define SROM11_RXGAINS5GMELNAGAINA_SHIFT        0
556
557 /* Power per rate */
558 #define SROM11_CCKBW202GPO              168
559 #define SROM11_CCKBW20UL2GPO            169
560 #define SROM11_MCSBW202GPO              170
561 #define SROM11_MCSBW202GPO_1            171
562 #define SROM11_MCSBW402GPO              172
563 #define SROM11_MCSBW402GPO_1            173
564 #define SROM11_DOT11AGOFDMHRBW202GPO    174
565 #define SROM11_OFDMLRBW202GPO           175
566
567 #define SROM11_MCSBW205GLPO             176
568 #define SROM11_MCSBW205GLPO_1           177
569 #define SROM11_MCSBW405GLPO             178
570 #define SROM11_MCSBW405GLPO_1           179
571 #define SROM11_MCSBW805GLPO             180
572 #define SROM11_MCSBW805GLPO_1           181
573 #define SROM11_RPCAL_2G                 182
574 #define SROM11_RPCAL_5GL                183
575 #define SROM11_MCSBW205GMPO             184
576 #define SROM11_MCSBW205GMPO_1           185
577 #define SROM11_MCSBW405GMPO             186
578 #define SROM11_MCSBW405GMPO_1           187
579 #define SROM11_MCSBW805GMPO             188
580 #define SROM11_MCSBW805GMPO_1           189
581 #define SROM11_RPCAL_5GM                190
582 #define SROM11_RPCAL_5GH                191
583 #define SROM11_MCSBW205GHPO             192
584 #define SROM11_MCSBW205GHPO_1           193
585 #define SROM11_MCSBW405GHPO             194
586 #define SROM11_MCSBW405GHPO_1           195
587 #define SROM11_MCSBW805GHPO             196
588 #define SROM11_MCSBW805GHPO_1           197
589 #define SROM11_RPCAL_5GU                198
590 #define SROM11_PDOFF_2G_CCK             199
591 #define SROM11_MCSLR5GLPO               200
592 #define SROM11_MCSLR5GMPO               201
593 #define SROM11_MCSLR5GHPO               202
594
595 #define SROM11_SB20IN40HRPO             203
596 #define SROM11_SB20IN80AND160HR5GLPO    204
597 #define SROM11_SB40AND80HR5GLPO         205
598 #define SROM11_SB20IN80AND160HR5GMPO    206
599 #define SROM11_SB40AND80HR5GMPO         207
600 #define SROM11_SB20IN80AND160HR5GHPO    208
601 #define SROM11_SB40AND80HR5GHPO         209
602 #define SROM11_SB20IN40LRPO             210
603 #define SROM11_SB20IN80AND160LR5GLPO    211
604 #define SROM11_SB40AND80LR5GLPO         212
605 #define SROM11_TXIDXCAP2G               212
606 #define SROM11_SB20IN80AND160LR5GMPO    213
607 #define SROM11_SB40AND80LR5GMPO         214
608 #define SROM11_TXIDXCAP5G               214
609 #define SROM11_SB20IN80AND160LR5GHPO    215
610 #define SROM11_SB40AND80LR5GHPO         216
611
612 #define SROM11_DOT11AGDUPHRPO           217
613 #define SROM11_DOT11AGDUPLRPO           218
614
615 /* MISC */
616 #define SROM11_PCIEINGRESS_WAR          220
617 #define SROM11_SAR                      221
618
619 #define SROM11_NOISELVL_2G              222
620 #define SROM11_NOISELVL_5GL             223
621 #define SROM11_NOISELVL_5GM             224
622 #define SROM11_NOISELVL_5GH             225
623 #define SROM11_NOISELVL_5GU             226
624
625 #define SROM11_RXGAINERR_2G             227
626 #define SROM11_RXGAINERR_5GL            228
627 #define SROM11_RXGAINERR_5GM            229
628 #define SROM11_RXGAINERR_5GH            230
629 #define SROM11_RXGAINERR_5GU            231
630
631 #define SROM11_EU_EDCRSTH               232
632 #define SROM12_EU_EDCRSTH               232
633
634 #define SROM11_SIGN                     64
635 #define SROM11_CRCREV                   233
636
637 #define SROM11_WORDS                            234
638 #define SROM11_SIGNATURE                0x0634
639
640
641 /* SROM REV 12 */
642 #define SROM12_SIGN                     64
643 #define SROM12_WORDS                    512
644 #define SROM12_SIGNATURE                0x8888
645 #define SROM12_CRCREV                   511
646
647 #define SROM12_BFL6                             486
648 #define SROM12_BFL7                             487
649
650 #define SROM12_MCSBW205GX1PO            234
651 #define SROM12_MCSBW205GX1PO_1          235
652 #define SROM12_MCSBW405GX1PO            236
653 #define SROM12_MCSBW405GX1PO_1          237
654 #define SROM12_MCSBW805GX1PO            238
655 #define SROM12_MCSBW805GX1PO_1          239
656 #define SROM12_MCSLR5GX1PO                      240
657 #define SROM12_SB40AND80LR5GX1PO                241
658 #define SROM12_SB20IN80AND160LR5GX1PO   242
659 #define SROM12_SB20IN80AND160HR5GX1PO   243
660 #define SROM12_SB40AND80HR5GX1PO                244
661
662 #define SROM12_MCSBW205GX2PO            245
663 #define SROM12_MCSBW205GX2PO_1          246
664 #define SROM12_MCSBW405GX2PO            247
665 #define SROM12_MCSBW405GX2PO_1          248
666 #define SROM12_MCSBW805GX2PO            249
667 #define SROM12_MCSBW805GX2PO_1          250
668 #define SROM12_MCSLR5GX2PO                      251
669 #define SROM12_SB40AND80LR5GX2PO        252
670 #define SROM12_SB20IN80AND160LR5GX2PO   253
671 #define SROM12_SB20IN80AND160HR5GX2PO   254
672 #define SROM12_SB40AND80HR5GX2PO                255
673
674 /* MISC */
675 #define SROM12_RXGAINS10                        483
676 #define SROM12_RXGAINS11                        484
677 #define SROM12_RXGAINS12                        485
678
679 /* Per-path fields and offset */
680 #define MAX_PATH_SROM_12                        3
681 #define SROM12_PATH0                            256
682 #define SROM12_PATH1                            328
683 #define SROM12_PATH2                            400
684
685 #define SROM12_5GB42G_MAXP                              0
686 #define SROM12_2GB0_PA                                  1
687 #define SROM12_2GB0_PA_W0                               1
688 #define SROM12_2GB0_PA_W1                               2
689 #define SROM12_2GB0_PA_W2                               3
690 #define SROM12_2GB0_PA_W3                               4
691
692 #define SROM12_RXGAINS                                  5
693 #define SROM12_5GB1B0_MAXP                              6
694 #define SROM12_5GB3B2_MAXP                              7
695
696 #define SROM12_5GB0_PA                                  8
697 #define SROM12_5GB0_PA_W0                               8
698 #define SROM12_5GB0_PA_W1                               9
699 #define SROM12_5GB0_PA_W2                               10
700 #define SROM12_5GB0_PA_W3                               11
701
702 #define SROM12_5GB1_PA                                  12
703 #define SROM12_5GB1_PA_W0                               12
704 #define SROM12_5GB1_PA_W1                               13
705 #define SROM12_5GB1_PA_W2                               14
706 #define SROM12_5GB1_PA_W3                               15
707
708 #define SROM12_5GB2_PA                                  16
709 #define SROM12_5GB2_PA_W0                               16
710 #define SROM12_5GB2_PA_W1                               17
711 #define SROM12_5GB2_PA_W2                               18
712 #define SROM12_5GB2_PA_W3                               19
713
714 #define SROM12_5GB3_PA                                  20
715 #define SROM12_5GB3_PA_W0                               20
716 #define SROM12_5GB3_PA_W1                               21
717 #define SROM12_5GB3_PA_W2                               22
718 #define SROM12_5GB3_PA_W3                               23
719
720 #define SROM12_5GB4_PA                                  24
721 #define SROM12_5GB4_PA_W0                               24
722 #define SROM12_5GB4_PA_W1                               25
723 #define SROM12_5GB4_PA_W2                               26
724 #define SROM12_5GB4_PA_W3                               27
725
726 #define SROM12_2G40B0_PA                                28
727 #define SROM12_2G40B0_PA_W0                             28
728 #define SROM12_2G40B0_PA_W1                             29
729 #define SROM12_2G40B0_PA_W2                             30
730 #define SROM12_2G40B0_PA_W3                             31
731
732 #define SROM12_5G40B0_PA                                32
733 #define SROM12_5G40B0_PA_W0                             32
734 #define SROM12_5G40B0_PA_W1                             33
735 #define SROM12_5G40B0_PA_W2                             34
736 #define SROM12_5G40B0_PA_W3                             35
737
738 #define SROM12_5G40B1_PA                                36
739 #define SROM12_5G40B1_PA_W0                             36
740 #define SROM12_5G40B1_PA_W1                             37
741 #define SROM12_5G40B1_PA_W2                             38
742 #define SROM12_5G40B1_PA_W3                             39
743
744 #define SROM12_5G40B2_PA                                40
745 #define SROM12_5G40B2_PA_W0                             40
746 #define SROM12_5G40B2_PA_W1                             41
747 #define SROM12_5G40B2_PA_W2                             42
748 #define SROM12_5G40B2_PA_W3                             43
749
750 #define SROM12_5G40B3_PA                                44
751 #define SROM12_5G40B3_PA_W0                             44
752 #define SROM12_5G40B3_PA_W1                             45
753 #define SROM12_5G40B3_PA_W2                             46
754 #define SROM12_5G40B3_PA_W3                             47
755
756 #define SROM12_5G40B4_PA                                48
757 #define SROM12_5G40B4_PA_W0                             48
758 #define SROM12_5G40B4_PA_W1                             49
759 #define SROM12_5G40B4_PA_W2                             50
760 #define SROM12_5G40B4_PA_W3                             51
761
762 #define SROM12_5G80B0_PA                                52
763 #define SROM12_5G80B0_PA_W0                             52
764 #define SROM12_5G80B0_PA_W1                             53
765 #define SROM12_5G80B0_PA_W2                             54
766 #define SROM12_5G80B0_PA_W3                             55
767
768 #define SROM12_5G80B1_PA                                56
769 #define SROM12_5G80B1_PA_W0                             56
770 #define SROM12_5G80B1_PA_W1                             57
771 #define SROM12_5G80B1_PA_W2                             58
772 #define SROM12_5G80B1_PA_W3                             59
773
774 #define SROM12_5G80B2_PA                                60
775 #define SROM12_5G80B2_PA_W0                             60
776 #define SROM12_5G80B2_PA_W1                             61
777 #define SROM12_5G80B2_PA_W2                             62
778 #define SROM12_5G80B2_PA_W3                             63
779
780 #define SROM12_5G80B3_PA                                64
781 #define SROM12_5G80B3_PA_W0                             64
782 #define SROM12_5G80B3_PA_W1                             65
783 #define SROM12_5G80B3_PA_W2                             66
784 #define SROM12_5G80B3_PA_W3                             67
785
786 #define SROM12_5G80B4_PA                                68
787 #define SROM12_5G80B4_PA_W0                             68
788 #define SROM12_5G80B4_PA_W1                             69
789 #define SROM12_5G80B4_PA_W2                             70
790 #define SROM12_5G80B4_PA_W3                             71
791
792 /* PD offset */
793 #define SROM12_PDOFF_2G_CCK                             472
794
795 #define SROM12_PDOFF_20in40M_5G_B0              473
796 #define SROM12_PDOFF_20in40M_5G_B1              474
797 #define SROM12_PDOFF_20in40M_5G_B2              475
798 #define SROM12_PDOFF_20in40M_5G_B3              476
799 #define SROM12_PDOFF_20in40M_5G_B4              477
800
801 #define SROM12_PDOFF_40in80M_5G_B0              478
802 #define SROM12_PDOFF_40in80M_5G_B1              479
803 #define SROM12_PDOFF_40in80M_5G_B2              480
804 #define SROM12_PDOFF_40in80M_5G_B3              481
805 #define SROM12_PDOFF_40in80M_5G_B4              482
806
807 #define SROM12_PDOFF_20in80M_5G_B0              488
808 #define SROM12_PDOFF_20in80M_5G_B1              489
809 #define SROM12_PDOFF_20in80M_5G_B2              490
810 #define SROM12_PDOFF_20in80M_5G_B3              491
811 #define SROM12_PDOFF_20in80M_5G_B4              492
812
813 #define SROM13_PDOFFSET20IN40M5GCORE3           98
814 #define SROM13_PDOFFSET20IN40M5GCORE3_1         99
815 #define SROM13_PDOFFSET20IN80M5GCORE3           510
816 #define SROM13_PDOFFSET20IN80M5GCORE3_1         511
817 #define SROM13_PDOFFSET40IN80M5GCORE3           105
818 #define SROM13_PDOFFSET40IN80M5GCORE3_1         106
819
820 #define SROM13_PDOFFSET20IN40M2G                94
821 #define SROM13_PDOFFSET20IN40M2GCORE3           95
822
823 #define SROM12_GPDN_L                           91  /* GPIO pull down bits [15:0]  */
824 #define SROM12_GPDN_H                           233 /* GPIO pull down bits [31:16] */
825
826 #define SROM13_SIGN                     64
827 #define SROM13_WORDS                    590
828 #define SROM13_SIGNATURE                0x4d55
829 #define SROM13_CRCREV                   589
830
831
832 /* Per-path fields and offset */
833 #define MAX_PATH_SROM_13                        4
834 #define SROM13_PATH0                            256
835 #define SROM13_PATH1                            328
836 #define SROM13_PATH2                            400
837 #define SROM13_PATH3                            512
838 #define SROM13_RXGAINS                         5
839
840 #define SROM13_XTALFREQ                 90
841
842 #define SROM13_PDOFFSET20IN40M2G        94
843 #define SROM13_PDOFFSET20IN40M2GCORE3   95
844 #define SROM13_SB20IN40HRLRPOX          96
845
846 #define SROM13_RXGAINS1CORE3            97
847
848 #define SROM13_PDOFFSET20IN40M5GCORE3   98
849 #define SROM13_PDOFFSET20IN40M5GCORE3_1 99
850
851 #define SROM13_ANTGAIN_BANDBGA          100
852
853 #define SROM13_RXGAINS2CORE0            101
854 #define SROM13_RXGAINS2CORE1            102
855 #define SROM13_RXGAINS2CORE2            103
856 #define SROM13_RXGAINS2CORE3            104
857
858 #define SROM13_PDOFFSET40IN80M5GCORE3   105
859 #define SROM13_PDOFFSET40IN80M5GCORE3_1 106
860
861 /* power per rate */
862 #define SROM13_MCS1024QAM2GPO           108
863 #define SROM13_MCS1024QAM5GLPO          109
864 #define SROM13_MCS1024QAM5GLPO_1        110
865 #define SROM13_MCS1024QAM5GMPO          111
866 #define SROM13_MCS1024QAM5GMPO_1        112
867 #define SROM13_MCS1024QAM5GHPO          113
868 #define SROM13_MCS1024QAM5GHPO_1        114
869 #define SROM13_MCS1024QAM5GX1PO         115
870 #define SROM13_MCS1024QAM5GX1PO_1       116
871 #define SROM13_MCS1024QAM5GX2PO         117
872 #define SROM13_MCS1024QAM5GX2PO_1       118
873
874 #define SROM13_MCSBW1605GLPO            119
875 #define SROM13_MCSBW1605GLPO_1          120
876 #define SROM13_MCSBW1605GMPO            121
877 #define SROM13_MCSBW1605GMPO_1          122
878 #define SROM13_MCSBW1605GHPO            123
879 #define SROM13_MCSBW1605GHPO_1          124
880
881 #define SROM13_MCSBW1605GX1PO           125
882 #define SROM13_MCSBW1605GX1PO_1         126
883 #define SROM13_MCSBW1605GX2PO           127
884 #define SROM13_MCSBW1605GX2PO_1         128
885
886 #define SROM13_ULBPPROFFS5GB0           129
887 #define SROM13_ULBPPROFFS5GB1           130
888 #define SROM13_ULBPPROFFS5GB2           131
889 #define SROM13_ULBPPROFFS5GB3           132
890 #define SROM13_ULBPPROFFS5GB4           133
891 #define SROM13_ULBPPROFFS2G             134
892
893 #define SROM13_MCS8POEXP                135
894 #define SROM13_MCS8POEXP_1              136
895 #define SROM13_MCS9POEXP                137
896 #define SROM13_MCS9POEXP_1              138
897 #define SROM13_MCS10POEXP               139
898 #define SROM13_MCS10POEXP_1             140
899 #define SROM13_MCS11POEXP               141
900 #define SROM13_MCS11POEXP_1             142
901 #define SROM13_ULBPDOFFS5GB0A0          143
902 #define SROM13_ULBPDOFFS5GB0A1          144
903 #define SROM13_ULBPDOFFS5GB0A2          145
904 #define SROM13_ULBPDOFFS5GB0A3          146
905 #define SROM13_ULBPDOFFS5GB1A0          147
906 #define SROM13_ULBPDOFFS5GB1A1          148
907 #define SROM13_ULBPDOFFS5GB1A2          149
908 #define SROM13_ULBPDOFFS5GB1A3          150
909 #define SROM13_ULBPDOFFS5GB2A0          151
910 #define SROM13_ULBPDOFFS5GB2A1          152
911 #define SROM13_ULBPDOFFS5GB2A2          153
912 #define SROM13_ULBPDOFFS5GB2A3          154
913 #define SROM13_ULBPDOFFS5GB3A0          155
914 #define SROM13_ULBPDOFFS5GB3A1          156
915 #define SROM13_ULBPDOFFS5GB3A2          157
916 #define SROM13_ULBPDOFFS5GB3A3          158
917 #define SROM13_ULBPDOFFS5GB4A0          159
918 #define SROM13_ULBPDOFFS5GB4A1          160
919 #define SROM13_ULBPDOFFS5GB4A2          161
920 #define SROM13_ULBPDOFFS5GB4A3          162
921 #define SROM13_ULBPDOFFS2GA0            163
922 #define SROM13_ULBPDOFFS2GA1            164
923 #define SROM13_ULBPDOFFS2GA2            165
924 #define SROM13_ULBPDOFFS2GA3            166
925
926 #define SROM13_RPCAL5GB4                199
927
928 #define SROM13_EU_EDCRSTH               232
929
930 #define SROM13_SWCTRLMAP4_CFG                   493
931 #define SROM13_SWCTRLMAP4_TX2G_FEM3TO0          494
932 #define SROM13_SWCTRLMAP4_RX2G_FEM3TO0          495
933 #define SROM13_SWCTRLMAP4_RXBYP2G_FEM3TO0       496
934 #define SROM13_SWCTRLMAP4_MISC2G_FEM3TO0        497
935 #define SROM13_SWCTRLMAP4_TX5G_FEM3TO0          498
936 #define SROM13_SWCTRLMAP4_RX5G_FEM3TO0          499
937 #define SROM13_SWCTRLMAP4_RXBYP5G_FEM3TO0       500
938 #define SROM13_SWCTRLMAP4_MISC5G_FEM3TO0        501
939 #define SROM13_SWCTRLMAP4_TX2G_FEM7TO4          502
940 #define SROM13_SWCTRLMAP4_RX2G_FEM7TO4          503
941 #define SROM13_SWCTRLMAP4_RXBYP2G_FEM7TO4       504
942 #define SROM13_SWCTRLMAP4_MISC2G_FEM7TO4        505
943 #define SROM13_SWCTRLMAP4_TX5G_FEM7TO4          506
944 #define SROM13_SWCTRLMAP4_RX5G_FEM7TO4          507
945 #define SROM13_SWCTRLMAP4_RXBYP5G_FEM7TO4       508
946 #define SROM13_SWCTRLMAP4_MISC5G_FEM7TO4        509
947
948 #define SROM13_PDOFFSET20IN80M5GCORE3   510
949 #define SROM13_PDOFFSET20IN80M5GCORE3_1 511
950
951 #define SROM13_NOISELVLCORE3            584
952 #define SROM13_NOISELVLCORE3_1          585
953 #define SROM13_RXGAINERRCORE3           586
954 #define SROM13_RXGAINERRCORE3_1         587
955
956
957 typedef struct {
958         uint8 tssipos;          /* TSSI positive slope, 1: positive, 0: negative */
959         uint8 extpagain;        /* Ext PA gain-type: full-gain: 0, pa-lite: 1, no_pa: 2 */
960         uint8 pdetrange;        /* support 32 combinations of different Pdet dynamic ranges */
961         uint8 triso;            /* TR switch isolation */
962         uint8 antswctrllut;     /* antswctrl lookup table configuration: 32 possible choices */
963 } srom_fem_t;
964
965 #endif  /* _bcmsrom_fmt_h_ */