xref: /freebsd/sys/dev/bxe/ecore_reg.h (revision 685dc743dc3b5645e34836464128e1c0558b404b)
1 /*-
2  * SPDX-License-Identifier: BSD-2-Clause
3  *
4  * Copyright (c) 2007-2017 QLogic Corporation. All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  *
10  * 1. Redistributions of source code must retain the above copyright
11  *    notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
20  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
26  * THE POSSIBILITY OF SUCH DAMAGE.
27  */
28 
29 #include <sys/cdefs.h>
30 #ifndef ECORE_REG_H
31 #define ECORE_REG_H
32 
33 
34 #define ATC_ATC_INT_STS_REG_ADDRESS_ERROR \
35 	(0x1<<0)
36 #define ATC_ATC_INT_STS_REG_ATC_GPA_MULTIPLE_HITS \
37 	(0x1<<2)
38 #define ATC_ATC_INT_STS_REG_ATC_IREQ_LESS_THAN_STU \
39 	(0x1<<5)
40 #define ATC_ATC_INT_STS_REG_ATC_RCPL_TO_EMPTY_CNT \
41 	(0x1<<3)
42 #define ATC_ATC_INT_STS_REG_ATC_TCPL_ERROR \
43 	(0x1<<4)
44 #define ATC_ATC_INT_STS_REG_ATC_TCPL_TO_NOT_PEND \
45 	(0x1<<1)
46 #define ATC_REG_ATC_INIT_DONE \
47 	0x1100bcUL
48 #define ATC_REG_ATC_INT_STS_CLR \
49 	0x1101c0UL
50 #define ATC_REG_ATC_PRTY_MASK \
51 	0x1101d8UL
52 #define ATC_REG_ATC_PRTY_STS_CLR \
53 	0x1101d0UL
54 #define BRB1_REG_BRB1_INT_MASK \
55 	0x60128UL
56 #define BRB1_REG_BRB1_PRTY_MASK \
57 	0x60138UL
58 #define BRB1_REG_BRB1_PRTY_STS_CLR \
59 	0x60130UL
60 #define BRB1_REG_MAC_GUARANTIED_0 \
61 	0x601e8UL
62 #define BRB1_REG_MAC_GUARANTIED_1 \
63 	0x60240UL
64 #define BRB1_REG_NUM_OF_FULL_BLOCKS \
65 	0x60090UL
66 #define BRB1_REG_PAUSE_HIGH_THRESHOLD_0 \
67 	0x60078UL
68 #define BRB1_REG_PAUSE_LOW_THRESHOLD_0 \
69 	0x60068UL
70 #define BRB1_REG_PORT_NUM_OCC_BLOCKS_0 \
71 	0x60094UL
72 #define CCM_REG_CCM_INT_MASK \
73 	0xd01e4UL
74 #define CCM_REG_CCM_PRTY_MASK \
75 	0xd01f4UL
76 #define CCM_REG_CCM_PRTY_STS_CLR \
77 	0xd01ecUL
78 #define CDU_REG_CDU_GLOBAL_PARAMS \
79 	0x101020UL
80 #define CDU_REG_CDU_INT_MASK \
81 	0x10103cUL
82 #define CDU_REG_CDU_PRTY_MASK \
83 	0x10104cUL
84 #define CDU_REG_CDU_PRTY_STS_CLR \
85 	0x101044UL
86 #define CFC_REG_AC_INIT_DONE \
87 	0x104078UL
88 #define CFC_REG_CAM_INIT_DONE \
89 	0x10407cUL
90 #define CFC_REG_CFC_INT_MASK \
91 	0x104108UL
92 #define CFC_REG_CFC_INT_STS_CLR \
93 	0x104100UL
94 #define CFC_REG_CFC_PRTY_MASK \
95 	0x104118UL
96 #define CFC_REG_CFC_PRTY_STS_CLR \
97 	0x104110UL
98 #define CFC_REG_DEBUG0 \
99 	0x104050UL
100 #define CFC_REG_INIT_REG \
101 	0x10404cUL
102 #define CFC_REG_LL_INIT_DONE \
103 	0x104074UL
104 #define CFC_REG_NUM_LCIDS_INSIDE_PF \
105 	0x104120UL
106 #define CFC_REG_STRONG_ENABLE_PF \
107 	0x104128UL
108 #define CFC_REG_WEAK_ENABLE_PF \
109 	0x104124UL
110 #define CSDM_REG_CSDM_INT_MASK_0 \
111 	0xc229cUL
112 #define CSDM_REG_CSDM_INT_MASK_1 \
113 	0xc22acUL
114 #define CSDM_REG_CSDM_PRTY_MASK \
115 	0xc22bcUL
116 #define CSDM_REG_CSDM_PRTY_STS_CLR \
117 	0xc22b4UL
118 #define CSEM_REG_CSEM_INT_MASK_0 \
119 	0x200110UL
120 #define CSEM_REG_CSEM_INT_MASK_1 \
121 	0x200120UL
122 #define CSEM_REG_CSEM_PRTY_MASK_0 \
123 	0x200130UL
124 #define CSEM_REG_CSEM_PRTY_MASK_1 \
125 	0x200140UL
126 #define CSEM_REG_CSEM_PRTY_STS_CLR_0 \
127 	0x200128UL
128 #define CSEM_REG_CSEM_PRTY_STS_CLR_1 \
129 	0x200138UL
130 #define CSEM_REG_FAST_MEMORY \
131 	0x220000UL
132 #define CSEM_REG_INT_TABLE \
133 	0x200400UL
134 #define CSEM_REG_PASSIVE_BUFFER \
135 	0x202000UL
136 #define CSEM_REG_PRAM \
137 	0x240000UL
138 #define CSEM_REG_VFPF_ERR_NUM \
139 	0x200380UL
140 #define DBG_REG_DBG_PRTY_MASK \
141 	0xc0a8UL
142 #define DBG_REG_DBG_PRTY_STS_CLR \
143 	0xc0a0UL
144 #define DMAE_REG_CMD_MEM \
145 	0x102400UL
146 #define DMAE_REG_DMAE_INT_MASK \
147 	0x102054UL
148 #define DMAE_REG_DMAE_PRTY_MASK \
149 	0x102064UL
150 #define DMAE_REG_DMAE_PRTY_STS_CLR \
151 	0x10205cUL
152 #define DMAE_REG_GO_C0 \
153 	0x102080UL
154 #define DMAE_REG_GO_C1 \
155 	0x102084UL
156 #define DMAE_REG_GO_C10 \
157 	0x102088UL
158 #define DMAE_REG_GO_C11 \
159 	0x10208cUL
160 #define DMAE_REG_GO_C12 \
161 	0x102090UL
162 #define DMAE_REG_GO_C13 \
163 	0x102094UL
164 #define DMAE_REG_GO_C14 \
165 	0x102098UL
166 #define DMAE_REG_GO_C15 \
167 	0x10209cUL
168 #define DMAE_REG_GO_C2 \
169 	0x1020a0UL
170 #define DMAE_REG_GO_C3 \
171 	0x1020a4UL
172 #define DMAE_REG_GO_C4 \
173 	0x1020a8UL
174 #define DMAE_REG_GO_C5 \
175 	0x1020acUL
176 #define DMAE_REG_GO_C6 \
177 	0x1020b0UL
178 #define DMAE_REG_GO_C7 \
179 	0x1020b4UL
180 #define DMAE_REG_GO_C8 \
181 	0x1020b8UL
182 #define DMAE_REG_GO_C9 \
183 	0x1020bcUL
184 #define DORQ_REG_DORQ_INT_MASK \
185 	0x170180UL
186 #define DORQ_REG_DORQ_INT_STS_CLR \
187 	0x170178UL
188 #define DORQ_REG_DORQ_PRTY_MASK \
189 	0x170190UL
190 #define DORQ_REG_DORQ_PRTY_STS_CLR \
191 	0x170188UL
192 #define DORQ_REG_DPM_CID_OFST \
193 	0x170030UL
194 #define DORQ_REG_NORM_CID_OFST \
195 	0x17002cUL
196 #define DORQ_REG_PF_USAGE_CNT \
197 	0x1701d0UL
198 #define HC_CONFIG_0_REG_ATTN_BIT_EN_0 \
199 	(0x1<<4)
200 #define HC_CONFIG_0_REG_BLOCK_DISABLE_0 \
201 	(0x1<<0)
202 #define HC_CONFIG_0_REG_INT_LINE_EN_0 \
203 	(0x1<<3)
204 #define HC_CONFIG_0_REG_MSI_ATTN_EN_0 \
205 	(0x1<<7)
206 #define HC_CONFIG_0_REG_MSI_MSIX_INT_EN_0 \
207 	(0x1<<2)
208 #define HC_CONFIG_0_REG_SINGLE_ISR_EN_0 \
209 	(0x1<<1)
210 #define HC_CONFIG_1_REG_BLOCK_DISABLE_1 \
211 	(0x1<<0)
212 #define HC_REG_ATTN_MSG0_ADDR_L \
213 	0x108018UL
214 #define HC_REG_ATTN_MSG1_ADDR_L \
215 	0x108020UL
216 #define HC_REG_COMMAND_REG \
217 	0x108180UL
218 #define HC_REG_CONFIG_0 \
219 	0x108000UL
220 #define HC_REG_CONFIG_1 \
221 	0x108004UL
222 #define HC_REG_HC_PRTY_MASK \
223 	0x1080a0UL
224 #define HC_REG_HC_PRTY_STS_CLR \
225 	0x108098UL
226 #define HC_REG_INT_MASK \
227 	0x108108UL
228 #define HC_REG_LEADING_EDGE_0 \
229 	0x108040UL
230 #define HC_REG_MAIN_MEMORY \
231 	0x108800UL
232 #define HC_REG_MAIN_MEMORY_SIZE \
233 	152
234 #define HC_REG_TRAILING_EDGE_0 \
235 	0x108044UL
236 #define IGU_BLOCK_CONFIGURATION_REG_BACKWARD_COMP_EN \
237 	(0x1<<1)
238 #define IGU_BLOCK_CONFIGURATION_REG_BLOCK_ENABLE \
239 	(0x1<<0)
240 #define IGU_REG_ATTENTION_ACK_BITS \
241 	0x130108UL
242 #define IGU_REG_ATTN_MSG_ADDR_H \
243 	0x13011cUL
244 #define IGU_REG_ATTN_MSG_ADDR_L \
245 	0x130120UL
246 #define IGU_REG_BLOCK_CONFIGURATION \
247 	0x130000UL
248 #define IGU_REG_COMMAND_REG_32LSB_DATA \
249 	0x130124UL
250 #define IGU_REG_COMMAND_REG_CTRL \
251 	0x13012cUL
252 #define IGU_REG_CSTORM_TYPE_0_SB_CLEANUP \
253 	0x130200UL
254 #define IGU_REG_IGU_PRTY_MASK \
255 	0x1300a8UL
256 #define IGU_REG_IGU_PRTY_STS_CLR \
257 	0x1300a0UL
258 #define IGU_REG_LEADING_EDGE_LATCH \
259 	0x130134UL
260 #define IGU_REG_MAPPING_MEMORY \
261 	0x131000UL
262 #define IGU_REG_MAPPING_MEMORY_SIZE \
263 	136
264 #define IGU_REG_PBA_STATUS_LSB \
265 	0x130138UL
266 #define IGU_REG_PBA_STATUS_MSB \
267 	0x13013cUL
268 #define IGU_REG_PCI_PF_MSIX_EN \
269 	0x130144UL
270 #define IGU_REG_PCI_PF_MSIX_FUNC_MASK \
271 	0x130148UL
272 #define IGU_REG_PCI_PF_MSI_EN \
273 	0x130140UL
274 #define IGU_REG_PENDING_BITS_STATUS \
275 	0x130300UL
276 #define IGU_REG_PF_CONFIGURATION \
277 	0x130154UL
278 #define IGU_REG_PROD_CONS_MEMORY \
279 	0x132000UL
280 #define IGU_REG_RESET_MEMORIES \
281 	0x130158UL
282 #define IGU_REG_SB_INT_BEFORE_MASK_LSB \
283 	0x13015cUL
284 #define IGU_REG_SB_INT_BEFORE_MASK_MSB \
285 	0x130160UL
286 #define IGU_REG_SB_MASK_LSB \
287 	0x130164UL
288 #define IGU_REG_SB_MASK_MSB \
289 	0x130168UL
290 #define IGU_REG_STATISTIC_NUM_MESSAGE_SENT \
291 	0x130800UL
292 #define IGU_REG_TRAILING_EDGE_LATCH \
293 	0x130104UL
294 #define MCP_REG_MCPR_ACCESS_LOCK \
295 	0x8009c
296 #define MCP_REG_MCPR_GP_INPUTS \
297 	0x800c0
298 #define MCP_REG_MCPR_GP_OENABLE \
299 	0x800c8
300 #define MCP_REG_MCPR_GP_OUTPUTS \
301 	0x800c4
302 #define MCP_REG_MCPR_IMC_COMMAND \
303 	0x85900
304 #define MCP_REG_MCPR_IMC_DATAREG0 \
305 	0x85920
306 #define MCP_REG_MCPR_IMC_SLAVE_CONTROL \
307 	0x85904
308 #define MCP_REG_MCPR_NVM_ACCESS_ENABLE \
309 	0x86424
310 #define MCP_REG_MCPR_NVM_ADDR \
311 	0x8640c
312 #define MCP_REG_MCPR_NVM_CFG4 \
313 	0x8642c
314 #define MCP_REG_MCPR_NVM_COMMAND \
315 	0x86400
316 #define MCP_REG_MCPR_NVM_READ \
317 	0x86410
318 #define MCP_REG_MCPR_NVM_SW_ARB \
319 	0x86420
320 #define MCP_REG_MCPR_NVM_WRITE \
321 	0x86408
322 #define MISC_AEU_GENERAL_MASK_REG_AEU_NIG_CLOSE_MASK \
323 	(0x1<<1)
324 #define MISC_AEU_GENERAL_MASK_REG_AEU_PXP_CLOSE_MASK \
325 	(0x1<<0)
326 #define MISC_REG_AEU_AFTER_INVERT_1_FUNC_0 \
327 	0xa42cUL
328 #define MISC_REG_AEU_AFTER_INVERT_2_FUNC_0 \
329 	0xa438UL
330 #define MISC_REG_AEU_AFTER_INVERT_3_FUNC_0 \
331 	0xa444UL
332 #define MISC_REG_AEU_AFTER_INVERT_4_FUNC_0 \
333 	0xa450UL
334 #define MISC_REG_AEU_AFTER_INVERT_4_MCP \
335 	0xa458UL
336 #define MISC_REG_AEU_AFTER_INVERT_5_FUNC_0 \
337 	0xa700UL
338 #define MISC_REG_AEU_CLR_LATCH_SIGNAL \
339 	0xa45cUL
340 #define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_0 \
341 	0xa06cUL
342 #define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_1 \
343 	0xa07cUL
344 #define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_2 \
345 	0xa08cUL
346 #define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_0 \
347 	0xa10cUL
348 #define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_1 \
349 	0xa11cUL
350 #define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_2 \
351 	0xa12cUL
352 #define MISC_REG_AEU_ENABLE4_FUNC_0_OUT_0 \
353 	0xa078UL
354 #define MISC_REG_AEU_ENABLE4_FUNC_1_OUT_0 \
355 	0xa118UL
356 #define MISC_REG_AEU_ENABLE4_NIG_0 \
357 	0xa0f8UL
358 #define MISC_REG_AEU_ENABLE4_NIG_1 \
359 	0xa198UL
360 #define MISC_REG_AEU_ENABLE4_PXP_0 \
361 	0xa108UL
362 #define MISC_REG_AEU_ENABLE4_PXP_1 \
363 	0xa1a8UL
364 #define MISC_REG_AEU_ENABLE5_FUNC_0_OUT_0 \
365 	0xa688UL
366 #define MISC_REG_AEU_ENABLE5_FUNC_1_OUT_0 \
367 	0xa6b0UL
368 #define MISC_REG_AEU_GENERAL_ATTN_1 \
369 	0xa004UL
370 #define MISC_REG_AEU_GENERAL_ATTN_10 \
371 	0xa028UL
372 #define MISC_REG_AEU_GENERAL_ATTN_11 \
373 	0xa02cUL
374 #define MISC_REG_AEU_GENERAL_ATTN_12 \
375 	0xa030UL
376 #define MISC_REG_AEU_GENERAL_ATTN_2 \
377 	0xa008UL
378 #define MISC_REG_AEU_GENERAL_ATTN_3 \
379 	0xa00cUL
380 #define MISC_REG_AEU_GENERAL_ATTN_4 \
381 	0xa010UL
382 #define MISC_REG_AEU_GENERAL_ATTN_5 \
383 	0xa014UL
384 #define MISC_REG_AEU_GENERAL_ATTN_6 \
385 	0xa018UL
386 #define MISC_REG_AEU_GENERAL_ATTN_7 \
387 	0xa01cUL
388 #define MISC_REG_AEU_GENERAL_ATTN_8 \
389 	0xa020UL
390 #define MISC_REG_AEU_GENERAL_ATTN_9 \
391 	0xa024UL
392 #define MISC_REG_AEU_GENERAL_MASK \
393 	0xa61cUL
394 #define MISC_REG_AEU_MASK_ATTN_FUNC_0 \
395 	0xa060UL
396 #define MISC_REG_AEU_MASK_ATTN_FUNC_1 \
397 	0xa064UL
398 #define MISC_REG_BOND_ID \
399 	0xa400UL
400 #define MISC_REG_CHIP_NUM \
401 	0xa408UL
402 #define MISC_REG_CHIP_REV \
403 	0xa40cUL
404 #define MISC_REG_CHIP_TYPE \
405 	0xac60UL
406 #define MISC_REG_CHIP_TYPE_57811_MASK \
407 	(1<<1)
408 #define MISC_REG_CPMU_LP_DR_ENABLE \
409 	0xa858UL
410 #define MISC_REG_CPMU_LP_FW_ENABLE_P0 \
411 	0xa84cUL
412 #define MISC_REG_CPMU_LP_IDLE_THR_P0 \
413 	0xa8a0UL
414 #define MISC_REG_CPMU_LP_MASK_ENT_P0 \
415 	0xa880UL
416 #define MISC_REG_CPMU_LP_MASK_EXT_P0 \
417 	0xa888UL
418 #define MISC_REG_CPMU_LP_SM_ENT_CNT_P0 \
419 	0xa8b8UL
420 #define MISC_REG_CPMU_LP_SM_ENT_CNT_P1 \
421 	0xa8bcUL
422 #define MISC_REG_DRIVER_CONTROL_1 \
423 	0xa510UL
424 #define MISC_REG_DRIVER_CONTROL_7 \
425 	0xa3c8UL
426 #define MISC_REG_FOUR_PORT_PATH_SWAP \
427 	0xa75cUL
428 #define MISC_REG_FOUR_PORT_PATH_SWAP_OVWR \
429 	0xa738UL
430 #define MISC_REG_FOUR_PORT_PORT_SWAP \
431 	0xa754UL
432 #define MISC_REG_FOUR_PORT_PORT_SWAP_OVWR \
433 	0xa734UL
434 #define MISC_REG_GENERIC_CR_0 \
435 	0xa460UL
436 #define MISC_REG_GENERIC_CR_1 \
437 	0xa464UL
438 #define MISC_REG_GENERIC_POR_1 \
439 	0xa474UL
440 #define MISC_REG_GEN_PURP_HWG \
441 	0xa9a0UL
442 #define MISC_REG_GPIO \
443 	0xa490UL
444 #define MISC_REG_GPIO_EVENT_EN \
445 	0xa2bcUL
446 #define MISC_REG_GPIO_INT \
447 	0xa494UL
448 #define MISC_REG_GRC_RSV_ATTN \
449 	0xa3c0UL
450 #define MISC_REG_GRC_TIMEOUT_ATTN \
451 	0xa3c4UL
452 #define MISC_REG_LCPLL_E40_PWRDWN \
453 	0xaa74UL
454 #define MISC_REG_LCPLL_E40_RESETB_ANA \
455 	0xaa78UL
456 #define MISC_REG_LCPLL_E40_RESETB_DIG \
457 	0xaa7cUL
458 #define MISC_REG_MISC_INT_MASK \
459 	0xa388UL
460 #define MISC_REG_MISC_PRTY_MASK \
461 	0xa398UL
462 #define MISC_REG_MISC_PRTY_STS_CLR \
463 	0xa390UL
464 #define MISC_REG_PORT4MODE_EN \
465 	0xa750UL
466 #define MISC_REG_PORT4MODE_EN_OVWR \
467 	0xa720UL
468 #define MISC_REG_RESET_REG_1 \
469 	0xa580UL
470 #define MISC_REG_RESET_REG_2 \
471 	0xa590UL
472 #define MISC_REG_SHARED_MEM_ADDR \
473 	0xa2b4UL
474 #define MISC_REG_SPIO \
475 	0xa4fcUL
476 #define MISC_REG_SPIO_EVENT_EN \
477 	0xa2b8UL
478 #define MISC_REG_SPIO_INT \
479 	0xa500UL
480 #define MISC_REG_TWO_PORT_PATH_SWAP \
481 	0xa758UL
482 #define MISC_REG_TWO_PORT_PATH_SWAP_OVWR \
483 	0xa72cUL
484 #define MISC_REG_UNPREPARED \
485 	0xa424UL
486 #define MISC_REG_WC0_CTRL_PHY_ADDR \
487 	0xa9ccUL
488 #define MISC_REG_WC0_RESET \
489 	0xac30UL
490 #define MISC_REG_XMAC_CORE_PORT_MODE \
491 	0xa964UL
492 #define MISC_REG_XMAC_PHY_PORT_MODE \
493 	0xa960UL
494 #define MSTAT_REG_RX_STAT_GR64_LO \
495 	0x200UL
496 #define MSTAT_REG_TX_STAT_GTXPOK_LO \
497 	0UL
498 #define NIG_LLH0_XCM_MASK_REG_LLH0_XCM_MASK_BCN \
499 	(0x1<<0)
500 #define NIG_LLH1_XCM_MASK_REG_LLH1_XCM_MASK_BCN \
501 	(0x1<<0)
502 #define NIG_MASK_INTERRUPT_PORT0_REG_MASK_EMAC0_MISC_MI_INT \
503 	(0x1<<0)
504 #define NIG_MASK_INTERRUPT_PORT0_REG_MASK_SERDES0_LINK_STATUS \
505 	(0x1<<9)
506 #define NIG_MASK_INTERRUPT_PORT0_REG_MASK_XGXS0_LINK10G \
507 	(0x1<<15)
508 #define NIG_MASK_INTERRUPT_PORT0_REG_MASK_XGXS0_LINK_STATUS \
509 	(0xf<<18)
510 #define NIG_REG_BMAC0_IN_EN \
511 	0x100acUL
512 #define NIG_REG_BMAC0_OUT_EN \
513 	0x100e0UL
514 #define NIG_REG_BMAC0_PAUSE_OUT_EN \
515 	0x10110UL
516 #define NIG_REG_BMAC0_REGS_OUT_EN \
517 	0x100e8UL
518 #define NIG_REG_BRB0_PAUSE_IN_EN \
519 	0x100c4UL
520 #define NIG_REG_BRB1_PAUSE_IN_EN \
521 	0x100c8UL
522 #define NIG_REG_DEBUG_PACKET_LB \
523 	0x10800UL
524 #define NIG_REG_EGRESS_DRAIN0_MODE \
525 	0x10060UL
526 #define NIG_REG_EGRESS_EMAC0_OUT_EN \
527 	0x10120UL
528 #define NIG_REG_EGRESS_EMAC0_PORT \
529 	0x10058UL
530 #define NIG_REG_EMAC0_IN_EN \
531 	0x100a4UL
532 #define NIG_REG_EMAC0_PAUSE_OUT_EN \
533 	0x10118UL
534 #define NIG_REG_EMAC0_STATUS_MISC_MI_INT \
535 	0x10494UL
536 #define NIG_REG_INGRESS_BMAC0_MEM \
537 	0x10c00UL
538 #define NIG_REG_INGRESS_BMAC1_MEM \
539 	0x11000UL
540 #define NIG_REG_INGRESS_EOP_LB_EMPTY \
541 	0x104e0UL
542 #define NIG_REG_INGRESS_EOP_LB_FIFO \
543 	0x104e4UL
544 #define NIG_REG_LATCH_BC_0 \
545 	0x16210UL
546 #define NIG_REG_LATCH_STATUS_0 \
547 	0x18000UL
548 #define NIG_REG_LED_10G_P0 \
549 	0x10320UL
550 #define NIG_REG_LED_CONTROL_BLINK_RATE_ENA_P0 \
551 	0x10318UL
552 #define NIG_REG_LED_CONTROL_BLINK_RATE_P0 \
553 	0x10310UL
554 #define NIG_REG_LED_CONTROL_BLINK_TRAFFIC_P0 \
555 	0x10308UL
556 #define NIG_REG_LED_CONTROL_OVERRIDE_TRAFFIC_P0 \
557 	0x102f8UL
558 #define NIG_REG_LED_CONTROL_TRAFFIC_P0 \
559 	0x10300UL
560 #define NIG_REG_LED_MODE_P0 \
561 	0x102f0UL
562 #define NIG_REG_LLFC_EGRESS_SRC_ENABLE_0 \
563 	0x16070UL
564 #define NIG_REG_LLFC_EGRESS_SRC_ENABLE_1 \
565 	0x16074UL
566 #define NIG_REG_LLFC_ENABLE_0 \
567 	0x16208UL
568 #define NIG_REG_LLFC_ENABLE_1 \
569 	0x1620cUL
570 #define NIG_REG_LLFC_HIGH_PRIORITY_CLASSES_0 \
571 	0x16058UL
572 #define NIG_REG_LLFC_HIGH_PRIORITY_CLASSES_1 \
573 	0x1605cUL
574 #define NIG_REG_LLFC_LOW_PRIORITY_CLASSES_0 \
575 	0x16060UL
576 #define NIG_REG_LLFC_LOW_PRIORITY_CLASSES_1 \
577 	0x16064UL
578 #define NIG_REG_LLFC_OUT_EN_0 \
579 	0x160c8UL
580 #define NIG_REG_LLFC_OUT_EN_1 \
581 	0x160ccUL
582 #define NIG_REG_LLH0_BRB1_DRV_MASK \
583 	0x10244UL
584 #define NIG_REG_LLH0_BRB1_DRV_MASK_MF \
585 	0x16048UL
586 #define NIG_REG_LLH0_BRB1_NOT_MCP \
587 	0x1025cUL
588 #define NIG_REG_LLH0_CLS_TYPE \
589 	0x16080UL
590 #define NIG_REG_LLH0_FUNC_EN \
591 	0x160fcUL
592 #define NIG_REG_LLH0_FUNC_MEM \
593 	0x16180UL
594 #define NIG_REG_LLH0_FUNC_MEM_ENABLE \
595 	0x16140UL
596 #define NIG_REG_LLH0_FUNC_VLAN_ID \
597 	0x16100UL
598 #define NIG_REG_LLH0_XCM_MASK \
599 	0x10130UL
600 #define NIG_REG_LLH1_BRB1_NOT_MCP \
601 	0x102dcUL
602 #define NIG_REG_LLH1_CLS_TYPE \
603 	0x16084UL
604 #define NIG_REG_LLH1_FUNC_MEM \
605 	0x161c0UL
606 #define NIG_REG_LLH1_FUNC_MEM_ENABLE \
607 	0x16160UL
608 #define NIG_REG_LLH1_FUNC_MEM_SIZE \
609 	16
610 #define NIG_REG_LLH1_MF_MODE \
611 	0x18614UL
612 #define NIG_REG_LLH1_XCM_MASK \
613 	0x10134UL
614 #define NIG_REG_LLH_E1HOV_MODE \
615 	0x160d8UL
616 #define NIG_REG_LLH_MF_MODE \
617 	0x16024UL
618 #define NIG_REG_MASK_INTERRUPT_PORT0 \
619 	0x10330UL
620 #define NIG_REG_MASK_INTERRUPT_PORT1 \
621 	0x10334UL
622 #define NIG_REG_NIG_EMAC0_EN \
623 	0x1003cUL
624 #define NIG_REG_NIG_INGRESS_EMAC0_NO_CRC \
625 	0x10044UL
626 #define NIG_REG_NIG_INT_STS_CLR_0 \
627 	0x103b4UL
628 #define NIG_REG_NIG_PRTY_MASK \
629 	0x103dcUL
630 #define NIG_REG_NIG_PRTY_MASK_0 \
631 	0x183c8UL
632 #define NIG_REG_NIG_PRTY_MASK_1 \
633 	0x183d8UL
634 #define NIG_REG_NIG_PRTY_STS_CLR \
635 	0x103d4UL
636 #define NIG_REG_NIG_PRTY_STS_CLR_0 \
637 	0x183c0UL
638 #define NIG_REG_NIG_PRTY_STS_CLR_1 \
639 	0x183d0UL
640 #define NIG_REG_P0_HDRS_AFTER_BASIC \
641 	0x18038UL
642 #define NIG_REG_P0_HWPFC_ENABLE \
643 	0x18078UL
644 #define NIG_REG_P0_LLH_FUNC_MEM2 \
645 	0x18480UL
646 #define NIG_REG_P0_MAC_IN_EN \
647 	0x185acUL
648 #define NIG_REG_P0_MAC_OUT_EN \
649 	0x185b0UL
650 #define NIG_REG_P0_MAC_PAUSE_OUT_EN \
651 	0x185b4UL
652 #define NIG_REG_P0_PKT_PRIORITY_TO_COS \
653 	0x18054UL
654 #define NIG_REG_P0_RX_COS0_PRIORITY_MASK \
655 	0x18058UL
656 #define NIG_REG_P0_RX_COS1_PRIORITY_MASK \
657 	0x1805cUL
658 #define NIG_REG_P0_RX_COS2_PRIORITY_MASK \
659 	0x186b0UL
660 #define NIG_REG_P0_RX_COS3_PRIORITY_MASK \
661 	0x186b4UL
662 #define NIG_REG_P0_RX_COS4_PRIORITY_MASK \
663 	0x186b8UL
664 #define NIG_REG_P0_RX_COS5_PRIORITY_MASK \
665 	0x186bcUL
666 #define NIG_REG_P0_TX_ARB_CLIENT_CREDIT_MAP \
667 	0x180f0UL
668 #define NIG_REG_P0_TX_ARB_CLIENT_CREDIT_MAP2_LSB \
669 	0x18688UL
670 #define NIG_REG_P0_TX_ARB_CLIENT_CREDIT_MAP2_MSB \
671 	0x1868cUL
672 #define NIG_REG_P0_TX_ARB_CLIENT_IS_STRICT \
673 	0x180e8UL
674 #define NIG_REG_P0_TX_ARB_CLIENT_IS_SUBJECT2WFQ \
675 	0x180ecUL
676 #define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_0 \
677 	0x1810cUL
678 #define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_1 \
679 	0x18110UL
680 #define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_2 \
681 	0x18114UL
682 #define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_3 \
683 	0x18118UL
684 #define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_4 \
685 	0x1811cUL
686 #define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_5 \
687 	0x186a0UL
688 #define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_6 \
689 	0x186a4UL
690 #define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_7 \
691 	0x186a8UL
692 #define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_8 \
693 	0x186acUL
694 #define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_0 \
695 	0x180f8UL
696 #define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_1 \
697 	0x180fcUL
698 #define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_2 \
699 	0x18100UL
700 #define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_3 \
701 	0x18104UL
702 #define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_4 \
703 	0x18108UL
704 #define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_5 \
705 	0x18690UL
706 #define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_6 \
707 	0x18694UL
708 #define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_7 \
709 	0x18698UL
710 #define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_8 \
711 	0x1869cUL
712 #define NIG_REG_P0_TX_ARB_NUM_STRICT_ARB_SLOTS \
713 	0x180f4UL
714 #define NIG_REG_P0_TX_ARB_PRIORITY_CLIENT \
715 	0x180e4UL
716 #define NIG_REG_P0_TX_ARB_PRIORITY_CLIENT2_LSB \
717 	0x18680UL
718 #define NIG_REG_P0_TX_ARB_PRIORITY_CLIENT2_MSB \
719 	0x18684UL
720 #define NIG_REG_P1_HDRS_AFTER_BASIC \
721 	0x1818cUL
722 #define NIG_REG_P1_HWPFC_ENABLE \
723 	0x181d0UL
724 #define NIG_REG_P1_LLH_FUNC_MEM2 \
725 	0x184c0UL
726 #define NIG_REG_P1_MAC_IN_EN \
727 	0x185c0UL
728 #define NIG_REG_P1_MAC_OUT_EN \
729 	0x185c4UL
730 #define NIG_REG_P1_MAC_PAUSE_OUT_EN \
731 	0x185c8UL
732 #define NIG_REG_P1_PKT_PRIORITY_TO_COS \
733 	0x181a8UL
734 #define NIG_REG_P1_RX_COS0_PRIORITY_MASK \
735 	0x181acUL
736 #define NIG_REG_P1_RX_COS1_PRIORITY_MASK \
737 	0x181b0UL
738 #define NIG_REG_P1_RX_COS2_PRIORITY_MASK \
739 	0x186f8UL
740 #define NIG_REG_P1_TX_ARB_CLIENT_CREDIT_MAP2_LSB \
741 	0x186e8UL
742 #define NIG_REG_P1_TX_ARB_CLIENT_CREDIT_MAP2_MSB \
743 	0x186ecUL
744 #define NIG_REG_P1_TX_ARB_CLIENT_IS_STRICT \
745 	0x18234UL
746 #define NIG_REG_P1_TX_ARB_CLIENT_IS_SUBJECT2WFQ \
747 	0x18238UL
748 #define NIG_REG_P1_TX_ARB_CREDIT_UPPER_BOUND_0 \
749 	0x18258UL
750 #define NIG_REG_P1_TX_ARB_CREDIT_UPPER_BOUND_1 \
751 	0x1825cUL
752 #define NIG_REG_P1_TX_ARB_CREDIT_UPPER_BOUND_2 \
753 	0x18260UL
754 #define NIG_REG_P1_TX_ARB_CREDIT_UPPER_BOUND_3 \
755 	0x18264UL
756 #define NIG_REG_P1_TX_ARB_CREDIT_UPPER_BOUND_4 \
757 	0x18268UL
758 #define NIG_REG_P1_TX_ARB_CREDIT_UPPER_BOUND_5 \
759 	0x186f4UL
760 #define NIG_REG_P1_TX_ARB_CREDIT_WEIGHT_0 \
761 	0x18244UL
762 #define NIG_REG_P1_TX_ARB_CREDIT_WEIGHT_1 \
763 	0x18248UL
764 #define NIG_REG_P1_TX_ARB_CREDIT_WEIGHT_2 \
765 	0x1824cUL
766 #define NIG_REG_P1_TX_ARB_CREDIT_WEIGHT_3 \
767 	0x18250UL
768 #define NIG_REG_P1_TX_ARB_CREDIT_WEIGHT_4 \
769 	0x18254UL
770 #define NIG_REG_P1_TX_ARB_CREDIT_WEIGHT_5 \
771 	0x186f0UL
772 #define NIG_REG_P1_TX_ARB_NUM_STRICT_ARB_SLOTS \
773 	0x18240UL
774 #define NIG_REG_P1_TX_ARB_PRIORITY_CLIENT2_LSB \
775 	0x186e0UL
776 #define NIG_REG_P1_TX_ARB_PRIORITY_CLIENT2_MSB \
777 	0x186e4UL
778 #define NIG_REG_PAUSE_ENABLE_0 \
779 	0x160c0UL
780 #define NIG_REG_PAUSE_ENABLE_1 \
781 	0x160c4UL
782 #define NIG_REG_PORT_SWAP \
783 	0x10394UL
784 #define NIG_REG_PPP_ENABLE_0 \
785 	0x160b0UL
786 #define NIG_REG_PPP_ENABLE_1 \
787 	0x160b4UL
788 #define NIG_REG_PRS_REQ_IN_EN \
789 	0x100b8UL
790 #define NIG_REG_SERDES0_CTRL_MD_DEVAD \
791 	0x10370UL
792 #define NIG_REG_SERDES0_CTRL_MD_ST \
793 	0x1036cUL
794 #define NIG_REG_SERDES0_CTRL_PHY_ADDR \
795 	0x10374UL
796 #define NIG_REG_SERDES0_STATUS_LINK_STATUS \
797 	0x10578UL
798 #define NIG_REG_STAT0_BRB_DISCARD \
799 	0x105f0UL
800 #define NIG_REG_STAT0_BRB_TRUNCATE \
801 	0x105f8UL
802 #define NIG_REG_STAT0_EGRESS_MAC_PKT0 \
803 	0x10750UL
804 #define NIG_REG_STAT0_EGRESS_MAC_PKT1 \
805 	0x10760UL
806 #define NIG_REG_STAT1_BRB_DISCARD \
807 	0x10628UL
808 #define NIG_REG_STAT1_EGRESS_MAC_PKT0 \
809 	0x107a0UL
810 #define NIG_REG_STAT1_EGRESS_MAC_PKT1 \
811 	0x107b0UL
812 #define NIG_REG_STAT2_BRB_OCTET \
813 	0x107e0UL
814 #define NIG_REG_STATUS_INTERRUPT_PORT0 \
815 	0x10328UL
816 #define NIG_REG_STRAP_OVERRIDE \
817 	0x10398UL
818 #define NIG_REG_XCM0_OUT_EN \
819 	0x100f0UL
820 #define NIG_REG_XCM1_OUT_EN \
821 	0x100f4UL
822 #define NIG_REG_XGXS0_CTRL_MD_DEVAD \
823 	0x1033cUL
824 #define NIG_REG_XGXS0_CTRL_MD_ST \
825 	0x10338UL
826 #define NIG_REG_XGXS0_CTRL_PHY_ADDR \
827 	0x10340UL
828 #define NIG_REG_XGXS0_STATUS_LINK10G \
829 	0x10680UL
830 #define NIG_REG_XGXS0_STATUS_LINK_STATUS \
831 	0x10684UL
832 #define NIG_REG_XGXS_LANE_SEL_P0 \
833 	0x102e8UL
834 #define NIG_REG_XGXS_SERDES0_MODE_SEL \
835 	0x102e0UL
836 #define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_EMAC0_MISC_MI_INT \
837 	(0x1<<0)
838 #define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_SERDES0_LINK_STATUS \
839 	(0x1<<9)
840 #define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_XGXS0_LINK10G \
841 	(0x1<<15)
842 #define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_XGXS0_LINK_STATUS \
843 	(0xf<<18)
844 #define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_XGXS0_LINK_STATUS_SIZE \
845 	18
846 #define PBF_REG_COS0_UPPER_BOUND \
847 	0x15c05cUL
848 #define PBF_REG_COS0_UPPER_BOUND_P0 \
849 	0x15c2ccUL
850 #define PBF_REG_COS0_UPPER_BOUND_P1 \
851 	0x15c2e4UL
852 #define PBF_REG_COS0_WEIGHT \
853 	0x15c054UL
854 #define PBF_REG_COS0_WEIGHT_P0 \
855 	0x15c2a8UL
856 #define PBF_REG_COS0_WEIGHT_P1 \
857 	0x15c2c0UL
858 #define PBF_REG_COS1_UPPER_BOUND \
859 	0x15c060UL
860 #define PBF_REG_COS1_WEIGHT \
861 	0x15c058UL
862 #define PBF_REG_COS1_WEIGHT_P0 \
863 	0x15c2acUL
864 #define PBF_REG_COS1_WEIGHT_P1 \
865 	0x15c2c4UL
866 #define PBF_REG_COS2_WEIGHT_P0 \
867 	0x15c2b0UL
868 #define PBF_REG_COS2_WEIGHT_P1 \
869 	0x15c2c8UL
870 #define PBF_REG_COS3_WEIGHT_P0 \
871 	0x15c2b4UL
872 #define PBF_REG_COS4_WEIGHT_P0 \
873 	0x15c2b8UL
874 #define PBF_REG_COS5_WEIGHT_P0 \
875 	0x15c2bcUL
876 #define PBF_REG_CREDIT_LB_Q \
877 	0x140338UL
878 #define PBF_REG_CREDIT_Q0 \
879 	0x14033cUL
880 #define PBF_REG_CREDIT_Q1 \
881 	0x140340UL
882 #define PBF_REG_DISABLE_NEW_TASK_PROC_P0 \
883 	0x14005cUL
884 #define PBF_REG_DISABLE_PF \
885 	0x1402e8UL
886 #define PBF_REG_ETS_ARB_CLIENT_CREDIT_MAP_P0 \
887 	0x15c288UL
888 #define PBF_REG_ETS_ARB_CLIENT_CREDIT_MAP_P1 \
889 	0x15c28cUL
890 #define PBF_REG_ETS_ARB_CLIENT_IS_STRICT_P0 \
891 	0x15c278UL
892 #define PBF_REG_ETS_ARB_CLIENT_IS_STRICT_P1 \
893 	0x15c27cUL
894 #define PBF_REG_ETS_ARB_CLIENT_IS_SUBJECT2WFQ_P0 \
895 	0x15c280UL
896 #define PBF_REG_ETS_ARB_CLIENT_IS_SUBJECT2WFQ_P1 \
897 	0x15c284UL
898 #define PBF_REG_ETS_ARB_NUM_STRICT_ARB_SLOTS_P0 \
899 	0x15c2a0UL
900 #define PBF_REG_ETS_ARB_NUM_STRICT_ARB_SLOTS_P1 \
901 	0x15c2a4UL
902 #define PBF_REG_ETS_ARB_PRIORITY_CLIENT_P0 \
903 	0x15c270UL
904 #define PBF_REG_ETS_ARB_PRIORITY_CLIENT_P1 \
905 	0x15c274UL
906 #define PBF_REG_ETS_ENABLED \
907 	0x15c050UL
908 #define PBF_REG_HDRS_AFTER_BASIC \
909 	0x15c0a8UL
910 #define PBF_REG_HDRS_AFTER_TAG_0 \
911 	0x15c0b8UL
912 #define PBF_REG_HIGH_PRIORITY_COS_NUM \
913 	0x15c04cUL
914 #define PBF_REG_INIT_CRD_LB_Q \
915 	0x15c248UL
916 #define PBF_REG_INIT_CRD_Q0 \
917 	0x15c230UL
918 #define PBF_REG_INIT_CRD_Q1 \
919 	0x15c234UL
920 #define PBF_REG_INIT_P0 \
921 	0x140004UL
922 #define PBF_REG_INTERNAL_CRD_FREED_CNT_LB_Q \
923 	0x140354UL
924 #define PBF_REG_INTERNAL_CRD_FREED_CNT_Q0 \
925 	0x140358UL
926 #define PBF_REG_INTERNAL_CRD_FREED_CNT_Q1 \
927 	0x14035cUL
928 #define PBF_REG_MUST_HAVE_HDRS \
929 	0x15c0c4UL
930 #define PBF_REG_NUM_STRICT_ARB_SLOTS \
931 	0x15c064UL
932 #define PBF_REG_P0_ARB_THRSH \
933 	0x1400e4UL
934 #define PBF_REG_P0_CREDIT \
935 	0x140200UL
936 #define PBF_REG_P0_INIT_CRD \
937 	0x1400d0UL
938 #define PBF_REG_P0_INTERNAL_CRD_FREED_CNT \
939 	0x140308UL
940 #define PBF_REG_P0_PAUSE_ENABLE \
941 	0x140014UL
942 #define PBF_REG_P0_TQ_LINES_FREED_CNT \
943 	0x1402f0UL
944 #define PBF_REG_P0_TQ_OCCUPANCY \
945 	0x1402fcUL
946 #define PBF_REG_P1_CREDIT \
947 	0x140208UL
948 #define PBF_REG_P1_INIT_CRD \
949 	0x1400d4UL
950 #define PBF_REG_P1_INTERNAL_CRD_FREED_CNT \
951 	0x14030cUL
952 #define PBF_REG_P1_TQ_LINES_FREED_CNT \
953 	0x1402f4UL
954 #define PBF_REG_P1_TQ_OCCUPANCY \
955 	0x140300UL
956 #define PBF_REG_P4_CREDIT \
957 	0x140210UL
958 #define PBF_REG_P4_INIT_CRD \
959 	0x1400e0UL
960 #define PBF_REG_P4_INTERNAL_CRD_FREED_CNT \
961 	0x140310UL
962 #define PBF_REG_P4_TQ_LINES_FREED_CNT \
963 	0x1402f8UL
964 #define PBF_REG_P4_TQ_OCCUPANCY \
965 	0x140304UL
966 #define PBF_REG_PBF_INT_MASK \
967 	0x1401d4UL
968 #define PBF_REG_PBF_PRTY_MASK \
969 	0x1401e4UL
970 #define PBF_REG_PBF_PRTY_STS_CLR \
971 	0x1401dcUL
972 #define PBF_REG_TAG_ETHERTYPE_0 \
973 	0x15c090UL
974 #define PBF_REG_TAG_LEN_0 \
975 	0x15c09cUL
976 #define PBF_REG_TQ_LINES_FREED_CNT_LB_Q \
977 	0x14038cUL
978 #define PBF_REG_TQ_LINES_FREED_CNT_Q0 \
979 	0x140390UL
980 #define PBF_REG_TQ_LINES_FREED_CNT_Q1 \
981 	0x140394UL
982 #define PBF_REG_TQ_OCCUPANCY_LB_Q \
983 	0x1403a8UL
984 #define PBF_REG_TQ_OCCUPANCY_Q0 \
985 	0x1403acUL
986 #define PBF_REG_TQ_OCCUPANCY_Q1 \
987 	0x1403b0UL
988 #define PB_REG_PB_INT_MASK \
989 	0x28UL
990 #define PB_REG_PB_PRTY_MASK \
991 	0x38UL
992 #define PB_REG_PB_PRTY_STS_CLR \
993 	0x30UL
994 #define PGLUE_B_PGLUE_B_INT_STS_REG_ADDRESS_ERROR \
995 	(0x1<<0)
996 #define PGLUE_B_PGLUE_B_INT_STS_REG_CSSNOOP_FIFO_OVERFLOW \
997 	(0x1<<8)
998 #define PGLUE_B_PGLUE_B_INT_STS_REG_INCORRECT_RCV_BEHAVIOR \
999 	(0x1<<1)
1000 #define PGLUE_B_PGLUE_B_INT_STS_REG_TCPL_ERROR_ATTN \
1001 	(0x1<<6)
1002 #define PGLUE_B_PGLUE_B_INT_STS_REG_TCPL_IN_TWO_RCBS_ATTN \
1003 	(0x1<<7)
1004 #define PGLUE_B_PGLUE_B_INT_STS_REG_VF_GRC_SPACE_VIOLATION_ATTN \
1005 	(0x1<<4)
1006 #define PGLUE_B_PGLUE_B_INT_STS_REG_VF_LENGTH_VIOLATION_ATTN \
1007 	(0x1<<3)
1008 #define PGLUE_B_PGLUE_B_INT_STS_REG_VF_MSIX_BAR_VIOLATION_ATTN \
1009 	(0x1<<5)
1010 #define PGLUE_B_PGLUE_B_INT_STS_REG_WAS_ERROR_ATTN \
1011 	(0x1<<2)
1012 #define PGLUE_B_REG_FLR_REQUEST_PF_7_0_CLR \
1013 	0x9418UL
1014 #define PGLUE_B_REG_INTERNAL_PFID_ENABLE_MASTER \
1015 	0x942cUL
1016 #define PGLUE_B_REG_INTERNAL_PFID_ENABLE_TARGET_READ \
1017 	0x9430UL
1018 #define PGLUE_B_REG_LATCHED_ERRORS_CLR \
1019 	0x943cUL
1020 #define PGLUE_B_REG_PGLUE_B_INT_STS \
1021 	0x9298UL
1022 #define PGLUE_B_REG_PGLUE_B_INT_STS_CLR \
1023 	0x929cUL
1024 #define PGLUE_B_REG_PGLUE_B_PRTY_MASK \
1025 	0x92b4UL
1026 #define PGLUE_B_REG_PGLUE_B_PRTY_STS_CLR \
1027 	0x92acUL
1028 #define PGLUE_B_REG_SHADOW_BME_PF_7_0_CLR \
1029 	0x9458UL
1030 #define PGLUE_B_REG_TAGS_63_32 \
1031 	0x9244UL
1032 #define PGLUE_B_REG_WAS_ERROR_PF_7_0_CLR \
1033 	0x9470UL
1034 #define PRS_REG_A_PRSU_20 \
1035 	0x40134UL
1036 #define PRS_REG_CFC_SEARCH_INITIAL_CREDIT \
1037 	0x4011cUL
1038 #define PRS_REG_E1HOV_MODE \
1039 	0x401c8UL
1040 #define PRS_REG_HDRS_AFTER_BASIC \
1041 	0x40238UL
1042 #define PRS_REG_HDRS_AFTER_BASIC_PORT_0 \
1043 	0x40270UL
1044 #define PRS_REG_HDRS_AFTER_BASIC_PORT_1 \
1045 	0x40290UL
1046 #define PRS_REG_HDRS_AFTER_TAG_0 \
1047 	0x40248UL
1048 #define PRS_REG_HDRS_AFTER_TAG_0_PORT_0 \
1049 	0x40280UL
1050 #define PRS_REG_HDRS_AFTER_TAG_0_PORT_1 \
1051 	0x402a0UL
1052 #define PRS_REG_MUST_HAVE_HDRS \
1053 	0x40254UL
1054 #define PRS_REG_MUST_HAVE_HDRS_PORT_0 \
1055 	0x4028cUL
1056 #define PRS_REG_MUST_HAVE_HDRS_PORT_1 \
1057 	0x402acUL
1058 #define PRS_REG_NIC_MODE \
1059 	0x40138UL
1060 #define PRS_REG_NUM_OF_PACKETS \
1061 	0x40124UL
1062 #define PRS_REG_PRS_PRTY_MASK \
1063 	0x401a4UL
1064 #define PRS_REG_PRS_PRTY_STS_CLR \
1065 	0x4019cUL
1066 #define PRS_REG_TAG_ETHERTYPE_0 \
1067 	0x401d4UL
1068 #define PRS_REG_TAG_LEN_0 \
1069 	0x4022cUL
1070 #define PXP2_PXP2_INT_MASK_0_REG_PGL_CPL_AFT \
1071 	(0x1<<19)
1072 #define PXP2_PXP2_INT_MASK_0_REG_PGL_CPL_OF \
1073 	(0x1<<20)
1074 #define PXP2_PXP2_INT_MASK_0_REG_PGL_PCIE_ATTN \
1075 	(0x1<<22)
1076 #define PXP2_PXP2_INT_MASK_0_REG_PGL_READ_BLOCKED \
1077 	(0x1<<23)
1078 #define PXP2_PXP2_INT_MASK_0_REG_PGL_WRITE_BLOCKED \
1079 	(0x1<<24)
1080 #define PXP2_PXP2_INT_STS_0_REG_WR_PGLUE_EOP_ERROR \
1081 	(0x1<<7)
1082 #define PXP2_PXP2_INT_STS_CLR_0_REG_WR_PGLUE_EOP_ERROR \
1083 	(0x1<<7)
1084 #define PXP2_REG_PGL_ADDR_88_F0 \
1085 	0x120534UL
1086 #define PXP2_REG_PGL_ADDR_88_F1 \
1087 	0x120544UL
1088 #define PXP2_REG_PGL_ADDR_8C_F0 \
1089 	0x120538UL
1090 #define PXP2_REG_PGL_ADDR_8C_F1 \
1091 	0x120548UL
1092 #define PXP2_REG_PGL_ADDR_90_F0 \
1093 	0x12053cUL
1094 #define PXP2_REG_PGL_ADDR_90_F1 \
1095 	0x12054cUL
1096 #define PXP2_REG_PGL_ADDR_94_F0 \
1097 	0x120540UL
1098 #define PXP2_REG_PGL_ADDR_94_F1 \
1099 	0x120550UL
1100 #define PXP2_REG_PGL_EXP_ROM2 \
1101 	0x120808UL
1102 #define PXP2_REG_PGL_PRETEND_FUNC_F0 \
1103 	0x120674UL
1104 #define PXP2_REG_PGL_PRETEND_FUNC_F1 \
1105 	0x120678UL
1106 #define PXP2_REG_PGL_TAGS_LIMIT \
1107 	0x1205a8UL
1108 #define PXP2_REG_PSWRQ_BW_ADD1 \
1109 	0x1201c0UL
1110 #define PXP2_REG_PSWRQ_BW_ADD10 \
1111 	0x1201e4UL
1112 #define PXP2_REG_PSWRQ_BW_ADD11 \
1113 	0x1201e8UL
1114 #define PXP2_REG_PSWRQ_BW_ADD2 \
1115 	0x1201c4UL
1116 #define PXP2_REG_PSWRQ_BW_ADD28 \
1117 	0x120228UL
1118 #define PXP2_REG_PSWRQ_BW_ADD3 \
1119 	0x1201c8UL
1120 #define PXP2_REG_PSWRQ_BW_ADD6 \
1121 	0x1201d4UL
1122 #define PXP2_REG_PSWRQ_BW_ADD7 \
1123 	0x1201d8UL
1124 #define PXP2_REG_PSWRQ_BW_ADD8 \
1125 	0x1201dcUL
1126 #define PXP2_REG_PSWRQ_BW_ADD9 \
1127 	0x1201e0UL
1128 #define PXP2_REG_PSWRQ_BW_L1 \
1129 	0x1202b0UL
1130 #define PXP2_REG_PSWRQ_BW_L10 \
1131 	0x1202d4UL
1132 #define PXP2_REG_PSWRQ_BW_L11 \
1133 	0x1202d8UL
1134 #define PXP2_REG_PSWRQ_BW_L2 \
1135 	0x1202b4UL
1136 #define PXP2_REG_PSWRQ_BW_L28 \
1137 	0x120318UL
1138 #define PXP2_REG_PSWRQ_BW_L3 \
1139 	0x1202b8UL
1140 #define PXP2_REG_PSWRQ_BW_L6 \
1141 	0x1202c4UL
1142 #define PXP2_REG_PSWRQ_BW_L7 \
1143 	0x1202c8UL
1144 #define PXP2_REG_PSWRQ_BW_L8 \
1145 	0x1202ccUL
1146 #define PXP2_REG_PSWRQ_BW_L9 \
1147 	0x1202d0UL
1148 #define PXP2_REG_PSWRQ_BW_RD \
1149 	0x120324UL
1150 #define PXP2_REG_PSWRQ_BW_UB1 \
1151 	0x120238UL
1152 #define PXP2_REG_PSWRQ_BW_UB10 \
1153 	0x12025cUL
1154 #define PXP2_REG_PSWRQ_BW_UB11 \
1155 	0x120260UL
1156 #define PXP2_REG_PSWRQ_BW_UB2 \
1157 	0x12023cUL
1158 #define PXP2_REG_PSWRQ_BW_UB28 \
1159 	0x1202a0UL
1160 #define PXP2_REG_PSWRQ_BW_UB3 \
1161 	0x120240UL
1162 #define PXP2_REG_PSWRQ_BW_UB6 \
1163 	0x12024cUL
1164 #define PXP2_REG_PSWRQ_BW_UB7 \
1165 	0x120250UL
1166 #define PXP2_REG_PSWRQ_BW_UB8 \
1167 	0x120254UL
1168 #define PXP2_REG_PSWRQ_BW_UB9 \
1169 	0x120258UL
1170 #define PXP2_REG_PSWRQ_BW_WR \
1171 	0x120328UL
1172 #define PXP2_REG_PSWRQ_CDU0_L2P \
1173 	0x120000UL
1174 #define PXP2_REG_PSWRQ_QM0_L2P \
1175 	0x120038UL
1176 #define PXP2_REG_PSWRQ_SRC0_L2P \
1177 	0x120054UL
1178 #define PXP2_REG_PSWRQ_TM0_L2P \
1179 	0x12001cUL
1180 #define PXP2_REG_PXP2_INT_MASK_0 \
1181 	0x120578UL
1182 #define PXP2_REG_PXP2_INT_MASK_1 \
1183 	0x120614UL
1184 #define PXP2_REG_PXP2_INT_STS_0 \
1185 	0x12056cUL
1186 #define PXP2_REG_PXP2_INT_STS_1 \
1187 	0x120608UL
1188 #define PXP2_REG_PXP2_INT_STS_CLR_0 \
1189 	0x120570UL
1190 #define PXP2_REG_PXP2_PRTY_MASK_0 \
1191 	0x120588UL
1192 #define PXP2_REG_PXP2_PRTY_MASK_1 \
1193 	0x120598UL
1194 #define PXP2_REG_PXP2_PRTY_STS_CLR_0 \
1195 	0x120580UL
1196 #define PXP2_REG_PXP2_PRTY_STS_CLR_1 \
1197 	0x120590UL
1198 #define PXP2_REG_RD_BLK_CNT \
1199 	0x120418UL
1200 #define PXP2_REG_RD_CDURD_SWAP_MODE \
1201 	0x120404UL
1202 #define PXP2_REG_RD_DISABLE_INPUTS \
1203 	0x120374UL
1204 #define PXP2_REG_RD_INIT_DONE \
1205 	0x120370UL
1206 #define PXP2_REG_RD_PBF_SWAP_MODE \
1207 	0x1203f4UL
1208 #define PXP2_REG_RD_PORT_IS_IDLE_0 \
1209 	0x12041cUL
1210 #define PXP2_REG_RD_PORT_IS_IDLE_1 \
1211 	0x120420UL
1212 #define PXP2_REG_RD_QM_SWAP_MODE \
1213 	0x1203f8UL
1214 #define PXP2_REG_RD_SRC_SWAP_MODE \
1215 	0x120400UL
1216 #define PXP2_REG_RD_SR_CNT \
1217 	0x120414UL
1218 #define PXP2_REG_RD_START_INIT \
1219 	0x12036cUL
1220 #define PXP2_REG_RD_TM_SWAP_MODE \
1221 	0x1203fcUL
1222 #define PXP2_REG_RQ_BW_RD_ADD0 \
1223 	0x1201bcUL
1224 #define PXP2_REG_RQ_BW_RD_ADD12 \
1225 	0x1201ecUL
1226 #define PXP2_REG_RQ_BW_RD_ADD13 \
1227 	0x1201f0UL
1228 #define PXP2_REG_RQ_BW_RD_ADD14 \
1229 	0x1201f4UL
1230 #define PXP2_REG_RQ_BW_RD_ADD15 \
1231 	0x1201f8UL
1232 #define PXP2_REG_RQ_BW_RD_ADD16 \
1233 	0x1201fcUL
1234 #define PXP2_REG_RQ_BW_RD_ADD17 \
1235 	0x120200UL
1236 #define PXP2_REG_RQ_BW_RD_ADD18 \
1237 	0x120204UL
1238 #define PXP2_REG_RQ_BW_RD_ADD19 \
1239 	0x120208UL
1240 #define PXP2_REG_RQ_BW_RD_ADD20 \
1241 	0x12020cUL
1242 #define PXP2_REG_RQ_BW_RD_ADD22 \
1243 	0x120210UL
1244 #define PXP2_REG_RQ_BW_RD_ADD23 \
1245 	0x120214UL
1246 #define PXP2_REG_RQ_BW_RD_ADD24 \
1247 	0x120218UL
1248 #define PXP2_REG_RQ_BW_RD_ADD25 \
1249 	0x12021cUL
1250 #define PXP2_REG_RQ_BW_RD_ADD26 \
1251 	0x120220UL
1252 #define PXP2_REG_RQ_BW_RD_ADD27 \
1253 	0x120224UL
1254 #define PXP2_REG_RQ_BW_RD_ADD4 \
1255 	0x1201ccUL
1256 #define PXP2_REG_RQ_BW_RD_ADD5 \
1257 	0x1201d0UL
1258 #define PXP2_REG_RQ_BW_RD_L0 \
1259 	0x1202acUL
1260 #define PXP2_REG_RQ_BW_RD_L12 \
1261 	0x1202dcUL
1262 #define PXP2_REG_RQ_BW_RD_L13 \
1263 	0x1202e0UL
1264 #define PXP2_REG_RQ_BW_RD_L14 \
1265 	0x1202e4UL
1266 #define PXP2_REG_RQ_BW_RD_L15 \
1267 	0x1202e8UL
1268 #define PXP2_REG_RQ_BW_RD_L16 \
1269 	0x1202ecUL
1270 #define PXP2_REG_RQ_BW_RD_L17 \
1271 	0x1202f0UL
1272 #define PXP2_REG_RQ_BW_RD_L18 \
1273 	0x1202f4UL
1274 #define PXP2_REG_RQ_BW_RD_L19 \
1275 	0x1202f8UL
1276 #define PXP2_REG_RQ_BW_RD_L20 \
1277 	0x1202fcUL
1278 #define PXP2_REG_RQ_BW_RD_L22 \
1279 	0x120300UL
1280 #define PXP2_REG_RQ_BW_RD_L23 \
1281 	0x120304UL
1282 #define PXP2_REG_RQ_BW_RD_L24 \
1283 	0x120308UL
1284 #define PXP2_REG_RQ_BW_RD_L25 \
1285 	0x12030cUL
1286 #define PXP2_REG_RQ_BW_RD_L26 \
1287 	0x120310UL
1288 #define PXP2_REG_RQ_BW_RD_L27 \
1289 	0x120314UL
1290 #define PXP2_REG_RQ_BW_RD_L4 \
1291 	0x1202bcUL
1292 #define PXP2_REG_RQ_BW_RD_L5 \
1293 	0x1202c0UL
1294 #define PXP2_REG_RQ_BW_RD_UBOUND0 \
1295 	0x120234UL
1296 #define PXP2_REG_RQ_BW_RD_UBOUND12 \
1297 	0x120264UL
1298 #define PXP2_REG_RQ_BW_RD_UBOUND13 \
1299 	0x120268UL
1300 #define PXP2_REG_RQ_BW_RD_UBOUND14 \
1301 	0x12026cUL
1302 #define PXP2_REG_RQ_BW_RD_UBOUND15 \
1303 	0x120270UL
1304 #define PXP2_REG_RQ_BW_RD_UBOUND16 \
1305 	0x120274UL
1306 #define PXP2_REG_RQ_BW_RD_UBOUND17 \
1307 	0x120278UL
1308 #define PXP2_REG_RQ_BW_RD_UBOUND18 \
1309 	0x12027cUL
1310 #define PXP2_REG_RQ_BW_RD_UBOUND19 \
1311 	0x120280UL
1312 #define PXP2_REG_RQ_BW_RD_UBOUND20 \
1313 	0x120284UL
1314 #define PXP2_REG_RQ_BW_RD_UBOUND22 \
1315 	0x120288UL
1316 #define PXP2_REG_RQ_BW_RD_UBOUND23 \
1317 	0x12028cUL
1318 #define PXP2_REG_RQ_BW_RD_UBOUND24 \
1319 	0x120290UL
1320 #define PXP2_REG_RQ_BW_RD_UBOUND25 \
1321 	0x120294UL
1322 #define PXP2_REG_RQ_BW_RD_UBOUND26 \
1323 	0x120298UL
1324 #define PXP2_REG_RQ_BW_RD_UBOUND27 \
1325 	0x12029cUL
1326 #define PXP2_REG_RQ_BW_RD_UBOUND4 \
1327 	0x120244UL
1328 #define PXP2_REG_RQ_BW_RD_UBOUND5 \
1329 	0x120248UL
1330 #define PXP2_REG_RQ_BW_WR_ADD29 \
1331 	0x12022cUL
1332 #define PXP2_REG_RQ_BW_WR_ADD30 \
1333 	0x120230UL
1334 #define PXP2_REG_RQ_BW_WR_L29 \
1335 	0x12031cUL
1336 #define PXP2_REG_RQ_BW_WR_L30 \
1337 	0x120320UL
1338 #define PXP2_REG_RQ_BW_WR_UBOUND29 \
1339 	0x1202a4UL
1340 #define PXP2_REG_RQ_BW_WR_UBOUND30 \
1341 	0x1202a8UL
1342 #define PXP2_REG_RQ_CDU_ENDIAN_M \
1343 	0x1201a0UL
1344 #define PXP2_REG_RQ_CDU_FIRST_ILT \
1345 	0x12061cUL
1346 #define PXP2_REG_RQ_CDU_LAST_ILT \
1347 	0x120620UL
1348 #define PXP2_REG_RQ_CDU_P_SIZE \
1349 	0x120018UL
1350 #define PXP2_REG_RQ_CFG_DONE \
1351 	0x1201b4UL
1352 #define PXP2_REG_RQ_DBG_ENDIAN_M \
1353 	0x1201a4UL
1354 #define PXP2_REG_RQ_DISABLE_INPUTS \
1355 	0x120330UL
1356 #define PXP2_REG_RQ_DRAM_ALIGN \
1357 	0x1205b0UL
1358 #define PXP2_REG_RQ_DRAM_ALIGN_RD \
1359 	0x12092cUL
1360 #define PXP2_REG_RQ_DRAM_ALIGN_SEL \
1361 	0x120930UL
1362 #define PXP2_REG_RQ_HC_ENDIAN_M \
1363 	0x1201a8UL
1364 #define PXP2_REG_RQ_ONCHIP_AT \
1365 	0x122000UL
1366 #define PXP2_REG_RQ_ONCHIP_AT_B0 \
1367 	0x128000UL
1368 #define PXP2_REG_RQ_PDR_LIMIT \
1369 	0x12033cUL
1370 #define PXP2_REG_RQ_QM_ENDIAN_M \
1371 	0x120194UL
1372 #define PXP2_REG_RQ_QM_FIRST_ILT \
1373 	0x120634UL
1374 #define PXP2_REG_RQ_QM_LAST_ILT \
1375 	0x120638UL
1376 #define PXP2_REG_RQ_QM_P_SIZE \
1377 	0x120050UL
1378 #define PXP2_REG_RQ_RBC_DONE \
1379 	0x1201b0UL
1380 #define PXP2_REG_RQ_RD_MBS0 \
1381 	0x120160UL
1382 #define PXP2_REG_RQ_RD_MBS1 \
1383 	0x120168UL
1384 #define PXP2_REG_RQ_SRC_ENDIAN_M \
1385 	0x12019cUL
1386 #define PXP2_REG_RQ_SRC_FIRST_ILT \
1387 	0x12063cUL
1388 #define PXP2_REG_RQ_SRC_LAST_ILT \
1389 	0x120640UL
1390 #define PXP2_REG_RQ_SRC_P_SIZE \
1391 	0x12006cUL
1392 #define PXP2_REG_RQ_TM_ENDIAN_M \
1393 	0x120198UL
1394 #define PXP2_REG_RQ_TM_FIRST_ILT \
1395 	0x120644UL
1396 #define PXP2_REG_RQ_TM_LAST_ILT \
1397 	0x120648UL
1398 #define PXP2_REG_RQ_TM_P_SIZE \
1399 	0x120034UL
1400 #define PXP2_REG_RQ_WR_MBS0 \
1401 	0x12015cUL
1402 #define PXP2_REG_RQ_WR_MBS1 \
1403 	0x120164UL
1404 #define PXP2_REG_WR_CDU_MPS \
1405 	0x1205f0UL
1406 #define PXP2_REG_WR_CSDM_MPS \
1407 	0x1205d0UL
1408 #define PXP2_REG_WR_DBG_MPS \
1409 	0x1205e8UL
1410 #define PXP2_REG_WR_DMAE_MPS \
1411 	0x1205ecUL
1412 #define PXP2_REG_WR_HC_MPS \
1413 	0x1205c8UL
1414 #define PXP2_REG_WR_QM_MPS \
1415 	0x1205dcUL
1416 #define PXP2_REG_WR_SRC_MPS \
1417 	0x1205e4UL
1418 #define PXP2_REG_WR_TM_MPS \
1419 	0x1205e0UL
1420 #define PXP2_REG_WR_TSDM_MPS \
1421 	0x1205d4UL
1422 #define PXP2_REG_WR_USDMDP_TH \
1423 	0x120348UL
1424 #define PXP2_REG_WR_USDM_MPS \
1425 	0x1205ccUL
1426 #define PXP2_REG_WR_XSDM_MPS \
1427 	0x1205d8UL
1428 #define PXP_REG_HST_DISCARD_DOORBELLS \
1429 	0x1030a4UL
1430 #define PXP_REG_HST_DISCARD_INTERNAL_WRITES \
1431 	0x1030a8UL
1432 #define PXP_REG_PXP_INT_MASK_0 \
1433 	0x103074UL
1434 #define PXP_REG_PXP_INT_MASK_1 \
1435 	0x103084UL
1436 #define PXP_REG_PXP_INT_STS_CLR_0 \
1437 	0x10306cUL
1438 #define PXP_REG_PXP_INT_STS_CLR_1 \
1439 	0x10307cUL
1440 #define PXP_REG_PXP_PRTY_MASK \
1441 	0x103094UL
1442 #define PXP_REG_PXP_PRTY_STS_CLR \
1443 	0x10308cUL
1444 #define QM_REG_BASEADDR \
1445 	0x168900UL
1446 #define QM_REG_BASEADDR_EXT_A \
1447 	0x16e100UL
1448 #define QM_REG_BYTECRDCMDQ_0 \
1449 	0x16e6e8UL
1450 #define QM_REG_CONNNUM_0 \
1451 	0x168020UL
1452 #define QM_REG_PF_EN \
1453 	0x16e70cUL
1454 #define QM_REG_PF_USG_CNT_0 \
1455 	0x16e040UL
1456 #define QM_REG_PTRTBL \
1457 	0x168a00UL
1458 #define QM_REG_PTRTBL_EXT_A \
1459 	0x16e200UL
1460 #define QM_REG_QM_INT_MASK \
1461 	0x168444UL
1462 #define QM_REG_QM_PRTY_MASK \
1463 	0x168454UL
1464 #define QM_REG_QM_PRTY_STS_CLR \
1465 	0x16844cUL
1466 #define QM_REG_QVOQIDX_0 \
1467 	0x1680f4UL
1468 #define QM_REG_SOFT_RESET \
1469 	0x168428UL
1470 #define QM_REG_VOQQMASK_0_LSB \
1471 	0x168240UL
1472 #define SEM_FAST_REG_PARITY_RST \
1473 	0x18840UL
1474 #define SRC_REG_COUNTFREE0 \
1475 	0x40500UL
1476 #define SRC_REG_FIRSTFREE0 \
1477 	0x40510UL
1478 #define SRC_REG_KEYSEARCH_0 \
1479 	0x40458UL
1480 #define SRC_REG_KEYSEARCH_1 \
1481 	0x4045cUL
1482 #define SRC_REG_KEYSEARCH_2 \
1483 	0x40460UL
1484 #define SRC_REG_KEYSEARCH_3 \
1485 	0x40464UL
1486 #define SRC_REG_KEYSEARCH_4 \
1487 	0x40468UL
1488 #define SRC_REG_KEYSEARCH_5 \
1489 	0x4046cUL
1490 #define SRC_REG_KEYSEARCH_6 \
1491 	0x40470UL
1492 #define SRC_REG_KEYSEARCH_7 \
1493 	0x40474UL
1494 #define SRC_REG_KEYSEARCH_8 \
1495 	0x40478UL
1496 #define SRC_REG_KEYSEARCH_9 \
1497 	0x4047cUL
1498 #define SRC_REG_LASTFREE0 \
1499 	0x40530UL
1500 #define SRC_REG_SOFT_RST \
1501 	0x4049cUL
1502 #define SRC_REG_SRC_PRTY_MASK \
1503 	0x404c8UL
1504 #define SRC_REG_SRC_PRTY_STS_CLR \
1505 	0x404c0UL
1506 #define TCM_REG_PRS_IFEN \
1507 	0x50020UL
1508 #define TCM_REG_TCM_INT_MASK \
1509 	0x501dcUL
1510 #define TCM_REG_TCM_PRTY_MASK \
1511 	0x501ecUL
1512 #define TCM_REG_TCM_PRTY_STS_CLR \
1513 	0x501e4UL
1514 #define TM_REG_EN_LINEAR0_TIMER \
1515 	0x164014UL
1516 #define TM_REG_LIN0_MAX_ACTIVE_CID \
1517 	0x164048UL
1518 #define TM_REG_LIN0_NUM_SCANS \
1519 	0x1640a0UL
1520 #define TM_REG_LIN0_SCAN_ON \
1521 	0x1640d0UL
1522 #define TM_REG_LIN0_SCAN_TIME \
1523 	0x16403cUL
1524 #define TM_REG_LIN0_VNIC_UC \
1525 	0x164128UL
1526 #define TM_REG_TM_INT_MASK \
1527 	0x1640fcUL
1528 #define TM_REG_TM_PRTY_MASK \
1529 	0x16410cUL
1530 #define TM_REG_TM_PRTY_STS_CLR \
1531 	0x164104UL
1532 #define TSDM_REG_ENABLE_IN1 \
1533 	0x42238UL
1534 #define TSDM_REG_TSDM_INT_MASK_0 \
1535 	0x4229cUL
1536 #define TSDM_REG_TSDM_INT_MASK_1 \
1537 	0x422acUL
1538 #define TSDM_REG_TSDM_PRTY_MASK \
1539 	0x422bcUL
1540 #define TSDM_REG_TSDM_PRTY_STS_CLR \
1541 	0x422b4UL
1542 #define TSEM_REG_FAST_MEMORY \
1543 	0x1a0000UL
1544 #define TSEM_REG_INT_TABLE \
1545 	0x180400UL
1546 #define TSEM_REG_PASSIVE_BUFFER \
1547 	0x181000UL
1548 #define TSEM_REG_PRAM \
1549 	0x1c0000UL
1550 #define TSEM_REG_TSEM_INT_MASK_0 \
1551 	0x180100UL
1552 #define TSEM_REG_TSEM_INT_MASK_1 \
1553 	0x180110UL
1554 #define TSEM_REG_TSEM_PRTY_MASK_0 \
1555 	0x180120UL
1556 #define TSEM_REG_TSEM_PRTY_MASK_1 \
1557 	0x180130UL
1558 #define TSEM_REG_TSEM_PRTY_STS_CLR_0 \
1559 	0x180118UL
1560 #define TSEM_REG_TSEM_PRTY_STS_CLR_1 \
1561 	0x180128UL
1562 #define TSEM_REG_VFPF_ERR_NUM \
1563 	0x180380UL
1564 #define UCM_REG_UCM_INT_MASK \
1565 	0xe01d4UL
1566 #define UCM_REG_UCM_PRTY_MASK \
1567 	0xe01e4UL
1568 #define UCM_REG_UCM_PRTY_STS_CLR \
1569 	0xe01dcUL
1570 #define UMAC_COMMAND_CONFIG_REG_HD_ENA \
1571 	(0x1<<10)
1572 #define UMAC_COMMAND_CONFIG_REG_IGNORE_TX_PAUSE \
1573 	(0x1<<28)
1574 #define UMAC_COMMAND_CONFIG_REG_LOOP_ENA \
1575 	(0x1<<15)
1576 #define UMAC_COMMAND_CONFIG_REG_NO_LGTH_CHECK \
1577 	(0x1<<24)
1578 #define UMAC_COMMAND_CONFIG_REG_PAD_EN \
1579 	(0x1<<5)
1580 #define UMAC_COMMAND_CONFIG_REG_PAUSE_IGNORE \
1581 	(0x1<<8)
1582 #define UMAC_COMMAND_CONFIG_REG_PROMIS_EN \
1583 	(0x1<<4)
1584 #define UMAC_COMMAND_CONFIG_REG_RX_ENA \
1585 	(0x1<<1)
1586 #define UMAC_COMMAND_CONFIG_REG_SW_RESET \
1587 	(0x1<<13)
1588 #define UMAC_COMMAND_CONFIG_REG_TX_ENA \
1589 	(0x1<<0)
1590 #define UMAC_REG_COMMAND_CONFIG \
1591 	0x8UL
1592 #define UMAC_REG_EEE_WAKE_TIMER \
1593 	0x6cUL
1594 #define UMAC_REG_MAC_ADDR0 \
1595 	0xcUL
1596 #define UMAC_REG_MAC_ADDR1 \
1597 	0x10UL
1598 #define UMAC_REG_MAXFR \
1599 	0x14UL
1600 #define UMAC_REG_UMAC_EEE_CTRL \
1601 	0x64UL
1602 #define UMAC_UMAC_EEE_CTRL_REG_EEE_EN \
1603 	(0x1<<3)
1604 #define USDM_REG_USDM_INT_MASK_0 \
1605 	0xc42a0UL
1606 #define USDM_REG_USDM_INT_MASK_1 \
1607 	0xc42b0UL
1608 #define USDM_REG_USDM_PRTY_MASK \
1609 	0xc42c0UL
1610 #define USDM_REG_USDM_PRTY_STS_CLR \
1611 	0xc42b8UL
1612 #define USEM_REG_FAST_MEMORY \
1613 	0x320000UL
1614 #define USEM_REG_INT_TABLE \
1615 	0x300400UL
1616 #define USEM_REG_PASSIVE_BUFFER \
1617 	0x302000UL
1618 #define USEM_REG_PRAM \
1619 	0x340000UL
1620 #define USEM_REG_USEM_INT_MASK_0 \
1621 	0x300110UL
1622 #define USEM_REG_USEM_INT_MASK_1 \
1623 	0x300120UL
1624 #define USEM_REG_USEM_PRTY_MASK_0 \
1625 	0x300130UL
1626 #define USEM_REG_USEM_PRTY_MASK_1 \
1627 	0x300140UL
1628 #define USEM_REG_USEM_PRTY_STS_CLR_0 \
1629 	0x300128UL
1630 #define USEM_REG_USEM_PRTY_STS_CLR_1 \
1631 	0x300138UL
1632 #define USEM_REG_VFPF_ERR_NUM \
1633 	0x300380UL
1634 #define VFC_MEMORIES_RST_REG_CAM_RST \
1635 	(0x1<<0)
1636 #define VFC_MEMORIES_RST_REG_RAM_RST \
1637 	(0x1<<1)
1638 #define VFC_REG_MEMORIES_RST \
1639 	0x1943cUL
1640 #define XCM_REG_XCM_INT_MASK \
1641 	0x202b4UL
1642 #define XCM_REG_XCM_PRTY_MASK \
1643 	0x202c4UL
1644 #define XCM_REG_XCM_PRTY_STS_CLR \
1645 	0x202bcUL
1646 #define XMAC_CLEAR_RX_LSS_STATUS_REG_CLEAR_LOCAL_FAULT_STATUS \
1647 	(0x1<<0)
1648 #define XMAC_CLEAR_RX_LSS_STATUS_REG_CLEAR_REMOTE_FAULT_STATUS \
1649 	(0x1<<1)
1650 #define XMAC_CTRL_REG_LINE_LOCAL_LPBK \
1651 	(0x1<<2)
1652 #define XMAC_CTRL_REG_RX_EN \
1653 	(0x1<<1)
1654 #define XMAC_CTRL_REG_SOFT_RESET \
1655 	(0x1<<6)
1656 #define XMAC_CTRL_REG_TX_EN \
1657 	(0x1<<0)
1658 #define XMAC_CTRL_REG_XLGMII_ALIGN_ENB \
1659 	(0x1<<7)
1660 #define XMAC_PAUSE_CTRL_REG_RX_PAUSE_EN \
1661 	(0x1<<18)
1662 #define XMAC_PAUSE_CTRL_REG_TX_PAUSE_EN \
1663 	(0x1<<17)
1664 #define XMAC_PFC_CTRL_HI_REG_FORCE_PFC_XON \
1665 	(0x1<<1)
1666 #define XMAC_PFC_CTRL_HI_REG_PFC_REFRESH_EN \
1667 	(0x1<<0)
1668 #define XMAC_PFC_CTRL_HI_REG_PFC_STATS_EN \
1669 	(0x1<<3)
1670 #define XMAC_PFC_CTRL_HI_REG_RX_PFC_EN \
1671 	(0x1<<4)
1672 #define XMAC_PFC_CTRL_HI_REG_TX_PFC_EN \
1673 	(0x1<<5)
1674 #define XMAC_REG_CLEAR_RX_LSS_STATUS \
1675 	0x60UL
1676 #define XMAC_REG_CTRL \
1677 	0UL
1678 #define XMAC_REG_CTRL_SA_HI \
1679 	0x2cUL
1680 #define XMAC_REG_CTRL_SA_LO \
1681 	0x28UL
1682 #define XMAC_REG_EEE_CTRL \
1683 	0xd8UL
1684 #define XMAC_REG_EEE_TIMERS_HI \
1685 	0xe4UL
1686 #define XMAC_REG_PAUSE_CTRL \
1687 	0x68UL
1688 #define XMAC_REG_PFC_CTRL \
1689 	0x70UL
1690 #define XMAC_REG_PFC_CTRL_HI \
1691 	0x74UL
1692 #define XMAC_REG_RX_LSS_CTRL \
1693 	0x50UL
1694 #define XMAC_REG_RX_LSS_STATUS \
1695 	0x58UL
1696 #define XMAC_REG_RX_MAX_SIZE \
1697 	0x40UL
1698 #define XMAC_REG_TX_CTRL \
1699 	0x20UL
1700 #define XMAC_RX_LSS_CTRL_REG_LOCAL_FAULT_DISABLE \
1701 	(0x1<<0)
1702 #define XMAC_RX_LSS_CTRL_REG_REMOTE_FAULT_DISABLE \
1703 	(0x1<<1)
1704 #define XSDM_REG_OPERATION_GEN \
1705 	0x1664c4UL
1706 #define XSDM_REG_XSDM_INT_MASK_0 \
1707 	0x16629cUL
1708 #define XSDM_REG_XSDM_INT_MASK_1 \
1709 	0x1662acUL
1710 #define XSDM_REG_XSDM_PRTY_MASK \
1711 	0x1662bcUL
1712 #define XSDM_REG_XSDM_PRTY_STS_CLR \
1713 	0x1662b4UL
1714 #define XSEM_REG_FAST_MEMORY \
1715 	0x2a0000UL
1716 #define XSEM_REG_INT_TABLE \
1717 	0x280400UL
1718 #define XSEM_REG_PASSIVE_BUFFER \
1719 	0x282000UL
1720 #define XSEM_REG_PRAM \
1721 	0x2c0000UL
1722 #define XSEM_REG_VFPF_ERR_NUM \
1723 	0x280380UL
1724 #define XSEM_REG_XSEM_INT_MASK_0 \
1725 	0x280110UL
1726 #define XSEM_REG_XSEM_INT_MASK_1 \
1727 	0x280120UL
1728 #define XSEM_REG_XSEM_PRTY_MASK_0 \
1729 	0x280130UL
1730 #define XSEM_REG_XSEM_PRTY_MASK_1 \
1731 	0x280140UL
1732 #define XSEM_REG_XSEM_PRTY_STS_CLR_0 \
1733 	0x280128UL
1734 #define XSEM_REG_XSEM_PRTY_STS_CLR_1 \
1735 	0x280138UL
1736 #define MCPR_ACCESS_LOCK_LOCK			     (1L<<31)
1737 #define MCPR_IMC_COMMAND_ENABLE			    (1L<<31)
1738 #define MCPR_IMC_COMMAND_IMC_STATUS_BITSHIFT	    16
1739 #define MCPR_IMC_COMMAND_OPERATION_BITSHIFT	    28
1740 #define MCPR_IMC_COMMAND_TRANSFER_ADDRESS_BITSHIFT  8
1741 #define MCPR_NVM_ACCESS_ENABLE_EN		     (1L<<0)
1742 #define MCPR_NVM_ACCESS_ENABLE_WR_EN		     (1L<<1)
1743 #define MCPR_NVM_ADDR_NVM_ADDR_VALUE		     (0xffffffL<<0)
1744 #define MCPR_NVM_CFG4_FLASH_SIZE		     (0x7L<<0)
1745 #define MCPR_NVM_COMMAND_DOIT			     (1L<<4)
1746 #define MCPR_NVM_COMMAND_DONE			     (1L<<3)
1747 #define MCPR_NVM_COMMAND_FIRST			     (1L<<7)
1748 #define MCPR_NVM_COMMAND_LAST			     (1L<<8)
1749 #define MCPR_NVM_COMMAND_WR			     (1L<<5)
1750 #define MCPR_NVM_SW_ARB_ARB_ARB1		     (1L<<9)
1751 #define MCPR_NVM_SW_ARB_ARB_REQ_CLR1		     (1L<<5)
1752 #define MCPR_NVM_SW_ARB_ARB_REQ_SET1		     (1L<<1)
1753 
1754 
1755 #define BIGMAC_REGISTER_BMAC_CONTROL	    (0x00<<3)
1756 #define BIGMAC_REGISTER_BMAC_XGXS_CONTROL   (0x01<<3)
1757 #define BIGMAC_REGISTER_CNT_MAX_SIZE	    (0x05<<3)
1758 #define BIGMAC_REGISTER_RX_CONTROL	    (0x21<<3)
1759 #define BIGMAC_REGISTER_RX_LLFC_MSG_FLDS    (0x46<<3)
1760 #define BIGMAC_REGISTER_RX_LSS_STATUS	    (0x43<<3)
1761 #define BIGMAC_REGISTER_RX_MAX_SIZE	    (0x23<<3)
1762 #define BIGMAC_REGISTER_RX_STAT_GR64	    (0x26<<3)
1763 #define BIGMAC_REGISTER_RX_STAT_GRIPJ	    (0x42<<3)
1764 #define BIGMAC_REGISTER_TX_CONTROL	    (0x07<<3)
1765 #define BIGMAC_REGISTER_TX_MAX_SIZE	    (0x09<<3)
1766 #define BIGMAC_REGISTER_TX_PAUSE_THRESHOLD  (0x0A<<3)
1767 #define BIGMAC_REGISTER_TX_SOURCE_ADDR	    (0x08<<3)
1768 #define BIGMAC_REGISTER_TX_STAT_GTBYT	    (0x20<<3)
1769 #define BIGMAC_REGISTER_TX_STAT_GTPKT	    (0x0C<<3)
1770 #define BIGMAC2_REGISTER_BMAC_CONTROL	    (0x00<<3)
1771 #define BIGMAC2_REGISTER_BMAC_XGXS_CONTROL  (0x01<<3)
1772 #define BIGMAC2_REGISTER_CNT_MAX_SIZE	    (0x05<<3)
1773 #define BIGMAC2_REGISTER_PFC_CONTROL	    (0x06<<3)
1774 #define BIGMAC2_REGISTER_RX_CONTROL	    (0x3A<<3)
1775 #define BIGMAC2_REGISTER_RX_LLFC_MSG_FLDS   (0x62<<3)
1776 #define BIGMAC2_REGISTER_RX_LSS_STAT	    (0x3E<<3)
1777 #define BIGMAC2_REGISTER_RX_MAX_SIZE	    (0x3C<<3)
1778 #define BIGMAC2_REGISTER_RX_STAT_GR64	    (0x40<<3)
1779 #define BIGMAC2_REGISTER_RX_STAT_GRIPJ	    (0x5f<<3)
1780 #define BIGMAC2_REGISTER_TX_CONTROL	    (0x1C<<3)
1781 #define BIGMAC2_REGISTER_TX_MAX_SIZE	    (0x1E<<3)
1782 #define BIGMAC2_REGISTER_TX_PAUSE_CONTROL   (0x20<<3)
1783 #define BIGMAC2_REGISTER_TX_SOURCE_ADDR	    (0x1D<<3)
1784 #define BIGMAC2_REGISTER_TX_STAT_GTBYT	    (0x39<<3)
1785 #define BIGMAC2_REGISTER_TX_STAT_GTPOK	    (0x22<<3)
1786 
1787 
1788 #define EMAC_LED_1000MB_OVERRIDE		   (1L<<1)
1789 #define EMAC_LED_100MB_OVERRIDE			   (1L<<2)
1790 #define EMAC_LED_10MB_OVERRIDE			   (1L<<3)
1791 #define EMAC_LED_OVERRIDE			   (1L<<0)
1792 #define EMAC_MDIO_COMM_COMMAND_ADDRESS	       (0L<<26)
1793 #define EMAC_MDIO_COMM_COMMAND_READ_22	       (2L<<26)
1794 #define EMAC_MDIO_COMM_COMMAND_READ_45	       (3L<<26)
1795 #define EMAC_MDIO_COMM_COMMAND_WRITE_22	       (1L<<26)
1796 #define EMAC_MDIO_COMM_COMMAND_WRITE_45	       (1L<<26)
1797 #define EMAC_MDIO_COMM_DATA			   (0xffffL<<0)
1798 #define EMAC_MDIO_COMM_START_BUSY		   (1L<<29)
1799 #define EMAC_MDIO_MODE_AUTO_POLL		   (1L<<4)
1800 #define EMAC_MDIO_MODE_CLAUSE_45		   (1L<<31)
1801 #define EMAC_MDIO_MODE_CLOCK_CNT		   (0x3ffL<<16)
1802 #define EMAC_MDIO_MODE_CLOCK_CNT_BITSHIFT	   16
1803 #define EMAC_MDIO_STATUS_10MB			   (1L<<1)
1804 #define EMAC_MODE_25G_MODE			   (1L<<5)
1805 #define EMAC_MODE_HALF_DUPLEX			   (1L<<1)
1806 #define EMAC_MODE_PORT_GMII		       (2L<<2)
1807 #define EMAC_MODE_PORT_MII		       (1L<<2)
1808 #define EMAC_MODE_PORT_MII_10M		       (3L<<2)
1809 #define EMAC_MODE_RESET				   (1L<<0)
1810 #define EMAC_REG_EMAC_LED					  0xc
1811 #define EMAC_REG_EMAC_MAC_MATCH					  0x10
1812 #define EMAC_REG_EMAC_MDIO_COMM					  0xac
1813 #define EMAC_REG_EMAC_MDIO_MODE					  0xb4
1814 #define EMAC_REG_EMAC_MDIO_STATUS				  0xb0
1815 #define EMAC_REG_EMAC_MODE					  0x0
1816 #define EMAC_REG_EMAC_RX_MODE					  0xc8
1817 #define EMAC_REG_EMAC_RX_MTU_SIZE				  0x9c
1818 #define EMAC_REG_EMAC_RX_STAT_AC				  0x180
1819 #define EMAC_REG_EMAC_RX_STAT_AC_28				  0x1f4
1820 #define EMAC_REG_EMAC_RX_STAT_AC_COUNT				  23
1821 #define EMAC_REG_EMAC_TX_MODE					  0xbc
1822 #define EMAC_REG_EMAC_TX_STAT_AC				  0x280
1823 #define EMAC_REG_EMAC_TX_STAT_AC_COUNT				  22
1824 #define EMAC_REG_RX_PFC_MODE					  0x320
1825 #define EMAC_REG_RX_PFC_MODE_PRIORITIES			  (1L<<2)
1826 #define EMAC_REG_RX_PFC_MODE_RX_EN			  (1L<<1)
1827 #define EMAC_REG_RX_PFC_MODE_TX_EN			  (1L<<0)
1828 #define EMAC_REG_RX_PFC_PARAM					  0x324
1829 #define EMAC_REG_RX_PFC_PARAM_OPCODE_BITSHIFT		  0
1830 #define EMAC_REG_RX_PFC_PARAM_PRIORITY_EN_BITSHIFT	  16
1831 #define EMAC_REG_RX_PFC_STATS_XOFF_RCVD			    0x328
1832 #define EMAC_REG_RX_PFC_STATS_XOFF_RCVD_COUNT		(0xffff<<0)
1833 #define EMAC_REG_RX_PFC_STATS_XOFF_SENT			    0x330
1834 #define EMAC_REG_RX_PFC_STATS_XOFF_SENT_COUNT		(0xffff<<0)
1835 #define EMAC_REG_RX_PFC_STATS_XON_RCVD			    0x32c
1836 #define EMAC_REG_RX_PFC_STATS_XON_RCVD_COUNT		(0xffff<<0)
1837 #define EMAC_REG_RX_PFC_STATS_XON_SENT			    0x334
1838 #define EMAC_REG_RX_PFC_STATS_XON_SENT_COUNT		(0xffff<<0)
1839 #define EMAC_RX_MODE_FLOW_EN			   (1L<<2)
1840 #define EMAC_RX_MODE_KEEP_MAC_CONTROL		   (1L<<3)
1841 #define EMAC_RX_MODE_KEEP_VLAN_TAG		   (1L<<10)
1842 #define EMAC_RX_MODE_PROMISCUOUS		   (1L<<8)
1843 #define EMAC_RX_MODE_RESET			   (1L<<0)
1844 #define EMAC_RX_MTU_SIZE_JUMBO_ENA		   (1L<<31)
1845 #define EMAC_TX_MODE_EXT_PAUSE_EN		   (1L<<3)
1846 #define EMAC_TX_MODE_FLOW_EN			   (1L<<4)
1847 #define EMAC_TX_MODE_RESET			   (1L<<0)
1848 
1849 
1850 #define MISC_REGISTERS_GPIO_0			 0
1851 #define MISC_REGISTERS_GPIO_1			 1
1852 #define MISC_REGISTERS_GPIO_2			 2
1853 #define MISC_REGISTERS_GPIO_3			 3
1854 #define MISC_REGISTERS_GPIO_CLR_POS		 16
1855 #define MISC_REGISTERS_GPIO_FLOAT		 (0xffL<<24)
1856 #define MISC_REGISTERS_GPIO_FLOAT_POS		 24
1857 #define MISC_REGISTERS_GPIO_HIGH		 1
1858 #define MISC_REGISTERS_GPIO_INPUT_HI_Z		 2
1859 #define MISC_REGISTERS_GPIO_INT_CLR_POS		 24
1860 #define MISC_REGISTERS_GPIO_INT_OUTPUT_CLR	 0
1861 #define MISC_REGISTERS_GPIO_INT_OUTPUT_SET	 1
1862 #define MISC_REGISTERS_GPIO_INT_SET_POS		 16
1863 #define MISC_REGISTERS_GPIO_LOW			 0
1864 #define MISC_REGISTERS_GPIO_OUTPUT_HIGH		 1
1865 #define MISC_REGISTERS_GPIO_OUTPUT_LOW		 0
1866 #define MISC_REGISTERS_GPIO_PORT_SHIFT		 4
1867 #define MISC_REGISTERS_GPIO_SET_POS		 8
1868 #define MISC_REGISTERS_RESET_REG_1_CLEAR				0x588
1869 #define MISC_REGISTERS_RESET_REG_1_RST_BRB1				(0x1<<0)
1870 #define MISC_REGISTERS_RESET_REG_1_RST_DORQ \
1871 	(0x1<<19)
1872 #define MISC_REGISTERS_RESET_REG_1_RST_HC \
1873 	(0x1<<29)
1874 #define MISC_REGISTERS_RESET_REG_1_RST_PXP \
1875 	(0x1<<26)
1876 #define MISC_REGISTERS_RESET_REG_1_RST_PXPV \
1877 	(0x1<<27)
1878 #define MISC_REGISTERS_RESET_REG_1_RST_QM \
1879 	(0x1<<17)
1880 #define MISC_REGISTERS_RESET_REG_1_SET					0x584
1881 #define MISC_REGISTERS_RESET_REG_2_CLEAR				0x598
1882 #define MISC_REGISTERS_RESET_REG_2_MSTAT0 \
1883 	(0x1<<24)
1884 #define MISC_REGISTERS_RESET_REG_2_MSTAT1 \
1885 	(0x1<<25)
1886 #define MISC_REGISTERS_RESET_REG_2_PGLC \
1887 	(0x1<<19)
1888 #define MISC_REGISTERS_RESET_REG_2_RST_ATC \
1889 	(0x1<<17)
1890 #define MISC_REGISTERS_RESET_REG_2_RST_BMAC0				(0x1<<0)
1891 #define MISC_REGISTERS_RESET_REG_2_RST_BMAC1				(0x1<<1)
1892 #define MISC_REGISTERS_RESET_REG_2_RST_EMAC0				(0x1<<2)
1893 #define MISC_REGISTERS_RESET_REG_2_RST_EMAC0_HARD_CORE \
1894 	(0x1<<14)
1895 #define MISC_REGISTERS_RESET_REG_2_RST_EMAC1				(0x1<<3)
1896 #define MISC_REGISTERS_RESET_REG_2_RST_EMAC1_HARD_CORE \
1897 	(0x1<<15)
1898 #define MISC_REGISTERS_RESET_REG_2_RST_GRC				(0x1<<4)
1899 #define MISC_REGISTERS_RESET_REG_2_RST_MCP_N_HARD_CORE_RST_B		(0x1<<6)
1900 #define MISC_REGISTERS_RESET_REG_2_RST_MCP_N_RESET_CMN_CORE		(0x1<<8)
1901 #define MISC_REGISTERS_RESET_REG_2_RST_MCP_N_RESET_CMN_CPU		(0x1<<7)
1902 #define MISC_REGISTERS_RESET_REG_2_RST_MCP_N_RESET_REG_HARD_CORE	(0x1<<5)
1903 #define MISC_REGISTERS_RESET_REG_2_RST_MISC_CORE \
1904 	(0x1<<11)
1905 #define MISC_REGISTERS_RESET_REG_2_RST_PCI_MDIO \
1906 	(0x1<<13)
1907 #define MISC_REGISTERS_RESET_REG_2_RST_PXP_RQ_RD_WR \
1908 	(0x1<<16)
1909 #define MISC_REGISTERS_RESET_REG_2_RST_RBCN				(0x1<<9)
1910 #define MISC_REGISTERS_RESET_REG_2_SET					0x594
1911 #define MISC_REGISTERS_RESET_REG_2_UMAC0 \
1912 	(0x1<<20)
1913 #define MISC_REGISTERS_RESET_REG_2_UMAC1 \
1914 	(0x1<<21)
1915 #define MISC_REGISTERS_RESET_REG_2_XMAC \
1916 	(0x1<<22)
1917 #define MISC_REGISTERS_RESET_REG_2_XMAC_SOFT \
1918 	(0x1<<23)
1919 #define MISC_REGISTERS_RESET_REG_3_CLEAR				0x5a8
1920 #define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_SERDES0_IDDQ		(0x1<<1)
1921 #define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_SERDES0_PWRDWN		(0x1<<2)
1922 #define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_SERDES0_PWRDWN_SD	(0x1<<3)
1923 #define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_SERDES0_RSTB_HW		(0x1<<0)
1924 #define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_XGXS0_IDDQ		(0x1<<5)
1925 #define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_XGXS0_PWRDWN		(0x1<<6)
1926 #define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_XGXS0_PWRDWN_SD		(0x1<<7)
1927 #define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_XGXS0_RSTB_HW		(0x1<<4)
1928 #define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_XGXS0_TXD_FIFO_RSTB	(0x1<<8)
1929 #define MISC_REGISTERS_RESET_REG_3_SET					0x5a4
1930 #define MISC_SPIO_CLR_POS	       16
1931 #define MISC_SPIO_FLOAT		       (0xffL<<24)
1932 #define MISC_SPIO_FLOAT_POS	       24
1933 #define MISC_SPIO_INPUT_HI_Z	       2
1934 #define MISC_SPIO_INT_OLD_SET_POS      16
1935 #define MISC_SPIO_OUTPUT_HIGH	       1
1936 #define MISC_SPIO_OUTPUT_LOW	       0
1937 #define MISC_SPIO_SET_POS	       8
1938 #define MISC_SPIO_SPIO4		       0x10
1939 #define MISC_SPIO_SPIO5		       0x20
1940 #define HW_LOCK_MAX_RESOURCE_VALUE		 31
1941 #define HW_LOCK_RESOURCE_DRV_FLAGS		 10
1942 #define HW_LOCK_RESOURCE_GPIO			 1
1943 #define HW_LOCK_RESOURCE_MDIO			 0
1944 #define HW_LOCK_RESOURCE_NVRAM			 12
1945 #define HW_LOCK_RESOURCE_PORT0_ATT_MASK		 3
1946 #define HW_LOCK_RESOURCE_RECOVERY_LEADER_0	 8
1947 #define HW_LOCK_RESOURCE_RECOVERY_LEADER_1	 9
1948 #define HW_LOCK_RESOURCE_RECOVERY_REG		 11
1949 #define HW_LOCK_RESOURCE_RESET			 5
1950 #define HW_LOCK_RESOURCE_SPIO			 2
1951 
1952 
1953 #define AEU_INPUTS_ATTN_BITS_ATC_HW_INTERRUPT		      (0x1<<4)
1954 #define AEU_INPUTS_ATTN_BITS_ATC_PARITY_ERROR		      (0x1<<5)
1955 #define AEU_INPUTS_ATTN_BITS_BRB_HW_INTERRUPT		      (0x1<<19)
1956 #define AEU_INPUTS_ATTN_BITS_BRB_PARITY_ERROR		      (0x1<<18)
1957 #define AEU_INPUTS_ATTN_BITS_CCM_HW_INTERRUPT		      (0x1<<31)
1958 #define AEU_INPUTS_ATTN_BITS_CCM_PARITY_ERROR		      (0x1<<30)
1959 #define AEU_INPUTS_ATTN_BITS_CDU_HW_INTERRUPT		      (0x1<<9)
1960 #define AEU_INPUTS_ATTN_BITS_CDU_PARITY_ERROR		      (0x1<<8)
1961 #define AEU_INPUTS_ATTN_BITS_CFC_HW_INTERRUPT		      (0x1<<7)
1962 #define AEU_INPUTS_ATTN_BITS_CFC_PARITY_ERROR		      (0x1<<6)
1963 #define AEU_INPUTS_ATTN_BITS_CSDM_HW_INTERRUPT		      (0x1<<29)
1964 #define AEU_INPUTS_ATTN_BITS_CSDM_PARITY_ERROR		      (0x1<<28)
1965 #define AEU_INPUTS_ATTN_BITS_CSEMI_HW_INTERRUPT		      (0x1<<1)
1966 #define AEU_INPUTS_ATTN_BITS_CSEMI_PARITY_ERROR		      (0x1<<0)
1967 #define AEU_INPUTS_ATTN_BITS_DEBUG_PARITY_ERROR		      (0x1<<18)
1968 #define AEU_INPUTS_ATTN_BITS_DMAE_HW_INTERRUPT		      (0x1<<11)
1969 #define AEU_INPUTS_ATTN_BITS_DMAE_PARITY_ERROR		      (0x1<<10)
1970 #define AEU_INPUTS_ATTN_BITS_DOORBELLQ_HW_INTERRUPT	      (0x1<<13)
1971 #define AEU_INPUTS_ATTN_BITS_DOORBELLQ_PARITY_ERROR	      (0x1<<12)
1972 #define AEU_INPUTS_ATTN_BITS_GPIO0_FUNCTION_0		      (0x1<<2)
1973 #define AEU_INPUTS_ATTN_BITS_IGU_PARITY_ERROR		      (0x1<<12)
1974 #define AEU_INPUTS_ATTN_BITS_MCP_LATCHED_ROM_PARITY	      (0x1<<28)
1975 #define AEU_INPUTS_ATTN_BITS_MCP_LATCHED_SCPAD_PARITY	      (0x1UL<<31)
1976 #define AEU_INPUTS_ATTN_BITS_MCP_LATCHED_UMP_RX_PARITY	      (0x1<<29)
1977 #define AEU_INPUTS_ATTN_BITS_MCP_LATCHED_UMP_TX_PARITY	      (0x1<<30)
1978 #define AEU_INPUTS_ATTN_BITS_MISC_HW_INTERRUPT		      (0x1<<15)
1979 #define AEU_INPUTS_ATTN_BITS_MISC_PARITY_ERROR		      (0x1<<14)
1980 #define AEU_INPUTS_ATTN_BITS_NIG_PARITY_ERROR		      (0x1<<14)
1981 #define AEU_INPUTS_ATTN_BITS_PARSER_PARITY_ERROR	      (0x1<<20)
1982 #define AEU_INPUTS_ATTN_BITS_PBCLIENT_HW_INTERRUPT	      (0x1UL<<31)
1983 #define AEU_INPUTS_ATTN_BITS_PBCLIENT_PARITY_ERROR	      (0x1<<30)
1984 #define AEU_INPUTS_ATTN_BITS_PBF_PARITY_ERROR		      (0x1<<0)
1985 #define AEU_INPUTS_ATTN_BITS_PGLUE_HW_INTERRUPT		      (0x1<<2)
1986 #define AEU_INPUTS_ATTN_BITS_PGLUE_PARITY_ERROR		      (0x1<<3)
1987 #define AEU_INPUTS_ATTN_BITS_PXPPCICLOCKCLIENT_HW_INTERRUPT   (0x1<<5)
1988 #define AEU_INPUTS_ATTN_BITS_PXPPCICLOCKCLIENT_PARITY_ERROR   (0x1<<4)
1989 #define AEU_INPUTS_ATTN_BITS_PXP_HW_INTERRUPT		      (0x1<<3)
1990 #define AEU_INPUTS_ATTN_BITS_PXP_PARITY_ERROR		      (0x1<<2)
1991 #define AEU_INPUTS_ATTN_BITS_QM_HW_INTERRUPT		      (0x1<<3)
1992 #define AEU_INPUTS_ATTN_BITS_QM_PARITY_ERROR		      (0x1<<2)
1993 #define AEU_INPUTS_ATTN_BITS_SEARCHER_PARITY_ERROR	      (0x1<<22)
1994 #define AEU_INPUTS_ATTN_BITS_SPIO5			      (0x1<<15)
1995 #define AEU_INPUTS_ATTN_BITS_TCM_HW_INTERRUPT		      (0x1<<27)
1996 #define AEU_INPUTS_ATTN_BITS_TCM_PARITY_ERROR		      (0x1<<26)
1997 #define AEU_INPUTS_ATTN_BITS_TIMERS_HW_INTERRUPT	      (0x1<<5)
1998 #define AEU_INPUTS_ATTN_BITS_TIMERS_PARITY_ERROR	      (0x1<<4)
1999 #define AEU_INPUTS_ATTN_BITS_TSDM_HW_INTERRUPT		      (0x1<<25)
2000 #define AEU_INPUTS_ATTN_BITS_TSDM_PARITY_ERROR		      (0x1<<24)
2001 #define AEU_INPUTS_ATTN_BITS_TSEMI_HW_INTERRUPT		      (0x1<<29)
2002 #define AEU_INPUTS_ATTN_BITS_TSEMI_PARITY_ERROR		      (0x1<<28)
2003 #define AEU_INPUTS_ATTN_BITS_UCM_HW_INTERRUPT		      (0x1<<23)
2004 #define AEU_INPUTS_ATTN_BITS_UCM_PARITY_ERROR		      (0x1<<22)
2005 #define AEU_INPUTS_ATTN_BITS_UPB_HW_INTERRUPT		      (0x1<<27)
2006 #define AEU_INPUTS_ATTN_BITS_UPB_PARITY_ERROR		      (0x1<<26)
2007 #define AEU_INPUTS_ATTN_BITS_USDM_HW_INTERRUPT		      (0x1<<21)
2008 #define AEU_INPUTS_ATTN_BITS_USDM_PARITY_ERROR		      (0x1<<20)
2009 #define AEU_INPUTS_ATTN_BITS_USEMI_HW_INTERRUPT		      (0x1<<25)
2010 #define AEU_INPUTS_ATTN_BITS_USEMI_PARITY_ERROR		      (0x1<<24)
2011 #define AEU_INPUTS_ATTN_BITS_VAUX_PCI_CORE_PARITY_ERROR	      (0x1<<16)
2012 #define AEU_INPUTS_ATTN_BITS_XCM_HW_INTERRUPT		      (0x1<<9)
2013 #define AEU_INPUTS_ATTN_BITS_XCM_PARITY_ERROR		      (0x1<<8)
2014 #define AEU_INPUTS_ATTN_BITS_XSDM_HW_INTERRUPT		      (0x1<<7)
2015 #define AEU_INPUTS_ATTN_BITS_XSDM_PARITY_ERROR		      (0x1<<6)
2016 #define AEU_INPUTS_ATTN_BITS_XSEMI_HW_INTERRUPT		      (0x1<<11)
2017 #define AEU_INPUTS_ATTN_BITS_XSEMI_PARITY_ERROR		      (0x1<<10)
2018 #define HW_PRTY_ASSERT_SET_0 \
2019 (AEU_INPUTS_ATTN_BITS_BRB_PARITY_ERROR	    |\
2020   AEU_INPUTS_ATTN_BITS_PARSER_PARITY_ERROR   |\
2021   AEU_INPUTS_ATTN_BITS_TSDM_PARITY_ERROR     |\
2022   AEU_INPUTS_ATTN_BITS_SEARCHER_PARITY_ERROR |\
2023   AEU_INPUTS_ATTN_BITS_TSEMI_PARITY_ERROR |\
2024   AEU_INPUTS_ATTN_BITS_TCM_PARITY_ERROR |\
2025   AEU_INPUTS_ATTN_BITS_PBCLIENT_PARITY_ERROR)
2026 #define HW_PRTY_ASSERT_SET_1 \
2027 (AEU_INPUTS_ATTN_BITS_PBF_PARITY_ERROR		 |\
2028   AEU_INPUTS_ATTN_BITS_QM_PARITY_ERROR		  |\
2029   AEU_INPUTS_ATTN_BITS_TIMERS_PARITY_ERROR	  |\
2030   AEU_INPUTS_ATTN_BITS_XSDM_PARITY_ERROR	  |\
2031   AEU_INPUTS_ATTN_BITS_XCM_PARITY_ERROR		  |\
2032   AEU_INPUTS_ATTN_BITS_XSEMI_PARITY_ERROR	  |\
2033   AEU_INPUTS_ATTN_BITS_DOORBELLQ_PARITY_ERROR	  |\
2034   AEU_INPUTS_ATTN_BITS_NIG_PARITY_ERROR		  |\
2035   AEU_INPUTS_ATTN_BITS_VAUX_PCI_CORE_PARITY_ERROR |\
2036   AEU_INPUTS_ATTN_BITS_DEBUG_PARITY_ERROR	  |\
2037   AEU_INPUTS_ATTN_BITS_USDM_PARITY_ERROR	  |\
2038   AEU_INPUTS_ATTN_BITS_UCM_PARITY_ERROR		  |\
2039   AEU_INPUTS_ATTN_BITS_USEMI_PARITY_ERROR	  |\
2040   AEU_INPUTS_ATTN_BITS_UPB_PARITY_ERROR		  |\
2041   AEU_INPUTS_ATTN_BITS_CSDM_PARITY_ERROR	  |\
2042   AEU_INPUTS_ATTN_BITS_CCM_PARITY_ERROR)
2043 #define HW_PRTY_ASSERT_SET_2 \
2044 (AEU_INPUTS_ATTN_BITS_CSEMI_PARITY_ERROR	     |\
2045   AEU_INPUTS_ATTN_BITS_PXP_PARITY_ERROR		      |\
2046   AEU_INPUTS_ATTN_BITS_PXPPCICLOCKCLIENT_PARITY_ERROR |\
2047   AEU_INPUTS_ATTN_BITS_CFC_PARITY_ERROR		      |\
2048   AEU_INPUTS_ATTN_BITS_CDU_PARITY_ERROR		      |\
2049   AEU_INPUTS_ATTN_BITS_DMAE_PARITY_ERROR	      |\
2050   AEU_INPUTS_ATTN_BITS_IGU_PARITY_ERROR		      |\
2051   AEU_INPUTS_ATTN_BITS_MISC_PARITY_ERROR)
2052 #define HW_PRTY_ASSERT_SET_3 \
2053 (AEU_INPUTS_ATTN_BITS_MCP_LATCHED_ROM_PARITY	     | \
2054   AEU_INPUTS_ATTN_BITS_MCP_LATCHED_UMP_RX_PARITY      | \
2055   AEU_INPUTS_ATTN_BITS_MCP_LATCHED_UMP_TX_PARITY      | \
2056   AEU_INPUTS_ATTN_BITS_MCP_LATCHED_SCPAD_PARITY)
2057 #define HW_PRTY_ASSERT_SET_4 \
2058 (AEU_INPUTS_ATTN_BITS_PGLUE_PARITY_ERROR |\
2059   AEU_INPUTS_ATTN_BITS_ATC_PARITY_ERROR)
2060 #define HW_INTERRUT_ASSERT_SET_0 \
2061 (AEU_INPUTS_ATTN_BITS_TSDM_HW_INTERRUPT  |\
2062   AEU_INPUTS_ATTN_BITS_TCM_HW_INTERRUPT   |\
2063   AEU_INPUTS_ATTN_BITS_TSEMI_HW_INTERRUPT |\
2064   AEU_INPUTS_ATTN_BITS_BRB_HW_INTERRUPT   |\
2065   AEU_INPUTS_ATTN_BITS_PBCLIENT_HW_INTERRUPT)
2066 #define HW_INTERRUT_ASSERT_SET_1 \
2067 (AEU_INPUTS_ATTN_BITS_QM_HW_INTERRUPT	    |\
2068   AEU_INPUTS_ATTN_BITS_TIMERS_HW_INTERRUPT   |\
2069   AEU_INPUTS_ATTN_BITS_XSDM_HW_INTERRUPT     |\
2070   AEU_INPUTS_ATTN_BITS_XCM_HW_INTERRUPT      |\
2071   AEU_INPUTS_ATTN_BITS_XSEMI_HW_INTERRUPT    |\
2072   AEU_INPUTS_ATTN_BITS_USDM_HW_INTERRUPT     |\
2073   AEU_INPUTS_ATTN_BITS_UCM_HW_INTERRUPT      |\
2074   AEU_INPUTS_ATTN_BITS_USEMI_HW_INTERRUPT    |\
2075   AEU_INPUTS_ATTN_BITS_UPB_HW_INTERRUPT      |\
2076   AEU_INPUTS_ATTN_BITS_CSDM_HW_INTERRUPT     |\
2077   AEU_INPUTS_ATTN_BITS_CCM_HW_INTERRUPT)
2078 #define HW_INTERRUT_ASSERT_SET_2 \
2079 (AEU_INPUTS_ATTN_BITS_CSEMI_HW_INTERRUPT	       |\
2080   AEU_INPUTS_ATTN_BITS_PXP_HW_INTERRUPT			|\
2081   AEU_INPUTS_ATTN_BITS_CFC_HW_INTERRUPT			|\
2082   AEU_INPUTS_ATTN_BITS_CDU_HW_INTERRUPT			|\
2083   AEU_INPUTS_ATTN_BITS_DMAE_HW_INTERRUPT		|\
2084   AEU_INPUTS_ATTN_BITS_PXPPCICLOCKCLIENT_HW_INTERRUPT	|\
2085   AEU_INPUTS_ATTN_BITS_MISC_HW_INTERRUPT)
2086 
2087 
2088 #define RESERVED_GENERAL_ATTENTION_BIT_0	0
2089 
2090 #define EVEREST_GEN_ATTN_IN_USE_MASK		0x7ffe0
2091 #define EVEREST_LATCHED_ATTN_IN_USE_MASK	0xffe00000
2092 
2093 #define RESERVED_GENERAL_ATTENTION_BIT_6	6
2094 #define RESERVED_GENERAL_ATTENTION_BIT_7	7
2095 #define RESERVED_GENERAL_ATTENTION_BIT_8	8
2096 #define RESERVED_GENERAL_ATTENTION_BIT_9	9
2097 #define RESERVED_GENERAL_ATTENTION_BIT_10	10
2098 #define RESERVED_GENERAL_ATTENTION_BIT_11	11
2099 #define RESERVED_GENERAL_ATTENTION_BIT_12	12
2100 #define RESERVED_GENERAL_ATTENTION_BIT_13	13
2101 #define RESERVED_GENERAL_ATTENTION_BIT_14	14
2102 #define RESERVED_GENERAL_ATTENTION_BIT_15	15
2103 #define RESERVED_GENERAL_ATTENTION_BIT_16	16
2104 #define RESERVED_GENERAL_ATTENTION_BIT_17	17
2105 #define RESERVED_GENERAL_ATTENTION_BIT_18	18
2106 #define RESERVED_GENERAL_ATTENTION_BIT_19	19
2107 #define RESERVED_GENERAL_ATTENTION_BIT_20	20
2108 #define RESERVED_GENERAL_ATTENTION_BIT_21	21
2109 
2110 /* storm asserts attention bits */
2111 #define TSTORM_FATAL_ASSERT_ATTENTION_BIT     RESERVED_GENERAL_ATTENTION_BIT_7
2112 #define USTORM_FATAL_ASSERT_ATTENTION_BIT     RESERVED_GENERAL_ATTENTION_BIT_8
2113 #define CSTORM_FATAL_ASSERT_ATTENTION_BIT     RESERVED_GENERAL_ATTENTION_BIT_9
2114 #define XSTORM_FATAL_ASSERT_ATTENTION_BIT     RESERVED_GENERAL_ATTENTION_BIT_10
2115 
2116 /* mcp error attention bit */
2117 #define MCP_FATAL_ASSERT_ATTENTION_BIT	      RESERVED_GENERAL_ATTENTION_BIT_11
2118 
2119 /*E1H NIG status sync attention mapped to group 4-7*/
2120 #define LINK_SYNC_ATTENTION_BIT_FUNC_0	    RESERVED_GENERAL_ATTENTION_BIT_12
2121 #define LINK_SYNC_ATTENTION_BIT_FUNC_1	    RESERVED_GENERAL_ATTENTION_BIT_13
2122 #define LINK_SYNC_ATTENTION_BIT_FUNC_2	    RESERVED_GENERAL_ATTENTION_BIT_14
2123 #define LINK_SYNC_ATTENTION_BIT_FUNC_3	    RESERVED_GENERAL_ATTENTION_BIT_15
2124 #define LINK_SYNC_ATTENTION_BIT_FUNC_4	    RESERVED_GENERAL_ATTENTION_BIT_16
2125 #define LINK_SYNC_ATTENTION_BIT_FUNC_5	    RESERVED_GENERAL_ATTENTION_BIT_17
2126 #define LINK_SYNC_ATTENTION_BIT_FUNC_6	    RESERVED_GENERAL_ATTENTION_BIT_18
2127 #define LINK_SYNC_ATTENTION_BIT_FUNC_7	    RESERVED_GENERAL_ATTENTION_BIT_19
2128 
2129 	/* Used For Error Recovery: changing this will require more \
2130 	changes in code that assume
2131  * error recovery uses general attn bit20 ! */
2132 #define ERROR_RECOVERY_ATTENTION_BIT \
2133 	RESERVED_GENERAL_ATTENTION_BIT_20
2134 #define RESERVED_ATTENTION_BIT \
2135 	RESERVED_GENERAL_ATTENTION_BIT_21
2136 
2137 #define LATCHED_ATTN_RBCR			23
2138 #define LATCHED_ATTN_RBCT			24
2139 #define LATCHED_ATTN_RBCN			25
2140 #define LATCHED_ATTN_RBCU			26
2141 #define LATCHED_ATTN_RBCP			27
2142 #define LATCHED_ATTN_TIMEOUT_GRC		28
2143 #define LATCHED_ATTN_RSVD_GRC			29
2144 #define LATCHED_ATTN_ROM_PARITY_MCP		30
2145 #define LATCHED_ATTN_UM_RX_PARITY_MCP		31
2146 #define LATCHED_ATTN_UM_TX_PARITY_MCP		32
2147 #define LATCHED_ATTN_SCPAD_PARITY_MCP		33
2148 
2149 #define GENERAL_ATTEN_WORD(atten_name)	       ((94 + atten_name) / 32)
2150 #define GENERAL_ATTEN_OFFSET(atten_name)       (1UL << ((94 + atten_name) % 32))
2151 
2152 
2153 /*
2154  * This file defines GRC base address for every block.
2155  * This file is included by chipsim, asm microcode and cpp microcode.
2156  * These values are used in Design.xml on regBase attribute
2157  * Use the base with the generated offsets of specific registers.
2158  */
2159 
2160 #define GRCBASE_PXPCS	    0x000000
2161 #define GRCBASE_PCICONFIG   0x002000
2162 #define GRCBASE_PCIREG	    0x002400
2163 #define GRCBASE_EMAC0	    0x008000
2164 #define GRCBASE_EMAC1	    0x008400
2165 #define GRCBASE_DBU		0x008800
2166 #define GRCBASE_PGLUE_B	    0x009000
2167 #define GRCBASE_MISC	    0x00A000
2168 #define GRCBASE_DBG		0x00C000
2169 #define GRCBASE_NIG		0x010000
2170 #define GRCBASE_XCM		0x020000
2171 #define GRCBASE_PRS	    0x040000
2172 #define GRCBASE_SRCH	    0x040400
2173 #define GRCBASE_TSDM	    0x042000
2174 #define GRCBASE_TCM		0x050000
2175 #define GRCBASE_BRB1	    0x060000
2176 #define GRCBASE_MCP		0x080000
2177 #define GRCBASE_UPB		0x0C1000
2178 #define GRCBASE_CSDM	    0x0C2000
2179 #define GRCBASE_USDM	    0x0C4000
2180 #define GRCBASE_CCM		0x0D0000
2181 #define GRCBASE_UCM		0x0E0000
2182 #define GRCBASE_CDU		0x101000
2183 #define GRCBASE_DMAE	    0x102000
2184 #define GRCBASE_PXP		0x103000
2185 #define GRCBASE_CFC		0x104000
2186 #define GRCBASE_HC		0x108000
2187 #define GRCBASE_ATC		0x110000
2188 #define GRCBASE_PXP2	    0x120000
2189 #define GRCBASE_IGU	    0x130000
2190 #define GRCBASE_PBF	    0x140000
2191 #define GRCBASE_UMAC0	    0x160000
2192 #define GRCBASE_UMAC1	    0x160400
2193 #define GRCBASE_XPB	    0x161000
2194 #define GRCBASE_MSTAT0	    0x162000
2195 #define GRCBASE_MSTAT1	    0x162800
2196 #define GRCBASE_XMAC0	    0x163000
2197 #define GRCBASE_XMAC1	    0x163800
2198 #define GRCBASE_TIMERS	    0x164000
2199 #define GRCBASE_XSDM	    0x166000
2200 #define GRCBASE_QM		0x168000
2201 #define GRCBASE_QM_4PORT    0x168000
2202 #define GRCBASE_DQ		0x170000
2203 #define GRCBASE_TSEM	    0x180000
2204 #define GRCBASE_CSEM	    0x200000
2205 #define GRCBASE_XSEM	    0x280000
2206 #define GRCBASE_XSEM_4PORT  0x280000
2207 #define GRCBASE_USEM	    0x300000
2208 #define GRCBASE_MCP_A	    0x380000
2209 #define GRCBASE_MISC_AEU    GRCBASE_MISC
2210 #define GRCBASE_Tstorm	    GRCBASE_TSEM
2211 #define GRCBASE_Cstorm	    GRCBASE_CSEM
2212 #define GRCBASE_Xstorm	    GRCBASE_XSEM
2213 #define GRCBASE_Ustorm	    GRCBASE_USEM
2214 
2215 
2216 /* offset of configuration space in the pci core register */
2217 #define PCICFG_OFFSET					0x2000
2218 #define PCICFG_VENDOR_ID_OFFSET				0x00
2219 #define PCICFG_DEVICE_ID_OFFSET				0x02
2220 #define PCICFG_COMMAND_OFFSET				0x04
2221 #define PCICFG_COMMAND_IO_SPACE			(1<<0)
2222 #define PCICFG_COMMAND_MEM_SPACE		(1<<1)
2223 #define PCICFG_COMMAND_BUS_MASTER		(1<<2)
2224 #define PCICFG_COMMAND_SPECIAL_CYCLES		(1<<3)
2225 #define PCICFG_COMMAND_MWI_CYCLES		(1<<4)
2226 #define PCICFG_COMMAND_VGA_SNOOP		(1<<5)
2227 #define PCICFG_COMMAND_PERR_ENA			(1<<6)
2228 #define PCICFG_COMMAND_STEPPING			(1<<7)
2229 #define PCICFG_COMMAND_SERR_ENA			(1<<8)
2230 #define PCICFG_COMMAND_FAST_B2B			(1<<9)
2231 #define PCICFG_COMMAND_INT_DISABLE		(1<<10)
2232 #define PCICFG_COMMAND_RESERVED			(0x1f<<11)
2233 #define PCICFG_STATUS_OFFSET				0x06
2234 #define PCICFG_REVISION_ID_OFFSET			0x08
2235 #define PCICFG_REVESION_ID_MASK			0xff
2236 #define PCICFG_REVESION_ID_ERROR_VAL		0xff
2237 #define PCICFG_CACHE_LINE_SIZE				0x0c
2238 #define PCICFG_LATENCY_TIMER				0x0d
2239 #define PCICFG_HEADER_TYPE				0x0e
2240 #define PCICFG_HEADER_TYPE_NORMAL	   0
2241 #define PCICFG_HEADER_TYPE_BRIDGE	   1
2242 #define PCICFG_HEADER_TYPE_CARDBUS	   2
2243 #define PCICFG_BAR_1_LOW				0x10
2244 #define PCICFG_BAR_1_HIGH				0x14
2245 #define PCICFG_BAR_2_LOW				0x18
2246 #define PCICFG_BAR_2_HIGH				0x1c
2247 #define PCICFG_BAR_3_LOW				0x20
2248 #define PCICFG_BAR_3_HIGH				0x24
2249 #define PCICFG_SUBSYSTEM_VENDOR_ID_OFFSET		0x2c
2250 #define PCICFG_SUBSYSTEM_ID_OFFSET			0x2e
2251 #define PCICFG_INT_LINE					0x3c
2252 #define PCICFG_INT_PIN					0x3d
2253 #define PCICFG_PM_CAPABILITY				0x48
2254 #define PCICFG_PM_CAPABILITY_VERSION		(0x3<<16)
2255 #define PCICFG_PM_CAPABILITY_CLOCK		(1<<19)
2256 #define PCICFG_PM_CAPABILITY_RESERVED		(1<<20)
2257 #define PCICFG_PM_CAPABILITY_DSI		(1<<21)
2258 #define PCICFG_PM_CAPABILITY_AUX_CURRENT	(0x7<<22)
2259 #define PCICFG_PM_CAPABILITY_D1_SUPPORT		(1<<25)
2260 #define PCICFG_PM_CAPABILITY_D2_SUPPORT		(1<<26)
2261 #define PCICFG_PM_CAPABILITY_PME_IN_D0		(1<<27)
2262 #define PCICFG_PM_CAPABILITY_PME_IN_D1		(1<<28)
2263 #define PCICFG_PM_CAPABILITY_PME_IN_D2		(1<<29)
2264 #define PCICFG_PM_CAPABILITY_PME_IN_D3_HOT	(1<<30)
2265 #define PCICFG_PM_CAPABILITY_PME_IN_D3_COLD	(1<<31)
2266 #define PCICFG_PM_CSR_OFFSET				0x4c
2267 #define PCICFG_PM_CSR_STATE			(0x3<<0)
2268 #define PCICFG_PM_CSR_PME_ENABLE		(1<<8)
2269 #define PCICFG_PM_CSR_PME_STATUS		(1<<15)
2270 #define PCICFG_VPD_FLAG_ADDR_OFFSET			0x50
2271 #define PCICFG_VPD_DATA_OFFSET				0x54
2272 #define PCICFG_MSI_CAP_ID_OFFSET			0x58
2273 #define PCICFG_MSI_CONTROL_ENABLE		(0x1<<16)
2274 #define PCICFG_MSI_CONTROL_MCAP			(0x7<<17)
2275 #define PCICFG_MSI_CONTROL_MENA			(0x7<<20)
2276 #define PCICFG_MSI_CONTROL_64_BIT_ADDR_CAP	(0x1<<23)
2277 #define PCICFG_MSI_CONTROL_MSI_PVMASK_CAPABLE	(0x1<<24)
2278 #define PCICFG_MSI_ADDR_LOW_OFFSET			0x5c
2279 #define PCICFG_MSI_ADDR_HIGH_OFFSET			0x60
2280 #define PCICFG_MSI_DATA_OFFSET				0x64
2281 #define PCICFG_GRC_ADDRESS				0x78
2282 #define PCICFG_GRC_DATA					0x80
2283 #define PCICFG_ME_REGISTER		    0x98
2284 #define PCICFG_MSIX_CAP_ID_OFFSET			0xa0
2285 #define PCICFG_MSIX_CONTROL_TABLE_SIZE		(0x7ff<<16)
2286 #define PCICFG_MSIX_CONTROL_RESERVED		(0x7<<27)
2287 #define PCICFG_MSIX_CONTROL_FUNC_MASK		(0x1<<30)
2288 #define PCICFG_MSIX_CONTROL_MSIX_ENABLE		(0x1<<31)
2289 
2290 #define PCICFG_DEVICE_CONTROL				0xb4
2291 #define PCICFG_DEVICE_CONTROL_NP_TRANSACTION_PEND   (1<<21)
2292 #define PCICFG_DEVICE_STATUS				0xb6
2293 #define PCICFG_DEVICE_STATUS_CORR_ERR_DET	(1<<0)
2294 #define PCICFG_DEVICE_STATUS_NON_FATAL_ERR_DET	(1<<1)
2295 #define PCICFG_DEVICE_STATUS_FATAL_ERR_DET	(1<<2)
2296 #define PCICFG_DEVICE_STATUS_UNSUP_REQ_DET	(1<<3)
2297 #define PCICFG_DEVICE_STATUS_AUX_PWR_DET	(1<<4)
2298 #define PCICFG_DEVICE_STATUS_NO_PEND		(1<<5)
2299 #define PCICFG_LINK_CONTROL				0xbc
2300 
2301 
2302 /* config_2 offset */
2303 #define GRC_CONFIG_2_SIZE_REG				0x408
2304 #define PCI_CONFIG_2_BAR1_SIZE			(0xfL<<0)
2305 #define PCI_CONFIG_2_BAR1_SIZE_DISABLED		(0L<<0)
2306 #define PCI_CONFIG_2_BAR1_SIZE_64K		(1L<<0)
2307 #define PCI_CONFIG_2_BAR1_SIZE_128K		(2L<<0)
2308 #define PCI_CONFIG_2_BAR1_SIZE_256K		(3L<<0)
2309 #define PCI_CONFIG_2_BAR1_SIZE_512K		(4L<<0)
2310 #define PCI_CONFIG_2_BAR1_SIZE_1M		(5L<<0)
2311 #define PCI_CONFIG_2_BAR1_SIZE_2M		(6L<<0)
2312 #define PCI_CONFIG_2_BAR1_SIZE_4M		(7L<<0)
2313 #define PCI_CONFIG_2_BAR1_SIZE_8M		(8L<<0)
2314 #define PCI_CONFIG_2_BAR1_SIZE_16M		(9L<<0)
2315 #define PCI_CONFIG_2_BAR1_SIZE_32M		(10L<<0)
2316 #define PCI_CONFIG_2_BAR1_SIZE_64M		(11L<<0)
2317 #define PCI_CONFIG_2_BAR1_SIZE_128M		(12L<<0)
2318 #define PCI_CONFIG_2_BAR1_SIZE_256M		(13L<<0)
2319 #define PCI_CONFIG_2_BAR1_SIZE_512M		(14L<<0)
2320 #define PCI_CONFIG_2_BAR1_SIZE_1G		(15L<<0)
2321 #define PCI_CONFIG_2_BAR1_64ENA			(1L<<4)
2322 #define PCI_CONFIG_2_EXP_ROM_RETRY		(1L<<5)
2323 #define PCI_CONFIG_2_CFG_CYCLE_RETRY		(1L<<6)
2324 #define PCI_CONFIG_2_FIRST_CFG_DONE		(1L<<7)
2325 #define PCI_CONFIG_2_EXP_ROM_SIZE		(0xffL<<8)
2326 #define PCI_CONFIG_2_EXP_ROM_SIZE_DISABLED	(0L<<8)
2327 #define PCI_CONFIG_2_EXP_ROM_SIZE_2K		(1L<<8)
2328 #define PCI_CONFIG_2_EXP_ROM_SIZE_4K		(2L<<8)
2329 #define PCI_CONFIG_2_EXP_ROM_SIZE_8K		(3L<<8)
2330 #define PCI_CONFIG_2_EXP_ROM_SIZE_16K		(4L<<8)
2331 #define PCI_CONFIG_2_EXP_ROM_SIZE_32K		(5L<<8)
2332 #define PCI_CONFIG_2_EXP_ROM_SIZE_64K		(6L<<8)
2333 #define PCI_CONFIG_2_EXP_ROM_SIZE_128K		(7L<<8)
2334 #define PCI_CONFIG_2_EXP_ROM_SIZE_256K		(8L<<8)
2335 #define PCI_CONFIG_2_EXP_ROM_SIZE_512K		(9L<<8)
2336 #define PCI_CONFIG_2_EXP_ROM_SIZE_1M		(10L<<8)
2337 #define PCI_CONFIG_2_EXP_ROM_SIZE_2M		(11L<<8)
2338 #define PCI_CONFIG_2_EXP_ROM_SIZE_4M		(12L<<8)
2339 #define PCI_CONFIG_2_EXP_ROM_SIZE_8M		(13L<<8)
2340 #define PCI_CONFIG_2_EXP_ROM_SIZE_16M		(14L<<8)
2341 #define PCI_CONFIG_2_EXP_ROM_SIZE_32M		(15L<<8)
2342 #define PCI_CONFIG_2_BAR_PREFETCH		(1L<<16)
2343 #define PCI_CONFIG_2_RESERVED0			(0x7fffL<<17)
2344 
2345 /* config_3 offset */
2346 #define GRC_CONFIG_3_SIZE_REG				0x40c
2347 #define PCI_CONFIG_3_STICKY_BYTE			(0xffL<<0)
2348 #define PCI_CONFIG_3_FORCE_PME			(1L<<24)
2349 #define PCI_CONFIG_3_PME_STATUS			(1L<<25)
2350 #define PCI_CONFIG_3_PME_ENABLE			(1L<<26)
2351 #define PCI_CONFIG_3_PM_STATE			(0x3L<<27)
2352 #define PCI_CONFIG_3_VAUX_PRESET			(1L<<30)
2353 #define PCI_CONFIG_3_PCI_POWER			(1L<<31)
2354 
2355 #define GRC_REG_DEVICE_CONTROL		    0x4d8
2356 #define PCIE_SRIOV_DISABLE_IN_PROGRESS \
2357 	(1 << 29) /*When VF Enable is cleared(after it was previously set),
2358  this register will read a value of 1, indicating that all the
2359  VFs that belong to this PF should be flushed.
2360  Software should clear this bit within 1 second of VF Enable
2361  being set by writing a 1 to it, so that VFs are visible to the system again.
2362 							WC */
2363 #define PCIE_FLR_IN_PROGRESS \
2364 	(1 << 27) /*When FLR is initiated, this register will read a \
2365 	value of 1 indicating that the
2366  Function is in FLR state. Func can be brought out of FLR state either by
2367  writing 1 to this register (at least 50 ms after FLR was initiated),
2368  or it can also be cleared automatically after 55 ms if auto_clear bit
2369  in private reg space is set. This bit also exists in VF register space
2370 							WC */
2371 
2372 #define GRC_BAR2_CONFIG					0x4e0
2373 #define PCI_CONFIG_2_BAR2_SIZE			(0xfL<<0)
2374 #define PCI_CONFIG_2_BAR2_SIZE_DISABLED		(0L<<0)
2375 #define PCI_CONFIG_2_BAR2_SIZE_64K		(1L<<0)
2376 #define PCI_CONFIG_2_BAR2_SIZE_128K		(2L<<0)
2377 #define PCI_CONFIG_2_BAR2_SIZE_256K		(3L<<0)
2378 #define PCI_CONFIG_2_BAR2_SIZE_512K		(4L<<0)
2379 #define PCI_CONFIG_2_BAR2_SIZE_1M		(5L<<0)
2380 #define PCI_CONFIG_2_BAR2_SIZE_2M		(6L<<0)
2381 #define PCI_CONFIG_2_BAR2_SIZE_4M		(7L<<0)
2382 #define PCI_CONFIG_2_BAR2_SIZE_8M		(8L<<0)
2383 #define PCI_CONFIG_2_BAR2_SIZE_16M		(9L<<0)
2384 #define PCI_CONFIG_2_BAR2_SIZE_32M		(10L<<0)
2385 #define PCI_CONFIG_2_BAR2_SIZE_64M		(11L<<0)
2386 #define PCI_CONFIG_2_BAR2_SIZE_128M		(12L<<0)
2387 #define PCI_CONFIG_2_BAR2_SIZE_256M		(13L<<0)
2388 #define PCI_CONFIG_2_BAR2_SIZE_512M		(14L<<0)
2389 #define PCI_CONFIG_2_BAR2_SIZE_1G		(15L<<0)
2390 #define PCI_CONFIG_2_BAR2_64ENA			(1L<<4)
2391 
2392 #define GRC_BAR3_CONFIG					0x4f4
2393 #define PCI_CONFIG_2_BAR3_SIZE			(0xfL<<0)
2394 #define PCI_CONFIG_2_BAR3_SIZE_DISABLED		(0L<<0)
2395 #define PCI_CONFIG_2_BAR3_SIZE_64K		(1L<<0)
2396 #define PCI_CONFIG_2_BAR3_SIZE_128K		(2L<<0)
2397 #define PCI_CONFIG_2_BAR3_SIZE_256K		(3L<<0)
2398 #define PCI_CONFIG_2_BAR3_SIZE_512K		(4L<<0)
2399 #define PCI_CONFIG_2_BAR3_SIZE_1M		(5L<<0)
2400 #define PCI_CONFIG_2_BAR3_SIZE_2M		(6L<<0)
2401 #define PCI_CONFIG_2_BAR3_SIZE_4M		(7L<<0)
2402 #define PCI_CONFIG_2_BAR3_SIZE_8M		(8L<<0)
2403 #define PCI_CONFIG_2_BAR3_SIZE_16M		(9L<<0)
2404 #define PCI_CONFIG_2_BAR3_SIZE_32M		(10L<<0)
2405 #define PCI_CONFIG_2_BAR3_SIZE_64M		(11L<<0)
2406 #define PCI_CONFIG_2_BAR3_SIZE_128M		(12L<<0)
2407 #define PCI_CONFIG_2_BAR3_SIZE_256M		(13L<<0)
2408 #define PCI_CONFIG_2_BAR3_SIZE_512M		(14L<<0)
2409 #define PCI_CONFIG_2_BAR3_SIZE_1G		(15L<<0)
2410 #define PCI_CONFIG_2_BAR3_64ENA			(1L<<4)
2411 
2412 #define PCI_PM_DATA_A					0x410
2413 #define PCI_PM_DATA_B					0x414
2414 #define PCI_ID_VAL1					0x434
2415 #define PCI_ID_VAL2					0x438
2416 #define PCI_ID_VAL3					0x43c
2417 #define PCI_ID_VAL3_REVISION_ID_ERROR		  (0xffL<<24)
2418 
2419 
2420 #define GRC_CONFIG_REG_VF_BAR_REG_1		0x608
2421 #define GRC_CONFIG_REG_VF_BAR_REG_BAR0_SIZE	0xf
2422 
2423 #define GRC_CONFIG_REG_VF_MSIX_CONTROL		    0x61C
2424 #define GRC_CR_VF_MSIX_CTRL_VF_MSIX_TBL_SIZE_MASK \
2425 	0x3F  /*This field resides in VF only and does not exist in PF.
2426  This register controls the read value of the MSIX_CONTROL[10:0] register
2427  in the VF configuration space. A value of "00000000011" indicates
2428  a table size of 4. The value is controlled by IOV_MSIX_TBL_SIZ
2429  define in version.v */
2430 
2431 #define GRC_CONFIG_REG_PF_INIT_VF		0x624
2432 #define GRC_CR_PF_INIT_VF_PF_FIRST_VF_NUM_MASK \
2433 	0xf /*First VF_NUM for PF is encoded in this register.
2434  The number of VFs assigned to a PF is assumed to be a multiple of 8.
2435 	Software should program these bits based on Total Number of VFs \
2436 	programmed for each PF.
2437  Since registers from 0x000-0x7ff are spilt across functions, each PF will have
2438  the same location for the same 4 bits*/
2439 
2440 #define PXPCS_TL_CONTROL_5			0x814
2441 #define PXPCS_TL_CONTROL_5_UNKNOWNTYPE_ERR_ATTN	   (1 << 29) /*WC*/
2442 #define PXPCS_TL_CONTROL_5_BOUNDARY4K_ERR_ATTN	   (1 << 28)   /*WC*/
2443 #define PXPCS_TL_CONTROL_5_MRRS_ERR_ATTN   (1 << 27)   /*WC*/
2444 #define PXPCS_TL_CONTROL_5_MPS_ERR_ATTN	   (1 << 26)   /*WC*/
2445 #define PXPCS_TL_CONTROL_5_TTX_BRIDGE_FORWARD_ERR  (1 << 25)   /*WC*/
2446 #define PXPCS_TL_CONTROL_5_TTX_TXINTF_OVERFLOW	   (1 << 24)   /*WC*/
2447 #define PXPCS_TL_CONTROL_5_PHY_ERR_ATTN	   (1 << 23)   /*RO*/
2448 #define PXPCS_TL_CONTROL_5_DL_ERR_ATTN	   (1 << 22)   /*RO*/
2449 #define PXPCS_TL_CONTROL_5_TTX_ERR_NP_TAG_IN_USE   (1 << 21)   /*WC*/
2450 #define PXPCS_TL_CONTROL_5_TRX_ERR_UNEXP_RTAG  (1 << 20)   /*WC*/
2451 #define PXPCS_TL_CONTROL_5_PRI_SIG_TARGET_ABORT1   (1 << 19)   /*WC*/
2452 #define PXPCS_TL_CONTROL_5_ERR_UNSPPORT1   (1 << 18)   /*WC*/
2453 #define PXPCS_TL_CONTROL_5_ERR_ECRC1   (1 << 17)   /*WC*/
2454 #define PXPCS_TL_CONTROL_5_ERR_MALF_TLP1   (1 << 16)   /*WC*/
2455 #define PXPCS_TL_CONTROL_5_ERR_RX_OFLOW1   (1 << 15)   /*WC*/
2456 #define PXPCS_TL_CONTROL_5_ERR_UNEXP_CPL1  (1 << 14)   /*WC*/
2457 #define PXPCS_TL_CONTROL_5_ERR_MASTER_ABRT1    (1 << 13)   /*WC*/
2458 #define PXPCS_TL_CONTROL_5_ERR_CPL_TIMEOUT1    (1 << 12)   /*WC*/
2459 #define PXPCS_TL_CONTROL_5_ERR_FC_PRTL1	   (1 << 11)   /*WC*/
2460 #define PXPCS_TL_CONTROL_5_ERR_PSND_TLP1   (1 << 10)   /*WC*/
2461 #define PXPCS_TL_CONTROL_5_PRI_SIG_TARGET_ABORT	   (1 << 9)    /*WC*/
2462 #define PXPCS_TL_CONTROL_5_ERR_UNSPPORT	   (1 << 8)    /*WC*/
2463 #define PXPCS_TL_CONTROL_5_ERR_ECRC    (1 << 7)    /*WC*/
2464 #define PXPCS_TL_CONTROL_5_ERR_MALF_TLP	   (1 << 6)    /*WC*/
2465 #define PXPCS_TL_CONTROL_5_ERR_RX_OFLOW	   (1 << 5)    /*WC*/
2466 #define PXPCS_TL_CONTROL_5_ERR_UNEXP_CPL   (1 << 4)    /*WC*/
2467 #define PXPCS_TL_CONTROL_5_ERR_MASTER_ABRT     (1 << 3)    /*WC*/
2468 #define PXPCS_TL_CONTROL_5_ERR_CPL_TIMEOUT     (1 << 2)    /*WC*/
2469 #define PXPCS_TL_CONTROL_5_ERR_FC_PRTL	   (1 << 1)    /*WC*/
2470 #define PXPCS_TL_CONTROL_5_ERR_PSND_TLP	   (1 << 0)    /*WC*/
2471 
2472 
2473 #define PXPCS_TL_FUNC345_STAT	   0x854
2474 #define PXPCS_TL_FUNC345_STAT_PRI_SIG_TARGET_ABORT4    (1 << 29)   /* WC */
2475 #define PXPCS_TL_FUNC345_STAT_ERR_UNSPPORT4 \
2476 	(1 << 28) /* Unsupported Request Error Status in function4, if \
2477 	set, generate pcie_err_attn output when this error is seen. WC */
2478 #define PXPCS_TL_FUNC345_STAT_ERR_ECRC4 \
2479 	(1 << 27) /* ECRC Error TLP Status Status in function 4, if set, \
2480 	generate pcie_err_attn output when this error is seen.. WC */
2481 #define PXPCS_TL_FUNC345_STAT_ERR_MALF_TLP4 \
2482 	(1 << 26) /* Malformed TLP Status Status in function 4, if set, \
2483 	generate pcie_err_attn output when this error is seen.. WC */
2484 #define PXPCS_TL_FUNC345_STAT_ERR_RX_OFLOW4 \
2485 	(1 << 25) /* Receiver Overflow Status Status in function 4, if \
2486 	set, generate pcie_err_attn output when this error is seen.. WC \
2487 	*/
2488 #define PXPCS_TL_FUNC345_STAT_ERR_UNEXP_CPL4 \
2489 	(1 << 24) /* Unexpected Completion Status Status in function 4, \
2490 	if set, generate pcie_err_attn output when this error is seen. WC \
2491 	*/
2492 #define PXPCS_TL_FUNC345_STAT_ERR_MASTER_ABRT4 \
2493 	(1 << 23) /* Receive UR Statusin function 4. If set, generate \
2494 	pcie_err_attn output when this error is seen. WC */
2495 #define PXPCS_TL_FUNC345_STAT_ERR_CPL_TIMEOUT4 \
2496 	(1 << 22) /* Completer Timeout Status Status in function 4, if \
2497 	set, generate pcie_err_attn output when this error is seen. WC */
2498 #define PXPCS_TL_FUNC345_STAT_ERR_FC_PRTL4 \
2499 	(1 << 21) /* Flow Control Protocol Error Status Status in \
2500 	function 4, if set, generate pcie_err_attn output when this error \
2501 	is seen. WC */
2502 #define PXPCS_TL_FUNC345_STAT_ERR_PSND_TLP4 \
2503 	(1 << 20) /* Poisoned Error Status Status in function 4, if set, \
2504 	generate pcie_err_attn output when this error is seen.. WC */
2505 #define PXPCS_TL_FUNC345_STAT_PRI_SIG_TARGET_ABORT3    (1 << 19)   /* WC */
2506 #define PXPCS_TL_FUNC345_STAT_ERR_UNSPPORT3 \
2507 	(1 << 18) /* Unsupported Request Error Status in function3, if \
2508 	set, generate pcie_err_attn output when this error is seen. WC */
2509 #define PXPCS_TL_FUNC345_STAT_ERR_ECRC3 \
2510 	(1 << 17) /* ECRC Error TLP Status Status in function 3, if set, \
2511 	generate pcie_err_attn output when this error is seen.. WC */
2512 #define PXPCS_TL_FUNC345_STAT_ERR_MALF_TLP3 \
2513 	(1 << 16) /* Malformed TLP Status Status in function 3, if set, \
2514 	generate pcie_err_attn output when this error is seen.. WC */
2515 #define PXPCS_TL_FUNC345_STAT_ERR_RX_OFLOW3 \
2516 	(1 << 15) /* Receiver Overflow Status Status in function 3, if \
2517 	set, generate pcie_err_attn output when this error is seen.. WC \
2518 	*/
2519 #define PXPCS_TL_FUNC345_STAT_ERR_UNEXP_CPL3 \
2520 	(1 << 14) /* Unexpected Completion Status Status in function 3, \
2521 	if set, generate pcie_err_attn output when this error is seen. WC \
2522 	*/
2523 #define PXPCS_TL_FUNC345_STAT_ERR_MASTER_ABRT3 \
2524 	(1 << 13) /* Receive UR Statusin function 3. If set, generate \
2525 	pcie_err_attn output when this error is seen. WC */
2526 #define PXPCS_TL_FUNC345_STAT_ERR_CPL_TIMEOUT3 \
2527 	(1 << 12) /* Completer Timeout Status Status in function 3, if \
2528 	set, generate pcie_err_attn output when this error is seen. WC */
2529 #define PXPCS_TL_FUNC345_STAT_ERR_FC_PRTL3 \
2530 	(1 << 11) /* Flow Control Protocol Error Status Status in \
2531 	function 3, if set, generate pcie_err_attn output when this error \
2532 	is seen. WC */
2533 #define PXPCS_TL_FUNC345_STAT_ERR_PSND_TLP3 \
2534 	(1 << 10) /* Poisoned Error Status Status in function 3, if set, \
2535 	generate pcie_err_attn output when this error is seen.. WC */
2536 #define PXPCS_TL_FUNC345_STAT_PRI_SIG_TARGET_ABORT2    (1 << 9)    /* WC */
2537 #define PXPCS_TL_FUNC345_STAT_ERR_UNSPPORT2 \
2538 	(1 << 8) /* Unsupported Request Error Status for Function 2, if \
2539 	set, generate pcie_err_attn output when this error is seen. WC */
2540 #define PXPCS_TL_FUNC345_STAT_ERR_ECRC2 \
2541 	(1 << 7) /* ECRC Error TLP Status Status for Function 2, if set, \
2542 	generate pcie_err_attn output when this error is seen.. WC */
2543 #define PXPCS_TL_FUNC345_STAT_ERR_MALF_TLP2 \
2544 	(1 << 6) /* Malformed TLP Status Status for Function 2, if set, \
2545 	generate pcie_err_attn output when this error is seen.. WC */
2546 #define PXPCS_TL_FUNC345_STAT_ERR_RX_OFLOW2 \
2547 	(1 << 5) /* Receiver Overflow Status Status for Function 2, if \
2548 	set, generate pcie_err_attn output when this error is seen.. WC \
2549 	*/
2550 #define PXPCS_TL_FUNC345_STAT_ERR_UNEXP_CPL2 \
2551 	(1 << 4) /* Unexpected Completion Status Status for Function 2, \
2552 	if set, generate pcie_err_attn output when this error is seen. WC \
2553 	*/
2554 #define PXPCS_TL_FUNC345_STAT_ERR_MASTER_ABRT2 \
2555 	(1 << 3) /* Receive UR Statusfor Function 2. If set, generate \
2556 	pcie_err_attn output when this error is seen. WC */
2557 #define PXPCS_TL_FUNC345_STAT_ERR_CPL_TIMEOUT2 \
2558 	(1 << 2) /* Completer Timeout Status Status for Function 2, if \
2559 	set, generate pcie_err_attn output when this error is seen. WC */
2560 #define PXPCS_TL_FUNC345_STAT_ERR_FC_PRTL2 \
2561 	(1 << 1) /* Flow Control Protocol Error Status Status for \
2562 	Function 2, if set, generate pcie_err_attn output when this error \
2563 	is seen. WC */
2564 #define PXPCS_TL_FUNC345_STAT_ERR_PSND_TLP2 \
2565 	(1 << 0) /* Poisoned Error Status Status for Function 2, if set, \
2566 	generate pcie_err_attn output when this error is seen.. WC */
2567 
2568 
2569 #define PXPCS_TL_FUNC678_STAT  0x85C
2570 #define PXPCS_TL_FUNC678_STAT_PRI_SIG_TARGET_ABORT7    (1 << 29)   /*	 WC */
2571 #define PXPCS_TL_FUNC678_STAT_ERR_UNSPPORT7 \
2572 	(1 << 28) /* Unsupported Request Error Status in function7, if \
2573 	set, generate pcie_err_attn output when this error is seen. WC */
2574 #define PXPCS_TL_FUNC678_STAT_ERR_ECRC7 \
2575 	(1 << 27) /* ECRC Error TLP Status Status in function 7, if set, \
2576 	generate pcie_err_attn output when this error is seen.. WC */
2577 #define PXPCS_TL_FUNC678_STAT_ERR_MALF_TLP7 \
2578 	(1 << 26) /* Malformed TLP Status Status in function 7, if set, \
2579 	generate pcie_err_attn output when this error is seen.. WC */
2580 #define PXPCS_TL_FUNC678_STAT_ERR_RX_OFLOW7 \
2581 	(1 << 25) /* Receiver Overflow Status Status in function 7, if \
2582 	set, generate pcie_err_attn output when this error is seen.. WC \
2583 	*/
2584 #define PXPCS_TL_FUNC678_STAT_ERR_UNEXP_CPL7 \
2585 	(1 << 24) /* Unexpected Completion Status Status in function 7, \
2586 	if set, generate pcie_err_attn output when this error is seen. WC \
2587 	*/
2588 #define PXPCS_TL_FUNC678_STAT_ERR_MASTER_ABRT7 \
2589 	(1 << 23) /* Receive UR Statusin function 7. If set, generate \
2590 	pcie_err_attn output when this error is seen. WC */
2591 #define PXPCS_TL_FUNC678_STAT_ERR_CPL_TIMEOUT7 \
2592 	(1 << 22) /* Completer Timeout Status Status in function 7, if \
2593 	set, generate pcie_err_attn output when this error is seen. WC */
2594 #define PXPCS_TL_FUNC678_STAT_ERR_FC_PRTL7 \
2595 	(1 << 21) /* Flow Control Protocol Error Status Status in \
2596 	function 7, if set, generate pcie_err_attn output when this error \
2597 	is seen. WC */
2598 #define PXPCS_TL_FUNC678_STAT_ERR_PSND_TLP7 \
2599 	(1 << 20) /* Poisoned Error Status Status in function 7, if set, \
2600 	generate pcie_err_attn output when this error is seen.. WC */
2601 #define PXPCS_TL_FUNC678_STAT_PRI_SIG_TARGET_ABORT6    (1 << 19)    /*	  WC */
2602 #define PXPCS_TL_FUNC678_STAT_ERR_UNSPPORT6 \
2603 	(1 << 18) /* Unsupported Request Error Status in function6, if \
2604 	set, generate pcie_err_attn output when this error is seen. WC */
2605 #define PXPCS_TL_FUNC678_STAT_ERR_ECRC6 \
2606 	(1 << 17) /* ECRC Error TLP Status Status in function 6, if set, \
2607 	generate pcie_err_attn output when this error is seen.. WC */
2608 #define PXPCS_TL_FUNC678_STAT_ERR_MALF_TLP6 \
2609 	(1 << 16) /* Malformed TLP Status Status in function 6, if set, \
2610 	generate pcie_err_attn output when this error is seen.. WC */
2611 #define PXPCS_TL_FUNC678_STAT_ERR_RX_OFLOW6 \
2612 	(1 << 15) /* Receiver Overflow Status Status in function 6, if \
2613 	set, generate pcie_err_attn output when this error is seen.. WC \
2614 	*/
2615 #define PXPCS_TL_FUNC678_STAT_ERR_UNEXP_CPL6 \
2616 	(1 << 14) /* Unexpected Completion Status Status in function 6, \
2617 	if set, generate pcie_err_attn output when this error is seen. WC \
2618 	*/
2619 #define PXPCS_TL_FUNC678_STAT_ERR_MASTER_ABRT6 \
2620 	(1 << 13) /* Receive UR Statusin function 6. If set, generate \
2621 	pcie_err_attn output when this error is seen. WC */
2622 #define PXPCS_TL_FUNC678_STAT_ERR_CPL_TIMEOUT6 \
2623 	(1 << 12) /* Completer Timeout Status Status in function 6, if \
2624 	set, generate pcie_err_attn output when this error is seen. WC */
2625 #define PXPCS_TL_FUNC678_STAT_ERR_FC_PRTL6 \
2626 	(1 << 11) /* Flow Control Protocol Error Status Status in \
2627 	function 6, if set, generate pcie_err_attn output when this error \
2628 	is seen. WC */
2629 #define PXPCS_TL_FUNC678_STAT_ERR_PSND_TLP6 \
2630 	(1 << 10) /* Poisoned Error Status Status in function 6, if set, \
2631 	generate pcie_err_attn output when this error is seen.. WC */
2632 #define PXPCS_TL_FUNC678_STAT_PRI_SIG_TARGET_ABORT5    (1 << 9) /*    WC */
2633 #define PXPCS_TL_FUNC678_STAT_ERR_UNSPPORT5 \
2634 	(1 << 8) /* Unsupported Request Error Status for Function 5, if \
2635 	set, generate pcie_err_attn output when this error is seen. WC */
2636 #define PXPCS_TL_FUNC678_STAT_ERR_ECRC5 \
2637 	(1 << 7) /* ECRC Error TLP Status Status for Function 5, if set, \
2638 	generate pcie_err_attn output when this error is seen.. WC */
2639 #define PXPCS_TL_FUNC678_STAT_ERR_MALF_TLP5 \
2640 	(1 << 6) /* Malformed TLP Status Status for Function 5, if set, \
2641 	generate pcie_err_attn output when this error is seen.. WC */
2642 #define PXPCS_TL_FUNC678_STAT_ERR_RX_OFLOW5 \
2643 	(1 << 5) /* Receiver Overflow Status Status for Function 5, if \
2644 	set, generate pcie_err_attn output when this error is seen.. WC \
2645 	*/
2646 #define PXPCS_TL_FUNC678_STAT_ERR_UNEXP_CPL5 \
2647 	(1 << 4) /* Unexpected Completion Status Status for Function 5, \
2648 	if set, generate pcie_err_attn output when this error is seen. WC \
2649 	*/
2650 #define PXPCS_TL_FUNC678_STAT_ERR_MASTER_ABRT5 \
2651 	(1 << 3) /* Receive UR Statusfor Function 5. If set, generate \
2652 	pcie_err_attn output when this error is seen. WC */
2653 #define PXPCS_TL_FUNC678_STAT_ERR_CPL_TIMEOUT5 \
2654 	(1 << 2) /* Completer Timeout Status Status for Function 5, if \
2655 	set, generate pcie_err_attn output when this error is seen. WC */
2656 #define PXPCS_TL_FUNC678_STAT_ERR_FC_PRTL5 \
2657 	(1 << 1) /* Flow Control Protocol Error Status Status for \
2658 	Function 5, if set, generate pcie_err_attn output when this error \
2659 	is seen. WC */
2660 #define PXPCS_TL_FUNC678_STAT_ERR_PSND_TLP5 \
2661 	(1 << 0) /* Poisoned Error Status Status for Function 5, if set, \
2662 	generate pcie_err_attn output when this error is seen.. WC */
2663 
2664 
2665 #define BAR_USTRORM_INTMEM				0x400000
2666 #define BAR_CSTRORM_INTMEM				0x410000
2667 #define BAR_XSTRORM_INTMEM				0x420000
2668 #define BAR_TSTRORM_INTMEM				0x430000
2669 
2670 /* for accessing the IGU in case of status block ACK */
2671 #define BAR_IGU_INTMEM					0x440000
2672 
2673 #define BAR_DOORBELL_OFFSET				0x800000
2674 
2675 #define BAR_ME_REGISTER					0x450000
2676 #define ME_REG_PF_NUM_SHIFT		0
2677 #define ME_REG_PF_NUM \
2678 	(7L<<ME_REG_PF_NUM_SHIFT) /* Relative PF Num */
2679 #define ME_REG_VF_VALID			(1<<8)
2680 #define ME_REG_VF_NUM_SHIFT		9
2681 #define ME_REG_VF_NUM_MASK		(0x3f<<ME_REG_VF_NUM_SHIFT)
2682 #define ME_REG_VF_ERR			(0x1<<3)
2683 #define ME_REG_ABS_PF_NUM_SHIFT		16
2684 #define ME_REG_ABS_PF_NUM \
2685 	(7L<<ME_REG_ABS_PF_NUM_SHIFT) /* Absolute PF Num */
2686 
2687 
2688 #define PXP_VF_ADRR_NUM_QUEUES		136
2689 #define PXP_ADDR_QUEUE_SIZE			32
2690 #define PXP_ADDR_REG_SIZE			512
2691 
2692 
2693 #define PXP_VF_ADDR_IGU_START		0
2694 #define PXP_VF_ADDR_IGU_SIZE		(0x3000)
2695 #define PXP_VF_ADDR_IGU_END \
2696 	((PXP_VF_ADDR_IGU_START) + (PXP_VF_ADDR_IGU_SIZE) - 1)
2697 
2698 #define PXP_VF_ADDR_USDM_QUEUES_START		0x3000
2699 #define PXP_VF_ADDR_USDM_QUEUES_SIZE \
2700 	(PXP_VF_ADRR_NUM_QUEUES * PXP_ADDR_QUEUE_SIZE)
2701 #define PXP_VF_ADDR_USDM_QUEUES_END \
2702 	((PXP_VF_ADDR_USDM_QUEUES_START) + (PXP_VF_ADDR_USDM_QUEUES_SIZE) - 1)
2703 
2704 #define PXP_VF_ADDR_CSDM_QUEUES_START		0x4100
2705 #define PXP_VF_ADDR_CSDM_QUEUES_SIZE \
2706 	(PXP_VF_ADRR_NUM_QUEUES * PXP_ADDR_QUEUE_SIZE)
2707 #define PXP_VF_ADDR_CSDM_QUEUES_END \
2708 	((PXP_VF_ADDR_CSDM_QUEUES_START) + (PXP_VF_ADDR_CSDM_QUEUES_SIZE) - 1)
2709 
2710 #define PXP_VF_ADDR_XSDM_QUEUES_START		0x5200
2711 #define PXP_VF_ADDR_XSDM_QUEUES_SIZE \
2712 	(PXP_VF_ADRR_NUM_QUEUES * PXP_ADDR_QUEUE_SIZE)
2713 #define PXP_VF_ADDR_XSDM_QUEUES_END \
2714 	((PXP_VF_ADDR_XSDM_QUEUES_START) + (PXP_VF_ADDR_XSDM_QUEUES_SIZE) - 1)
2715 
2716 #define PXP_VF_ADDR_TSDM_QUEUES_START		0x6300
2717 #define PXP_VF_ADDR_TSDM_QUEUES_SIZE \
2718 	(PXP_VF_ADRR_NUM_QUEUES * PXP_ADDR_QUEUE_SIZE)
2719 #define PXP_VF_ADDR_TSDM_QUEUES_END \
2720 	((PXP_VF_ADDR_TSDM_QUEUES_START) + (PXP_VF_ADDR_TSDM_QUEUES_SIZE) - 1)
2721 
2722 #define PXP_VF_ADDR_USDM_GLOBAL_START		0x7400
2723 #define PXP_VF_ADDR_USDM_GLOBAL_SIZE		(PXP_ADDR_REG_SIZE)
2724 #define PXP_VF_ADDR_USDM_GLOBAL_END \
2725 	((PXP_VF_ADDR_USDM_GLOBAL_START) + (PXP_VF_ADDR_USDM_GLOBAL_SIZE) - 1)
2726 
2727 #define PXP_VF_ADDR_CSDM_GLOBAL_START		0x7600
2728 #define PXP_VF_ADDR_CSDM_GLOBAL_SIZE		(PXP_ADDR_REG_SIZE)
2729 #define PXP_VF_ADDR_CSDM_GLOBAL_END \
2730 	((PXP_VF_ADDR_CSDM_GLOBAL_START) + (PXP_VF_ADDR_CSDM_GLOBAL_SIZE) - 1)
2731 
2732 #define PXP_VF_ADDR_XSDM_GLOBAL_START		0x7800
2733 #define PXP_VF_ADDR_XSDM_GLOBAL_SIZE		(PXP_ADDR_REG_SIZE)
2734 #define PXP_VF_ADDR_XSDM_GLOBAL_END \
2735 	((PXP_VF_ADDR_XSDM_GLOBAL_START) + (PXP_VF_ADDR_XSDM_GLOBAL_SIZE) - 1)
2736 
2737 #define PXP_VF_ADDR_TSDM_GLOBAL_START		0x7a00
2738 #define PXP_VF_ADDR_TSDM_GLOBAL_SIZE		(PXP_ADDR_REG_SIZE)
2739 #define PXP_VF_ADDR_TSDM_GLOBAL_END \
2740 	((PXP_VF_ADDR_TSDM_GLOBAL_START) + (PXP_VF_ADDR_TSDM_GLOBAL_SIZE) - 1)
2741 
2742 #define PXP_VF_ADDR_DB_START				0x7c00
2743 #define PXP_VF_ADDR_DB_SIZE					(0x200)
2744 #define PXP_VF_ADDR_DB_END \
2745 	((PXP_VF_ADDR_DB_START) + (PXP_VF_ADDR_DB_SIZE) - 1)
2746 
2747 #define PXP_VF_ADDR_GRC_START				0x7e00
2748 #define PXP_VF_ADDR_GRC_SIZE				(0x200)
2749 #define PXP_VF_ADDR_GRC_END \
2750 	((PXP_VF_ADDR_GRC_START) + (PXP_VF_ADDR_GRC_SIZE) - 1)
2751 
2752 #define PXP_VF_ADDR_DORQ_START				(0x0)
2753 #define PXP_VF_ADDR_DORQ_SIZE				(0xffffffff)
2754 #define PXP_VF_ADDR_DORQ_END				(0xffffffff)
2755 
2756 #define PXP_BAR_GRC		0
2757 #define PXP_BAR_TSDM	0
2758 #define PXP_BAR_USDM	0
2759 #define PXP_BAR_XSDM	0
2760 #define PXP_BAR_CSDM	0
2761 #define PXP_BAR_IGU		0
2762 #define PXP_BAR_DQ		1
2763 
2764 #define PXP_VF_BAR_IGU	0
2765 #define PXP_VF_BAR_USDM_QUEUES	0
2766 #define PXP_VF_BAR_TSDM_QUEUES	0
2767 #define PXP_VF_BAR_XSDM_QUEUES	0
2768 #define PXP_VF_BAR_CSDM_QUEUES	0
2769 #define PXP_VF_BAR_USDM_GLOBAL	0
2770 #define PXP_VF_BAR_TSDM_GLOBAL	0
2771 #define PXP_VF_BAR_XSDM_GLOBAL	0
2772 #define PXP_VF_BAR_CSDM_GLOBAL	0
2773 #define PXP_VF_BAR_DB	0
2774 #define PXP_VF_BAR_GRC	0
2775 #define PXP_VF_BAR_DORQ	1
2776 
2777 /* PCI CAPABILITIES*/
2778 
2779 #define PCI_CAP_PCIE				0x10	/*PCIe capability ID*/
2780 
2781 #define PCIE_DEV_CAPS				0x04
2782 
2783 #define PCIE_DEV_CTRL				0x08
2784 #define PCIE_DEV_CTRL_FLR				0x8000;
2785 
2786 #define PCIE_DEV_STATUS				0x0A
2787 
2788 #define PCI_CAP_MSIX				0x11	/*MSI-X capability ID*/
2789 #define PCI_MSIX_CONTROL_SHIFT			16
2790 #define PCI_MSIX_TABLE_SIZE_MASK		0x07FF
2791 #define PCI_MSIX_TABLE_ENABLE_MASK		0x8000
2792 
2793 
2794 #define MDIO_REG_BANK_CL73_IEEEB0			0x0
2795 #define MDIO_CL73_IEEEB0_CL73_AN_CONTROL		0x0
2796 #define MDIO_CL73_IEEEB0_CL73_AN_CONTROL_RESTART_AN	0x0200
2797 #define MDIO_CL73_IEEEB0_CL73_AN_CONTROL_AN_EN		0x1000
2798 #define MDIO_CL73_IEEEB0_CL73_AN_CONTROL_MAIN_RST	0x8000
2799 
2800 #define MDIO_REG_BANK_CL73_IEEEB1			0x10
2801 #define MDIO_CL73_IEEEB1_AN_ADV1			0x00
2802 #define MDIO_CL73_IEEEB1_AN_ADV1_PAUSE			0x0400
2803 #define MDIO_CL73_IEEEB1_AN_ADV1_ASYMMETRIC		0x0800
2804 #define MDIO_CL73_IEEEB1_AN_ADV1_PAUSE_BOTH		0x0C00
2805 #define MDIO_CL73_IEEEB1_AN_ADV1_PAUSE_MASK		0x0C00
2806 #define MDIO_CL73_IEEEB1_AN_ADV2				0x01
2807 #define MDIO_CL73_IEEEB1_AN_ADV2_ADVR_1000M		0x0000
2808 #define MDIO_CL73_IEEEB1_AN_ADV2_ADVR_1000M_KX		0x0020
2809 #define MDIO_CL73_IEEEB1_AN_ADV2_ADVR_10G_KX4		0x0040
2810 #define MDIO_CL73_IEEEB1_AN_ADV2_ADVR_10G_KR		0x0080
2811 #define MDIO_CL73_IEEEB1_AN_LP_ADV1			0x03
2812 #define MDIO_CL73_IEEEB1_AN_LP_ADV1_PAUSE		0x0400
2813 #define MDIO_CL73_IEEEB1_AN_LP_ADV1_ASYMMETRIC		0x0800
2814 #define MDIO_CL73_IEEEB1_AN_LP_ADV1_PAUSE_BOTH		0x0C00
2815 #define MDIO_CL73_IEEEB1_AN_LP_ADV1_PAUSE_MASK		0x0C00
2816 #define MDIO_CL73_IEEEB1_AN_LP_ADV2			0x04
2817 
2818 #define MDIO_REG_BANK_RX0				0x80b0
2819 #define MDIO_RX0_RX_STATUS				0x10
2820 #define MDIO_RX0_RX_STATUS_SIGDET			0x8000
2821 #define MDIO_RX0_RX_STATUS_RX_SEQ_DONE			0x1000
2822 #define MDIO_RX0_RX_EQ_BOOST				0x1c
2823 #define MDIO_RX0_RX_EQ_BOOST_EQUALIZER_CTRL_MASK	0x7
2824 #define MDIO_RX0_RX_EQ_BOOST_OFFSET_CTRL		0x10
2825 
2826 #define MDIO_REG_BANK_RX1				0x80c0
2827 #define MDIO_RX1_RX_EQ_BOOST				0x1c
2828 #define MDIO_RX1_RX_EQ_BOOST_EQUALIZER_CTRL_MASK	0x7
2829 #define MDIO_RX1_RX_EQ_BOOST_OFFSET_CTRL		0x10
2830 
2831 #define MDIO_REG_BANK_RX2				0x80d0
2832 #define MDIO_RX2_RX_EQ_BOOST				0x1c
2833 #define MDIO_RX2_RX_EQ_BOOST_EQUALIZER_CTRL_MASK	0x7
2834 #define MDIO_RX2_RX_EQ_BOOST_OFFSET_CTRL		0x10
2835 
2836 #define MDIO_REG_BANK_RX3				0x80e0
2837 #define MDIO_RX3_RX_EQ_BOOST				0x1c
2838 #define MDIO_RX3_RX_EQ_BOOST_EQUALIZER_CTRL_MASK	0x7
2839 #define MDIO_RX3_RX_EQ_BOOST_OFFSET_CTRL		0x10
2840 
2841 #define MDIO_REG_BANK_RX_ALL				0x80f0
2842 #define MDIO_RX_ALL_RX_EQ_BOOST				0x1c
2843 #define MDIO_RX_ALL_RX_EQ_BOOST_EQUALIZER_CTRL_MASK	0x7
2844 #define MDIO_RX_ALL_RX_EQ_BOOST_OFFSET_CTRL	0x10
2845 
2846 #define MDIO_REG_BANK_TX0				0x8060
2847 #define MDIO_TX0_TX_DRIVER				0x17
2848 #define MDIO_TX0_TX_DRIVER_PREEMPHASIS_MASK		0xf000
2849 #define MDIO_TX0_TX_DRIVER_PREEMPHASIS_SHIFT		12
2850 #define MDIO_TX0_TX_DRIVER_IDRIVER_MASK			0x0f00
2851 #define MDIO_TX0_TX_DRIVER_IDRIVER_SHIFT		8
2852 #define MDIO_TX0_TX_DRIVER_IPREDRIVER_MASK		0x00f0
2853 #define MDIO_TX0_TX_DRIVER_IPREDRIVER_SHIFT		4
2854 #define MDIO_TX0_TX_DRIVER_IFULLSPD_MASK		0x000e
2855 #define MDIO_TX0_TX_DRIVER_IFULLSPD_SHIFT		1
2856 #define MDIO_TX0_TX_DRIVER_ICBUF1T			1
2857 
2858 #define MDIO_REG_BANK_TX1				0x8070
2859 #define MDIO_TX1_TX_DRIVER				0x17
2860 #define MDIO_TX0_TX_DRIVER_PREEMPHASIS_MASK		0xf000
2861 #define MDIO_TX0_TX_DRIVER_PREEMPHASIS_SHIFT		12
2862 #define MDIO_TX0_TX_DRIVER_IDRIVER_MASK			0x0f00
2863 #define MDIO_TX0_TX_DRIVER_IDRIVER_SHIFT		8
2864 #define MDIO_TX0_TX_DRIVER_IPREDRIVER_MASK		0x00f0
2865 #define MDIO_TX0_TX_DRIVER_IPREDRIVER_SHIFT		4
2866 #define MDIO_TX0_TX_DRIVER_IFULLSPD_MASK		0x000e
2867 #define MDIO_TX0_TX_DRIVER_IFULLSPD_SHIFT		1
2868 #define MDIO_TX0_TX_DRIVER_ICBUF1T			1
2869 
2870 #define MDIO_REG_BANK_TX2				0x8080
2871 #define MDIO_TX2_TX_DRIVER				0x17
2872 #define MDIO_TX0_TX_DRIVER_PREEMPHASIS_MASK		0xf000
2873 #define MDIO_TX0_TX_DRIVER_PREEMPHASIS_SHIFT		12
2874 #define MDIO_TX0_TX_DRIVER_IDRIVER_MASK			0x0f00
2875 #define MDIO_TX0_TX_DRIVER_IDRIVER_SHIFT		8
2876 #define MDIO_TX0_TX_DRIVER_IPREDRIVER_MASK		0x00f0
2877 #define MDIO_TX0_TX_DRIVER_IPREDRIVER_SHIFT		4
2878 #define MDIO_TX0_TX_DRIVER_IFULLSPD_MASK		0x000e
2879 #define MDIO_TX0_TX_DRIVER_IFULLSPD_SHIFT		1
2880 #define MDIO_TX0_TX_DRIVER_ICBUF1T			1
2881 
2882 #define MDIO_REG_BANK_TX3				0x8090
2883 #define MDIO_TX3_TX_DRIVER				0x17
2884 #define MDIO_TX0_TX_DRIVER_PREEMPHASIS_MASK		0xf000
2885 #define MDIO_TX0_TX_DRIVER_PREEMPHASIS_SHIFT		12
2886 #define MDIO_TX0_TX_DRIVER_IDRIVER_MASK			0x0f00
2887 #define MDIO_TX0_TX_DRIVER_IDRIVER_SHIFT		8
2888 #define MDIO_TX0_TX_DRIVER_IPREDRIVER_MASK		0x00f0
2889 #define MDIO_TX0_TX_DRIVER_IPREDRIVER_SHIFT		4
2890 #define MDIO_TX0_TX_DRIVER_IFULLSPD_MASK		0x000e
2891 #define MDIO_TX0_TX_DRIVER_IFULLSPD_SHIFT		1
2892 #define MDIO_TX0_TX_DRIVER_ICBUF1T			1
2893 
2894 #define MDIO_REG_BANK_XGXS_BLOCK0			0x8000
2895 #define MDIO_BLOCK0_XGXS_CONTROL			0x10
2896 
2897 #define MDIO_REG_BANK_XGXS_BLOCK1			0x8010
2898 #define MDIO_BLOCK1_LANE_CTRL0				0x15
2899 #define MDIO_BLOCK1_LANE_CTRL1				0x16
2900 #define MDIO_BLOCK1_LANE_CTRL2				0x17
2901 #define MDIO_BLOCK1_LANE_PRBS				0x19
2902 
2903 #define MDIO_REG_BANK_XGXS_BLOCK2			0x8100
2904 #define MDIO_XGXS_BLOCK2_RX_LN_SWAP			0x10
2905 #define MDIO_XGXS_BLOCK2_RX_LN_SWAP_ENABLE		0x8000
2906 #define MDIO_XGXS_BLOCK2_RX_LN_SWAP_FORCE_ENABLE	0x4000
2907 #define MDIO_XGXS_BLOCK2_TX_LN_SWAP		0x11
2908 #define MDIO_XGXS_BLOCK2_TX_LN_SWAP_ENABLE		0x8000
2909 #define MDIO_XGXS_BLOCK2_UNICORE_MODE_10G	0x14
2910 #define MDIO_XGXS_BLOCK2_UNICORE_MODE_10G_CX4_XGXS	0x0001
2911 #define MDIO_XGXS_BLOCK2_UNICORE_MODE_10G_HIGIG_XGXS	0x0010
2912 #define MDIO_XGXS_BLOCK2_TEST_MODE_LANE		0x15
2913 
2914 #define MDIO_REG_BANK_GP_STATUS				0x8120
2915 #define MDIO_GP_STATUS_TOP_AN_STATUS1				0x1B
2916 #define MDIO_GP_STATUS_TOP_AN_STATUS1_CL73_AUTONEG_COMPLETE	0x0001
2917 #define MDIO_GP_STATUS_TOP_AN_STATUS1_CL37_AUTONEG_COMPLETE	0x0002
2918 #define MDIO_GP_STATUS_TOP_AN_STATUS1_LINK_STATUS		0x0004
2919 #define MDIO_GP_STATUS_TOP_AN_STATUS1_DUPLEX_STATUS		0x0008
2920 #define MDIO_GP_STATUS_TOP_AN_STATUS1_CL73_MR_LP_NP_AN_ABLE	0x0010
2921 #define MDIO_GP_STATUS_TOP_AN_STATUS1_CL73_LP_NP_BAM_ABLE	0x0020
2922 #define MDIO_GP_STATUS_TOP_AN_STATUS1_PAUSE_RSOLUTION_TXSIDE	0x0040
2923 #define MDIO_GP_STATUS_TOP_AN_STATUS1_PAUSE_RSOLUTION_RXSIDE	0x0080
2924 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_MASK		0x3f00
2925 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10M		0x0000
2926 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_100M		0x0100
2927 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_1G		0x0200
2928 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_2_5G		0x0300
2929 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_5G		0x0400
2930 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_6G		0x0500
2931 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_HIG	0x0600
2932 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_CX4	0x0700
2933 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_12G_HIG	0x0800
2934 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_12_5G	0x0900
2935 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_13G		0x0A00
2936 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_15G		0x0B00
2937 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_16G		0x0C00
2938 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_1G_KX	0x0D00
2939 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_KX4	0x0E00
2940 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_KR	0x0F00
2941 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_XFI	0x1B00
2942 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_20G_DXGXS	0x1E00
2943 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_SFI	0x1F00
2944 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_20G_KR2	0x3900
2945 
2946 
2947 #define MDIO_REG_BANK_10G_PARALLEL_DETECT		0x8130
2948 #define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_STATUS		0x10
2949 #define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_STATUS_PD_LINK		0x8000
2950 #define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_CONTROL		0x11
2951 #define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_CONTROL_PARDET10G_EN	0x1
2952 #define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_LINK		0x13
2953 #define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_LINK_CNT		(0xb71<<1)
2954 
2955 #define MDIO_REG_BANK_SERDES_DIGITAL			0x8300
2956 #define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1			0x10
2957 #define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_FIBER_MODE			0x0001
2958 #define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_TBI_IF			0x0002
2959 #define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_SIGNAL_DETECT_EN		0x0004
2960 #define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_INVERT_SIGNAL_DETECT	0x0008
2961 #define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_AUTODET			0x0010
2962 #define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_MSTR_MODE			0x0020
2963 #define MDIO_SERDES_DIGITAL_A_1000X_CONTROL2			0x11
2964 #define MDIO_SERDES_DIGITAL_A_1000X_CONTROL2_PRL_DT_EN			0x0001
2965 #define MDIO_SERDES_DIGITAL_A_1000X_CONTROL2_AN_FST_TMR			0x0040
2966 #define MDIO_SERDES_DIGITAL_A_1000X_STATUS1			0x14
2967 #define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SGMII			0x0001
2968 #define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_LINK			0x0002
2969 #define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_DUPLEX			0x0004
2970 #define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_MASK			0x0018
2971 #define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_SHIFT			3
2972 #define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_2_5G			0x0018
2973 #define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_1G			0x0010
2974 #define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_100M			0x0008
2975 #define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_10M			0x0000
2976 #define MDIO_SERDES_DIGITAL_A_1000X_STATUS2			0x15
2977 #define MDIO_SERDES_DIGITAL_A_1000X_STATUS2_AN_DISABLED			0x0002
2978 #define MDIO_SERDES_DIGITAL_MISC1				0x18
2979 #define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_MASK			0xE000
2980 #define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_25M			0x0000
2981 #define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_100M			0x2000
2982 #define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_125M			0x4000
2983 #define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_156_25M			0x6000
2984 #define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_187_5M			0x8000
2985 #define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_SEL			0x0010
2986 #define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_MASK			0x000f
2987 #define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_2_5G			0x0000
2988 #define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_5G			0x0001
2989 #define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_6G			0x0002
2990 #define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_10G_HIG			0x0003
2991 #define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_10G_CX4			0x0004
2992 #define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_12G			0x0005
2993 #define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_12_5G			0x0006
2994 #define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_13G			0x0007
2995 #define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_15G			0x0008
2996 #define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_16G			0x0009
2997 
2998 #define MDIO_REG_BANK_OVER_1G				0x8320
2999 #define MDIO_OVER_1G_DIGCTL_3_4					0x14
3000 #define MDIO_OVER_1G_DIGCTL_3_4_MP_ID_MASK				0xffe0
3001 #define MDIO_OVER_1G_DIGCTL_3_4_MP_ID_SHIFT				5
3002 #define MDIO_OVER_1G_UP1					0x19
3003 #define MDIO_OVER_1G_UP1_2_5G						0x0001
3004 #define MDIO_OVER_1G_UP1_5G						0x0002
3005 #define MDIO_OVER_1G_UP1_6G						0x0004
3006 #define MDIO_OVER_1G_UP1_10G						0x0010
3007 #define MDIO_OVER_1G_UP1_10GH						0x0008
3008 #define MDIO_OVER_1G_UP1_12G						0x0020
3009 #define MDIO_OVER_1G_UP1_12_5G						0x0040
3010 #define MDIO_OVER_1G_UP1_13G						0x0080
3011 #define MDIO_OVER_1G_UP1_15G						0x0100
3012 #define MDIO_OVER_1G_UP1_16G						0x0200
3013 #define MDIO_OVER_1G_UP2					0x1A
3014 #define MDIO_OVER_1G_UP2_IPREDRIVER_MASK				0x0007
3015 #define MDIO_OVER_1G_UP2_IDRIVER_MASK					0x0038
3016 #define MDIO_OVER_1G_UP2_PREEMPHASIS_MASK				0x03C0
3017 #define MDIO_OVER_1G_UP3					0x1B
3018 #define MDIO_OVER_1G_UP3_HIGIG2						0x0001
3019 #define MDIO_OVER_1G_LP_UP1					0x1C
3020 #define MDIO_OVER_1G_LP_UP2					0x1D
3021 #define MDIO_OVER_1G_LP_UP2_MR_ADV_OVER_1G_MASK				0x03ff
3022 #define MDIO_OVER_1G_LP_UP2_PREEMPHASIS_MASK				0x0780
3023 #define MDIO_OVER_1G_LP_UP2_PREEMPHASIS_SHIFT				7
3024 #define MDIO_OVER_1G_LP_UP3						0x1E
3025 
3026 #define MDIO_REG_BANK_REMOTE_PHY			0x8330
3027 #define MDIO_REMOTE_PHY_MISC_RX_STATUS				0x10
3028 #define MDIO_REMOTE_PHY_MISC_RX_STATUS_CL37_FSM_RECEIVED_OVER1G_MSG	0x0010
3029 #define MDIO_REMOTE_PHY_MISC_RX_STATUS_CL37_FSM_RECEIVED_BRCM_OUI_MSG	0x0600
3030 
3031 #define MDIO_REG_BANK_BAM_NEXT_PAGE			0x8350
3032 #define MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL			0x10
3033 #define MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL_BAM_MODE			0x0001
3034 #define MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL_TETON_AN			0x0002
3035 
3036 #define MDIO_REG_BANK_CL73_USERB0		0x8370
3037 #define MDIO_CL73_USERB0_CL73_UCTRL				0x10
3038 #define MDIO_CL73_USERB0_CL73_UCTRL_USTAT1_MUXSEL			0x0002
3039 #define MDIO_CL73_USERB0_CL73_USTAT1				0x11
3040 #define MDIO_CL73_USERB0_CL73_USTAT1_LINK_STATUS_CHECK			0x0100
3041 #define MDIO_CL73_USERB0_CL73_USTAT1_AN_GOOD_CHECK_BAM37		0x0400
3042 #define MDIO_CL73_USERB0_CL73_BAM_CTRL1				0x12
3043 #define MDIO_CL73_USERB0_CL73_BAM_CTRL1_BAM_EN				0x8000
3044 #define MDIO_CL73_USERB0_CL73_BAM_CTRL1_BAM_STATION_MNGR_EN		0x4000
3045 #define MDIO_CL73_USERB0_CL73_BAM_CTRL1_BAM_NP_AFTER_BP_EN		0x2000
3046 #define MDIO_CL73_USERB0_CL73_BAM_CTRL3				0x14
3047 #define MDIO_CL73_USERB0_CL73_BAM_CTRL3_USE_CL73_HCD_MR			0x0001
3048 
3049 #define MDIO_REG_BANK_AER_BLOCK			0xFFD0
3050 #define MDIO_AER_BLOCK_AER_REG					0x1E
3051 
3052 #define MDIO_REG_BANK_COMBO_IEEE0		0xFFE0
3053 #define MDIO_COMBO_IEEE0_MII_CONTROL				0x10
3054 #define MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_MASK			0x2040
3055 #define MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_10			0x0000
3056 #define MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_100			0x2000
3057 #define MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_1000			0x0040
3058 #define MDIO_COMBO_IEEO_MII_CONTROL_FULL_DUPLEX				0x0100
3059 #define MDIO_COMBO_IEEO_MII_CONTROL_RESTART_AN				0x0200
3060 #define MDIO_COMBO_IEEO_MII_CONTROL_AN_EN				0x1000
3061 #define MDIO_COMBO_IEEO_MII_CONTROL_LOOPBACK				0x4000
3062 #define MDIO_COMBO_IEEO_MII_CONTROL_RESET				0x8000
3063 #define MDIO_COMBO_IEEE0_MII_STATUS				0x11
3064 #define MDIO_COMBO_IEEE0_MII_STATUS_LINK_PASS				0x0004
3065 #define MDIO_COMBO_IEEE0_MII_STATUS_AUTONEG_COMPLETE			0x0020
3066 #define MDIO_COMBO_IEEE0_AUTO_NEG_ADV				0x14
3067 #define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_FULL_DUPLEX			0x0020
3068 #define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_HALF_DUPLEX			0x0040
3069 #define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_MASK			0x0180
3070 #define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_NONE			0x0000
3071 #define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_SYMMETRIC			0x0080
3072 #define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_ASYMMETRIC			0x0100
3073 #define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_BOTH			0x0180
3074 #define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_NEXT_PAGE				0x8000
3075 #define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1		0x15
3076 #define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_NEXT_PAGE	0x8000
3077 #define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_ACK		0x4000
3078 #define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_PAUSE_MASK	0x0180
3079 #define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_PAUSE_NONE	0x0000
3080 #define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_PAUSE_BOTH	0x0180
3081 #define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_HALF_DUP_CAP	0x0040
3082 #define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_FULL_DUP_CAP	0x0020
3083 /*WhenthelinkpartnerisinSGMIImode(bit0=1), then
3084 bit15=link, bit12=duplex, bits11:10=speed, bit14=acknowledge.
3085 Theotherbitsarereservedandshouldbezero*/
3086 #define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_SGMII_MODE	0x0001
3087 
3088 
3089 #define MDIO_PMA_DEVAD			0x1
3090 /*ieee*/
3091 #define MDIO_PMA_REG_CTRL		0x0
3092 #define MDIO_PMA_REG_STATUS		0x1
3093 #define MDIO_PMA_REG_10G_CTRL2		0x7
3094 #define MDIO_PMA_REG_TX_DISABLE		0x0009
3095 #define MDIO_PMA_REG_RX_SD		0xa
3096 /*bcm*/
3097 #define MDIO_PMA_REG_BCM_CTRL		0x0096
3098 #define MDIO_PMA_REG_FEC_CTRL		0x00ab
3099 #define MDIO_PMA_LASI_RXCTRL		0x9000
3100 #define MDIO_PMA_LASI_TXCTRL		0x9001
3101 #define MDIO_PMA_LASI_CTRL		0x9002
3102 #define MDIO_PMA_LASI_RXSTAT		0x9003
3103 #define MDIO_PMA_LASI_TXSTAT		0x9004
3104 #define MDIO_PMA_LASI_STAT		0x9005
3105 #define MDIO_PMA_REG_PHY_IDENTIFIER	0xc800
3106 #define MDIO_PMA_REG_DIGITAL_CTRL	0xc808
3107 #define MDIO_PMA_REG_DIGITAL_STATUS	0xc809
3108 #define MDIO_PMA_REG_TX_POWER_DOWN	0xca02
3109 #define MDIO_PMA_REG_CMU_PLL_BYPASS	0xca09
3110 #define MDIO_PMA_REG_MISC_CTRL		0xca0a
3111 #define MDIO_PMA_REG_GEN_CTRL		0xca10
3112 #define MDIO_PMA_REG_GEN_CTRL_ROM_RESET_INTERNAL_MP	0x0188
3113 #define MDIO_PMA_REG_GEN_CTRL_ROM_MICRO_RESET		0x018a
3114 #define MDIO_PMA_REG_M8051_MSGIN_REG	0xca12
3115 #define MDIO_PMA_REG_M8051_MSGOUT_REG	0xca13
3116 #define MDIO_PMA_REG_ROM_VER1		0xca19
3117 #define MDIO_PMA_REG_ROM_VER2		0xca1a
3118 #define MDIO_PMA_REG_EDC_FFE_MAIN	0xca1b
3119 #define MDIO_PMA_REG_PLL_BANDWIDTH	0xca1d
3120 #define MDIO_PMA_REG_PLL_CTRL		0xca1e
3121 #define MDIO_PMA_REG_MISC_CTRL0		0xca23
3122 #define MDIO_PMA_REG_LRM_MODE		0xca3f
3123 #define MDIO_PMA_REG_CDR_BANDWIDTH	0xca46
3124 #define MDIO_PMA_REG_MISC_CTRL1		0xca85
3125 
3126 #define MDIO_PMA_REG_SFP_TWO_WIRE_CTRL		0x8000
3127 #define MDIO_PMA_REG_SFP_TWO_WIRE_CTRL_STATUS_MASK	0x000c
3128 #define MDIO_PMA_REG_SFP_TWO_WIRE_STATUS_IDLE		0x0000
3129 #define MDIO_PMA_REG_SFP_TWO_WIRE_STATUS_COMPLETE	0x0004
3130 #define MDIO_PMA_REG_SFP_TWO_WIRE_STATUS_IN_PROGRESS	0x0008
3131 #define MDIO_PMA_REG_SFP_TWO_WIRE_STATUS_FAILED		0x000c
3132 #define MDIO_PMA_REG_SFP_TWO_WIRE_BYTE_CNT	0x8002
3133 #define MDIO_PMA_REG_SFP_TWO_WIRE_MEM_ADDR	0x8003
3134 #define MDIO_PMA_REG_8726_TWO_WIRE_DATA_BUF	0xc820
3135 #define MDIO_PMA_REG_8726_TWO_WIRE_DATA_MASK 0xff
3136 #define MDIO_PMA_REG_8726_TX_CTRL1		0xca01
3137 #define MDIO_PMA_REG_8726_TX_CTRL2		0xca05
3138 
3139 #define MDIO_PMA_REG_8727_TWO_WIRE_SLAVE_ADDR	0x8005
3140 #define MDIO_PMA_REG_8727_TWO_WIRE_DATA_BUF	0x8007
3141 #define MDIO_PMA_REG_8727_TWO_WIRE_DATA_MASK 0xff
3142 #define MDIO_PMA_REG_8727_MISC_CTRL		0x8309
3143 #define MDIO_PMA_REG_8727_TX_CTRL1		0xca02
3144 #define MDIO_PMA_REG_8727_TX_CTRL2		0xca05
3145 #define MDIO_PMA_REG_8727_PCS_OPT_CTRL		0xc808
3146 #define MDIO_PMA_REG_8727_GPIO_CTRL		0xc80e
3147 #define MDIO_PMA_REG_8727_PCS_GP		0xc842
3148 #define MDIO_PMA_REG_8727_OPT_CFG_REG		0xc8e4
3149 
3150 #define MDIO_AN_REG_8727_MISC_CTRL		0x8309
3151 #define MDIO_PMA_REG_8073_CHIP_REV			0xc801
3152 #define MDIO_PMA_REG_8073_SPEED_LINK_STATUS		0xc820
3153 #define MDIO_PMA_REG_8073_XAUI_WA			0xc841
3154 #define MDIO_PMA_REG_8073_OPT_DIGITAL_CTRL		0xcd08
3155 
3156 #define MDIO_PMA_REG_7101_RESET		0xc000
3157 #define MDIO_PMA_REG_7107_LED_CNTL	0xc007
3158 #define MDIO_PMA_REG_7107_LINK_LED_CNTL	0xc009
3159 #define MDIO_PMA_REG_7101_VER1		0xc026
3160 #define MDIO_PMA_REG_7101_VER2		0xc027
3161 
3162 #define MDIO_PMA_REG_8481_PMD_SIGNAL	0xa811
3163 #define MDIO_PMA_REG_8481_LED1_MASK	0xa82c
3164 #define MDIO_PMA_REG_8481_LED2_MASK	0xa82f
3165 #define MDIO_PMA_REG_8481_LED3_MASK	0xa832
3166 #define MDIO_PMA_REG_8481_LED3_BLINK	0xa834
3167 #define MDIO_PMA_REG_8481_LED5_MASK			0xa838
3168 #define MDIO_PMA_REG_8481_SIGNAL_MASK	0xa835
3169 #define MDIO_PMA_REG_8481_LINK_SIGNAL	0xa83b
3170 #define MDIO_PMA_REG_8481_LINK_SIGNAL_LED4_ENABLE_MASK	0x800
3171 #define MDIO_PMA_REG_8481_LINK_SIGNAL_LED4_ENABLE_SHIFT	11
3172 
3173 
3174 #define MDIO_WIS_DEVAD			0x2
3175 /*bcm*/
3176 #define MDIO_WIS_REG_LASI_CNTL		0x9002
3177 #define MDIO_WIS_REG_LASI_STATUS	0x9005
3178 
3179 #define MDIO_PCS_DEVAD			0x3
3180 #define MDIO_PCS_REG_STATUS		0x0020
3181 #define MDIO_PCS_REG_LASI_STATUS	0x9005
3182 #define MDIO_PCS_REG_7101_DSP_ACCESS	0xD000
3183 #define MDIO_PCS_REG_7101_SPI_MUX	0xD008
3184 #define MDIO_PCS_REG_7101_SPI_CTRL_ADDR	0xE12A
3185 #define MDIO_PCS_REG_7101_SPI_RESET_BIT	(5)
3186 #define MDIO_PCS_REG_7101_SPI_FIFO_ADDR	0xE02A
3187 #define MDIO_PCS_REG_7101_SPI_FIFO_ADDR_WRITE_ENABLE_CMD (6)
3188 #define MDIO_PCS_REG_7101_SPI_FIFO_ADDR_BULK_ERASE_CMD	 (0xC7)
3189 #define MDIO_PCS_REG_7101_SPI_FIFO_ADDR_PAGE_PROGRAM_CMD (2)
3190 #define MDIO_PCS_REG_7101_SPI_BYTES_TO_TRANSFER_ADDR 0xE028
3191 
3192 
3193 #define MDIO_XS_DEVAD			0x4
3194 #define MDIO_XS_REG_STATUS		0x0001
3195 #define MDIO_XS_PLL_SEQUENCER		0x8000
3196 #define MDIO_XS_SFX7101_XGXS_TEST1	0xc00a
3197 
3198 #define MDIO_XS_8706_REG_BANK_RX0	0x80bc
3199 #define MDIO_XS_8706_REG_BANK_RX1	0x80cc
3200 #define MDIO_XS_8706_REG_BANK_RX2	0x80dc
3201 #define MDIO_XS_8706_REG_BANK_RX3	0x80ec
3202 #define MDIO_XS_8706_REG_BANK_RXA	0x80fc
3203 
3204 #define MDIO_XS_REG_8073_RX_CTRL_PCIE	0x80FA
3205 
3206 #define MDIO_AN_DEVAD			0x7
3207 /*ieee*/
3208 #define MDIO_AN_REG_CTRL		0x0000
3209 #define MDIO_AN_REG_STATUS		0x0001
3210 #define MDIO_AN_REG_STATUS_AN_COMPLETE		0x0020
3211 #define MDIO_AN_REG_ADV_PAUSE		0x0010
3212 #define MDIO_AN_REG_ADV_PAUSE_PAUSE		0x0400
3213 #define MDIO_AN_REG_ADV_PAUSE_ASYMMETRIC	0x0800
3214 #define MDIO_AN_REG_ADV_PAUSE_BOTH		0x0C00
3215 #define MDIO_AN_REG_ADV_PAUSE_MASK		0x0C00
3216 #define MDIO_AN_REG_ADV			0x0011
3217 #define MDIO_AN_REG_ADV2		0x0012
3218 #define MDIO_AN_REG_LP_AUTO_NEG		0x0013
3219 #define MDIO_AN_REG_LP_AUTO_NEG2	0x0014
3220 #define MDIO_AN_REG_MASTER_STATUS	0x0021
3221 #define MDIO_AN_REG_EEE_ADV		0x003c
3222 #define MDIO_AN_REG_LP_EEE_ADV		0x003d
3223 /*bcm*/
3224 #define MDIO_AN_REG_LINK_STATUS		0x8304
3225 #define MDIO_AN_REG_CL37_CL73		0x8370
3226 #define MDIO_AN_REG_CL37_AN		0xffe0
3227 #define MDIO_AN_REG_CL37_FC_LD		0xffe4
3228 #define		MDIO_AN_REG_CL37_FC_LP		0xffe5
3229 #define		MDIO_AN_REG_1000T_STATUS	0xffea
3230 
3231 #define MDIO_AN_REG_8073_2_5G		0x8329
3232 #define MDIO_AN_REG_8073_BAM		0x8350
3233 
3234 #define MDIO_AN_REG_8481_10GBASE_T_AN_CTRL	0x0020
3235 #define MDIO_AN_REG_8481_LEGACY_MII_CTRL	0xffe0
3236 #define MDIO_AN_REG_8481_MII_CTRL_FORCE_1G	0x40
3237 #define MDIO_AN_REG_8481_LEGACY_MII_STATUS	0xffe1
3238 #define MDIO_AN_REG_848xx_ID_MSB		0xffe2
3239 #define BCM84858_PHY_ID					0x600d
3240 #define MDIO_AN_REG_848xx_ID_LSB		0xffe3
3241 #define MDIO_AN_REG_8481_LEGACY_AN_ADV		0xffe4
3242 #define MDIO_AN_REG_8481_LEGACY_AN_EXPANSION	0xffe6
3243 #define MDIO_AN_REG_8481_1000T_CTRL		0xffe9
3244 #define MDIO_AN_REG_8481_1G_100T_EXT_CTRL	0xfff0
3245 #define MIDO_AN_REG_8481_EXT_CTRL_FORCE_LEDS_OFF	0x0008
3246 #define MDIO_AN_REG_8481_EXPANSION_REG_RD_RW	0xfff5
3247 #define MDIO_AN_REG_8481_EXPANSION_REG_ACCESS	0xfff7
3248 #define MDIO_AN_REG_8481_AUX_CTRL		0xfff8
3249 #define MDIO_AN_REG_8481_LEGACY_SHADOW		0xfffc
3250 
3251 /* BCM84823 only */
3252 #define MDIO_CTL_DEVAD			0x1e
3253 #define MDIO_CTL_REG_84823_MEDIA		0x401a
3254 #define MDIO_CTL_REG_84823_MEDIA_MAC_MASK		0x0018
3255 	/* These pins configure the BCM84823 interface to MAC after reset. */
3256 #define MDIO_CTL_REG_84823_CTRL_MAC_XFI			0x0008
3257 #define MDIO_CTL_REG_84823_MEDIA_MAC_XAUI_M		0x0010
3258 	/* These pins configure the BCM84823 interface to Line after reset. */
3259 #define MDIO_CTL_REG_84823_MEDIA_LINE_MASK		0x0060
3260 #define MDIO_CTL_REG_84823_MEDIA_LINE_XAUI_L		0x0020
3261 #define MDIO_CTL_REG_84823_MEDIA_LINE_XFI		0x0040
3262 	/* When this pin is active high during reset, 10GBASE-T core is power
3263 	 * down, When it is active low the 10GBASE-T is power up
3264 	 */
3265 #define MDIO_CTL_REG_84823_MEDIA_COPPER_CORE_DOWN	0x0080
3266 #define MDIO_CTL_REG_84823_MEDIA_PRIORITY_MASK		0x0100
3267 #define MDIO_CTL_REG_84823_MEDIA_PRIORITY_COPPER	0x0000
3268 #define MDIO_CTL_REG_84823_MEDIA_PRIORITY_FIBER		0x0100
3269 #define MDIO_CTL_REG_84823_MEDIA_FIBER_1G			0x1000
3270 #define MDIO_CTL_REG_84823_USER_CTRL_REG			0x4005
3271 #define MDIO_CTL_REG_84823_USER_CTRL_CMS			0x0080
3272 #define MDIO_PMA_REG_84823_CTL_SLOW_CLK_CNT_HIGH		0xa82b
3273 #define MDIO_PMA_REG_84823_BLINK_RATE_VAL_15P9HZ	0x2f
3274 #define MDIO_PMA_REG_84823_CTL_LED_CTL_1			0xa8e3
3275 #define MDIO_PMA_REG_84833_CTL_LED_CTL_1			0xa8ec
3276 #define MDIO_PMA_REG_84823_LED3_STRETCH_EN			0x0080
3277 
3278 /* BCM84833 only */
3279 #define MDIO_84833_TOP_CFG_FW_REV			0x400f
3280 #define MDIO_84833_TOP_CFG_FW_EEE		0x10b1
3281 #define MDIO_84833_TOP_CFG_FW_NO_EEE		0x1f81
3282 #define MDIO_84833_TOP_CFG_XGPHY_STRAP1			0x401a
3283 #define MDIO_84833_SUPER_ISOLATE		0x8000
3284 /* These are mailbox register set used by 84833/84858. */
3285 #define MDIO_848xx_TOP_CFG_SCRATCH_REG0			0x4005
3286 #define MDIO_848xx_TOP_CFG_SCRATCH_REG1			0x4006
3287 #define MDIO_848xx_TOP_CFG_SCRATCH_REG2			0x4007
3288 #define MDIO_848xx_TOP_CFG_SCRATCH_REG3			0x4008
3289 #define MDIO_848xx_TOP_CFG_SCRATCH_REG4			0x4009
3290 #define MDIO_848xx_TOP_CFG_SCRATCH_REG26		0x4037
3291 #define MDIO_848xx_TOP_CFG_SCRATCH_REG27		0x4038
3292 #define MDIO_848xx_TOP_CFG_SCRATCH_REG28		0x4039
3293 #define MDIO_848xx_TOP_CFG_SCRATCH_REG29		0x403a
3294 #define MDIO_848xx_TOP_CFG_SCRATCH_REG30		0x403b
3295 #define MDIO_848xx_TOP_CFG_SCRATCH_REG31		0x403c
3296 #define MDIO_848xx_CMD_HDLR_COMMAND	(MDIO_848xx_TOP_CFG_SCRATCH_REG0)
3297 #define MDIO_848xx_CMD_HDLR_STATUS	(MDIO_848xx_TOP_CFG_SCRATCH_REG26)
3298 #define MDIO_848xx_CMD_HDLR_DATA1	(MDIO_848xx_TOP_CFG_SCRATCH_REG27)
3299 #define MDIO_848xx_CMD_HDLR_DATA2	(MDIO_848xx_TOP_CFG_SCRATCH_REG28)
3300 #define MDIO_848xx_CMD_HDLR_DATA3	(MDIO_848xx_TOP_CFG_SCRATCH_REG29)
3301 #define MDIO_848xx_CMD_HDLR_DATA4	(MDIO_848xx_TOP_CFG_SCRATCH_REG30)
3302 #define MDIO_848xx_CMD_HDLR_DATA5	(MDIO_848xx_TOP_CFG_SCRATCH_REG31)
3303 
3304 /* Mailbox command set used by 84833/84858 */
3305 #define PHY848xx_CMD_SET_PAIR_SWAP			0x8001
3306 #define PHY848xx_CMD_GET_EEE_MODE			0x8008
3307 #define PHY848xx_CMD_SET_EEE_MODE			0x8009
3308 #define PHY848xx_CMD_GET_CURRENT_TEMP			0x8031
3309 /* Mailbox status set used by 84833 only */
3310 #define PHY84833_STATUS_CMD_RECEIVED			0x0001
3311 #define PHY84833_STATUS_CMD_IN_PROGRESS			0x0002
3312 #define PHY84833_STATUS_CMD_COMPLETE_PASS		0x0004
3313 #define PHY84833_STATUS_CMD_COMPLETE_ERROR		0x0008
3314 #define PHY84833_STATUS_CMD_OPEN_FOR_CMDS		0x0010
3315 #define PHY84833_STATUS_CMD_SYSTEM_BOOT			0x0020
3316 #define PHY84833_STATUS_CMD_NOT_OPEN_FOR_CMDS		0x0040
3317 #define PHY84833_STATUS_CMD_CLEAR_COMPLETE		0x0080
3318 #define PHY84833_STATUS_CMD_OPEN_OVERRIDE		0xa5a5
3319 /* Mailbox Process */
3320 #define PHY84833_MB_PROCESS1				1
3321 #define PHY84833_MB_PROCESS2				2
3322 #define PHY84833_MB_PROCESS3				3
3323 
3324 
3325 /* Mailbox status set used by 84858 only */
3326 #define PHY84858_STATUS_CMD_RECEIVED			0x0001
3327 #define PHY84858_STATUS_CMD_IN_PROGRESS			0x0002
3328 #define PHY84858_STATUS_CMD_COMPLETE_PASS		0x0004
3329 #define PHY84858_STATUS_CMD_COMPLETE_ERROR		0x0008
3330 #define PHY84858_STATUS_CMD_SYSTEM_BUSY			0xbbbb
3331 
3332 
3333 /* Warpcore clause 45 addressing */
3334 #define MDIO_WC_DEVAD					0x3
3335 #define MDIO_WC_REG_IEEE0BLK_MIICNTL			0x0
3336 #define MDIO_WC_REG_IEEE0BLK_AUTONEGNP			0x7
3337 #define MDIO_WC_REG_AN_IEEE1BLK_AN_ADVERTISEMENT0	0x10
3338 #define MDIO_WC_REG_AN_IEEE1BLK_AN_ADVERTISEMENT1	0x11
3339 #define MDIO_WC_REG_AN_IEEE1BLK_AN_ADVERTISEMENT2	0x12
3340 #define MDIO_WC_REG_AN_IEEE1BLK_AN_ADV2_FEC_ABILITY	0x4000
3341 #define MDIO_WC_REG_AN_IEEE1BLK_AN_ADV2_FEC_REQ		0x8000
3342 #define MDIO_WC_REG_PCS_STATUS2				0x0021
3343 #define MDIO_WC_REG_PMD_KR_CONTROL			0x0096
3344 #define MDIO_WC_REG_XGXSBLK0_XGXSCONTROL		0x8000
3345 #define MDIO_WC_REG_XGXSBLK0_MISCCONTROL1		0x800e
3346 #define MDIO_WC_REG_XGXSBLK1_DESKEW			0x8010
3347 #define MDIO_WC_REG_XGXSBLK1_LANECTRL0			0x8015
3348 #define MDIO_WC_REG_XGXSBLK1_LANECTRL1			0x8016
3349 #define MDIO_WC_REG_XGXSBLK1_LANECTRL2			0x8017
3350 #define MDIO_WC_REG_XGXSBLK1_LANECTRL3			0x8018
3351 #define MDIO_WC_REG_XGXSBLK1_LANETEST0			0x801a
3352 #define MDIO_WC_REG_TX0_ANA_CTRL0			0x8061
3353 #define MDIO_WC_REG_TX1_ANA_CTRL0			0x8071
3354 #define MDIO_WC_REG_TX2_ANA_CTRL0			0x8081
3355 #define MDIO_WC_REG_TX3_ANA_CTRL0			0x8091
3356 #define MDIO_WC_REG_TX0_TX_DRIVER			0x8067
3357 #define MDIO_WC_REG_TX0_TX_DRIVER_IFIR_OFFSET			0x01
3358 #define MDIO_WC_REG_TX0_TX_DRIVER_IFIR_MASK				0x000e
3359 #define MDIO_WC_REG_TX0_TX_DRIVER_IPRE_DRIVER_OFFSET		0x04
3360 #define MDIO_WC_REG_TX0_TX_DRIVER_IPRE_DRIVER_MASK			0x00f0
3361 #define MDIO_WC_REG_TX0_TX_DRIVER_IDRIVER_OFFSET		0x08
3362 #define MDIO_WC_REG_TX0_TX_DRIVER_IDRIVER_MASK				0x0f00
3363 #define MDIO_WC_REG_TX0_TX_DRIVER_POST2_COEFF_OFFSET		0x0c
3364 #define MDIO_WC_REG_TX0_TX_DRIVER_POST2_COEFF_MASK			0x7000
3365 #define MDIO_WC_REG_TX1_TX_DRIVER			0x8077
3366 #define MDIO_WC_REG_TX2_TX_DRIVER			0x8087
3367 #define MDIO_WC_REG_TX3_TX_DRIVER			0x8097
3368 #define MDIO_WC_REG_RX0_ANARXCONTROL1G			0x80b9
3369 #define MDIO_WC_REG_RX2_ANARXCONTROL1G			0x80d9
3370 #define MDIO_WC_REG_RX0_PCI_CTRL			0x80ba
3371 #define MDIO_WC_REG_RX1_PCI_CTRL			0x80ca
3372 #define MDIO_WC_REG_RX2_PCI_CTRL			0x80da
3373 #define MDIO_WC_REG_RX3_PCI_CTRL			0x80ea
3374 #define MDIO_WC_REG_RXB_ANA_RX_CONTROL_PCI		0x80fa
3375 #define MDIO_WC_REG_XGXSBLK2_UNICORE_MODE_10G		0x8104
3376 #define MDIO_WC_REG_XGXSBLK2_LANE_RESET			0x810a
3377 #define MDIO_WC_REG_XGXS_STATUS3			0x8129
3378 #define MDIO_WC_REG_PAR_DET_10G_STATUS			0x8130
3379 #define MDIO_WC_REG_PAR_DET_10G_CTRL			0x8131
3380 #define MDIO_WC_REG_XGXS_STATUS4			0x813c
3381 #define MDIO_WC_REG_XGXS_X2_CONTROL2			0x8141
3382 #define MDIO_WC_REG_XGXS_X2_CONTROL3			0x8142
3383 #define MDIO_WC_REG_XGXS_RX_LN_SWAP1			0x816B
3384 #define MDIO_WC_REG_XGXS_TX_LN_SWAP1			0x8169
3385 #define MDIO_WC_REG_GP2_STATUS_GP_2_0			0x81d0
3386 #define MDIO_WC_REG_GP2_STATUS_GP_2_1			0x81d1
3387 #define MDIO_WC_REG_GP2_STATUS_GP_2_2			0x81d2
3388 #define MDIO_WC_REG_GP2_STATUS_GP_2_3			0x81d3
3389 #define MDIO_WC_REG_GP2_STATUS_GP_2_4			0x81d4
3390 #define MDIO_WC_REG_GP2_STATUS_GP_2_4_CL73_AN_CMPL 0x1000
3391 #define MDIO_WC_REG_GP2_STATUS_GP_2_4_CL37_AN_CMPL 0x0100
3392 #define MDIO_WC_REG_GP2_STATUS_GP_2_4_CL37_LP_AN_CAP 0x0010
3393 #define MDIO_WC_REG_GP2_STATUS_GP_2_4_CL37_AN_CAP 0x1
3394 #define MDIO_WC_REG_UC_INFO_B0_DEAD_TRAP		0x81EE
3395 #define MDIO_WC_REG_UC_INFO_B1_VERSION			0x81F0
3396 #define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE		0x81F2
3397 #define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_LANE0_OFFSET	0x0
3398 #define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_DEFAULT	    0x0
3399 #define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_SFP_OPT_LR	    0x1
3400 #define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_SFP_DAC	    0x2
3401 #define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_SFP_XLAUI	    0x3
3402 #define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_LONG_CH_6G	    0x4
3403 #define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_LANE1_OFFSET	0x4
3404 #define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_LANE2_OFFSET	0x8
3405 #define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_LANE3_OFFSET	0xc
3406 #define MDIO_WC_REG_UC_INFO_B1_CRC			0x81FE
3407 #define MDIO_WC_REG_DSC1B0_UC_CTRL				0x820e
3408 #define MDIO_WC_REG_DSC1B0_UC_CTRL_RDY4CMD			(1<<7)
3409 #define MDIO_WC_REG_DSC_SMC				0x8213
3410 #define MDIO_WC_REG_DSC2B0_DSC_MISC_CTRL0		0x821e
3411 #define MDIO_WC_REG_TX_FIR_TAP				0x82e2
3412 #define MDIO_WC_REG_TX_FIR_TAP_PRE_TAP_OFFSET		0x00
3413 #define MDIO_WC_REG_TX_FIR_TAP_PRE_TAP_MASK			0x000f
3414 #define MDIO_WC_REG_TX_FIR_TAP_MAIN_TAP_OFFSET		0x04
3415 #define MDIO_WC_REG_TX_FIR_TAP_MAIN_TAP_MASK		0x03f0
3416 #define MDIO_WC_REG_TX_FIR_TAP_POST_TAP_OFFSET		0x0a
3417 #define MDIO_WC_REG_TX_FIR_TAP_POST_TAP_MASK		0x7c00
3418 #define MDIO_WC_REG_TX_FIR_TAP_ENABLE		0x8000
3419 #define MDIO_WC_REG_CL72_USERB0_CL72_TX_FIR_TAP		0x82e2
3420 #define MDIO_WC_REG_CL72_USERB0_CL72_MISC1_CONTROL	0x82e3
3421 #define MDIO_WC_REG_CL72_USERB0_CL72_OS_DEF_CTRL	0x82e6
3422 #define MDIO_WC_REG_CL72_USERB0_CL72_BR_DEF_CTRL	0x82e7
3423 #define MDIO_WC_REG_CL72_USERB0_CL72_2P5_DEF_CTRL	0x82e8
3424 #define MDIO_WC_REG_CL72_USERB0_CL72_MISC4_CONTROL	0x82ec
3425 #define MDIO_WC_REG_SERDESDIGITAL_CONTROL1000X1		0x8300
3426 #define MDIO_WC_REG_SERDESDIGITAL_CONTROL1000X2		0x8301
3427 #define MDIO_WC_REG_SERDESDIGITAL_CONTROL1000X3		0x8302
3428 #define MDIO_WC_REG_SERDESDIGITAL_STATUS1000X1		0x8304
3429 #define MDIO_WC_REG_SERDESDIGITAL_MISC1			0x8308
3430 #define MDIO_WC_REG_SERDESDIGITAL_MISC2			0x8309
3431 #define MDIO_WC_REG_DIGITAL3_UP1			0x8329
3432 #define MDIO_WC_REG_DIGITAL3_LP_UP1			0x832c
3433 #define MDIO_WC_REG_DIGITAL4_MISC3			0x833c
3434 #define MDIO_WC_REG_DIGITAL4_MISC5			0x833e
3435 #define MDIO_WC_REG_DIGITAL5_MISC6			0x8345
3436 #define MDIO_WC_REG_DIGITAL5_MISC7			0x8349
3437 #define MDIO_WC_REG_DIGITAL5_LINK_STATUS		0x834d
3438 #define MDIO_WC_REG_DIGITAL5_ACTUAL_SPEED		0x834e
3439 #define MDIO_WC_REG_DIGITAL6_MP5_NEXTPAGECTRL		0x8350
3440 #define MDIO_WC_REG_CL49_USERB0_CTRL			0x8368
3441 #define MDIO_WC_REG_CL73_USERB0_CTRL			0x8370
3442 #define MDIO_WC_REG_CL73_USERB0_USTAT			0x8371
3443 #define MDIO_WC_REG_CL73_BAM_CTRL1			0x8372
3444 #define MDIO_WC_REG_CL73_BAM_CTRL2			0x8373
3445 #define MDIO_WC_REG_CL73_BAM_CTRL3			0x8374
3446 #define MDIO_WC_REG_CL73_BAM_CODE_FIELD			0x837b
3447 #define MDIO_WC_REG_EEE_COMBO_CONTROL0			0x8390
3448 #define MDIO_WC_REG_TX66_CONTROL			0x83b0
3449 #define MDIO_WC_REG_RX66_CONTROL			0x83c0
3450 #define MDIO_WC_REG_RX66_SCW0				0x83c2
3451 #define MDIO_WC_REG_RX66_SCW1				0x83c3
3452 #define MDIO_WC_REG_RX66_SCW2				0x83c4
3453 #define MDIO_WC_REG_RX66_SCW3				0x83c5
3454 #define MDIO_WC_REG_RX66_SCW0_MASK			0x83c6
3455 #define MDIO_WC_REG_RX66_SCW1_MASK			0x83c7
3456 #define MDIO_WC_REG_RX66_SCW2_MASK			0x83c8
3457 #define MDIO_WC_REG_RX66_SCW3_MASK			0x83c9
3458 #define MDIO_WC_REG_FX100_CTRL1				0x8400
3459 #define MDIO_WC_REG_FX100_CTRL3				0x8402
3460 #define MDIO_WC_REG_CL82_USERB1_TX_CTRL5		0x8436
3461 #define MDIO_WC_REG_CL82_USERB1_TX_CTRL6		0x8437
3462 #define MDIO_WC_REG_CL82_USERB1_TX_CTRL7		0x8438
3463 #define MDIO_WC_REG_CL82_USERB1_TX_CTRL9		0x8439
3464 #define MDIO_WC_REG_CL82_USERB1_RX_CTRL10		0x843a
3465 #define MDIO_WC_REG_CL82_USERB1_RX_CTRL11		0x843b
3466 #define MDIO_WC_REG_ETA_CL73_OUI1			0x8453
3467 #define MDIO_WC_REG_ETA_CL73_OUI2			0x8454
3468 #define MDIO_WC_REG_ETA_CL73_OUI3			0x8455
3469 #define MDIO_WC_REG_ETA_CL73_LD_BAM_CODE		0x8456
3470 #define MDIO_WC_REG_ETA_CL73_LD_UD_CODE			0x8457
3471 #define MDIO_WC_REG_MICROBLK_CMD			0xffc2
3472 #define MDIO_WC_REG_MICROBLK_DL_STATUS			0xffc5
3473 #define MDIO_WC_REG_MICROBLK_CMD3			0xffcc
3474 
3475 #define MDIO_WC_REG_AERBLK_AER				0xffde
3476 #define MDIO_WC_REG_COMBO_IEEE0_MIICTRL			0xffe0
3477 #define MDIO_WC_REG_COMBO_IEEE0_MIIISTAT		0xffe1
3478 
3479 #define MDIO_WC0_XGXS_BLK2_LANE_RESET			0x810A
3480 #define MDIO_WC0_XGXS_BLK2_LANE_RESET_RX_BITSHIFT	0
3481 #define MDIO_WC0_XGXS_BLK2_LANE_RESET_TX_BITSHIFT	4
3482 
3483 #define MDIO_WC0_XGXS_BLK6_XGXS_X2_CONTROL2		0x8141
3484 
3485 #define DIGITAL5_ACTUAL_SPEED_TX_MASK			0x003f
3486 
3487 /* 54618se */
3488 #define MDIO_REG_GPHY_MII_STATUS			0x1
3489 #define MDIO_REG_GPHY_PHYID_LSB				0x3
3490 #define MDIO_REG_GPHY_CL45_ADDR_REG			0xd
3491 #define MDIO_REG_GPHY_CL45_REG_WRITE		0x4000
3492 #define MDIO_REG_GPHY_CL45_REG_READ		0xc000
3493 #define MDIO_REG_GPHY_CL45_DATA_REG			0xe
3494 #define MDIO_REG_GPHY_EEE_RESOLVED		0x803e
3495 #define MDIO_REG_GPHY_EXP_ACCESS_GATE			0x15
3496 #define MDIO_REG_GPHY_EXP_ACCESS			0x17
3497 #define MDIO_REG_GPHY_EXP_ACCESS_TOP		0xd00
3498 #define MDIO_REG_GPHY_EXP_TOP_2K_BUF		0x40
3499 #define MDIO_REG_GPHY_AUX_STATUS			0x19
3500 #define MDIO_REG_INTR_STATUS				0x1a
3501 #define MDIO_REG_INTR_MASK				0x1b
3502 #define MDIO_REG_INTR_MASK_LINK_STATUS			(0x1 << 1)
3503 #define MDIO_REG_GPHY_SHADOW				0x1c
3504 #define MDIO_REG_GPHY_SHADOW_LED_SEL1			(0x0d << 10)
3505 #define MDIO_REG_GPHY_SHADOW_LED_SEL2			(0x0e << 10)
3506 #define MDIO_REG_GPHY_SHADOW_WR_ENA			(0x1 << 15)
3507 #define MDIO_REG_GPHY_SHADOW_AUTO_DET_MED		(0x1e << 10)
3508 #define MDIO_REG_GPHY_SHADOW_INVERT_FIB_SD		(0x1 << 8)
3509 
3510 
3511 #define IGU_FUNC_BASE			0x0400
3512 
3513 #define IGU_ADDR_MSIX			0x0000
3514 #define IGU_ADDR_INT_ACK		0x0200
3515 #define IGU_ADDR_PROD_UPD		0x0201
3516 #define IGU_ADDR_ATTN_BITS_UPD	0x0202
3517 #define IGU_ADDR_ATTN_BITS_SET	0x0203
3518 #define IGU_ADDR_ATTN_BITS_CLR	0x0204
3519 #define IGU_ADDR_COALESCE_NOW	0x0205
3520 #define IGU_ADDR_SIMD_MASK		0x0206
3521 #define IGU_ADDR_SIMD_NOMASK	0x0207
3522 #define IGU_ADDR_MSI_CTL		0x0210
3523 #define IGU_ADDR_MSI_ADDR_LO	0x0211
3524 #define IGU_ADDR_MSI_ADDR_HI	0x0212
3525 #define IGU_ADDR_MSI_DATA		0x0213
3526 
3527 
3528 #define IGU_USE_REGISTER_ustorm_type_0_sb_cleanup  0
3529 #define IGU_USE_REGISTER_ustorm_type_1_sb_cleanup  1
3530 #define IGU_USE_REGISTER_cstorm_type_0_sb_cleanup  2
3531 #define IGU_USE_REGISTER_cstorm_type_1_sb_cleanup  3
3532 
3533 #define COMMAND_REG_INT_ACK	    0x0
3534 #define COMMAND_REG_PROD_UPD	    0x4
3535 #define COMMAND_REG_ATTN_BITS_UPD   0x8
3536 #define COMMAND_REG_ATTN_BITS_SET   0xc
3537 #define COMMAND_REG_ATTN_BITS_CLR   0x10
3538 #define COMMAND_REG_COALESCE_NOW    0x14
3539 #define COMMAND_REG_SIMD_MASK	    0x18
3540 #define COMMAND_REG_SIMD_NOMASK	    0x1c
3541 
3542 
3543 #define IGU_MEM_BASE						0x0000
3544 
3545 #define IGU_MEM_MSIX_BASE					0x0000
3546 #define IGU_MEM_MSIX_UPPER					0x007f
3547 #define IGU_MEM_MSIX_RESERVED_UPPER			0x01ff
3548 
3549 #define IGU_MEM_PBA_MSIX_BASE				0x0200
3550 #define IGU_MEM_PBA_MSIX_UPPER				0x0200
3551 
3552 #define IGU_CMD_BACKWARD_COMP_PROD_UPD		0x0201
3553 #define IGU_MEM_PBA_MSIX_RESERVED_UPPER		0x03ff
3554 
3555 #define IGU_CMD_INT_ACK_BASE				0x0400
3556 #define IGU_CMD_INT_ACK_UPPER \
3557 	(IGU_CMD_INT_ACK_BASE + MAX_SB_PER_PATH - 1)
3558 #define IGU_CMD_INT_ACK_RESERVED_UPPER		0x04ff
3559 
3560 #define IGU_CMD_E2_PROD_UPD_BASE			0x0500
3561 #define IGU_CMD_E2_PROD_UPD_UPPER \
3562 	(IGU_CMD_E2_PROD_UPD_BASE + MAX_SB_PER_PATH  - 1)
3563 #define IGU_CMD_E2_PROD_UPD_RESERVED_UPPER	0x059f
3564 
3565 #define IGU_CMD_ATTN_BIT_UPD_UPPER			0x05a0
3566 #define IGU_CMD_ATTN_BIT_SET_UPPER			0x05a1
3567 #define IGU_CMD_ATTN_BIT_CLR_UPPER			0x05a2
3568 
3569 #define IGU_REG_SISR_MDPC_WMASK_UPPER		0x05a3
3570 #define IGU_REG_SISR_MDPC_WMASK_LSB_UPPER	0x05a4
3571 #define IGU_REG_SISR_MDPC_WMASK_MSB_UPPER	0x05a5
3572 #define IGU_REG_SISR_MDPC_WOMASK_UPPER		0x05a6
3573 
3574 
3575 #define IGU_REG_RESERVED_UPPER				0x05ff
3576 
3577 #define IGU_SEG_IDX_ATTN	2
3578 #define IGU_SEG_IDX_DEFAULT	1
3579 /* Fields of IGU PF CONFIGURATION REGISTER */
3580 #define IGU_PF_CONF_FUNC_EN	  (0x1<<0)  /* function enable	      */
3581 #define IGU_PF_CONF_MSI_MSIX_EN	  (0x1<<1)  /* MSI/MSIX enable	      */
3582 #define IGU_PF_CONF_INT_LINE_EN	  (0x1<<2)  /* INT enable	      */
3583 #define IGU_PF_CONF_ATTN_BIT_EN	  (0x1<<3)  /* attention enable       */
3584 #define IGU_PF_CONF_SINGLE_ISR_EN (0x1<<4)  /* single ISR mode enable */
3585 #define IGU_PF_CONF_SIMD_MODE	  (0x1<<5)  /* simd all ones mode     */
3586 
3587 /* Fields of IGU VF CONFIGURATION REGISTER */
3588 #define IGU_VF_CONF_FUNC_EN	   (0x1<<0)  /* function enable        */
3589 #define IGU_VF_CONF_MSI_MSIX_EN	   (0x1<<1)  /* MSI/MSIX enable        */
3590 #define IGU_VF_CONF_PARENT_MASK	   (0x3<<2)  /* Parent PF	       */
3591 #define IGU_VF_CONF_PARENT_SHIFT   2	     /* Parent PF	       */
3592 #define IGU_VF_CONF_SINGLE_ISR_EN  (0x1<<4)  /* single ISR mode enable */
3593 
3594 
3595 #define IGU_BC_DSB_NUM_SEGS    5
3596 #define IGU_BC_NDSB_NUM_SEGS   2
3597 #define IGU_NORM_DSB_NUM_SEGS  2
3598 #define IGU_NORM_NDSB_NUM_SEGS 1
3599 #define IGU_BC_BASE_DSB_PROD   128
3600 #define IGU_NORM_BASE_DSB_PROD 136
3601 
3602 	/* FID (if VF - [6] = 0; [5:0] = VF number; if PF - [6] = 1; \
3603 	[5:2] = 0; [1:0] = PF number) */
3604 #define IGU_FID_ENCODE_IS_PF	    (0x1<<6)
3605 #define IGU_FID_ENCODE_IS_PF_SHIFT  6
3606 #define IGU_FID_VF_NUM_MASK	    (0x3f)
3607 #define IGU_FID_PF_NUM_MASK	    (0x7)
3608 
3609 #define IGU_REG_MAPPING_MEMORY_VALID		(1<<0)
3610 #define IGU_REG_MAPPING_MEMORY_VECTOR_MASK	(0x3F<<1)
3611 #define IGU_REG_MAPPING_MEMORY_VECTOR_SHIFT	1
3612 #define IGU_REG_MAPPING_MEMORY_FID_MASK		(0x7F<<7)
3613 #define IGU_REG_MAPPING_MEMORY_FID_SHIFT	7
3614 
3615 
3616 #define CDU_REGION_NUMBER_XCM_AG 2
3617 #define CDU_REGION_NUMBER_UCM_AG 4
3618 
3619 
3620 /* String-to-compress [31:8] = CID (all 24 bits)
3621  * String-to-compress [7:4] = Region
3622  * String-to-compress [3:0] = Type
3623  */
3624 #define CDU_VALID_DATA(_cid, _region, _type) \
3625 	(((_cid) << 8) | (((_region)&0xf)<<4) | (((_type)&0xf)))
3626 #define CDU_CRC8(_cid, _region, _type) \
3627 	(calc_crc8(CDU_VALID_DATA(_cid, _region, _type), 0xff))
3628 #define CDU_RSRVD_VALUE_TYPE_A(_cid, _region, _type) \
3629 	(0x80 | ((CDU_CRC8(_cid, _region, _type)) & 0x7f))
3630 #define CDU_RSRVD_VALUE_TYPE_B(_crc, _type) \
3631 	(0x80 | ((_type)&0xf << 3) | ((CDU_CRC8(_cid, _region, _type)) & 0x7))
3632 #define CDU_RSRVD_INVALIDATE_CONTEXT_VALUE(_val) ((_val) & ~0x80)
3633 
3634 /******************************************************************************
3635  * Description:
3636  *	   Calculates crc 8 on a word value: polynomial 0-1-2-8
3637  *	   Code was translated from Verilog.
3638  * Return:
3639  *****************************************************************************/
calc_crc8(uint32_t data,uint8_t crc)3640 static inline uint8_t calc_crc8(uint32_t data, uint8_t crc)
3641 {
3642     uint8_t D[32];
3643     uint8_t NewCRC[8];
3644     uint8_t C[8];
3645     uint8_t crc_res;
3646     uint8_t i;
3647 
3648     /* split the data into 31 bits */
3649     for (i = 0; i < 32; i++) {
3650 	D[i] = (uint8_t)(data & 1);
3651 	data = data >> 1;
3652     }
3653 
3654     /* split the crc into 8 bits */
3655     for (i = 0; i < 8; i++) {
3656 	C[i] = crc & 1;
3657 	crc = crc >> 1;
3658     }
3659 
3660     NewCRC[0] = D[31] ^ D[30] ^ D[28] ^ D[23] ^ D[21] ^ D[19] ^ D[18] ^
3661 	    D[16] ^ D[14] ^ D[12] ^ D[8] ^ D[7] ^ D[6] ^ D[0] ^ C[4] ^
3662 	    C[6] ^ C[7];
3663     NewCRC[1] = D[30] ^ D[29] ^ D[28] ^ D[24] ^ D[23] ^ D[22] ^ D[21] ^
3664 	    D[20] ^ D[18] ^ D[17] ^ D[16] ^ D[15] ^ D[14] ^ D[13] ^
3665 	    D[12] ^ D[9] ^ D[6] ^ D[1] ^ D[0] ^ C[0] ^ C[4] ^ C[5] ^ C[6];
3666     NewCRC[2] = D[29] ^ D[28] ^ D[25] ^ D[24] ^ D[22] ^ D[17] ^ D[15] ^
3667 	    D[13] ^ D[12] ^ D[10] ^ D[8] ^ D[6] ^ D[2] ^ D[1] ^ D[0] ^
3668 	    C[0] ^ C[1] ^ C[4] ^ C[5];
3669     NewCRC[3] = D[30] ^ D[29] ^ D[26] ^ D[25] ^ D[23] ^ D[18] ^ D[16] ^
3670 	    D[14] ^ D[13] ^ D[11] ^ D[9] ^ D[7] ^ D[3] ^ D[2] ^ D[1] ^
3671 	    C[1] ^ C[2] ^ C[5] ^ C[6];
3672     NewCRC[4] = D[31] ^ D[30] ^ D[27] ^ D[26] ^ D[24] ^ D[19] ^ D[17] ^
3673 	    D[15] ^ D[14] ^ D[12] ^ D[10] ^ D[8] ^ D[4] ^ D[3] ^ D[2] ^
3674 	    C[0] ^ C[2] ^ C[3] ^ C[6] ^ C[7];
3675     NewCRC[5] = D[31] ^ D[28] ^ D[27] ^ D[25] ^ D[20] ^ D[18] ^ D[16] ^
3676 	    D[15] ^ D[13] ^ D[11] ^ D[9] ^ D[5] ^ D[4] ^ D[3] ^ C[1] ^
3677 	    C[3] ^ C[4] ^ C[7];
3678     NewCRC[6] = D[29] ^ D[28] ^ D[26] ^ D[21] ^ D[19] ^ D[17] ^ D[16] ^
3679 	    D[14] ^ D[12] ^ D[10] ^ D[6] ^ D[5] ^ D[4] ^ C[2] ^ C[4] ^ C[5];
3680     NewCRC[7] = D[30] ^ D[29] ^ D[27] ^ D[22] ^ D[20] ^ D[18] ^ D[17] ^
3681 	    D[15] ^ D[13] ^ D[11] ^ D[7] ^ D[6] ^ D[5] ^ C[3] ^ C[5] ^ C[6];
3682 
3683     crc_res = 0;
3684     for (i = 0; i < 8; i++) {
3685 	crc_res |= (NewCRC[i] << i);
3686     }
3687 
3688     return crc_res;
3689 }
3690 
3691 
3692 #endif /* ECORE_REG_H */
3693 
3694