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