2 * Copyright (c) 2007-2013 QLogic Corporation. All rights reserved.
4 * Eric Davis <edavis@broadcom.com>
5 * David Christensen <davidch@broadcom.com>
6 * Gary Zambrano <zambrano@broadcom.com>
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
12 * 1. Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer.
14 * 2. Redistributions in binary form must reproduce the above copyright
15 * notice, this list of conditions and the following disclaimer in the
16 * documentation and/or other materials provided with the distribution.
17 * 3. Neither the name of Broadcom Corporation nor the name of its contributors
18 * may be used to endorse or promote products derived from this software
19 * without specific prior written consent.
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS'
22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
31 * THE POSSIBILITY OF SUCH DAMAGE.
38 #define ATC_ATC_INT_STS_REG_ADDRESS_ERROR \
40 #define ATC_ATC_INT_STS_REG_ATC_GPA_MULTIPLE_HITS \
42 #define ATC_ATC_INT_STS_REG_ATC_IREQ_LESS_THAN_STU \
44 #define ATC_ATC_INT_STS_REG_ATC_RCPL_TO_EMPTY_CNT \
46 #define ATC_ATC_INT_STS_REG_ATC_TCPL_ERROR \
48 #define ATC_ATC_INT_STS_REG_ATC_TCPL_TO_NOT_PEND \
50 #define ATC_REG_ATC_INIT_DONE \
52 #define ATC_REG_ATC_INT_STS_CLR \
54 #define ATC_REG_ATC_PRTY_MASK \
56 #define ATC_REG_ATC_PRTY_STS_CLR \
58 #define BRB1_REG_BRB1_INT_MASK \
60 #define BRB1_REG_BRB1_PRTY_MASK \
62 #define BRB1_REG_BRB1_PRTY_STS_CLR \
64 #define BRB1_REG_MAC_GUARANTIED_0 \
66 #define BRB1_REG_MAC_GUARANTIED_1 \
68 #define BRB1_REG_NUM_OF_FULL_BLOCKS \
70 #define BRB1_REG_PAUSE_HIGH_THRESHOLD_0 \
72 #define BRB1_REG_PAUSE_LOW_THRESHOLD_0 \
74 #define BRB1_REG_PORT_NUM_OCC_BLOCKS_0 \
76 #define CCM_REG_CCM_INT_MASK \
78 #define CCM_REG_CCM_PRTY_MASK \
80 #define CCM_REG_CCM_PRTY_STS_CLR \
82 #define CDU_REG_CDU_GLOBAL_PARAMS \
84 #define CDU_REG_CDU_INT_MASK \
86 #define CDU_REG_CDU_PRTY_MASK \
88 #define CDU_REG_CDU_PRTY_STS_CLR \
90 #define CFC_REG_AC_INIT_DONE \
92 #define CFC_REG_CAM_INIT_DONE \
94 #define CFC_REG_CFC_INT_MASK \
96 #define CFC_REG_CFC_INT_STS_CLR \
98 #define CFC_REG_CFC_PRTY_MASK \
100 #define CFC_REG_CFC_PRTY_STS_CLR \
102 #define CFC_REG_DEBUG0 \
104 #define CFC_REG_INIT_REG \
106 #define CFC_REG_LL_INIT_DONE \
108 #define CFC_REG_NUM_LCIDS_INSIDE_PF \
110 #define CFC_REG_STRONG_ENABLE_PF \
112 #define CFC_REG_WEAK_ENABLE_PF \
114 #define CSDM_REG_CSDM_INT_MASK_0 \
116 #define CSDM_REG_CSDM_INT_MASK_1 \
118 #define CSDM_REG_CSDM_PRTY_MASK \
120 #define CSDM_REG_CSDM_PRTY_STS_CLR \
122 #define CSEM_REG_CSEM_INT_MASK_0 \
124 #define CSEM_REG_CSEM_INT_MASK_1 \
126 #define CSEM_REG_CSEM_PRTY_MASK_0 \
128 #define CSEM_REG_CSEM_PRTY_MASK_1 \
130 #define CSEM_REG_CSEM_PRTY_STS_CLR_0 \
132 #define CSEM_REG_CSEM_PRTY_STS_CLR_1 \
134 #define CSEM_REG_FAST_MEMORY \
136 #define CSEM_REG_INT_TABLE \
138 #define CSEM_REG_PASSIVE_BUFFER \
140 #define CSEM_REG_PRAM \
142 #define CSEM_REG_VFPF_ERR_NUM \
144 #define DBG_REG_DBG_PRTY_MASK \
146 #define DBG_REG_DBG_PRTY_STS_CLR \
148 #define DMAE_REG_BACKWARD_COMP_EN \
150 #define DMAE_REG_CMD_MEM \
152 #define DMAE_REG_DMAE_INT_MASK \
154 #define DMAE_REG_DMAE_PRTY_MASK \
156 #define DMAE_REG_DMAE_PRTY_STS_CLR \
158 #define DMAE_REG_GO_C0 \
160 #define DMAE_REG_GO_C1 \
162 #define DMAE_REG_GO_C10 \
164 #define DMAE_REG_GO_C11 \
166 #define DMAE_REG_GO_C12 \
168 #define DMAE_REG_GO_C13 \
170 #define DMAE_REG_GO_C14 \
172 #define DMAE_REG_GO_C15 \
174 #define DMAE_REG_GO_C2 \
176 #define DMAE_REG_GO_C3 \
178 #define DMAE_REG_GO_C4 \
180 #define DMAE_REG_GO_C5 \
182 #define DMAE_REG_GO_C6 \
184 #define DMAE_REG_GO_C7 \
186 #define DMAE_REG_GO_C8 \
188 #define DMAE_REG_GO_C9 \
190 #define DORQ_REG_DORQ_INT_MASK \
192 #define DORQ_REG_DORQ_INT_STS_CLR \
194 #define DORQ_REG_DORQ_PRTY_MASK \
196 #define DORQ_REG_DORQ_PRTY_STS_CLR \
198 #define DORQ_REG_DPM_CID_OFST \
200 #define DORQ_REG_MAX_RVFID_SIZE \
202 #define DORQ_REG_NORM_CID_OFST \
204 #define DORQ_REG_PF_USAGE_CNT \
206 #define DORQ_REG_VF_NORM_CID_BASE \
208 #define DORQ_REG_VF_NORM_CID_OFST \
210 #define DORQ_REG_VF_NORM_CID_WND_SIZE \
212 #define DORQ_REG_VF_NORM_MAX_CID_COUNT \
214 #define DORQ_REG_VF_NORM_VF_BASE \
216 #define DORQ_REG_VF_TYPE_MASK_0 \
218 #define DORQ_REG_VF_TYPE_MAX_MCID_0 \
220 #define DORQ_REG_VF_TYPE_MIN_MCID_0 \
222 #define DORQ_REG_VF_TYPE_VALUE_0 \
224 #define DORQ_REG_VF_USAGE_CNT \
226 #define DORQ_REG_VF_USAGE_CT_LIMIT \
228 #define HC_CONFIG_0_REG_ATTN_BIT_EN_0 \
230 #define HC_CONFIG_0_REG_BLOCK_DISABLE_0 \
232 #define HC_CONFIG_0_REG_INT_LINE_EN_0 \
234 #define HC_CONFIG_0_REG_MSI_ATTN_EN_0 \
236 #define HC_CONFIG_0_REG_MSI_MSIX_INT_EN_0 \
238 #define HC_CONFIG_0_REG_SINGLE_ISR_EN_0 \
240 #define HC_CONFIG_1_REG_BLOCK_DISABLE_1 \
242 #define HC_REG_ATTN_MSG0_ADDR_L \
244 #define HC_REG_ATTN_MSG1_ADDR_L \
246 #define HC_REG_COMMAND_REG \
248 #define HC_REG_CONFIG_0 \
250 #define HC_REG_CONFIG_1 \
252 #define HC_REG_HC_PRTY_MASK \
254 #define HC_REG_HC_PRTY_STS_CLR \
256 #define HC_REG_INT_MASK \
258 #define HC_REG_LEADING_EDGE_0 \
260 #define HC_REG_MAIN_MEMORY \
262 #define HC_REG_MAIN_MEMORY_SIZE \
264 #define HC_REG_TRAILING_EDGE_0 \
266 #define IGU_BLOCK_CONFIGURATION_REG_BACKWARD_COMP_EN \
268 #define IGU_BLOCK_CONFIGURATION_REG_BLOCK_ENABLE \
270 #define IGU_REG_ATTENTION_ACK_BITS \
272 #define IGU_REG_ATTN_MSG_ADDR_H \
274 #define IGU_REG_ATTN_MSG_ADDR_L \
276 #define IGU_REG_BLOCK_CONFIGURATION \
278 #define IGU_REG_COMMAND_REG_32LSB_DATA \
280 #define IGU_REG_COMMAND_REG_CTRL \
282 #define IGU_REG_CSTORM_TYPE_0_SB_CLEANUP \
284 #define IGU_REG_IGU_PRTY_MASK \
286 #define IGU_REG_IGU_PRTY_STS_CLR \
288 #define IGU_REG_LEADING_EDGE_LATCH \
290 #define IGU_REG_MAPPING_MEMORY \
292 #define IGU_REG_MAPPING_MEMORY_SIZE \
294 #define IGU_REG_PBA_STATUS_LSB \
296 #define IGU_REG_PBA_STATUS_MSB \
298 #define IGU_REG_PCI_PF_MSIX_EN \
300 #define IGU_REG_PCI_PF_MSIX_FUNC_MASK \
302 #define IGU_REG_PCI_PF_MSI_EN \
304 #define IGU_REG_PENDING_BITS_STATUS \
306 #define IGU_REG_PF_CONFIGURATION \
308 #define IGU_REG_PROD_CONS_MEMORY \
310 #define IGU_REG_RESET_MEMORIES \
312 #define IGU_REG_SB_INT_BEFORE_MASK_LSB \
314 #define IGU_REG_SB_INT_BEFORE_MASK_MSB \
316 #define IGU_REG_SB_MASK_LSB \
318 #define IGU_REG_SB_MASK_MSB \
320 #define IGU_REG_STATISTIC_NUM_MESSAGE_SENT \
322 #define IGU_REG_TRAILING_EDGE_LATCH \
324 #define IGU_REG_VF_CONFIGURATION \
326 #define MCP_REG_MCPR_ACCESS_LOCK \
328 #define MCP_REG_MCPR_GP_INPUTS \
330 #define MCP_REG_MCPR_GP_OENABLE \
332 #define MCP_REG_MCPR_GP_OUTPUTS \
334 #define MCP_REG_MCPR_IMC_COMMAND \
336 #define MCP_REG_MCPR_IMC_DATAREG0 \
338 #define MCP_REG_MCPR_IMC_SLAVE_CONTROL \
340 #define MCP_REG_MCPR_NVM_ACCESS_ENABLE \
342 #define MCP_REG_MCPR_NVM_ADDR \
344 #define MCP_REG_MCPR_NVM_CFG4 \
346 #define MCP_REG_MCPR_NVM_COMMAND \
348 #define MCP_REG_MCPR_NVM_READ \
350 #define MCP_REG_MCPR_NVM_SW_ARB \
352 #define MCP_REG_MCPR_NVM_WRITE \
354 #define MISC_AEU_GENERAL_MASK_REG_AEU_NIG_CLOSE_MASK \
356 #define MISC_AEU_GENERAL_MASK_REG_AEU_PXP_CLOSE_MASK \
358 #define MISC_REG_AEU_AFTER_INVERT_1_FUNC_0 \
360 #define MISC_REG_AEU_AFTER_INVERT_2_FUNC_0 \
362 #define MISC_REG_AEU_AFTER_INVERT_3_FUNC_0 \
364 #define MISC_REG_AEU_AFTER_INVERT_4_FUNC_0 \
366 #define MISC_REG_AEU_AFTER_INVERT_4_MCP \
368 #define MISC_REG_AEU_AFTER_INVERT_5_FUNC_0 \
370 #define MISC_REG_AEU_CLR_LATCH_SIGNAL \
372 #define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_0 \
374 #define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_1 \
376 #define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_2 \
378 #define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_0 \
380 #define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_1 \
382 #define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_2 \
384 #define MISC_REG_AEU_ENABLE4_FUNC_0_OUT_0 \
386 #define MISC_REG_AEU_ENABLE4_FUNC_1_OUT_0 \
388 #define MISC_REG_AEU_ENABLE4_NIG_0 \
390 #define MISC_REG_AEU_ENABLE4_NIG_1 \
392 #define MISC_REG_AEU_ENABLE4_PXP_0 \
394 #define MISC_REG_AEU_ENABLE4_PXP_1 \
396 #define MISC_REG_AEU_ENABLE5_FUNC_0_OUT_0 \
398 #define MISC_REG_AEU_ENABLE5_FUNC_1_OUT_0 \
400 #define MISC_REG_AEU_GENERAL_ATTN_0 \
402 #define MISC_REG_AEU_GENERAL_ATTN_1 \
404 #define MISC_REG_AEU_GENERAL_ATTN_10 \
406 #define MISC_REG_AEU_GENERAL_ATTN_11 \
408 #define MISC_REG_AEU_GENERAL_ATTN_12 \
410 #define MISC_REG_AEU_GENERAL_ATTN_2 \
412 #define MISC_REG_AEU_GENERAL_ATTN_3 \
414 #define MISC_REG_AEU_GENERAL_ATTN_4 \
416 #define MISC_REG_AEU_GENERAL_ATTN_5 \
418 #define MISC_REG_AEU_GENERAL_ATTN_6 \
420 #define MISC_REG_AEU_GENERAL_ATTN_7 \
422 #define MISC_REG_AEU_GENERAL_ATTN_8 \
424 #define MISC_REG_AEU_GENERAL_ATTN_9 \
426 #define MISC_REG_AEU_GENERAL_MASK \
428 #define MISC_REG_AEU_MASK_ATTN_FUNC_0 \
430 #define MISC_REG_AEU_MASK_ATTN_FUNC_1 \
432 #define MISC_REG_BOND_ID \
434 #define MISC_REG_CHIP_NUM \
436 #define MISC_REG_CHIP_REV \
438 #define MISC_REG_CHIP_TYPE \
440 #define MISC_REG_CHIP_TYPE_57811_MASK \
442 #define MISC_REG_CPMU_LP_DR_ENABLE \
444 #define MISC_REG_CPMU_LP_FW_ENABLE_P0 \
446 #define MISC_REG_CPMU_LP_IDLE_THR_P0 \
448 #define MISC_REG_CPMU_LP_MASK_ENT_P0 \
450 #define MISC_REG_CPMU_LP_MASK_EXT_P0 \
452 #define MISC_REG_CPMU_LP_SM_ENT_CNT_P0 \
454 #define MISC_REG_CPMU_LP_SM_ENT_CNT_P1 \
456 #define MISC_REG_DRIVER_CONTROL_1 \
458 #define MISC_REG_DRIVER_CONTROL_7 \
460 #define MISC_REG_FOUR_PORT_PATH_SWAP \
462 #define MISC_REG_FOUR_PORT_PATH_SWAP_OVWR \
464 #define MISC_REG_FOUR_PORT_PORT_SWAP \
466 #define MISC_REG_FOUR_PORT_PORT_SWAP_OVWR \
468 #define MISC_REG_GENERIC_CR_0 \
470 #define MISC_REG_GENERIC_CR_1 \
472 #define MISC_REG_GENERIC_POR_1 \
474 #define MISC_REG_GEN_PURP_HWG \
476 #define MISC_REG_GPIO \
478 #define MISC_REG_GPIO_EVENT_EN \
480 #define MISC_REG_GPIO_INT \
482 #define MISC_REG_GRC_RSV_ATTN \
484 #define MISC_REG_GRC_TIMEOUT_ATTN \
486 #define MISC_REG_LCPLL_E40_PWRDWN \
488 #define MISC_REG_LCPLL_E40_RESETB_ANA \
490 #define MISC_REG_LCPLL_E40_RESETB_DIG \
492 #define MISC_REG_MISC_INT_MASK \
494 #define MISC_REG_MISC_PRTY_MASK \
496 #define MISC_REG_MISC_PRTY_STS_CLR \
498 #define MISC_REG_PORT4MODE_EN \
500 #define MISC_REG_PORT4MODE_EN_OVWR \
502 #define MISC_REG_RESET_REG_1 \
504 #define MISC_REG_RESET_REG_2 \
506 #define MISC_REG_SHARED_MEM_ADDR \
508 #define MISC_REG_SPIO \
510 #define MISC_REG_SPIO_EVENT_EN \
512 #define MISC_REG_SPIO_INT \
514 #define MISC_REG_TWO_PORT_PATH_SWAP \
516 #define MISC_REG_TWO_PORT_PATH_SWAP_OVWR \
518 #define MISC_REG_UNPREPARED \
520 #define MISC_REG_WC0_CTRL_PHY_ADDR \
522 #define MISC_REG_WC0_RESET \
524 #define MISC_REG_XMAC_CORE_PORT_MODE \
526 #define MISC_REG_XMAC_PHY_PORT_MODE \
528 #define MSTAT_REG_RX_STAT_GR64_LO \
530 #define MSTAT_REG_TX_STAT_GTXPOK_LO \
532 #define NIG_LLH0_XCM_MASK_REG_LLH0_XCM_MASK_BCN \
534 #define NIG_LLH1_XCM_MASK_REG_LLH1_XCM_MASK_BCN \
536 #define NIG_MASK_INTERRUPT_PORT0_REG_MASK_EMAC0_MISC_MI_INT \
538 #define NIG_MASK_INTERRUPT_PORT0_REG_MASK_SERDES0_LINK_STATUS \
540 #define NIG_MASK_INTERRUPT_PORT0_REG_MASK_XGXS0_LINK10G \
542 #define NIG_MASK_INTERRUPT_PORT0_REG_MASK_XGXS0_LINK_STATUS \
544 #define NIG_REG_BMAC0_IN_EN \
546 #define NIG_REG_BMAC0_OUT_EN \
548 #define NIG_REG_BMAC0_PAUSE_OUT_EN \
550 #define NIG_REG_BMAC0_REGS_OUT_EN \
552 #define NIG_REG_BRB0_PAUSE_IN_EN \
554 #define NIG_REG_BRB1_PAUSE_IN_EN \
556 #define NIG_REG_DEBUG_PACKET_LB \
558 #define NIG_REG_EGRESS_DRAIN0_MODE \
560 #define NIG_REG_EGRESS_EMAC0_OUT_EN \
562 #define NIG_REG_EGRESS_EMAC0_PORT \
564 #define NIG_REG_EMAC0_IN_EN \
566 #define NIG_REG_EMAC0_PAUSE_OUT_EN \
568 #define NIG_REG_EMAC0_STATUS_MISC_MI_INT \
570 #define NIG_REG_INGRESS_BMAC0_MEM \
572 #define NIG_REG_INGRESS_BMAC1_MEM \
574 #define NIG_REG_INGRESS_EOP_LB_EMPTY \
576 #define NIG_REG_INGRESS_EOP_LB_FIFO \
578 #define NIG_REG_LATCH_BC_0 \
580 #define NIG_REG_LATCH_STATUS_0 \
582 #define NIG_REG_LED_10G_P0 \
584 #define NIG_REG_LED_CONTROL_BLINK_RATE_ENA_P0 \
586 #define NIG_REG_LED_CONTROL_BLINK_RATE_P0 \
588 #define NIG_REG_LED_CONTROL_BLINK_TRAFFIC_P0 \
590 #define NIG_REG_LED_CONTROL_OVERRIDE_TRAFFIC_P0 \
592 #define NIG_REG_LED_CONTROL_TRAFFIC_P0 \
594 #define NIG_REG_LED_MODE_P0 \
596 #define NIG_REG_LLFC_EGRESS_SRC_ENABLE_0 \
598 #define NIG_REG_LLFC_EGRESS_SRC_ENABLE_1 \
600 #define NIG_REG_LLFC_ENABLE_0 \
602 #define NIG_REG_LLFC_ENABLE_1 \
604 #define NIG_REG_LLFC_HIGH_PRIORITY_CLASSES_0 \
606 #define NIG_REG_LLFC_HIGH_PRIORITY_CLASSES_1 \
608 #define NIG_REG_LLFC_LOW_PRIORITY_CLASSES_0 \
610 #define NIG_REG_LLFC_LOW_PRIORITY_CLASSES_1 \
612 #define NIG_REG_LLFC_OUT_EN_0 \
614 #define NIG_REG_LLFC_OUT_EN_1 \
616 #define NIG_REG_LLH0_BRB1_DRV_MASK \
618 #define NIG_REG_LLH0_BRB1_DRV_MASK_MF \
620 #define NIG_REG_LLH0_BRB1_NOT_MCP \
622 #define NIG_REG_LLH0_CLS_TYPE \
624 #define NIG_REG_LLH0_FUNC_EN \
626 #define NIG_REG_LLH0_FUNC_MEM \
628 #define NIG_REG_LLH0_FUNC_MEM_ENABLE \
630 #define NIG_REG_LLH0_FUNC_VLAN_ID \
632 #define NIG_REG_LLH0_XCM_MASK \
634 #define NIG_REG_LLH1_BRB1_NOT_MCP \
636 #define NIG_REG_LLH1_CLS_TYPE \
638 #define NIG_REG_LLH1_FUNC_MEM \
640 #define NIG_REG_LLH1_FUNC_MEM_ENABLE \
642 #define NIG_REG_LLH1_FUNC_MEM_SIZE \
644 #define NIG_REG_LLH1_MF_MODE \
646 #define NIG_REG_LLH1_XCM_MASK \
648 #define NIG_REG_LLH_E1HOV_MODE \
650 #define NIG_REG_LLH_MF_MODE \
652 #define NIG_REG_MASK_INTERRUPT_PORT0 \
654 #define NIG_REG_MASK_INTERRUPT_PORT1 \
656 #define NIG_REG_NIG_EMAC0_EN \
658 #define NIG_REG_NIG_INGRESS_EMAC0_NO_CRC \
660 #define NIG_REG_NIG_INT_STS_CLR_0 \
662 #define NIG_REG_NIG_PRTY_MASK \
664 #define NIG_REG_NIG_PRTY_MASK_0 \
666 #define NIG_REG_NIG_PRTY_MASK_1 \
668 #define NIG_REG_NIG_PRTY_STS_CLR \
670 #define NIG_REG_NIG_PRTY_STS_CLR_0 \
672 #define NIG_REG_NIG_PRTY_STS_CLR_1 \
674 #define NIG_REG_P0_HDRS_AFTER_BASIC \
676 #define NIG_REG_P0_HWPFC_ENABLE \
678 #define NIG_REG_P0_LLH_FUNC_MEM2 \
680 #define NIG_REG_P0_MAC_IN_EN \
682 #define NIG_REG_P0_MAC_OUT_EN \
684 #define NIG_REG_P0_MAC_PAUSE_OUT_EN \
686 #define NIG_REG_P0_PKT_PRIORITY_TO_COS \
688 #define NIG_REG_P0_RX_COS0_PRIORITY_MASK \
690 #define NIG_REG_P0_RX_COS1_PRIORITY_MASK \
692 #define NIG_REG_P0_RX_COS2_PRIORITY_MASK \
694 #define NIG_REG_P0_RX_COS3_PRIORITY_MASK \
696 #define NIG_REG_P0_RX_COS4_PRIORITY_MASK \
698 #define NIG_REG_P0_RX_COS5_PRIORITY_MASK \
700 #define NIG_REG_P0_TX_ARB_CLIENT_CREDIT_MAP \
702 #define NIG_REG_P0_TX_ARB_CLIENT_CREDIT_MAP2_LSB \
704 #define NIG_REG_P0_TX_ARB_CLIENT_CREDIT_MAP2_MSB \
706 #define NIG_REG_P0_TX_ARB_CLIENT_IS_STRICT \
708 #define NIG_REG_P0_TX_ARB_CLIENT_IS_SUBJECT2WFQ \
710 #define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_0 \
712 #define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_1 \
714 #define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_2 \
716 #define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_3 \
718 #define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_4 \
720 #define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_5 \
722 #define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_6 \
724 #define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_7 \
726 #define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_8 \
728 #define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_0 \
730 #define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_1 \
732 #define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_2 \
734 #define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_3 \
736 #define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_4 \
738 #define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_5 \
740 #define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_6 \
742 #define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_7 \
744 #define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_8 \
746 #define NIG_REG_P0_TX_ARB_NUM_STRICT_ARB_SLOTS \
748 #define NIG_REG_P0_TX_ARB_PRIORITY_CLIENT \
750 #define NIG_REG_P0_TX_ARB_PRIORITY_CLIENT2_LSB \
752 #define NIG_REG_P0_TX_ARB_PRIORITY_CLIENT2_MSB \
754 #define NIG_REG_P1_HDRS_AFTER_BASIC \
756 #define NIG_REG_P1_HWPFC_ENABLE \
758 #define NIG_REG_P1_LLH_FUNC_MEM2 \
760 #define NIG_REG_P1_MAC_IN_EN \
762 #define NIG_REG_P1_MAC_OUT_EN \
764 #define NIG_REG_P1_MAC_PAUSE_OUT_EN \
766 #define NIG_REG_P1_PKT_PRIORITY_TO_COS \
768 #define NIG_REG_P1_RX_COS0_PRIORITY_MASK \
770 #define NIG_REG_P1_RX_COS1_PRIORITY_MASK \
772 #define NIG_REG_P1_RX_COS2_PRIORITY_MASK \
774 #define NIG_REG_P1_TX_ARB_CLIENT_CREDIT_MAP2_LSB \
776 #define NIG_REG_P1_TX_ARB_CLIENT_CREDIT_MAP2_MSB \
778 #define NIG_REG_P1_TX_ARB_CLIENT_IS_STRICT \
780 #define NIG_REG_P1_TX_ARB_CLIENT_IS_SUBJECT2WFQ \
782 #define NIG_REG_P1_TX_ARB_CREDIT_UPPER_BOUND_0 \
784 #define NIG_REG_P1_TX_ARB_CREDIT_UPPER_BOUND_1 \
786 #define NIG_REG_P1_TX_ARB_CREDIT_UPPER_BOUND_2 \
788 #define NIG_REG_P1_TX_ARB_CREDIT_UPPER_BOUND_3 \
790 #define NIG_REG_P1_TX_ARB_CREDIT_UPPER_BOUND_4 \
792 #define NIG_REG_P1_TX_ARB_CREDIT_UPPER_BOUND_5 \
794 #define NIG_REG_P1_TX_ARB_CREDIT_WEIGHT_0 \
796 #define NIG_REG_P1_TX_ARB_CREDIT_WEIGHT_1 \
798 #define NIG_REG_P1_TX_ARB_CREDIT_WEIGHT_2 \
800 #define NIG_REG_P1_TX_ARB_CREDIT_WEIGHT_3 \
802 #define NIG_REG_P1_TX_ARB_CREDIT_WEIGHT_4 \
804 #define NIG_REG_P1_TX_ARB_CREDIT_WEIGHT_5 \
806 #define NIG_REG_P1_TX_ARB_NUM_STRICT_ARB_SLOTS \
808 #define NIG_REG_P1_TX_ARB_PRIORITY_CLIENT2_LSB \
810 #define NIG_REG_P1_TX_ARB_PRIORITY_CLIENT2_MSB \
812 #define NIG_REG_PAUSE_ENABLE_0 \
814 #define NIG_REG_PAUSE_ENABLE_1 \
816 #define NIG_REG_PORT_SWAP \
818 #define NIG_REG_PPP_ENABLE_0 \
820 #define NIG_REG_PPP_ENABLE_1 \
822 #define NIG_REG_PRS_REQ_IN_EN \
824 #define NIG_REG_SERDES0_CTRL_MD_DEVAD \
826 #define NIG_REG_SERDES0_CTRL_MD_ST \
828 #define NIG_REG_SERDES0_CTRL_PHY_ADDR \
830 #define NIG_REG_SERDES0_STATUS_LINK_STATUS \
832 #define NIG_REG_STAT0_BRB_DISCARD \
834 #define NIG_REG_STAT0_BRB_TRUNCATE \
836 #define NIG_REG_STAT0_EGRESS_MAC_PKT0 \
838 #define NIG_REG_STAT0_EGRESS_MAC_PKT1 \
840 #define NIG_REG_STAT1_BRB_DISCARD \
842 #define NIG_REG_STAT1_EGRESS_MAC_PKT0 \
844 #define NIG_REG_STAT1_EGRESS_MAC_PKT1 \
846 #define NIG_REG_STAT2_BRB_OCTET \
848 #define NIG_REG_STATUS_INTERRUPT_PORT0 \
850 #define NIG_REG_STRAP_OVERRIDE \
852 #define NIG_REG_XCM0_OUT_EN \
854 #define NIG_REG_XCM1_OUT_EN \
856 #define NIG_REG_XGXS0_CTRL_MD_DEVAD \
858 #define NIG_REG_XGXS0_CTRL_MD_ST \
860 #define NIG_REG_XGXS0_CTRL_PHY_ADDR \
862 #define NIG_REG_XGXS0_STATUS_LINK10G \
864 #define NIG_REG_XGXS0_STATUS_LINK_STATUS \
866 #define NIG_REG_XGXS_LANE_SEL_P0 \
868 #define NIG_REG_XGXS_SERDES0_MODE_SEL \
870 #define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_EMAC0_MISC_MI_INT \
872 #define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_SERDES0_LINK_STATUS \
874 #define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_XGXS0_LINK10G \
876 #define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_XGXS0_LINK_STATUS \
878 #define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_XGXS0_LINK_STATUS_SIZE \
880 #define PBF_REG_COS0_UPPER_BOUND \
882 #define PBF_REG_COS0_UPPER_BOUND_P0 \
884 #define PBF_REG_COS0_UPPER_BOUND_P1 \
886 #define PBF_REG_COS0_WEIGHT \
888 #define PBF_REG_COS0_WEIGHT_P0 \
890 #define PBF_REG_COS0_WEIGHT_P1 \
892 #define PBF_REG_COS1_UPPER_BOUND \
894 #define PBF_REG_COS1_WEIGHT \
896 #define PBF_REG_COS1_WEIGHT_P0 \
898 #define PBF_REG_COS1_WEIGHT_P1 \
900 #define PBF_REG_COS2_WEIGHT_P0 \
902 #define PBF_REG_COS2_WEIGHT_P1 \
904 #define PBF_REG_COS3_WEIGHT_P0 \
906 #define PBF_REG_COS4_WEIGHT_P0 \
908 #define PBF_REG_COS5_WEIGHT_P0 \
910 #define PBF_REG_CREDIT_LB_Q \
912 #define PBF_REG_CREDIT_Q0 \
914 #define PBF_REG_CREDIT_Q1 \
916 #define PBF_REG_DISABLE_NEW_TASK_PROC_P0 \
918 #define PBF_REG_DISABLE_PF \
920 #define PBF_REG_DISABLE_VF \
922 #define PBF_REG_ETS_ARB_CLIENT_CREDIT_MAP_P0 \
924 #define PBF_REG_ETS_ARB_CLIENT_CREDIT_MAP_P1 \
926 #define PBF_REG_ETS_ARB_CLIENT_IS_STRICT_P0 \
928 #define PBF_REG_ETS_ARB_CLIENT_IS_STRICT_P1 \
930 #define PBF_REG_ETS_ARB_CLIENT_IS_SUBJECT2WFQ_P0 \
932 #define PBF_REG_ETS_ARB_CLIENT_IS_SUBJECT2WFQ_P1 \
934 #define PBF_REG_ETS_ARB_NUM_STRICT_ARB_SLOTS_P0 \
936 #define PBF_REG_ETS_ARB_NUM_STRICT_ARB_SLOTS_P1 \
938 #define PBF_REG_ETS_ARB_PRIORITY_CLIENT_P0 \
940 #define PBF_REG_ETS_ARB_PRIORITY_CLIENT_P1 \
942 #define PBF_REG_ETS_ENABLED \
944 #define PBF_REG_HDRS_AFTER_BASIC \
946 #define PBF_REG_HDRS_AFTER_TAG_0 \
948 #define PBF_REG_HIGH_PRIORITY_COS_NUM \
950 #define PBF_REG_INIT_CRD_LB_Q \
952 #define PBF_REG_INIT_CRD_Q0 \
954 #define PBF_REG_INIT_CRD_Q1 \
956 #define PBF_REG_INIT_P0 \
958 #define PBF_REG_INTERNAL_CRD_FREED_CNT_LB_Q \
960 #define PBF_REG_INTERNAL_CRD_FREED_CNT_Q0 \
962 #define PBF_REG_INTERNAL_CRD_FREED_CNT_Q1 \
964 #define PBF_REG_MUST_HAVE_HDRS \
966 #define PBF_REG_NUM_STRICT_ARB_SLOTS \
968 #define PBF_REG_P0_ARB_THRSH \
970 #define PBF_REG_P0_CREDIT \
972 #define PBF_REG_P0_INIT_CRD \
974 #define PBF_REG_P0_INTERNAL_CRD_FREED_CNT \
976 #define PBF_REG_P0_PAUSE_ENABLE \
978 #define PBF_REG_P0_TQ_LINES_FREED_CNT \
980 #define PBF_REG_P0_TQ_OCCUPANCY \
982 #define PBF_REG_P1_CREDIT \
984 #define PBF_REG_P1_INIT_CRD \
986 #define PBF_REG_P1_INTERNAL_CRD_FREED_CNT \
988 #define PBF_REG_P1_TQ_LINES_FREED_CNT \
990 #define PBF_REG_P1_TQ_OCCUPANCY \
992 #define PBF_REG_P4_CREDIT \
994 #define PBF_REG_P4_INIT_CRD \
996 #define PBF_REG_P4_INTERNAL_CRD_FREED_CNT \
998 #define PBF_REG_P4_TQ_LINES_FREED_CNT \
1000 #define PBF_REG_P4_TQ_OCCUPANCY \
1002 #define PBF_REG_PBF_INT_MASK \
1004 #define PBF_REG_PBF_PRTY_MASK \
1006 #define PBF_REG_PBF_PRTY_STS_CLR \
1008 #define PBF_REG_TAG_ETHERTYPE_0 \
1010 #define PBF_REG_TAG_LEN_0 \
1012 #define PBF_REG_TQ_LINES_FREED_CNT_LB_Q \
1014 #define PBF_REG_TQ_LINES_FREED_CNT_Q0 \
1016 #define PBF_REG_TQ_LINES_FREED_CNT_Q1 \
1018 #define PBF_REG_TQ_OCCUPANCY_LB_Q \
1020 #define PBF_REG_TQ_OCCUPANCY_Q0 \
1022 #define PBF_REG_TQ_OCCUPANCY_Q1 \
1024 #define PB_REG_PB_INT_MASK \
1026 #define PB_REG_PB_PRTY_MASK \
1028 #define PB_REG_PB_PRTY_STS_CLR \
1030 #define PGLUE_B_PGLUE_B_INT_STS_REG_ADDRESS_ERROR \
1032 #define PGLUE_B_PGLUE_B_INT_STS_REG_CSSNOOP_FIFO_OVERFLOW \
1034 #define PGLUE_B_PGLUE_B_INT_STS_REG_INCORRECT_RCV_BEHAVIOR \
1036 #define PGLUE_B_PGLUE_B_INT_STS_REG_TCPL_ERROR_ATTN \
1038 #define PGLUE_B_PGLUE_B_INT_STS_REG_TCPL_IN_TWO_RCBS_ATTN \
1040 #define PGLUE_B_PGLUE_B_INT_STS_REG_VF_GRC_SPACE_VIOLATION_ATTN \
1042 #define PGLUE_B_PGLUE_B_INT_STS_REG_VF_LENGTH_VIOLATION_ATTN \
1044 #define PGLUE_B_PGLUE_B_INT_STS_REG_VF_MSIX_BAR_VIOLATION_ATTN \
1046 #define PGLUE_B_PGLUE_B_INT_STS_REG_WAS_ERROR_ATTN \
1048 #define PGLUE_B_REG_FLR_REQUEST_PF_7_0_CLR \
1050 #define PGLUE_B_REG_WAS_ERROR_VF_31_0_CLR \
1052 #define PGLUE_B_REG_WAS_ERROR_VF_63_32_CLR \
1054 #define PGLUE_B_REG_WAS_ERROR_VF_95_64_CLR \
1056 #define PGLUE_B_REG_WAS_ERROR_VF_127_96_CLR \
1058 #define PGLUE_B_REG_INTERNAL_PFID_ENABLE_MASTER \
1060 #define PGLUE_B_REG_INTERNAL_PFID_ENABLE_TARGET_READ \
1062 #define PGLUE_B_REG_INTERNAL_VFID_ENABLE \
1064 #define PGLUE_B_REG_PGLUE_B_INT_STS \
1066 #define PGLUE_B_REG_PGLUE_B_INT_STS_CLR \
1068 #define PGLUE_B_REG_PGLUE_B_PRTY_MASK \
1070 #define PGLUE_B_REG_PGLUE_B_PRTY_STS_CLR \
1072 #define PGLUE_B_REG_SHADOW_BME_PF_7_0_CLR \
1074 #define PGLUE_B_REG_TAGS_63_32 \
1076 #define PGLUE_B_REG_WAS_ERROR_PF_7_0_CLR \
1078 #define PRS_REG_A_PRSU_20 \
1080 #define PRS_REG_CFC_SEARCH_INITIAL_CREDIT \
1082 #define PRS_REG_E1HOV_MODE \
1084 #define PRS_REG_HDRS_AFTER_BASIC \
1086 #define PRS_REG_HDRS_AFTER_BASIC_PORT_0 \
1088 #define PRS_REG_HDRS_AFTER_BASIC_PORT_1 \
1090 #define PRS_REG_HDRS_AFTER_TAG_0 \
1092 #define PRS_REG_HDRS_AFTER_TAG_0_PORT_0 \
1094 #define PRS_REG_HDRS_AFTER_TAG_0_PORT_1 \
1096 #define PRS_REG_MUST_HAVE_HDRS \
1098 #define PRS_REG_MUST_HAVE_HDRS_PORT_0 \
1100 #define PRS_REG_MUST_HAVE_HDRS_PORT_1 \
1102 #define PRS_REG_NIC_MODE \
1104 #define PRS_REG_NUM_OF_PACKETS \
1106 #define PRS_REG_PRS_PRTY_MASK \
1108 #define PRS_REG_PRS_PRTY_STS_CLR \
1110 #define PRS_REG_TAG_ETHERTYPE_0 \
1112 #define PRS_REG_TAG_LEN_0 \
1114 #define PXP2_PXP2_INT_MASK_0_REG_PGL_CPL_AFT \
1116 #define PXP2_PXP2_INT_MASK_0_REG_PGL_CPL_OF \
1118 #define PXP2_PXP2_INT_MASK_0_REG_PGL_PCIE_ATTN \
1120 #define PXP2_PXP2_INT_MASK_0_REG_PGL_READ_BLOCKED \
1122 #define PXP2_PXP2_INT_MASK_0_REG_PGL_WRITE_BLOCKED \
1124 #define PXP2_PXP2_INT_STS_0_REG_WR_PGLUE_EOP_ERROR \
1126 #define PXP2_PXP2_INT_STS_CLR_0_REG_WR_PGLUE_EOP_ERROR \
1128 #define PXP2_REG_PGL_ADDR_88_F0 \
1130 #define PXP2_REG_PGL_ADDR_88_F1 \
1132 #define PXP2_REG_PGL_ADDR_8C_F0 \
1134 #define PXP2_REG_PGL_ADDR_8C_F1 \
1136 #define PXP2_REG_PGL_ADDR_90_F0 \
1138 #define PXP2_REG_PGL_ADDR_90_F1 \
1140 #define PXP2_REG_PGL_ADDR_94_F0 \
1142 #define PXP2_REG_PGL_ADDR_94_F1 \
1144 #define PXP2_REG_PGL_EXP_ROM2 \
1146 #define PXP2_REG_PGL_PRETEND_FUNC_F0 \
1148 #define PXP2_REG_PGL_PRETEND_FUNC_F1 \
1150 #define PXP2_REG_PGL_TAGS_LIMIT \
1152 #define PXP2_REG_PSWRQ_BW_ADD1 \
1154 #define PXP2_REG_PSWRQ_BW_ADD10 \
1156 #define PXP2_REG_PSWRQ_BW_ADD11 \
1158 #define PXP2_REG_PSWRQ_BW_ADD2 \
1160 #define PXP2_REG_PSWRQ_BW_ADD28 \
1162 #define PXP2_REG_PSWRQ_BW_ADD3 \
1164 #define PXP2_REG_PSWRQ_BW_ADD6 \
1166 #define PXP2_REG_PSWRQ_BW_ADD7 \
1168 #define PXP2_REG_PSWRQ_BW_ADD8 \
1170 #define PXP2_REG_PSWRQ_BW_ADD9 \
1172 #define PXP2_REG_PSWRQ_BW_L1 \
1174 #define PXP2_REG_PSWRQ_BW_L10 \
1176 #define PXP2_REG_PSWRQ_BW_L11 \
1178 #define PXP2_REG_PSWRQ_BW_L2 \
1180 #define PXP2_REG_PSWRQ_BW_L28 \
1182 #define PXP2_REG_PSWRQ_BW_L3 \
1184 #define PXP2_REG_PSWRQ_BW_L6 \
1186 #define PXP2_REG_PSWRQ_BW_L7 \
1188 #define PXP2_REG_PSWRQ_BW_L8 \
1190 #define PXP2_REG_PSWRQ_BW_L9 \
1192 #define PXP2_REG_PSWRQ_BW_RD \
1194 #define PXP2_REG_PSWRQ_BW_UB1 \
1196 #define PXP2_REG_PSWRQ_BW_UB10 \
1198 #define PXP2_REG_PSWRQ_BW_UB11 \
1200 #define PXP2_REG_PSWRQ_BW_UB2 \
1202 #define PXP2_REG_PSWRQ_BW_UB28 \
1204 #define PXP2_REG_PSWRQ_BW_UB3 \
1206 #define PXP2_REG_PSWRQ_BW_UB6 \
1208 #define PXP2_REG_PSWRQ_BW_UB7 \
1210 #define PXP2_REG_PSWRQ_BW_UB8 \
1212 #define PXP2_REG_PSWRQ_BW_UB9 \
1214 #define PXP2_REG_PSWRQ_BW_WR \
1216 #define PXP2_REG_PSWRQ_CDU0_L2P \
1218 #define PXP2_REG_PSWRQ_QM0_L2P \
1220 #define PXP2_REG_PSWRQ_SRC0_L2P \
1222 #define PXP2_REG_PSWRQ_TM0_L2P \
1224 #define PXP2_REG_PXP2_INT_MASK_0 \
1226 #define PXP2_REG_PXP2_INT_MASK_1 \
1228 #define PXP2_REG_PXP2_INT_STS_0 \
1230 #define PXP2_REG_PXP2_INT_STS_1 \
1232 #define PXP2_REG_PXP2_INT_STS_CLR_0 \
1234 #define PXP2_REG_PXP2_PRTY_MASK_0 \
1236 #define PXP2_REG_PXP2_PRTY_MASK_1 \
1238 #define PXP2_REG_PXP2_PRTY_STS_CLR_0 \
1240 #define PXP2_REG_PXP2_PRTY_STS_CLR_1 \
1242 #define PXP2_REG_RD_BLK_CNT \
1244 #define PXP2_REG_RD_CDURD_SWAP_MODE \
1246 #define PXP2_REG_RD_DISABLE_INPUTS \
1248 #define PXP2_REG_RD_INIT_DONE \
1250 #define PXP2_REG_RD_PBF_SWAP_MODE \
1252 #define PXP2_REG_RD_PORT_IS_IDLE_0 \
1254 #define PXP2_REG_RD_PORT_IS_IDLE_1 \
1256 #define PXP2_REG_RD_QM_SWAP_MODE \
1258 #define PXP2_REG_RD_SRC_SWAP_MODE \
1260 #define PXP2_REG_RD_SR_CNT \
1262 #define PXP2_REG_RD_START_INIT \
1264 #define PXP2_REG_RD_TM_SWAP_MODE \
1266 #define PXP2_REG_RQ_BW_RD_ADD0 \
1268 #define PXP2_REG_RQ_BW_RD_ADD12 \
1270 #define PXP2_REG_RQ_BW_RD_ADD13 \
1272 #define PXP2_REG_RQ_BW_RD_ADD14 \
1274 #define PXP2_REG_RQ_BW_RD_ADD15 \
1276 #define PXP2_REG_RQ_BW_RD_ADD16 \
1278 #define PXP2_REG_RQ_BW_RD_ADD17 \
1280 #define PXP2_REG_RQ_BW_RD_ADD18 \
1282 #define PXP2_REG_RQ_BW_RD_ADD19 \
1284 #define PXP2_REG_RQ_BW_RD_ADD20 \
1286 #define PXP2_REG_RQ_BW_RD_ADD22 \
1288 #define PXP2_REG_RQ_BW_RD_ADD23 \
1290 #define PXP2_REG_RQ_BW_RD_ADD24 \
1292 #define PXP2_REG_RQ_BW_RD_ADD25 \
1294 #define PXP2_REG_RQ_BW_RD_ADD26 \
1296 #define PXP2_REG_RQ_BW_RD_ADD27 \
1298 #define PXP2_REG_RQ_BW_RD_ADD4 \
1300 #define PXP2_REG_RQ_BW_RD_ADD5 \
1302 #define PXP2_REG_RQ_BW_RD_L0 \
1304 #define PXP2_REG_RQ_BW_RD_L12 \
1306 #define PXP2_REG_RQ_BW_RD_L13 \
1308 #define PXP2_REG_RQ_BW_RD_L14 \
1310 #define PXP2_REG_RQ_BW_RD_L15 \
1312 #define PXP2_REG_RQ_BW_RD_L16 \
1314 #define PXP2_REG_RQ_BW_RD_L17 \
1316 #define PXP2_REG_RQ_BW_RD_L18 \
1318 #define PXP2_REG_RQ_BW_RD_L19 \
1320 #define PXP2_REG_RQ_BW_RD_L20 \
1322 #define PXP2_REG_RQ_BW_RD_L22 \
1324 #define PXP2_REG_RQ_BW_RD_L23 \
1326 #define PXP2_REG_RQ_BW_RD_L24 \
1328 #define PXP2_REG_RQ_BW_RD_L25 \
1330 #define PXP2_REG_RQ_BW_RD_L26 \
1332 #define PXP2_REG_RQ_BW_RD_L27 \
1334 #define PXP2_REG_RQ_BW_RD_L4 \
1336 #define PXP2_REG_RQ_BW_RD_L5 \
1338 #define PXP2_REG_RQ_BW_RD_UBOUND0 \
1340 #define PXP2_REG_RQ_BW_RD_UBOUND12 \
1342 #define PXP2_REG_RQ_BW_RD_UBOUND13 \
1344 #define PXP2_REG_RQ_BW_RD_UBOUND14 \
1346 #define PXP2_REG_RQ_BW_RD_UBOUND15 \
1348 #define PXP2_REG_RQ_BW_RD_UBOUND16 \
1350 #define PXP2_REG_RQ_BW_RD_UBOUND17 \
1352 #define PXP2_REG_RQ_BW_RD_UBOUND18 \
1354 #define PXP2_REG_RQ_BW_RD_UBOUND19 \
1356 #define PXP2_REG_RQ_BW_RD_UBOUND20 \
1358 #define PXP2_REG_RQ_BW_RD_UBOUND22 \
1360 #define PXP2_REG_RQ_BW_RD_UBOUND23 \
1362 #define PXP2_REG_RQ_BW_RD_UBOUND24 \
1364 #define PXP2_REG_RQ_BW_RD_UBOUND25 \
1366 #define PXP2_REG_RQ_BW_RD_UBOUND26 \
1368 #define PXP2_REG_RQ_BW_RD_UBOUND27 \
1370 #define PXP2_REG_RQ_BW_RD_UBOUND4 \
1372 #define PXP2_REG_RQ_BW_RD_UBOUND5 \
1374 #define PXP2_REG_RQ_BW_WR_ADD29 \
1376 #define PXP2_REG_RQ_BW_WR_ADD30 \
1378 #define PXP2_REG_RQ_BW_WR_L29 \
1380 #define PXP2_REG_RQ_BW_WR_L30 \
1382 #define PXP2_REG_RQ_BW_WR_UBOUND29 \
1384 #define PXP2_REG_RQ_BW_WR_UBOUND30 \
1386 #define PXP2_REG_RQ_CDU_ENDIAN_M \
1388 #define PXP2_REG_RQ_CDU_FIRST_ILT \
1390 #define PXP2_REG_RQ_CDU_LAST_ILT \
1392 #define PXP2_REG_RQ_CDU_P_SIZE \
1394 #define PXP2_REG_RQ_CFG_DONE \
1396 #define PXP2_REG_RQ_DBG_ENDIAN_M \
1398 #define PXP2_REG_RQ_DISABLE_INPUTS \
1400 #define PXP2_REG_RQ_DRAM_ALIGN \
1402 #define PXP2_REG_RQ_DRAM_ALIGN_RD \
1404 #define PXP2_REG_RQ_DRAM_ALIGN_SEL \
1406 #define PXP2_REG_RQ_HC_ENDIAN_M \
1408 #define PXP2_REG_RQ_ONCHIP_AT \
1410 #define PXP2_REG_RQ_ONCHIP_AT_B0 \
1412 #define PXP2_REG_RQ_PDR_LIMIT \
1414 #define PXP2_REG_RQ_QM_ENDIAN_M \
1416 #define PXP2_REG_RQ_QM_FIRST_ILT \
1418 #define PXP2_REG_RQ_QM_LAST_ILT \
1420 #define PXP2_REG_RQ_QM_P_SIZE \
1422 #define PXP2_REG_RQ_RBC_DONE \
1424 #define PXP2_REG_RQ_RD_MBS0 \
1426 #define PXP2_REG_RQ_RD_MBS1 \
1428 #define PXP2_REG_RQ_SRC_ENDIAN_M \
1430 #define PXP2_REG_RQ_SRC_FIRST_ILT \
1432 #define PXP2_REG_RQ_SRC_LAST_ILT \
1434 #define PXP2_REG_RQ_SRC_P_SIZE \
1436 #define PXP2_REG_RQ_TM_ENDIAN_M \
1438 #define PXP2_REG_RQ_TM_FIRST_ILT \
1440 #define PXP2_REG_RQ_TM_LAST_ILT \
1442 #define PXP2_REG_RQ_TM_P_SIZE \
1444 #define PXP2_REG_RQ_WR_MBS0 \
1446 #define PXP2_REG_RQ_WR_MBS1 \
1448 #define PXP2_REG_WR_CDU_MPS \
1450 #define PXP2_REG_WR_CSDM_MPS \
1452 #define PXP2_REG_WR_DBG_MPS \
1454 #define PXP2_REG_WR_DMAE_MPS \
1456 #define PXP2_REG_WR_HC_MPS \
1458 #define PXP2_REG_WR_QM_MPS \
1460 #define PXP2_REG_WR_SRC_MPS \
1462 #define PXP2_REG_WR_TM_MPS \
1464 #define PXP2_REG_WR_TSDM_MPS \
1466 #define PXP2_REG_WR_USDMDP_TH \
1468 #define PXP2_REG_WR_USDM_MPS \
1470 #define PXP2_REG_WR_XSDM_MPS \
1472 #define PXP_REG_HST_DISCARD_DOORBELLS \
1474 #define PXP_REG_HST_DISCARD_INTERNAL_WRITES \
1476 #define PXP_REG_HST_ZONE_PERMISSION_TABLE \
1478 #define PXP_REG_PXP_INT_MASK_0 \
1480 #define PXP_REG_PXP_INT_MASK_1 \
1482 #define PXP_REG_PXP_INT_STS_CLR_0 \
1484 #define PXP_REG_PXP_INT_STS_CLR_1 \
1486 #define PXP_REG_PXP_PRTY_MASK \
1488 #define PXP_REG_PXP_PRTY_STS_CLR \
1490 #define QM_REG_BASEADDR \
1492 #define QM_REG_BASEADDR_EXT_A \
1494 #define QM_REG_BYTECRDCMDQ_0 \
1496 #define QM_REG_CONNNUM_0 \
1498 #define QM_REG_PF_EN \
1500 #define QM_REG_PF_USG_CNT_0 \
1502 #define QM_REG_PTRTBL \
1504 #define QM_REG_PTRTBL_EXT_A \
1506 #define QM_REG_QM_INT_MASK \
1508 #define QM_REG_QM_PRTY_MASK \
1510 #define QM_REG_QM_PRTY_STS_CLR \
1512 #define QM_REG_QVOQIDX_0 \
1514 #define QM_REG_SOFT_RESET \
1516 #define QM_REG_VOQQMASK_0_LSB \
1518 #define SEM_FAST_REG_PARITY_RST \
1520 #define SRC_REG_COUNTFREE0 \
1522 #define SRC_REG_FIRSTFREE0 \
1524 #define SRC_REG_KEYSEARCH_0 \
1526 #define SRC_REG_KEYSEARCH_1 \
1528 #define SRC_REG_KEYSEARCH_2 \
1530 #define SRC_REG_KEYSEARCH_3 \
1532 #define SRC_REG_KEYSEARCH_4 \
1534 #define SRC_REG_KEYSEARCH_5 \
1536 #define SRC_REG_KEYSEARCH_6 \
1538 #define SRC_REG_KEYSEARCH_7 \
1540 #define SRC_REG_KEYSEARCH_8 \
1542 #define SRC_REG_KEYSEARCH_9 \
1544 #define SRC_REG_LASTFREE0 \
1546 #define SRC_REG_NUMBER_HASH_BITS0 \
1548 #define SRC_REG_SOFT_RST \
1550 #define SRC_REG_SRC_PRTY_MASK \
1552 #define SRC_REG_SRC_PRTY_STS_CLR \
1554 #define TCM_REG_PRS_IFEN \
1556 #define TCM_REG_TCM_INT_MASK \
1558 #define TCM_REG_TCM_PRTY_MASK \
1560 #define TCM_REG_TCM_PRTY_STS_CLR \
1562 #define TM_REG_EN_LINEAR0_TIMER \
1564 #define TM_REG_LIN0_MAX_ACTIVE_CID \
1566 #define TM_REG_LIN0_NUM_SCANS \
1568 #define TM_REG_LIN0_SCAN_ON \
1570 #define TM_REG_LIN0_SCAN_TIME \
1572 #define TM_REG_LIN0_VNIC_UC \
1574 #define TM_REG_TM_INT_MASK \
1576 #define TM_REG_TM_PRTY_MASK \
1578 #define TM_REG_TM_PRTY_STS_CLR \
1580 #define TSDM_REG_ENABLE_IN1 \
1582 #define TSDM_REG_TSDM_INT_MASK_0 \
1584 #define TSDM_REG_TSDM_INT_MASK_1 \
1586 #define TSDM_REG_TSDM_PRTY_MASK \
1588 #define TSDM_REG_TSDM_PRTY_STS_CLR \
1590 #define TSEM_REG_FAST_MEMORY \
1592 #define TSEM_REG_INT_TABLE \
1594 #define TSEM_REG_PASSIVE_BUFFER \
1596 #define TSEM_REG_PRAM \
1598 #define TSEM_REG_TSEM_INT_MASK_0 \
1600 #define TSEM_REG_TSEM_INT_MASK_1 \
1602 #define TSEM_REG_TSEM_PRTY_MASK_0 \
1604 #define TSEM_REG_TSEM_PRTY_MASK_1 \
1606 #define TSEM_REG_TSEM_PRTY_STS_CLR_0 \
1608 #define TSEM_REG_TSEM_PRTY_STS_CLR_1 \
1610 #define TSEM_REG_VFPF_ERR_NUM \
1612 #define UCM_REG_UCM_INT_MASK \
1614 #define UCM_REG_UCM_PRTY_MASK \
1616 #define UCM_REG_UCM_PRTY_STS_CLR \
1618 #define UMAC_COMMAND_CONFIG_REG_HD_ENA \
1620 #define UMAC_COMMAND_CONFIG_REG_IGNORE_TX_PAUSE \
1622 #define UMAC_COMMAND_CONFIG_REG_LOOP_ENA \
1624 #define UMAC_COMMAND_CONFIG_REG_NO_LGTH_CHECK \
1626 #define UMAC_COMMAND_CONFIG_REG_PAD_EN \
1628 #define UMAC_COMMAND_CONFIG_REG_PAUSE_IGNORE \
1630 #define UMAC_COMMAND_CONFIG_REG_PROMIS_EN \
1632 #define UMAC_COMMAND_CONFIG_REG_RX_ENA \
1634 #define UMAC_COMMAND_CONFIG_REG_SW_RESET \
1636 #define UMAC_COMMAND_CONFIG_REG_TX_ENA \
1638 #define UMAC_REG_COMMAND_CONFIG \
1640 #define UMAC_REG_EEE_WAKE_TIMER \
1642 #define UMAC_REG_MAC_ADDR0 \
1644 #define UMAC_REG_MAC_ADDR1 \
1646 #define UMAC_REG_MAXFR \
1648 #define UMAC_REG_UMAC_EEE_CTRL \
1650 #define UMAC_UMAC_EEE_CTRL_REG_EEE_EN \
1652 #define USDM_REG_USDM_INT_MASK_0 \
1654 #define USDM_REG_USDM_INT_MASK_1 \
1656 #define USDM_REG_USDM_PRTY_MASK \
1658 #define USDM_REG_USDM_PRTY_STS_CLR \
1660 #define USEM_REG_FAST_MEMORY \
1662 #define USEM_REG_INT_TABLE \
1664 #define USEM_REG_PASSIVE_BUFFER \
1666 #define USEM_REG_PRAM \
1668 #define USEM_REG_USEM_INT_MASK_0 \
1670 #define USEM_REG_USEM_INT_MASK_1 \
1672 #define USEM_REG_USEM_PRTY_MASK_0 \
1674 #define USEM_REG_USEM_PRTY_MASK_1 \
1676 #define USEM_REG_USEM_PRTY_STS_CLR_0 \
1678 #define USEM_REG_USEM_PRTY_STS_CLR_1 \
1680 #define USEM_REG_VFPF_ERR_NUM \
1682 #define VFC_MEMORIES_RST_REG_CAM_RST \
1684 #define VFC_MEMORIES_RST_REG_RAM_RST \
1686 #define VFC_REG_MEMORIES_RST \
1688 #define XCM_REG_XCM_INT_MASK \
1690 #define XCM_REG_XCM_PRTY_MASK \
1692 #define XCM_REG_XCM_PRTY_STS_CLR \
1694 #define XMAC_CLEAR_RX_LSS_STATUS_REG_CLEAR_LOCAL_FAULT_STATUS \
1696 #define XMAC_CLEAR_RX_LSS_STATUS_REG_CLEAR_REMOTE_FAULT_STATUS \
1698 #define XMAC_CTRL_REG_LINE_LOCAL_LPBK \
1700 #define XMAC_CTRL_REG_RX_EN \
1702 #define XMAC_CTRL_REG_SOFT_RESET \
1704 #define XMAC_CTRL_REG_TX_EN \
1706 #define XMAC_CTRL_REG_XLGMII_ALIGN_ENB \
1708 #define XMAC_PAUSE_CTRL_REG_RX_PAUSE_EN \
1710 #define XMAC_PAUSE_CTRL_REG_TX_PAUSE_EN \
1712 #define XMAC_PFC_CTRL_HI_REG_FORCE_PFC_XON \
1714 #define XMAC_PFC_CTRL_HI_REG_PFC_REFRESH_EN \
1716 #define XMAC_PFC_CTRL_HI_REG_PFC_STATS_EN \
1718 #define XMAC_PFC_CTRL_HI_REG_RX_PFC_EN \
1720 #define XMAC_PFC_CTRL_HI_REG_TX_PFC_EN \
1722 #define XMAC_REG_CLEAR_RX_LSS_STATUS \
1724 #define XMAC_REG_CTRL \
1726 #define XMAC_REG_CTRL_SA_HI \
1728 #define XMAC_REG_CTRL_SA_LO \
1730 #define XMAC_REG_EEE_CTRL \
1732 #define XMAC_REG_EEE_TIMERS_HI \
1734 #define XMAC_REG_PAUSE_CTRL \
1736 #define XMAC_REG_PFC_CTRL \
1738 #define XMAC_REG_PFC_CTRL_HI \
1740 #define XMAC_REG_RX_LSS_CTRL \
1742 #define XMAC_REG_RX_LSS_STATUS \
1744 #define XMAC_REG_RX_MAX_SIZE \
1746 #define XMAC_REG_TX_CTRL \
1748 #define XMAC_RX_LSS_CTRL_REG_LOCAL_FAULT_DISABLE \
1750 #define XMAC_RX_LSS_CTRL_REG_REMOTE_FAULT_DISABLE \
1752 #define XSDM_REG_OPERATION_GEN \
1754 #define XSDM_REG_XSDM_INT_MASK_0 \
1756 #define XSDM_REG_XSDM_INT_MASK_1 \
1758 #define XSDM_REG_XSDM_PRTY_MASK \
1760 #define XSDM_REG_XSDM_PRTY_STS_CLR \
1762 #define XSEM_REG_FAST_MEMORY \
1764 #define XSEM_REG_INT_TABLE \
1766 #define XSEM_REG_PASSIVE_BUFFER \
1768 #define XSEM_REG_PRAM \
1770 #define XSEM_REG_VFPF_ERR_NUM \
1772 #define XSEM_REG_XSEM_INT_MASK_0 \
1774 #define XSEM_REG_XSEM_INT_MASK_1 \
1776 #define XSEM_REG_XSEM_PRTY_MASK_0 \
1778 #define XSEM_REG_XSEM_PRTY_MASK_1 \
1780 #define XSEM_REG_XSEM_PRTY_STS_CLR_0 \
1782 #define XSEM_REG_XSEM_PRTY_STS_CLR_1 \
1784 #define MCPR_ACCESS_LOCK_LOCK (1L<<31)
1785 #define MCPR_IMC_COMMAND_ENABLE (1L<<31)
1786 #define MCPR_IMC_COMMAND_IMC_STATUS_BITSHIFT 16
1787 #define MCPR_IMC_COMMAND_OPERATION_BITSHIFT 28
1788 #define MCPR_IMC_COMMAND_TRANSFER_ADDRESS_BITSHIFT 8
1789 #define MCPR_NVM_ACCESS_ENABLE_EN (1L<<0)
1790 #define MCPR_NVM_ACCESS_ENABLE_WR_EN (1L<<1)
1791 #define MCPR_NVM_ADDR_NVM_ADDR_VALUE (0xffffffL<<0)
1792 #define MCPR_NVM_CFG4_FLASH_SIZE (0x7L<<0)
1793 #define MCPR_NVM_COMMAND_DOIT (1L<<4)
1794 #define MCPR_NVM_COMMAND_DONE (1L<<3)
1795 #define MCPR_NVM_COMMAND_FIRST (1L<<7)
1796 #define MCPR_NVM_COMMAND_LAST (1L<<8)
1797 #define MCPR_NVM_COMMAND_WR (1L<<5)
1798 #define MCPR_NVM_SW_ARB_ARB_ARB1 (1L<<9)
1799 #define MCPR_NVM_SW_ARB_ARB_REQ_CLR1 (1L<<5)
1800 #define MCPR_NVM_SW_ARB_ARB_REQ_SET1 (1L<<1)
1803 #define BIGMAC_REGISTER_BMAC_CONTROL (0x00<<3)
1804 #define BIGMAC_REGISTER_BMAC_XGXS_CONTROL (0x01<<3)
1805 #define BIGMAC_REGISTER_CNT_MAX_SIZE (0x05<<3)
1806 #define BIGMAC_REGISTER_RX_CONTROL (0x21<<3)
1807 #define BIGMAC_REGISTER_RX_LLFC_MSG_FLDS (0x46<<3)
1808 #define BIGMAC_REGISTER_RX_LSS_STATUS (0x43<<3)
1809 #define BIGMAC_REGISTER_RX_MAX_SIZE (0x23<<3)
1810 #define BIGMAC_REGISTER_RX_STAT_GR64 (0x26<<3)
1811 #define BIGMAC_REGISTER_RX_STAT_GRIPJ (0x42<<3)
1812 #define BIGMAC_REGISTER_TX_CONTROL (0x07<<3)
1813 #define BIGMAC_REGISTER_TX_MAX_SIZE (0x09<<3)
1814 #define BIGMAC_REGISTER_TX_PAUSE_THRESHOLD (0x0A<<3)
1815 #define BIGMAC_REGISTER_TX_SOURCE_ADDR (0x08<<3)
1816 #define BIGMAC_REGISTER_TX_STAT_GTBYT (0x20<<3)
1817 #define BIGMAC_REGISTER_TX_STAT_GTPKT (0x0C<<3)
1818 #define BIGMAC2_REGISTER_BMAC_CONTROL (0x00<<3)
1819 #define BIGMAC2_REGISTER_BMAC_XGXS_CONTROL (0x01<<3)
1820 #define BIGMAC2_REGISTER_CNT_MAX_SIZE (0x05<<3)
1821 #define BIGMAC2_REGISTER_PFC_CONTROL (0x06<<3)
1822 #define BIGMAC2_REGISTER_RX_CONTROL (0x3A<<3)
1823 #define BIGMAC2_REGISTER_RX_LLFC_MSG_FLDS (0x62<<3)
1824 #define BIGMAC2_REGISTER_RX_LSS_STAT (0x3E<<3)
1825 #define BIGMAC2_REGISTER_RX_MAX_SIZE (0x3C<<3)
1826 #define BIGMAC2_REGISTER_RX_STAT_GR64 (0x40<<3)
1827 #define BIGMAC2_REGISTER_RX_STAT_GRIPJ (0x5f<<3)
1828 #define BIGMAC2_REGISTER_TX_CONTROL (0x1C<<3)
1829 #define BIGMAC2_REGISTER_TX_MAX_SIZE (0x1E<<3)
1830 #define BIGMAC2_REGISTER_TX_PAUSE_CONTROL (0x20<<3)
1831 #define BIGMAC2_REGISTER_TX_SOURCE_ADDR (0x1D<<3)
1832 #define BIGMAC2_REGISTER_TX_STAT_GTBYT (0x39<<3)
1833 #define BIGMAC2_REGISTER_TX_STAT_GTPOK (0x22<<3)
1836 #define EMAC_LED_1000MB_OVERRIDE (1L<<1)
1837 #define EMAC_LED_100MB_OVERRIDE (1L<<2)
1838 #define EMAC_LED_10MB_OVERRIDE (1L<<3)
1839 #define EMAC_LED_OVERRIDE (1L<<0)
1840 #define EMAC_MDIO_COMM_COMMAND_ADDRESS (0L<<26)
1841 #define EMAC_MDIO_COMM_COMMAND_READ_22 (2L<<26)
1842 #define EMAC_MDIO_COMM_COMMAND_READ_45 (3L<<26)
1843 #define EMAC_MDIO_COMM_COMMAND_WRITE_22 (1L<<26)
1844 #define EMAC_MDIO_COMM_COMMAND_WRITE_45 (1L<<26)
1845 #define EMAC_MDIO_COMM_DATA (0xffffL<<0)
1846 #define EMAC_MDIO_COMM_START_BUSY (1L<<29)
1847 #define EMAC_MDIO_MODE_AUTO_POLL (1L<<4)
1848 #define EMAC_MDIO_MODE_CLAUSE_45 (1L<<31)
1849 #define EMAC_MDIO_MODE_CLOCK_CNT (0x3ffL<<16)
1850 #define EMAC_MDIO_MODE_CLOCK_CNT_BITSHIFT 16
1851 #define EMAC_MDIO_STATUS_10MB (1L<<1)
1852 #define EMAC_MODE_25G_MODE (1L<<5)
1853 #define EMAC_MODE_HALF_DUPLEX (1L<<1)
1854 #define EMAC_MODE_PORT_GMII (2L<<2)
1855 #define EMAC_MODE_PORT_MII (1L<<2)
1856 #define EMAC_MODE_PORT_MII_10M (3L<<2)
1857 #define EMAC_MODE_RESET (1L<<0)
1858 #define EMAC_REG_EMAC_LED 0xc
1859 #define EMAC_REG_EMAC_MAC_MATCH 0x10
1860 #define EMAC_REG_EMAC_MDIO_COMM 0xac
1861 #define EMAC_REG_EMAC_MDIO_MODE 0xb4
1862 #define EMAC_REG_EMAC_MDIO_STATUS 0xb0
1863 #define EMAC_REG_EMAC_MODE 0x0
1864 #define EMAC_REG_EMAC_RX_MODE 0xc8
1865 #define EMAC_REG_EMAC_RX_MTU_SIZE 0x9c
1866 #define EMAC_REG_EMAC_RX_STAT_AC 0x180
1867 #define EMAC_REG_EMAC_RX_STAT_AC_28 0x1f4
1868 #define EMAC_REG_EMAC_RX_STAT_AC_COUNT 23
1869 #define EMAC_REG_EMAC_TX_MODE 0xbc
1870 #define EMAC_REG_EMAC_TX_STAT_AC 0x280
1871 #define EMAC_REG_EMAC_TX_STAT_AC_COUNT 22
1872 #define EMAC_REG_RX_PFC_MODE 0x320
1873 #define EMAC_REG_RX_PFC_MODE_PRIORITIES (1L<<2)
1874 #define EMAC_REG_RX_PFC_MODE_RX_EN (1L<<1)
1875 #define EMAC_REG_RX_PFC_MODE_TX_EN (1L<<0)
1876 #define EMAC_REG_RX_PFC_PARAM 0x324
1877 #define EMAC_REG_RX_PFC_PARAM_OPCODE_BITSHIFT 0
1878 #define EMAC_REG_RX_PFC_PARAM_PRIORITY_EN_BITSHIFT 16
1879 #define EMAC_REG_RX_PFC_STATS_XOFF_RCVD 0x328
1880 #define EMAC_REG_RX_PFC_STATS_XOFF_RCVD_COUNT (0xffff<<0)
1881 #define EMAC_REG_RX_PFC_STATS_XOFF_SENT 0x330
1882 #define EMAC_REG_RX_PFC_STATS_XOFF_SENT_COUNT (0xffff<<0)
1883 #define EMAC_REG_RX_PFC_STATS_XON_RCVD 0x32c
1884 #define EMAC_REG_RX_PFC_STATS_XON_RCVD_COUNT (0xffff<<0)
1885 #define EMAC_REG_RX_PFC_STATS_XON_SENT 0x334
1886 #define EMAC_REG_RX_PFC_STATS_XON_SENT_COUNT (0xffff<<0)
1887 #define EMAC_RX_MODE_FLOW_EN (1L<<2)
1888 #define EMAC_RX_MODE_KEEP_MAC_CONTROL (1L<<3)
1889 #define EMAC_RX_MODE_KEEP_VLAN_TAG (1L<<10)
1890 #define EMAC_RX_MODE_PROMISCUOUS (1L<<8)
1891 #define EMAC_RX_MODE_RESET (1L<<0)
1892 #define EMAC_RX_MTU_SIZE_JUMBO_ENA (1L<<31)
1893 #define EMAC_TX_MODE_EXT_PAUSE_EN (1L<<3)
1894 #define EMAC_TX_MODE_FLOW_EN (1L<<4)
1895 #define EMAC_TX_MODE_RESET (1L<<0)
1898 #define MISC_REGISTERS_GPIO_0 0
1899 #define MISC_REGISTERS_GPIO_1 1
1900 #define MISC_REGISTERS_GPIO_2 2
1901 #define MISC_REGISTERS_GPIO_3 3
1902 #define MISC_REGISTERS_GPIO_CLR_POS 16
1903 #define MISC_REGISTERS_GPIO_FLOAT (0xffL<<24)
1904 #define MISC_REGISTERS_GPIO_FLOAT_POS 24
1905 #define MISC_REGISTERS_GPIO_HIGH 1
1906 #define MISC_REGISTERS_GPIO_INPUT_HI_Z 2
1907 #define MISC_REGISTERS_GPIO_INT_CLR_POS 24
1908 #define MISC_REGISTERS_GPIO_INT_OUTPUT_CLR 0
1909 #define MISC_REGISTERS_GPIO_INT_OUTPUT_SET 1
1910 #define MISC_REGISTERS_GPIO_INT_SET_POS 16
1911 #define MISC_REGISTERS_GPIO_LOW 0
1912 #define MISC_REGISTERS_GPIO_OUTPUT_HIGH 1
1913 #define MISC_REGISTERS_GPIO_OUTPUT_LOW 0
1914 #define MISC_REGISTERS_GPIO_PORT_SHIFT 4
1915 #define MISC_REGISTERS_GPIO_SET_POS 8
1916 #define MISC_REGISTERS_RESET_REG_1_CLEAR 0x588
1917 #define MISC_REGISTERS_RESET_REG_1_RST_BRB1 (0x1<<0)
1918 #define MISC_REGISTERS_RESET_REG_1_RST_DORQ \
1920 #define MISC_REGISTERS_RESET_REG_1_RST_HC \
1922 #define MISC_REGISTERS_RESET_REG_1_RST_PXP \
1924 #define MISC_REGISTERS_RESET_REG_1_RST_PXPV \
1926 #define MISC_REGISTERS_RESET_REG_1_RST_QM \
1928 #define MISC_REGISTERS_RESET_REG_1_SET 0x584
1929 #define MISC_REGISTERS_RESET_REG_2_CLEAR 0x598
1930 #define MISC_REGISTERS_RESET_REG_2_MSTAT0 \
1932 #define MISC_REGISTERS_RESET_REG_2_MSTAT1 \
1934 #define MISC_REGISTERS_RESET_REG_2_PGLC \
1936 #define MISC_REGISTERS_RESET_REG_2_RST_ATC \
1938 #define MISC_REGISTERS_RESET_REG_2_RST_BMAC0 (0x1<<0)
1939 #define MISC_REGISTERS_RESET_REG_2_RST_BMAC1 (0x1<<1)
1940 #define MISC_REGISTERS_RESET_REG_2_RST_EMAC0 (0x1<<2)
1941 #define MISC_REGISTERS_RESET_REG_2_RST_EMAC0_HARD_CORE \
1943 #define MISC_REGISTERS_RESET_REG_2_RST_EMAC1 (0x1<<3)
1944 #define MISC_REGISTERS_RESET_REG_2_RST_EMAC1_HARD_CORE \
1946 #define MISC_REGISTERS_RESET_REG_2_RST_GRC (0x1<<4)
1947 #define MISC_REGISTERS_RESET_REG_2_RST_MCP_N_HARD_CORE_RST_B (0x1<<6)
1948 #define MISC_REGISTERS_RESET_REG_2_RST_MCP_N_RESET_CMN_CORE (0x1<<8)
1949 #define MISC_REGISTERS_RESET_REG_2_RST_MCP_N_RESET_CMN_CPU (0x1<<7)
1950 #define MISC_REGISTERS_RESET_REG_2_RST_MCP_N_RESET_REG_HARD_CORE (0x1<<5)
1951 #define MISC_REGISTERS_RESET_REG_2_RST_MISC_CORE \
1953 #define MISC_REGISTERS_RESET_REG_2_RST_PCI_MDIO \
1955 #define MISC_REGISTERS_RESET_REG_2_RST_PXP_RQ_RD_WR \
1957 #define MISC_REGISTERS_RESET_REG_2_RST_RBCN (0x1<<9)
1958 #define MISC_REGISTERS_RESET_REG_2_SET 0x594
1959 #define MISC_REGISTERS_RESET_REG_2_UMAC0 \
1961 #define MISC_REGISTERS_RESET_REG_2_UMAC1 \
1963 #define MISC_REGISTERS_RESET_REG_2_XMAC \
1965 #define MISC_REGISTERS_RESET_REG_2_XMAC_SOFT \
1967 #define MISC_REGISTERS_RESET_REG_3_CLEAR 0x5a8
1968 #define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_SERDES0_IDDQ (0x1<<1)
1969 #define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_SERDES0_PWRDWN (0x1<<2)
1970 #define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_SERDES0_PWRDWN_SD (0x1<<3)
1971 #define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_SERDES0_RSTB_HW (0x1<<0)
1972 #define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_XGXS0_IDDQ (0x1<<5)
1973 #define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_XGXS0_PWRDWN (0x1<<6)
1974 #define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_XGXS0_PWRDWN_SD (0x1<<7)
1975 #define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_XGXS0_RSTB_HW (0x1<<4)
1976 #define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_XGXS0_TXD_FIFO_RSTB (0x1<<8)
1977 #define MISC_REGISTERS_RESET_REG_3_SET 0x5a4
1978 #define MISC_SPIO_CLR_POS 16
1979 #define MISC_SPIO_FLOAT (0xffL<<24)
1980 #define MISC_SPIO_FLOAT_POS 24
1981 #define MISC_SPIO_INPUT_HI_Z 2
1982 #define MISC_SPIO_INT_OLD_SET_POS 16
1983 #define MISC_SPIO_OUTPUT_HIGH 1
1984 #define MISC_SPIO_OUTPUT_LOW 0
1985 #define MISC_SPIO_SET_POS 8
1986 #define MISC_SPIO_SPIO4 0x10
1987 #define MISC_SPIO_SPIO5 0x20
1988 #define HW_LOCK_MAX_RESOURCE_VALUE 31
1989 #define HW_LOCK_RESOURCE_DRV_FLAGS 10
1990 #define HW_LOCK_RESOURCE_GPIO 1
1991 #define HW_LOCK_RESOURCE_NVRAM 12
1992 #define HW_LOCK_RESOURCE_PORT0_ATT_MASK 3
1993 #define HW_LOCK_RESOURCE_RECOVERY_LEADER_0 8
1994 #define HW_LOCK_RESOURCE_RECOVERY_LEADER_1 9
1995 #define HW_LOCK_RESOURCE_RECOVERY_REG 11
1996 #define HW_LOCK_RESOURCE_RESET 5
1997 #define HW_LOCK_RESOURCE_SPIO 2
2000 #define AEU_INPUTS_ATTN_BITS_ATC_HW_INTERRUPT (0x1<<4)
2001 #define AEU_INPUTS_ATTN_BITS_ATC_PARITY_ERROR (0x1<<5)
2002 #define AEU_INPUTS_ATTN_BITS_BRB_HW_INTERRUPT (0x1<<19)
2003 #define AEU_INPUTS_ATTN_BITS_BRB_PARITY_ERROR (0x1<<18)
2004 #define AEU_INPUTS_ATTN_BITS_CCM_HW_INTERRUPT (0x1<<31)
2005 #define AEU_INPUTS_ATTN_BITS_CCM_PARITY_ERROR (0x1<<30)
2006 #define AEU_INPUTS_ATTN_BITS_CDU_HW_INTERRUPT (0x1<<9)
2007 #define AEU_INPUTS_ATTN_BITS_CDU_PARITY_ERROR (0x1<<8)
2008 #define AEU_INPUTS_ATTN_BITS_CFC_HW_INTERRUPT (0x1<<7)
2009 #define AEU_INPUTS_ATTN_BITS_CFC_PARITY_ERROR (0x1<<6)
2010 #define AEU_INPUTS_ATTN_BITS_CSDM_HW_INTERRUPT (0x1<<29)
2011 #define AEU_INPUTS_ATTN_BITS_CSDM_PARITY_ERROR (0x1<<28)
2012 #define AEU_INPUTS_ATTN_BITS_CSEMI_HW_INTERRUPT (0x1<<1)
2013 #define AEU_INPUTS_ATTN_BITS_CSEMI_PARITY_ERROR (0x1<<0)
2014 #define AEU_INPUTS_ATTN_BITS_DEBUG_PARITY_ERROR (0x1<<18)
2015 #define AEU_INPUTS_ATTN_BITS_DMAE_HW_INTERRUPT (0x1<<11)
2016 #define AEU_INPUTS_ATTN_BITS_DMAE_PARITY_ERROR (0x1<<10)
2017 #define AEU_INPUTS_ATTN_BITS_DOORBELLQ_HW_INTERRUPT (0x1<<13)
2018 #define AEU_INPUTS_ATTN_BITS_DOORBELLQ_PARITY_ERROR (0x1<<12)
2019 #define AEU_INPUTS_ATTN_BITS_GPIO0_FUNCTION_0 (0x1<<2)
2020 #define AEU_INPUTS_ATTN_BITS_IGU_PARITY_ERROR (0x1<<12)
2021 #define AEU_INPUTS_ATTN_BITS_MCP_LATCHED_ROM_PARITY (0x1<<28)
2022 #define AEU_INPUTS_ATTN_BITS_MCP_LATCHED_SCPAD_PARITY (0x1UL<<31)
2023 #define AEU_INPUTS_ATTN_BITS_MCP_LATCHED_UMP_RX_PARITY (0x1<<29)
2024 #define AEU_INPUTS_ATTN_BITS_MCP_LATCHED_UMP_TX_PARITY (0x1<<30)
2025 #define AEU_INPUTS_ATTN_BITS_MISC_HW_INTERRUPT (0x1<<15)
2026 #define AEU_INPUTS_ATTN_BITS_MISC_PARITY_ERROR (0x1<<14)
2027 #define AEU_INPUTS_ATTN_BITS_NIG_PARITY_ERROR (0x1<<14)
2028 #define AEU_INPUTS_ATTN_BITS_PARSER_PARITY_ERROR (0x1<<20)
2029 #define AEU_INPUTS_ATTN_BITS_PBCLIENT_HW_INTERRUPT (0x1UL<<31)
2030 #define AEU_INPUTS_ATTN_BITS_PBCLIENT_PARITY_ERROR (0x1<<30)
2031 #define AEU_INPUTS_ATTN_BITS_PBF_PARITY_ERROR (0x1<<0)
2032 #define AEU_INPUTS_ATTN_BITS_PGLUE_HW_INTERRUPT (0x1<<2)
2033 #define AEU_INPUTS_ATTN_BITS_PGLUE_PARITY_ERROR (0x1<<3)
2034 #define AEU_INPUTS_ATTN_BITS_PXPPCICLOCKCLIENT_HW_INTERRUPT (0x1<<5)
2035 #define AEU_INPUTS_ATTN_BITS_PXPPCICLOCKCLIENT_PARITY_ERROR (0x1<<4)
2036 #define AEU_INPUTS_ATTN_BITS_PXP_HW_INTERRUPT (0x1<<3)
2037 #define AEU_INPUTS_ATTN_BITS_PXP_PARITY_ERROR (0x1<<2)
2038 #define AEU_INPUTS_ATTN_BITS_QM_HW_INTERRUPT (0x1<<3)
2039 #define AEU_INPUTS_ATTN_BITS_QM_PARITY_ERROR (0x1<<2)
2040 #define AEU_INPUTS_ATTN_BITS_SEARCHER_PARITY_ERROR (0x1<<22)
2041 #define AEU_INPUTS_ATTN_BITS_SPIO5 (0x1<<15)
2042 #define AEU_INPUTS_ATTN_BITS_TCM_HW_INTERRUPT (0x1<<27)
2043 #define AEU_INPUTS_ATTN_BITS_TCM_PARITY_ERROR (0x1<<26)
2044 #define AEU_INPUTS_ATTN_BITS_TIMERS_HW_INTERRUPT (0x1<<5)
2045 #define AEU_INPUTS_ATTN_BITS_TIMERS_PARITY_ERROR (0x1<<4)
2046 #define AEU_INPUTS_ATTN_BITS_TSDM_HW_INTERRUPT (0x1<<25)
2047 #define AEU_INPUTS_ATTN_BITS_TSDM_PARITY_ERROR (0x1<<24)
2048 #define AEU_INPUTS_ATTN_BITS_TSEMI_HW_INTERRUPT (0x1<<29)
2049 #define AEU_INPUTS_ATTN_BITS_TSEMI_PARITY_ERROR (0x1<<28)
2050 #define AEU_INPUTS_ATTN_BITS_UCM_HW_INTERRUPT (0x1<<23)
2051 #define AEU_INPUTS_ATTN_BITS_UCM_PARITY_ERROR (0x1<<22)
2052 #define AEU_INPUTS_ATTN_BITS_UPB_HW_INTERRUPT (0x1<<27)
2053 #define AEU_INPUTS_ATTN_BITS_UPB_PARITY_ERROR (0x1<<26)
2054 #define AEU_INPUTS_ATTN_BITS_USDM_HW_INTERRUPT (0x1<<21)
2055 #define AEU_INPUTS_ATTN_BITS_USDM_PARITY_ERROR (0x1<<20)
2056 #define AEU_INPUTS_ATTN_BITS_USEMI_HW_INTERRUPT (0x1<<25)
2057 #define AEU_INPUTS_ATTN_BITS_USEMI_PARITY_ERROR (0x1<<24)
2058 #define AEU_INPUTS_ATTN_BITS_VAUX_PCI_CORE_PARITY_ERROR (0x1<<16)
2059 #define AEU_INPUTS_ATTN_BITS_XCM_HW_INTERRUPT (0x1<<9)
2060 #define AEU_INPUTS_ATTN_BITS_XCM_PARITY_ERROR (0x1<<8)
2061 #define AEU_INPUTS_ATTN_BITS_XSDM_HW_INTERRUPT (0x1<<7)
2062 #define AEU_INPUTS_ATTN_BITS_XSDM_PARITY_ERROR (0x1<<6)
2063 #define AEU_INPUTS_ATTN_BITS_XSEMI_HW_INTERRUPT (0x1<<11)
2064 #define AEU_INPUTS_ATTN_BITS_XSEMI_PARITY_ERROR (0x1<<10)
2065 #define HW_PRTY_ASSERT_SET_0 \
2066 (AEU_INPUTS_ATTN_BITS_BRB_PARITY_ERROR |\
2067 AEU_INPUTS_ATTN_BITS_PARSER_PARITY_ERROR |\
2068 AEU_INPUTS_ATTN_BITS_TSDM_PARITY_ERROR |\
2069 AEU_INPUTS_ATTN_BITS_SEARCHER_PARITY_ERROR |\
2070 AEU_INPUTS_ATTN_BITS_TSEMI_PARITY_ERROR |\
2071 AEU_INPUTS_ATTN_BITS_TCM_PARITY_ERROR |\
2072 AEU_INPUTS_ATTN_BITS_PBCLIENT_PARITY_ERROR)
2073 #define HW_PRTY_ASSERT_SET_1 \
2074 (AEU_INPUTS_ATTN_BITS_PBF_PARITY_ERROR |\
2075 AEU_INPUTS_ATTN_BITS_QM_PARITY_ERROR |\
2076 AEU_INPUTS_ATTN_BITS_TIMERS_PARITY_ERROR |\
2077 AEU_INPUTS_ATTN_BITS_XSDM_PARITY_ERROR |\
2078 AEU_INPUTS_ATTN_BITS_XCM_PARITY_ERROR |\
2079 AEU_INPUTS_ATTN_BITS_XSEMI_PARITY_ERROR |\
2080 AEU_INPUTS_ATTN_BITS_DOORBELLQ_PARITY_ERROR |\
2081 AEU_INPUTS_ATTN_BITS_NIG_PARITY_ERROR |\
2082 AEU_INPUTS_ATTN_BITS_VAUX_PCI_CORE_PARITY_ERROR |\
2083 AEU_INPUTS_ATTN_BITS_DEBUG_PARITY_ERROR |\
2084 AEU_INPUTS_ATTN_BITS_USDM_PARITY_ERROR |\
2085 AEU_INPUTS_ATTN_BITS_UCM_PARITY_ERROR |\
2086 AEU_INPUTS_ATTN_BITS_USEMI_PARITY_ERROR |\
2087 AEU_INPUTS_ATTN_BITS_UPB_PARITY_ERROR |\
2088 AEU_INPUTS_ATTN_BITS_CSDM_PARITY_ERROR |\
2089 AEU_INPUTS_ATTN_BITS_CCM_PARITY_ERROR)
2090 #define HW_PRTY_ASSERT_SET_2 \
2091 (AEU_INPUTS_ATTN_BITS_CSEMI_PARITY_ERROR |\
2092 AEU_INPUTS_ATTN_BITS_PXP_PARITY_ERROR |\
2093 AEU_INPUTS_ATTN_BITS_PXPPCICLOCKCLIENT_PARITY_ERROR |\
2094 AEU_INPUTS_ATTN_BITS_CFC_PARITY_ERROR |\
2095 AEU_INPUTS_ATTN_BITS_CDU_PARITY_ERROR |\
2096 AEU_INPUTS_ATTN_BITS_DMAE_PARITY_ERROR |\
2097 AEU_INPUTS_ATTN_BITS_IGU_PARITY_ERROR |\
2098 AEU_INPUTS_ATTN_BITS_MISC_PARITY_ERROR)
2099 #define HW_PRTY_ASSERT_SET_3 \
2100 (AEU_INPUTS_ATTN_BITS_MCP_LATCHED_ROM_PARITY | \
2101 AEU_INPUTS_ATTN_BITS_MCP_LATCHED_UMP_RX_PARITY | \
2102 AEU_INPUTS_ATTN_BITS_MCP_LATCHED_UMP_TX_PARITY | \
2103 AEU_INPUTS_ATTN_BITS_MCP_LATCHED_SCPAD_PARITY)
2104 #define HW_PRTY_ASSERT_SET_4 \
2105 (AEU_INPUTS_ATTN_BITS_PGLUE_PARITY_ERROR |\
2106 AEU_INPUTS_ATTN_BITS_ATC_PARITY_ERROR)
2107 #define HW_INTERRUT_ASSERT_SET_0 \
2108 (AEU_INPUTS_ATTN_BITS_TSDM_HW_INTERRUPT |\
2109 AEU_INPUTS_ATTN_BITS_TCM_HW_INTERRUPT |\
2110 AEU_INPUTS_ATTN_BITS_TSEMI_HW_INTERRUPT |\
2111 AEU_INPUTS_ATTN_BITS_BRB_HW_INTERRUPT |\
2112 AEU_INPUTS_ATTN_BITS_PBCLIENT_HW_INTERRUPT)
2113 #define HW_INTERRUT_ASSERT_SET_1 \
2114 (AEU_INPUTS_ATTN_BITS_QM_HW_INTERRUPT |\
2115 AEU_INPUTS_ATTN_BITS_TIMERS_HW_INTERRUPT |\
2116 AEU_INPUTS_ATTN_BITS_XSDM_HW_INTERRUPT |\
2117 AEU_INPUTS_ATTN_BITS_XCM_HW_INTERRUPT |\
2118 AEU_INPUTS_ATTN_BITS_XSEMI_HW_INTERRUPT |\
2119 AEU_INPUTS_ATTN_BITS_USDM_HW_INTERRUPT |\
2120 AEU_INPUTS_ATTN_BITS_UCM_HW_INTERRUPT |\
2121 AEU_INPUTS_ATTN_BITS_USEMI_HW_INTERRUPT |\
2122 AEU_INPUTS_ATTN_BITS_UPB_HW_INTERRUPT |\
2123 AEU_INPUTS_ATTN_BITS_CSDM_HW_INTERRUPT |\
2124 AEU_INPUTS_ATTN_BITS_CCM_HW_INTERRUPT)
2125 #define HW_INTERRUT_ASSERT_SET_2 \
2126 (AEU_INPUTS_ATTN_BITS_CSEMI_HW_INTERRUPT |\
2127 AEU_INPUTS_ATTN_BITS_PXP_HW_INTERRUPT |\
2128 AEU_INPUTS_ATTN_BITS_CFC_HW_INTERRUPT |\
2129 AEU_INPUTS_ATTN_BITS_CDU_HW_INTERRUPT |\
2130 AEU_INPUTS_ATTN_BITS_DMAE_HW_INTERRUPT |\
2131 AEU_INPUTS_ATTN_BITS_PXPPCICLOCKCLIENT_HW_INTERRUPT |\
2132 AEU_INPUTS_ATTN_BITS_MISC_HW_INTERRUPT)
2135 #define RESERVED_GENERAL_ATTENTION_BIT_0 0
2137 #define EVEREST_GEN_ATTN_IN_USE_MASK 0x7ffe0
2138 #define EVEREST_LATCHED_ATTN_IN_USE_MASK 0xffe00000
2140 #define RESERVED_GENERAL_ATTENTION_BIT_6 6
2141 #define RESERVED_GENERAL_ATTENTION_BIT_7 7
2142 #define RESERVED_GENERAL_ATTENTION_BIT_8 8
2143 #define RESERVED_GENERAL_ATTENTION_BIT_9 9
2144 #define RESERVED_GENERAL_ATTENTION_BIT_10 10
2145 #define RESERVED_GENERAL_ATTENTION_BIT_11 11
2146 #define RESERVED_GENERAL_ATTENTION_BIT_12 12
2147 #define RESERVED_GENERAL_ATTENTION_BIT_13 13
2148 #define RESERVED_GENERAL_ATTENTION_BIT_14 14
2149 #define RESERVED_GENERAL_ATTENTION_BIT_15 15
2150 #define RESERVED_GENERAL_ATTENTION_BIT_16 16
2151 #define RESERVED_GENERAL_ATTENTION_BIT_17 17
2152 #define RESERVED_GENERAL_ATTENTION_BIT_18 18
2153 #define RESERVED_GENERAL_ATTENTION_BIT_19 19
2154 #define RESERVED_GENERAL_ATTENTION_BIT_20 20
2155 #define RESERVED_GENERAL_ATTENTION_BIT_21 21
2157 /* storm asserts attention bits */
2158 #define TSTORM_FATAL_ASSERT_ATTENTION_BIT RESERVED_GENERAL_ATTENTION_BIT_7
2159 #define USTORM_FATAL_ASSERT_ATTENTION_BIT RESERVED_GENERAL_ATTENTION_BIT_8
2160 #define CSTORM_FATAL_ASSERT_ATTENTION_BIT RESERVED_GENERAL_ATTENTION_BIT_9
2161 #define XSTORM_FATAL_ASSERT_ATTENTION_BIT RESERVED_GENERAL_ATTENTION_BIT_10
2163 /* mcp error attention bit */
2164 #define MCP_FATAL_ASSERT_ATTENTION_BIT RESERVED_GENERAL_ATTENTION_BIT_11
2166 /*E1H NIG status sync attention mapped to group 4-7*/
2167 #define LINK_SYNC_ATTENTION_BIT_FUNC_0 RESERVED_GENERAL_ATTENTION_BIT_12
2168 #define LINK_SYNC_ATTENTION_BIT_FUNC_1 RESERVED_GENERAL_ATTENTION_BIT_13
2169 #define LINK_SYNC_ATTENTION_BIT_FUNC_2 RESERVED_GENERAL_ATTENTION_BIT_14
2170 #define LINK_SYNC_ATTENTION_BIT_FUNC_3 RESERVED_GENERAL_ATTENTION_BIT_15
2171 #define LINK_SYNC_ATTENTION_BIT_FUNC_4 RESERVED_GENERAL_ATTENTION_BIT_16
2172 #define LINK_SYNC_ATTENTION_BIT_FUNC_5 RESERVED_GENERAL_ATTENTION_BIT_17
2173 #define LINK_SYNC_ATTENTION_BIT_FUNC_6 RESERVED_GENERAL_ATTENTION_BIT_18
2174 #define LINK_SYNC_ATTENTION_BIT_FUNC_7 RESERVED_GENERAL_ATTENTION_BIT_19
2176 /* Used For Error Recovery: changing this will require more \
2177 changes in code that assume
2178 * error recovery uses general attn bit20 ! */
2179 #define ERROR_RECOVERY_ATTENTION_BIT \
2180 RESERVED_GENERAL_ATTENTION_BIT_20
2181 #define RESERVED_ATTENTION_BIT \
2182 RESERVED_GENERAL_ATTENTION_BIT_21
2184 #define LATCHED_ATTN_RBCR 23
2185 #define LATCHED_ATTN_RBCT 24
2186 #define LATCHED_ATTN_RBCN 25
2187 #define LATCHED_ATTN_RBCU 26
2188 #define LATCHED_ATTN_RBCP 27
2189 #define LATCHED_ATTN_TIMEOUT_GRC 28
2190 #define LATCHED_ATTN_RSVD_GRC 29
2191 #define LATCHED_ATTN_ROM_PARITY_MCP 30
2192 #define LATCHED_ATTN_UM_RX_PARITY_MCP 31
2193 #define LATCHED_ATTN_UM_TX_PARITY_MCP 32
2194 #define LATCHED_ATTN_SCPAD_PARITY_MCP 33
2196 #define GENERAL_ATTEN_WORD(atten_name) ((94 + atten_name) / 32)
2197 #define GENERAL_ATTEN_OFFSET(atten_name) (1UL << ((94 + atten_name) % 32))
2201 * This file defines GRC base address for every block.
2202 * This file is included by chipsim, asm microcode and cpp microcode.
2203 * These values are used in Design.xml on regBase attribute
2204 * Use the base with the generated offsets of specific registers.
2207 #define GRCBASE_PXPCS 0x000000
2208 #define GRCBASE_PCICONFIG 0x002000
2209 #define GRCBASE_PCIREG 0x002400
2210 #define GRCBASE_EMAC0 0x008000
2211 #define GRCBASE_EMAC1 0x008400
2212 #define GRCBASE_DBU 0x008800
2213 #define GRCBASE_PGLUE_B 0x009000
2214 #define GRCBASE_MISC 0x00A000
2215 #define GRCBASE_DBG 0x00C000
2216 #define GRCBASE_NIG 0x010000
2217 #define GRCBASE_XCM 0x020000
2218 #define GRCBASE_PRS 0x040000
2219 #define GRCBASE_SRCH 0x040400
2220 #define GRCBASE_TSDM 0x042000
2221 #define GRCBASE_TCM 0x050000
2222 #define GRCBASE_BRB1 0x060000
2223 #define GRCBASE_MCP 0x080000
2224 #define GRCBASE_UPB 0x0C1000
2225 #define GRCBASE_CSDM 0x0C2000
2226 #define GRCBASE_USDM 0x0C4000
2227 #define GRCBASE_CCM 0x0D0000
2228 #define GRCBASE_UCM 0x0E0000
2229 #define GRCBASE_CDU 0x101000
2230 #define GRCBASE_DMAE 0x102000
2231 #define GRCBASE_PXP 0x103000
2232 #define GRCBASE_CFC 0x104000
2233 #define GRCBASE_HC 0x108000
2234 #define GRCBASE_ATC 0x110000
2235 #define GRCBASE_PXP2 0x120000
2236 #define GRCBASE_IGU 0x130000
2237 #define GRCBASE_PBF 0x140000
2238 #define GRCBASE_UMAC0 0x160000
2239 #define GRCBASE_UMAC1 0x160400
2240 #define GRCBASE_XPB 0x161000
2241 #define GRCBASE_MSTAT0 0x162000
2242 #define GRCBASE_MSTAT1 0x162800
2243 #define GRCBASE_XMAC0 0x163000
2244 #define GRCBASE_XMAC1 0x163800
2245 #define GRCBASE_TIMERS 0x164000
2246 #define GRCBASE_XSDM 0x166000
2247 #define GRCBASE_QM 0x168000
2248 #define GRCBASE_QM_4PORT 0x168000
2249 #define GRCBASE_DQ 0x170000
2250 #define GRCBASE_TSEM 0x180000
2251 #define GRCBASE_CSEM 0x200000
2252 #define GRCBASE_XSEM 0x280000
2253 #define GRCBASE_XSEM_4PORT 0x280000
2254 #define GRCBASE_USEM 0x300000
2255 #define GRCBASE_MCP_A 0x380000
2256 #define GRCBASE_MISC_AEU GRCBASE_MISC
2257 #define GRCBASE_Tstorm GRCBASE_TSEM
2258 #define GRCBASE_Cstorm GRCBASE_CSEM
2259 #define GRCBASE_Xstorm GRCBASE_XSEM
2260 #define GRCBASE_Ustorm GRCBASE_USEM
2263 /* offset of configuration space in the pci core register */
2264 #define PCICFG_OFFSET 0x2000
2265 #define PCICFG_VENDOR_ID_OFFSET 0x00
2266 #define PCICFG_DEVICE_ID_OFFSET 0x02
2267 #define PCICFG_COMMAND_OFFSET 0x04
2268 #define PCICFG_COMMAND_IO_SPACE (1<<0)
2269 #define PCICFG_COMMAND_MEM_SPACE (1<<1)
2270 #define PCICFG_COMMAND_BUS_MASTER (1<<2)
2271 #define PCICFG_COMMAND_SPECIAL_CYCLES (1<<3)
2272 #define PCICFG_COMMAND_MWI_CYCLES (1<<4)
2273 #define PCICFG_COMMAND_VGA_SNOOP (1<<5)
2274 #define PCICFG_COMMAND_PERR_ENA (1<<6)
2275 #define PCICFG_COMMAND_STEPPING (1<<7)
2276 #define PCICFG_COMMAND_SERR_ENA (1<<8)
2277 #define PCICFG_COMMAND_FAST_B2B (1<<9)
2278 #define PCICFG_COMMAND_INT_DISABLE (1<<10)
2279 #define PCICFG_COMMAND_RESERVED (0x1f<<11)
2280 #define PCICFG_STATUS_OFFSET 0x06
2281 #define PCICFG_REVISION_ID_OFFSET 0x08
2282 #define PCICFG_REVESION_ID_MASK 0xff
2283 #define PCICFG_REVESION_ID_ERROR_VAL 0xff
2284 #define PCICFG_CACHE_LINE_SIZE 0x0c
2285 #define PCICFG_LATENCY_TIMER 0x0d
2286 #define PCICFG_HEADER_TYPE 0x0e
2287 #define PCICFG_HEADER_TYPE_NORMAL 0
2288 #define PCICFG_HEADER_TYPE_BRIDGE 1
2289 #define PCICFG_HEADER_TYPE_CARDBUS 2
2290 #define PCICFG_BAR_1_LOW 0x10
2291 #define PCICFG_BAR_1_HIGH 0x14
2292 #define PCICFG_BAR_2_LOW 0x18
2293 #define PCICFG_BAR_2_HIGH 0x1c
2294 #define PCICFG_BAR_3_LOW 0x20
2295 #define PCICFG_BAR_3_HIGH 0x24
2296 #define PCICFG_SUBSYSTEM_VENDOR_ID_OFFSET 0x2c
2297 #define PCICFG_SUBSYSTEM_ID_OFFSET 0x2e
2298 #define PCICFG_INT_LINE 0x3c
2299 #define PCICFG_INT_PIN 0x3d
2300 #define PCICFG_PM_CAPABILITY 0x48
2301 #define PCICFG_PM_CAPABILITY_VERSION (0x3<<16)
2302 #define PCICFG_PM_CAPABILITY_CLOCK (1<<19)
2303 #define PCICFG_PM_CAPABILITY_RESERVED (1<<20)
2304 #define PCICFG_PM_CAPABILITY_DSI (1<<21)
2305 #define PCICFG_PM_CAPABILITY_AUX_CURRENT (0x7<<22)
2306 #define PCICFG_PM_CAPABILITY_D1_SUPPORT (1<<25)
2307 #define PCICFG_PM_CAPABILITY_D2_SUPPORT (1<<26)
2308 #define PCICFG_PM_CAPABILITY_PME_IN_D0 (1<<27)
2309 #define PCICFG_PM_CAPABILITY_PME_IN_D1 (1<<28)
2310 #define PCICFG_PM_CAPABILITY_PME_IN_D2 (1<<29)
2311 #define PCICFG_PM_CAPABILITY_PME_IN_D3_HOT (1<<30)
2312 #define PCICFG_PM_CAPABILITY_PME_IN_D3_COLD (1<<31)
2313 #define PCICFG_PM_CSR_OFFSET 0x4c
2314 #define PCICFG_PM_CSR_STATE (0x3<<0)
2315 #define PCICFG_PM_CSR_PME_ENABLE (1<<8)
2316 #define PCICFG_PM_CSR_PME_STATUS (1<<15)
2317 #define PCICFG_VPD_FLAG_ADDR_OFFSET 0x50
2318 #define PCICFG_VPD_DATA_OFFSET 0x54
2319 #define PCICFG_MSI_CAP_ID_OFFSET 0x58
2320 #define PCICFG_MSI_CONTROL_ENABLE (0x1<<16)
2321 #define PCICFG_MSI_CONTROL_MCAP (0x7<<17)
2322 #define PCICFG_MSI_CONTROL_MENA (0x7<<20)
2323 #define PCICFG_MSI_CONTROL_64_BIT_ADDR_CAP (0x1<<23)
2324 #define PCICFG_MSI_CONTROL_MSI_PVMASK_CAPABLE (0x1<<24)
2325 #define PCICFG_MSI_ADDR_LOW_OFFSET 0x5c
2326 #define PCICFG_MSI_ADDR_HIGH_OFFSET 0x60
2327 #define PCICFG_MSI_DATA_OFFSET 0x64
2328 #define PCICFG_GRC_ADDRESS 0x78
2329 #define PCICFG_GRC_DATA 0x80
2330 #define PCICFG_ME_REGISTER 0x98
2331 #define PCICFG_MSIX_CAP_ID_OFFSET 0xa0
2332 #define PCICFG_MSIX_CONTROL_TABLE_SIZE (0x7ff<<16)
2333 #define PCICFG_MSIX_CONTROL_RESERVED (0x7<<27)
2334 #define PCICFG_MSIX_CONTROL_FUNC_MASK (0x1<<30)
2335 #define PCICFG_MSIX_CONTROL_MSIX_ENABLE (0x1<<31)
2337 #define PCICFG_DEVICE_CONTROL 0xb4
2338 #define PCICFG_DEVICE_CONTROL_NP_TRANSACTION_PEND (1<<21)
2339 #define PCICFG_DEVICE_STATUS 0xb6
2340 #define PCICFG_DEVICE_STATUS_CORR_ERR_DET (1<<0)
2341 #define PCICFG_DEVICE_STATUS_NON_FATAL_ERR_DET (1<<1)
2342 #define PCICFG_DEVICE_STATUS_FATAL_ERR_DET (1<<2)
2343 #define PCICFG_DEVICE_STATUS_UNSUP_REQ_DET (1<<3)
2344 #define PCICFG_DEVICE_STATUS_AUX_PWR_DET (1<<4)
2345 #define PCICFG_DEVICE_STATUS_NO_PEND (1<<5)
2346 #define PCICFG_LINK_CONTROL 0xbc
2349 /* config_2 offset */
2350 #define GRC_CONFIG_2_SIZE_REG 0x408
2351 #define PCI_CONFIG_2_BAR1_SIZE (0xfL<<0)
2352 #define PCI_CONFIG_2_BAR1_SIZE_DISABLED (0L<<0)
2353 #define PCI_CONFIG_2_BAR1_SIZE_64K (1L<<0)
2354 #define PCI_CONFIG_2_BAR1_SIZE_128K (2L<<0)
2355 #define PCI_CONFIG_2_BAR1_SIZE_256K (3L<<0)
2356 #define PCI_CONFIG_2_BAR1_SIZE_512K (4L<<0)
2357 #define PCI_CONFIG_2_BAR1_SIZE_1M (5L<<0)
2358 #define PCI_CONFIG_2_BAR1_SIZE_2M (6L<<0)
2359 #define PCI_CONFIG_2_BAR1_SIZE_4M (7L<<0)
2360 #define PCI_CONFIG_2_BAR1_SIZE_8M (8L<<0)
2361 #define PCI_CONFIG_2_BAR1_SIZE_16M (9L<<0)
2362 #define PCI_CONFIG_2_BAR1_SIZE_32M (10L<<0)
2363 #define PCI_CONFIG_2_BAR1_SIZE_64M (11L<<0)
2364 #define PCI_CONFIG_2_BAR1_SIZE_128M (12L<<0)
2365 #define PCI_CONFIG_2_BAR1_SIZE_256M (13L<<0)
2366 #define PCI_CONFIG_2_BAR1_SIZE_512M (14L<<0)
2367 #define PCI_CONFIG_2_BAR1_SIZE_1G (15L<<0)
2368 #define PCI_CONFIG_2_BAR1_64ENA (1L<<4)
2369 #define PCI_CONFIG_2_EXP_ROM_RETRY (1L<<5)
2370 #define PCI_CONFIG_2_CFG_CYCLE_RETRY (1L<<6)
2371 #define PCI_CONFIG_2_FIRST_CFG_DONE (1L<<7)
2372 #define PCI_CONFIG_2_EXP_ROM_SIZE (0xffL<<8)
2373 #define PCI_CONFIG_2_EXP_ROM_SIZE_DISABLED (0L<<8)
2374 #define PCI_CONFIG_2_EXP_ROM_SIZE_2K (1L<<8)
2375 #define PCI_CONFIG_2_EXP_ROM_SIZE_4K (2L<<8)
2376 #define PCI_CONFIG_2_EXP_ROM_SIZE_8K (3L<<8)
2377 #define PCI_CONFIG_2_EXP_ROM_SIZE_16K (4L<<8)
2378 #define PCI_CONFIG_2_EXP_ROM_SIZE_32K (5L<<8)
2379 #define PCI_CONFIG_2_EXP_ROM_SIZE_64K (6L<<8)
2380 #define PCI_CONFIG_2_EXP_ROM_SIZE_128K (7L<<8)
2381 #define PCI_CONFIG_2_EXP_ROM_SIZE_256K (8L<<8)
2382 #define PCI_CONFIG_2_EXP_ROM_SIZE_512K (9L<<8)
2383 #define PCI_CONFIG_2_EXP_ROM_SIZE_1M (10L<<8)
2384 #define PCI_CONFIG_2_EXP_ROM_SIZE_2M (11L<<8)
2385 #define PCI_CONFIG_2_EXP_ROM_SIZE_4M (12L<<8)
2386 #define PCI_CONFIG_2_EXP_ROM_SIZE_8M (13L<<8)
2387 #define PCI_CONFIG_2_EXP_ROM_SIZE_16M (14L<<8)
2388 #define PCI_CONFIG_2_EXP_ROM_SIZE_32M (15L<<8)
2389 #define PCI_CONFIG_2_BAR_PREFETCH (1L<<16)
2390 #define PCI_CONFIG_2_RESERVED0 (0x7fffL<<17)
2392 /* config_3 offset */
2393 #define GRC_CONFIG_3_SIZE_REG 0x40c
2394 #define PCI_CONFIG_3_STICKY_BYTE (0xffL<<0)
2395 #define PCI_CONFIG_3_FORCE_PME (1L<<24)
2396 #define PCI_CONFIG_3_PME_STATUS (1L<<25)
2397 #define PCI_CONFIG_3_PME_ENABLE (1L<<26)
2398 #define PCI_CONFIG_3_PM_STATE (0x3L<<27)
2399 #define PCI_CONFIG_3_VAUX_PRESET (1L<<30)
2400 #define PCI_CONFIG_3_PCI_POWER (1L<<31)
2402 #define GRC_REG_DEVICE_CONTROL 0x4d8
2403 #define PCIE_SRIOV_DISABLE_IN_PROGRESS \
2404 (1 << 29) /*When VF Enable is cleared(after it was previously set),
2405 this register will read a value of 1, indicating that all the
2406 VFs that belong to this PF should be flushed.
2407 Software should clear this bit within 1 second of VF Enable
2408 being set by writing a 1 to it, so that VFs are visible to the system again.
2410 #define PCIE_FLR_IN_PROGRESS \
2411 (1 << 27) /*When FLR is initiated, this register will read a \
2412 value of 1 indicating that the
2413 Function is in FLR state. Func can be brought out of FLR state either by
2414 writing 1 to this register (at least 50 ms after FLR was initiated),
2415 or it can also be cleared automatically after 55 ms if auto_clear bit
2416 in private reg space is set. This bit also exists in VF register space
2419 #define GRC_BAR2_CONFIG 0x4e0
2420 #define PCI_CONFIG_2_BAR2_SIZE (0xfL<<0)
2421 #define PCI_CONFIG_2_BAR2_SIZE_DISABLED (0L<<0)
2422 #define PCI_CONFIG_2_BAR2_SIZE_64K (1L<<0)
2423 #define PCI_CONFIG_2_BAR2_SIZE_128K (2L<<0)
2424 #define PCI_CONFIG_2_BAR2_SIZE_256K (3L<<0)
2425 #define PCI_CONFIG_2_BAR2_SIZE_512K (4L<<0)
2426 #define PCI_CONFIG_2_BAR2_SIZE_1M (5L<<0)
2427 #define PCI_CONFIG_2_BAR2_SIZE_2M (6L<<0)
2428 #define PCI_CONFIG_2_BAR2_SIZE_4M (7L<<0)
2429 #define PCI_CONFIG_2_BAR2_SIZE_8M (8L<<0)
2430 #define PCI_CONFIG_2_BAR2_SIZE_16M (9L<<0)
2431 #define PCI_CONFIG_2_BAR2_SIZE_32M (10L<<0)
2432 #define PCI_CONFIG_2_BAR2_SIZE_64M (11L<<0)
2433 #define PCI_CONFIG_2_BAR2_SIZE_128M (12L<<0)
2434 #define PCI_CONFIG_2_BAR2_SIZE_256M (13L<<0)
2435 #define PCI_CONFIG_2_BAR2_SIZE_512M (14L<<0)
2436 #define PCI_CONFIG_2_BAR2_SIZE_1G (15L<<0)
2437 #define PCI_CONFIG_2_BAR2_64ENA (1L<<4)
2439 #define GRC_BAR3_CONFIG 0x4f4
2440 #define PCI_CONFIG_2_BAR3_SIZE (0xfL<<0)
2441 #define PCI_CONFIG_2_BAR3_SIZE_DISABLED (0L<<0)
2442 #define PCI_CONFIG_2_BAR3_SIZE_64K (1L<<0)
2443 #define PCI_CONFIG_2_BAR3_SIZE_128K (2L<<0)
2444 #define PCI_CONFIG_2_BAR3_SIZE_256K (3L<<0)
2445 #define PCI_CONFIG_2_BAR3_SIZE_512K (4L<<0)
2446 #define PCI_CONFIG_2_BAR3_SIZE_1M (5L<<0)
2447 #define PCI_CONFIG_2_BAR3_SIZE_2M (6L<<0)
2448 #define PCI_CONFIG_2_BAR3_SIZE_4M (7L<<0)
2449 #define PCI_CONFIG_2_BAR3_SIZE_8M (8L<<0)
2450 #define PCI_CONFIG_2_BAR3_SIZE_16M (9L<<0)
2451 #define PCI_CONFIG_2_BAR3_SIZE_32M (10L<<0)
2452 #define PCI_CONFIG_2_BAR3_SIZE_64M (11L<<0)
2453 #define PCI_CONFIG_2_BAR3_SIZE_128M (12L<<0)
2454 #define PCI_CONFIG_2_BAR3_SIZE_256M (13L<<0)
2455 #define PCI_CONFIG_2_BAR3_SIZE_512M (14L<<0)
2456 #define PCI_CONFIG_2_BAR3_SIZE_1G (15L<<0)
2457 #define PCI_CONFIG_2_BAR3_64ENA (1L<<4)
2459 #define PCI_PM_DATA_A 0x410
2460 #define PCI_PM_DATA_B 0x414
2461 #define PCI_ID_VAL1 0x434
2462 #define PCI_ID_VAL2 0x438
2463 #define PCI_ID_VAL3 0x43c
2464 #define PCI_ID_VAL3_REVISION_ID_ERROR (0xffL<<24)
2467 #define GRC_CONFIG_REG_VF_BAR_REG_1 0x608
2468 #define GRC_CONFIG_REG_VF_BAR_REG_BAR0_SIZE 0xf
2470 #define GRC_CONFIG_REG_VF_MSIX_CONTROL 0x61C
2471 #define GRC_CR_VF_MSIX_CTRL_VF_MSIX_TBL_SIZE_MASK \
2472 0x3F /*This field resides in VF only and does not exist in PF.
2473 This register controls the read value of the MSIX_CONTROL[10:0] register
2474 in the VF configuration space. A value of "00000000011" indicates
2475 a table size of 4. The value is controlled by IOV_MSIX_TBL_SIZ
2476 define in version.v */
2478 #define GRC_CONFIG_REG_PF_INIT_VF 0x624
2479 #define GRC_CR_PF_INIT_VF_PF_FIRST_VF_NUM_MASK \
2480 0xf /*First VF_NUM for PF is encoded in this register.
2481 The number of VFs assigned to a PF is assumed to be a multiple of 8.
2482 Software should program these bits based on Total Number of VFs \
2483 programmed for each PF.
2484 Since registers from 0x000-0x7ff are spilt across functions, each PF will have
2485 the same location for the same 4 bits*/
2487 #define PXPCS_TL_CONTROL_5 0x814
2488 #define PXPCS_TL_CONTROL_5_UNKNOWNTYPE_ERR_ATTN (1 << 29) /*WC*/
2489 #define PXPCS_TL_CONTROL_5_BOUNDARY4K_ERR_ATTN (1 << 28) /*WC*/
2490 #define PXPCS_TL_CONTROL_5_MRRS_ERR_ATTN (1 << 27) /*WC*/
2491 #define PXPCS_TL_CONTROL_5_MPS_ERR_ATTN (1 << 26) /*WC*/
2492 #define PXPCS_TL_CONTROL_5_TTX_BRIDGE_FORWARD_ERR (1 << 25) /*WC*/
2493 #define PXPCS_TL_CONTROL_5_TTX_TXINTF_OVERFLOW (1 << 24) /*WC*/
2494 #define PXPCS_TL_CONTROL_5_PHY_ERR_ATTN (1 << 23) /*RO*/
2495 #define PXPCS_TL_CONTROL_5_DL_ERR_ATTN (1 << 22) /*RO*/
2496 #define PXPCS_TL_CONTROL_5_TTX_ERR_NP_TAG_IN_USE (1 << 21) /*WC*/
2497 #define PXPCS_TL_CONTROL_5_TRX_ERR_UNEXP_RTAG (1 << 20) /*WC*/
2498 #define PXPCS_TL_CONTROL_5_PRI_SIG_TARGET_ABORT1 (1 << 19) /*WC*/
2499 #define PXPCS_TL_CONTROL_5_ERR_UNSPPORT1 (1 << 18) /*WC*/
2500 #define PXPCS_TL_CONTROL_5_ERR_ECRC1 (1 << 17) /*WC*/
2501 #define PXPCS_TL_CONTROL_5_ERR_MALF_TLP1 (1 << 16) /*WC*/
2502 #define PXPCS_TL_CONTROL_5_ERR_RX_OFLOW1 (1 << 15) /*WC*/
2503 #define PXPCS_TL_CONTROL_5_ERR_UNEXP_CPL1 (1 << 14) /*WC*/
2504 #define PXPCS_TL_CONTROL_5_ERR_MASTER_ABRT1 (1 << 13) /*WC*/
2505 #define PXPCS_TL_CONTROL_5_ERR_CPL_TIMEOUT1 (1 << 12) /*WC*/
2506 #define PXPCS_TL_CONTROL_5_ERR_FC_PRTL1 (1 << 11) /*WC*/
2507 #define PXPCS_TL_CONTROL_5_ERR_PSND_TLP1 (1 << 10) /*WC*/
2508 #define PXPCS_TL_CONTROL_5_PRI_SIG_TARGET_ABORT (1 << 9) /*WC*/
2509 #define PXPCS_TL_CONTROL_5_ERR_UNSPPORT (1 << 8) /*WC*/
2510 #define PXPCS_TL_CONTROL_5_ERR_ECRC (1 << 7) /*WC*/
2511 #define PXPCS_TL_CONTROL_5_ERR_MALF_TLP (1 << 6) /*WC*/
2512 #define PXPCS_TL_CONTROL_5_ERR_RX_OFLOW (1 << 5) /*WC*/
2513 #define PXPCS_TL_CONTROL_5_ERR_UNEXP_CPL (1 << 4) /*WC*/
2514 #define PXPCS_TL_CONTROL_5_ERR_MASTER_ABRT (1 << 3) /*WC*/
2515 #define PXPCS_TL_CONTROL_5_ERR_CPL_TIMEOUT (1 << 2) /*WC*/
2516 #define PXPCS_TL_CONTROL_5_ERR_FC_PRTL (1 << 1) /*WC*/
2517 #define PXPCS_TL_CONTROL_5_ERR_PSND_TLP (1 << 0) /*WC*/
2520 #define PXPCS_TL_FUNC345_STAT 0x854
2521 #define PXPCS_TL_FUNC345_STAT_PRI_SIG_TARGET_ABORT4 (1 << 29) /* WC */
2522 #define PXPCS_TL_FUNC345_STAT_ERR_UNSPPORT4 \
2523 (1 << 28) /* Unsupported Request Error Status in function4, if \
2524 set, generate pcie_err_attn output when this error is seen. WC */
2525 #define PXPCS_TL_FUNC345_STAT_ERR_ECRC4 \
2526 (1 << 27) /* ECRC Error TLP Status Status in function 4, if set, \
2527 generate pcie_err_attn output when this error is seen.. WC */
2528 #define PXPCS_TL_FUNC345_STAT_ERR_MALF_TLP4 \
2529 (1 << 26) /* Malformed TLP Status Status in function 4, if set, \
2530 generate pcie_err_attn output when this error is seen.. WC */
2531 #define PXPCS_TL_FUNC345_STAT_ERR_RX_OFLOW4 \
2532 (1 << 25) /* Receiver Overflow Status Status in function 4, if \
2533 set, generate pcie_err_attn output when this error is seen.. WC \
2535 #define PXPCS_TL_FUNC345_STAT_ERR_UNEXP_CPL4 \
2536 (1 << 24) /* Unexpected Completion Status Status in function 4, \
2537 if set, generate pcie_err_attn output when this error is seen. WC \
2539 #define PXPCS_TL_FUNC345_STAT_ERR_MASTER_ABRT4 \
2540 (1 << 23) /* Receive UR Statusin function 4. If set, generate \
2541 pcie_err_attn output when this error is seen. WC */
2542 #define PXPCS_TL_FUNC345_STAT_ERR_CPL_TIMEOUT4 \
2543 (1 << 22) /* Completer Timeout Status Status in function 4, if \
2544 set, generate pcie_err_attn output when this error is seen. WC */
2545 #define PXPCS_TL_FUNC345_STAT_ERR_FC_PRTL4 \
2546 (1 << 21) /* Flow Control Protocol Error Status Status in \
2547 function 4, if set, generate pcie_err_attn output when this error \
2549 #define PXPCS_TL_FUNC345_STAT_ERR_PSND_TLP4 \
2550 (1 << 20) /* Poisoned Error Status Status in function 4, if set, \
2551 generate pcie_err_attn output when this error is seen.. WC */
2552 #define PXPCS_TL_FUNC345_STAT_PRI_SIG_TARGET_ABORT3 (1 << 19) /* WC */
2553 #define PXPCS_TL_FUNC345_STAT_ERR_UNSPPORT3 \
2554 (1 << 18) /* Unsupported Request Error Status in function3, if \
2555 set, generate pcie_err_attn output when this error is seen. WC */
2556 #define PXPCS_TL_FUNC345_STAT_ERR_ECRC3 \
2557 (1 << 17) /* ECRC Error TLP Status Status in function 3, if set, \
2558 generate pcie_err_attn output when this error is seen.. WC */
2559 #define PXPCS_TL_FUNC345_STAT_ERR_MALF_TLP3 \
2560 (1 << 16) /* Malformed TLP Status Status in function 3, if set, \
2561 generate pcie_err_attn output when this error is seen.. WC */
2562 #define PXPCS_TL_FUNC345_STAT_ERR_RX_OFLOW3 \
2563 (1 << 15) /* Receiver Overflow Status Status in function 3, if \
2564 set, generate pcie_err_attn output when this error is seen.. WC \
2566 #define PXPCS_TL_FUNC345_STAT_ERR_UNEXP_CPL3 \
2567 (1 << 14) /* Unexpected Completion Status Status in function 3, \
2568 if set, generate pcie_err_attn output when this error is seen. WC \
2570 #define PXPCS_TL_FUNC345_STAT_ERR_MASTER_ABRT3 \
2571 (1 << 13) /* Receive UR Statusin function 3. If set, generate \
2572 pcie_err_attn output when this error is seen. WC */
2573 #define PXPCS_TL_FUNC345_STAT_ERR_CPL_TIMEOUT3 \
2574 (1 << 12) /* Completer Timeout Status Status in function 3, if \
2575 set, generate pcie_err_attn output when this error is seen. WC */
2576 #define PXPCS_TL_FUNC345_STAT_ERR_FC_PRTL3 \
2577 (1 << 11) /* Flow Control Protocol Error Status Status in \
2578 function 3, if set, generate pcie_err_attn output when this error \
2580 #define PXPCS_TL_FUNC345_STAT_ERR_PSND_TLP3 \
2581 (1 << 10) /* Poisoned Error Status Status in function 3, if set, \
2582 generate pcie_err_attn output when this error is seen.. WC */
2583 #define PXPCS_TL_FUNC345_STAT_PRI_SIG_TARGET_ABORT2 (1 << 9) /* WC */
2584 #define PXPCS_TL_FUNC345_STAT_ERR_UNSPPORT2 \
2585 (1 << 8) /* Unsupported Request Error Status for Function 2, if \
2586 set, generate pcie_err_attn output when this error is seen. WC */
2587 #define PXPCS_TL_FUNC345_STAT_ERR_ECRC2 \
2588 (1 << 7) /* ECRC Error TLP Status Status for Function 2, if set, \
2589 generate pcie_err_attn output when this error is seen.. WC */
2590 #define PXPCS_TL_FUNC345_STAT_ERR_MALF_TLP2 \
2591 (1 << 6) /* Malformed TLP Status Status for Function 2, if set, \
2592 generate pcie_err_attn output when this error is seen.. WC */
2593 #define PXPCS_TL_FUNC345_STAT_ERR_RX_OFLOW2 \
2594 (1 << 5) /* Receiver Overflow Status Status for Function 2, if \
2595 set, generate pcie_err_attn output when this error is seen.. WC \
2597 #define PXPCS_TL_FUNC345_STAT_ERR_UNEXP_CPL2 \
2598 (1 << 4) /* Unexpected Completion Status Status for Function 2, \
2599 if set, generate pcie_err_attn output when this error is seen. WC \
2601 #define PXPCS_TL_FUNC345_STAT_ERR_MASTER_ABRT2 \
2602 (1 << 3) /* Receive UR Statusfor Function 2. If set, generate \
2603 pcie_err_attn output when this error is seen. WC */
2604 #define PXPCS_TL_FUNC345_STAT_ERR_CPL_TIMEOUT2 \
2605 (1 << 2) /* Completer Timeout Status Status for Function 2, if \
2606 set, generate pcie_err_attn output when this error is seen. WC */
2607 #define PXPCS_TL_FUNC345_STAT_ERR_FC_PRTL2 \
2608 (1 << 1) /* Flow Control Protocol Error Status Status for \
2609 Function 2, if set, generate pcie_err_attn output when this error \
2611 #define PXPCS_TL_FUNC345_STAT_ERR_PSND_TLP2 \
2612 (1 << 0) /* Poisoned Error Status Status for Function 2, if set, \
2613 generate pcie_err_attn output when this error is seen.. WC */
2616 #define PXPCS_TL_FUNC678_STAT 0x85C
2617 #define PXPCS_TL_FUNC678_STAT_PRI_SIG_TARGET_ABORT7 (1 << 29) /* WC */
2618 #define PXPCS_TL_FUNC678_STAT_ERR_UNSPPORT7 \
2619 (1 << 28) /* Unsupported Request Error Status in function7, if \
2620 set, generate pcie_err_attn output when this error is seen. WC */
2621 #define PXPCS_TL_FUNC678_STAT_ERR_ECRC7 \
2622 (1 << 27) /* ECRC Error TLP Status Status in function 7, if set, \
2623 generate pcie_err_attn output when this error is seen.. WC */
2624 #define PXPCS_TL_FUNC678_STAT_ERR_MALF_TLP7 \
2625 (1 << 26) /* Malformed TLP Status Status in function 7, if set, \
2626 generate pcie_err_attn output when this error is seen.. WC */
2627 #define PXPCS_TL_FUNC678_STAT_ERR_RX_OFLOW7 \
2628 (1 << 25) /* Receiver Overflow Status Status in function 7, if \
2629 set, generate pcie_err_attn output when this error is seen.. WC \
2631 #define PXPCS_TL_FUNC678_STAT_ERR_UNEXP_CPL7 \
2632 (1 << 24) /* Unexpected Completion Status Status in function 7, \
2633 if set, generate pcie_err_attn output when this error is seen. WC \
2635 #define PXPCS_TL_FUNC678_STAT_ERR_MASTER_ABRT7 \
2636 (1 << 23) /* Receive UR Statusin function 7. If set, generate \
2637 pcie_err_attn output when this error is seen. WC */
2638 #define PXPCS_TL_FUNC678_STAT_ERR_CPL_TIMEOUT7 \
2639 (1 << 22) /* Completer Timeout Status Status in function 7, if \
2640 set, generate pcie_err_attn output when this error is seen. WC */
2641 #define PXPCS_TL_FUNC678_STAT_ERR_FC_PRTL7 \
2642 (1 << 21) /* Flow Control Protocol Error Status Status in \
2643 function 7, if set, generate pcie_err_attn output when this error \
2645 #define PXPCS_TL_FUNC678_STAT_ERR_PSND_TLP7 \
2646 (1 << 20) /* Poisoned Error Status Status in function 7, if set, \
2647 generate pcie_err_attn output when this error is seen.. WC */
2648 #define PXPCS_TL_FUNC678_STAT_PRI_SIG_TARGET_ABORT6 (1 << 19) /* WC */
2649 #define PXPCS_TL_FUNC678_STAT_ERR_UNSPPORT6 \
2650 (1 << 18) /* Unsupported Request Error Status in function6, if \
2651 set, generate pcie_err_attn output when this error is seen. WC */
2652 #define PXPCS_TL_FUNC678_STAT_ERR_ECRC6 \
2653 (1 << 17) /* ECRC Error TLP Status Status in function 6, if set, \
2654 generate pcie_err_attn output when this error is seen.. WC */
2655 #define PXPCS_TL_FUNC678_STAT_ERR_MALF_TLP6 \
2656 (1 << 16) /* Malformed TLP Status Status in function 6, if set, \
2657 generate pcie_err_attn output when this error is seen.. WC */
2658 #define PXPCS_TL_FUNC678_STAT_ERR_RX_OFLOW6 \
2659 (1 << 15) /* Receiver Overflow Status Status in function 6, if \
2660 set, generate pcie_err_attn output when this error is seen.. WC \
2662 #define PXPCS_TL_FUNC678_STAT_ERR_UNEXP_CPL6 \
2663 (1 << 14) /* Unexpected Completion Status Status in function 6, \
2664 if set, generate pcie_err_attn output when this error is seen. WC \
2666 #define PXPCS_TL_FUNC678_STAT_ERR_MASTER_ABRT6 \
2667 (1 << 13) /* Receive UR Statusin function 6. If set, generate \
2668 pcie_err_attn output when this error is seen. WC */
2669 #define PXPCS_TL_FUNC678_STAT_ERR_CPL_TIMEOUT6 \
2670 (1 << 12) /* Completer Timeout Status Status in function 6, if \
2671 set, generate pcie_err_attn output when this error is seen. WC */
2672 #define PXPCS_TL_FUNC678_STAT_ERR_FC_PRTL6 \
2673 (1 << 11) /* Flow Control Protocol Error Status Status in \
2674 function 6, if set, generate pcie_err_attn output when this error \
2676 #define PXPCS_TL_FUNC678_STAT_ERR_PSND_TLP6 \
2677 (1 << 10) /* Poisoned Error Status Status in function 6, if set, \
2678 generate pcie_err_attn output when this error is seen.. WC */
2679 #define PXPCS_TL_FUNC678_STAT_PRI_SIG_TARGET_ABORT5 (1 << 9) /* WC */
2680 #define PXPCS_TL_FUNC678_STAT_ERR_UNSPPORT5 \
2681 (1 << 8) /* Unsupported Request Error Status for Function 5, if \
2682 set, generate pcie_err_attn output when this error is seen. WC */
2683 #define PXPCS_TL_FUNC678_STAT_ERR_ECRC5 \
2684 (1 << 7) /* ECRC Error TLP Status Status for Function 5, if set, \
2685 generate pcie_err_attn output when this error is seen.. WC */
2686 #define PXPCS_TL_FUNC678_STAT_ERR_MALF_TLP5 \
2687 (1 << 6) /* Malformed TLP Status Status for Function 5, if set, \
2688 generate pcie_err_attn output when this error is seen.. WC */
2689 #define PXPCS_TL_FUNC678_STAT_ERR_RX_OFLOW5 \
2690 (1 << 5) /* Receiver Overflow Status Status for Function 5, if \
2691 set, generate pcie_err_attn output when this error is seen.. WC \
2693 #define PXPCS_TL_FUNC678_STAT_ERR_UNEXP_CPL5 \
2694 (1 << 4) /* Unexpected Completion Status Status for Function 5, \
2695 if set, generate pcie_err_attn output when this error is seen. WC \
2697 #define PXPCS_TL_FUNC678_STAT_ERR_MASTER_ABRT5 \
2698 (1 << 3) /* Receive UR Statusfor Function 5. If set, generate \
2699 pcie_err_attn output when this error is seen. WC */
2700 #define PXPCS_TL_FUNC678_STAT_ERR_CPL_TIMEOUT5 \
2701 (1 << 2) /* Completer Timeout Status Status for Function 5, if \
2702 set, generate pcie_err_attn output when this error is seen. WC */
2703 #define PXPCS_TL_FUNC678_STAT_ERR_FC_PRTL5 \
2704 (1 << 1) /* Flow Control Protocol Error Status Status for \
2705 Function 5, if set, generate pcie_err_attn output when this error \
2707 #define PXPCS_TL_FUNC678_STAT_ERR_PSND_TLP5 \
2708 (1 << 0) /* Poisoned Error Status Status for Function 5, if set, \
2709 generate pcie_err_attn output when this error is seen.. WC */
2712 #define BAR_USTRORM_INTMEM 0x400000
2713 #define BAR_CSTRORM_INTMEM 0x410000
2714 #define BAR_XSTRORM_INTMEM 0x420000
2715 #define BAR_TSTRORM_INTMEM 0x430000
2717 /* for accessing the IGU in case of status block ACK */
2718 #define BAR_IGU_INTMEM 0x440000
2720 #define BAR_DOORBELL_OFFSET 0x800000
2722 #define BAR_ME_REGISTER 0x450000
2723 #define ME_REG_PF_NUM_SHIFT 0
2724 #define ME_REG_PF_NUM \
2725 (7L<<ME_REG_PF_NUM_SHIFT) /* Relative PF Num */
2726 #define ME_REG_VF_VALID (1<<8)
2727 #define ME_REG_VF_NUM_SHIFT 9
2728 #define ME_REG_VF_NUM_MASK (0x3f<<ME_REG_VF_NUM_SHIFT)
2729 #define VF_ID(x) ((x & ME_REG_VF_NUM_MASK) >> ME_REG_VF_NUM_SHIFT)
2730 #define ME_REG_VF_ERR (0x1<<3)
2731 #define ME_REG_ABS_PF_NUM_SHIFT 16
2732 #define ME_REG_ABS_PF_NUM \
2733 (7L<<ME_REG_ABS_PF_NUM_SHIFT) /* Absolute PF Num */
2736 #define PXP_VF_ADRR_NUM_QUEUES 136
2737 #define PXP_ADDR_QUEUE_SIZE 32
2738 #define PXP_ADDR_REG_SIZE 512
2741 #define PXP_VF_ADDR_IGU_START 0
2742 #define PXP_VF_ADDR_IGU_SIZE (0x3000)
2743 #define PXP_VF_ADDR_IGU_END \
2744 ((PXP_VF_ADDR_IGU_START) + (PXP_VF_ADDR_IGU_SIZE) - 1)
2746 #define PXP_VF_ADDR_USDM_QUEUES_START 0x3000
2747 #define PXP_VF_ADDR_USDM_QUEUES_SIZE \
2748 (PXP_VF_ADRR_NUM_QUEUES * PXP_ADDR_QUEUE_SIZE)
2749 #define PXP_VF_ADDR_USDM_QUEUES_END \
2750 ((PXP_VF_ADDR_USDM_QUEUES_START) + (PXP_VF_ADDR_USDM_QUEUES_SIZE) - 1)
2752 #define PXP_VF_ADDR_CSDM_QUEUES_START 0x4100
2753 #define PXP_VF_ADDR_CSDM_QUEUES_SIZE \
2754 (PXP_VF_ADRR_NUM_QUEUES * PXP_ADDR_QUEUE_SIZE)
2755 #define PXP_VF_ADDR_CSDM_QUEUES_END \
2756 ((PXP_VF_ADDR_CSDM_QUEUES_START) + (PXP_VF_ADDR_CSDM_QUEUES_SIZE) - 1)
2758 #define PXP_VF_ADDR_XSDM_QUEUES_START 0x5200
2759 #define PXP_VF_ADDR_XSDM_QUEUES_SIZE \
2760 (PXP_VF_ADRR_NUM_QUEUES * PXP_ADDR_QUEUE_SIZE)
2761 #define PXP_VF_ADDR_XSDM_QUEUES_END \
2762 ((PXP_VF_ADDR_XSDM_QUEUES_START) + (PXP_VF_ADDR_XSDM_QUEUES_SIZE) - 1)
2764 #define PXP_VF_ADDR_TSDM_QUEUES_START 0x6300
2765 #define PXP_VF_ADDR_TSDM_QUEUES_SIZE \
2766 (PXP_VF_ADRR_NUM_QUEUES * PXP_ADDR_QUEUE_SIZE)
2767 #define PXP_VF_ADDR_TSDM_QUEUES_END \
2768 ((PXP_VF_ADDR_TSDM_QUEUES_START) + (PXP_VF_ADDR_TSDM_QUEUES_SIZE) - 1)
2770 #define PXP_VF_ADDR_USDM_GLOBAL_START 0x7400
2771 #define PXP_VF_ADDR_USDM_GLOBAL_SIZE (PXP_ADDR_REG_SIZE)
2772 #define PXP_VF_ADDR_USDM_GLOBAL_END \
2773 ((PXP_VF_ADDR_USDM_GLOBAL_START) + (PXP_VF_ADDR_USDM_GLOBAL_SIZE) - 1)
2775 #define PXP_VF_ADDR_CSDM_GLOBAL_START 0x7600
2776 #define PXP_VF_ADDR_CSDM_GLOBAL_SIZE (PXP_ADDR_REG_SIZE)
2777 #define PXP_VF_ADDR_CSDM_GLOBAL_END \
2778 ((PXP_VF_ADDR_CSDM_GLOBAL_START) + (PXP_VF_ADDR_CSDM_GLOBAL_SIZE) - 1)
2780 #define PXP_VF_ADDR_XSDM_GLOBAL_START 0x7800
2781 #define PXP_VF_ADDR_XSDM_GLOBAL_SIZE (PXP_ADDR_REG_SIZE)
2782 #define PXP_VF_ADDR_XSDM_GLOBAL_END \
2783 ((PXP_VF_ADDR_XSDM_GLOBAL_START) + (PXP_VF_ADDR_XSDM_GLOBAL_SIZE) - 1)
2785 #define PXP_VF_ADDR_TSDM_GLOBAL_START 0x7a00
2786 #define PXP_VF_ADDR_TSDM_GLOBAL_SIZE (PXP_ADDR_REG_SIZE)
2787 #define PXP_VF_ADDR_TSDM_GLOBAL_END \
2788 ((PXP_VF_ADDR_TSDM_GLOBAL_START) + (PXP_VF_ADDR_TSDM_GLOBAL_SIZE) - 1)
2790 #define PXP_VF_ADDR_DB_START 0x7c00
2791 #define PXP_VF_ADDR_DB_SIZE (0x200)
2792 #define PXP_VF_ADDR_DB_END \
2793 ((PXP_VF_ADDR_DB_START) + (PXP_VF_ADDR_DB_SIZE) - 1)
2795 #define PXP_VF_ADDR_GRC_START 0x7e00
2796 #define PXP_VF_ADDR_GRC_SIZE (0x200)
2797 #define PXP_VF_ADDR_GRC_END \
2798 ((PXP_VF_ADDR_GRC_START) + (PXP_VF_ADDR_GRC_SIZE) - 1)
2800 #define PXP_VF_ADDR_DORQ_START (0x0)
2801 #define PXP_VF_ADDR_DORQ_SIZE (0xffffffff)
2802 #define PXP_VF_ADDR_DORQ_END (0xffffffff)
2804 #define PXP_BAR_GRC 0
2805 #define PXP_BAR_TSDM 0
2806 #define PXP_BAR_USDM 0
2807 #define PXP_BAR_XSDM 0
2808 #define PXP_BAR_CSDM 0
2809 #define PXP_BAR_IGU 0
2810 #define PXP_BAR_DQ 1
2812 #define PXP_VF_BAR_IGU 0
2813 #define PXP_VF_BAR_USDM_QUEUES 0
2814 #define PXP_VF_BAR_TSDM_QUEUES 0
2815 #define PXP_VF_BAR_XSDM_QUEUES 0
2816 #define PXP_VF_BAR_CSDM_QUEUES 0
2817 #define PXP_VF_BAR_USDM_GLOBAL 0
2818 #define PXP_VF_BAR_TSDM_GLOBAL 0
2819 #define PXP_VF_BAR_XSDM_GLOBAL 0
2820 #define PXP_VF_BAR_CSDM_GLOBAL 0
2821 #define PXP_VF_BAR_DB 0
2822 #define PXP_VF_BAR_GRC 0
2823 #define PXP_VF_BAR_DORQ 1
2825 /* PCI CAPABILITIES*/
2827 #define PCI_CAP_PCIE 0x10 /*PCIe capability ID*/
2829 #define PCIE_DEV_CAPS 0x04
2831 #define PCIE_DEV_CTRL 0x08
2832 #define PCIE_DEV_CTRL_FLR 0x8000;
2834 #define PCIE_DEV_STATUS 0x0A
2836 #define PCI_CAP_MSIX 0x11 /*MSI-X capability ID*/
2837 #define PCI_MSIX_CONTROL_SHIFT 16
2838 #define PCI_MSIX_TABLE_SIZE_MASK 0x07FF
2839 #define PCI_MSIX_TABLE_ENABLE_MASK 0x8000
2842 #define MDIO_REG_BANK_CL73_IEEEB0 0x0
2843 #define MDIO_CL73_IEEEB0_CL73_AN_CONTROL 0x0
2844 #define MDIO_CL73_IEEEB0_CL73_AN_CONTROL_RESTART_AN 0x0200
2845 #define MDIO_CL73_IEEEB0_CL73_AN_CONTROL_AN_EN 0x1000
2846 #define MDIO_CL73_IEEEB0_CL73_AN_CONTROL_MAIN_RST 0x8000
2848 #define MDIO_REG_BANK_CL73_IEEEB1 0x10
2849 #define MDIO_CL73_IEEEB1_AN_ADV1 0x00
2850 #define MDIO_CL73_IEEEB1_AN_ADV1_PAUSE 0x0400
2851 #define MDIO_CL73_IEEEB1_AN_ADV1_ASYMMETRIC 0x0800
2852 #define MDIO_CL73_IEEEB1_AN_ADV1_PAUSE_BOTH 0x0C00
2853 #define MDIO_CL73_IEEEB1_AN_ADV1_PAUSE_MASK 0x0C00
2854 #define MDIO_CL73_IEEEB1_AN_ADV2 0x01
2855 #define MDIO_CL73_IEEEB1_AN_ADV2_ADVR_1000M 0x0000
2856 #define MDIO_CL73_IEEEB1_AN_ADV2_ADVR_1000M_KX 0x0020
2857 #define MDIO_CL73_IEEEB1_AN_ADV2_ADVR_10G_KX4 0x0040
2858 #define MDIO_CL73_IEEEB1_AN_ADV2_ADVR_10G_KR 0x0080
2859 #define MDIO_CL73_IEEEB1_AN_LP_ADV1 0x03
2860 #define MDIO_CL73_IEEEB1_AN_LP_ADV1_PAUSE 0x0400
2861 #define MDIO_CL73_IEEEB1_AN_LP_ADV1_ASYMMETRIC 0x0800
2862 #define MDIO_CL73_IEEEB1_AN_LP_ADV1_PAUSE_BOTH 0x0C00
2863 #define MDIO_CL73_IEEEB1_AN_LP_ADV1_PAUSE_MASK 0x0C00
2864 #define MDIO_CL73_IEEEB1_AN_LP_ADV2 0x04
2866 #define MDIO_REG_BANK_RX0 0x80b0
2867 #define MDIO_RX0_RX_STATUS 0x10
2868 #define MDIO_RX0_RX_STATUS_SIGDET 0x8000
2869 #define MDIO_RX0_RX_STATUS_RX_SEQ_DONE 0x1000
2870 #define MDIO_RX0_RX_EQ_BOOST 0x1c
2871 #define MDIO_RX0_RX_EQ_BOOST_EQUALIZER_CTRL_MASK 0x7
2872 #define MDIO_RX0_RX_EQ_BOOST_OFFSET_CTRL 0x10
2874 #define MDIO_REG_BANK_RX1 0x80c0
2875 #define MDIO_RX1_RX_EQ_BOOST 0x1c
2876 #define MDIO_RX1_RX_EQ_BOOST_EQUALIZER_CTRL_MASK 0x7
2877 #define MDIO_RX1_RX_EQ_BOOST_OFFSET_CTRL 0x10
2879 #define MDIO_REG_BANK_RX2 0x80d0
2880 #define MDIO_RX2_RX_EQ_BOOST 0x1c
2881 #define MDIO_RX2_RX_EQ_BOOST_EQUALIZER_CTRL_MASK 0x7
2882 #define MDIO_RX2_RX_EQ_BOOST_OFFSET_CTRL 0x10
2884 #define MDIO_REG_BANK_RX3 0x80e0
2885 #define MDIO_RX3_RX_EQ_BOOST 0x1c
2886 #define MDIO_RX3_RX_EQ_BOOST_EQUALIZER_CTRL_MASK 0x7
2887 #define MDIO_RX3_RX_EQ_BOOST_OFFSET_CTRL 0x10
2889 #define MDIO_REG_BANK_RX_ALL 0x80f0
2890 #define MDIO_RX_ALL_RX_EQ_BOOST 0x1c
2891 #define MDIO_RX_ALL_RX_EQ_BOOST_EQUALIZER_CTRL_MASK 0x7
2892 #define MDIO_RX_ALL_RX_EQ_BOOST_OFFSET_CTRL 0x10
2894 #define MDIO_REG_BANK_TX0 0x8060
2895 #define MDIO_TX0_TX_DRIVER 0x17
2896 #define MDIO_TX0_TX_DRIVER_PREEMPHASIS_MASK 0xf000
2897 #define MDIO_TX0_TX_DRIVER_PREEMPHASIS_SHIFT 12
2898 #define MDIO_TX0_TX_DRIVER_IDRIVER_MASK 0x0f00
2899 #define MDIO_TX0_TX_DRIVER_IDRIVER_SHIFT 8
2900 #define MDIO_TX0_TX_DRIVER_IPREDRIVER_MASK 0x00f0
2901 #define MDIO_TX0_TX_DRIVER_IPREDRIVER_SHIFT 4
2902 #define MDIO_TX0_TX_DRIVER_IFULLSPD_MASK 0x000e
2903 #define MDIO_TX0_TX_DRIVER_IFULLSPD_SHIFT 1
2904 #define MDIO_TX0_TX_DRIVER_ICBUF1T 1
2906 #define MDIO_REG_BANK_TX1 0x8070
2907 #define MDIO_TX1_TX_DRIVER 0x17
2908 #define MDIO_TX0_TX_DRIVER_PREEMPHASIS_MASK 0xf000
2909 #define MDIO_TX0_TX_DRIVER_PREEMPHASIS_SHIFT 12
2910 #define MDIO_TX0_TX_DRIVER_IDRIVER_MASK 0x0f00
2911 #define MDIO_TX0_TX_DRIVER_IDRIVER_SHIFT 8
2912 #define MDIO_TX0_TX_DRIVER_IPREDRIVER_MASK 0x00f0
2913 #define MDIO_TX0_TX_DRIVER_IPREDRIVER_SHIFT 4
2914 #define MDIO_TX0_TX_DRIVER_IFULLSPD_MASK 0x000e
2915 #define MDIO_TX0_TX_DRIVER_IFULLSPD_SHIFT 1
2916 #define MDIO_TX0_TX_DRIVER_ICBUF1T 1
2918 #define MDIO_REG_BANK_TX2 0x8080
2919 #define MDIO_TX2_TX_DRIVER 0x17
2920 #define MDIO_TX0_TX_DRIVER_PREEMPHASIS_MASK 0xf000
2921 #define MDIO_TX0_TX_DRIVER_PREEMPHASIS_SHIFT 12
2922 #define MDIO_TX0_TX_DRIVER_IDRIVER_MASK 0x0f00
2923 #define MDIO_TX0_TX_DRIVER_IDRIVER_SHIFT 8
2924 #define MDIO_TX0_TX_DRIVER_IPREDRIVER_MASK 0x00f0
2925 #define MDIO_TX0_TX_DRIVER_IPREDRIVER_SHIFT 4
2926 #define MDIO_TX0_TX_DRIVER_IFULLSPD_MASK 0x000e
2927 #define MDIO_TX0_TX_DRIVER_IFULLSPD_SHIFT 1
2928 #define MDIO_TX0_TX_DRIVER_ICBUF1T 1
2930 #define MDIO_REG_BANK_TX3 0x8090
2931 #define MDIO_TX3_TX_DRIVER 0x17
2932 #define MDIO_TX0_TX_DRIVER_PREEMPHASIS_MASK 0xf000
2933 #define MDIO_TX0_TX_DRIVER_PREEMPHASIS_SHIFT 12
2934 #define MDIO_TX0_TX_DRIVER_IDRIVER_MASK 0x0f00
2935 #define MDIO_TX0_TX_DRIVER_IDRIVER_SHIFT 8
2936 #define MDIO_TX0_TX_DRIVER_IPREDRIVER_MASK 0x00f0
2937 #define MDIO_TX0_TX_DRIVER_IPREDRIVER_SHIFT 4
2938 #define MDIO_TX0_TX_DRIVER_IFULLSPD_MASK 0x000e
2939 #define MDIO_TX0_TX_DRIVER_IFULLSPD_SHIFT 1
2940 #define MDIO_TX0_TX_DRIVER_ICBUF1T 1
2942 #define MDIO_REG_BANK_XGXS_BLOCK0 0x8000
2943 #define MDIO_BLOCK0_XGXS_CONTROL 0x10
2945 #define MDIO_REG_BANK_XGXS_BLOCK1 0x8010
2946 #define MDIO_BLOCK1_LANE_CTRL0 0x15
2947 #define MDIO_BLOCK1_LANE_CTRL1 0x16
2948 #define MDIO_BLOCK1_LANE_CTRL2 0x17
2949 #define MDIO_BLOCK1_LANE_PRBS 0x19
2951 #define MDIO_REG_BANK_XGXS_BLOCK2 0x8100
2952 #define MDIO_XGXS_BLOCK2_RX_LN_SWAP 0x10
2953 #define MDIO_XGXS_BLOCK2_RX_LN_SWAP_ENABLE 0x8000
2954 #define MDIO_XGXS_BLOCK2_RX_LN_SWAP_FORCE_ENABLE 0x4000
2955 #define MDIO_XGXS_BLOCK2_TX_LN_SWAP 0x11
2956 #define MDIO_XGXS_BLOCK2_TX_LN_SWAP_ENABLE 0x8000
2957 #define MDIO_XGXS_BLOCK2_UNICORE_MODE_10G 0x14
2958 #define MDIO_XGXS_BLOCK2_UNICORE_MODE_10G_CX4_XGXS 0x0001
2959 #define MDIO_XGXS_BLOCK2_UNICORE_MODE_10G_HIGIG_XGXS 0x0010
2960 #define MDIO_XGXS_BLOCK2_TEST_MODE_LANE 0x15
2962 #define MDIO_REG_BANK_GP_STATUS 0x8120
2963 #define MDIO_GP_STATUS_TOP_AN_STATUS1 0x1B
2964 #define MDIO_GP_STATUS_TOP_AN_STATUS1_CL73_AUTONEG_COMPLETE 0x0001
2965 #define MDIO_GP_STATUS_TOP_AN_STATUS1_CL37_AUTONEG_COMPLETE 0x0002
2966 #define MDIO_GP_STATUS_TOP_AN_STATUS1_LINK_STATUS 0x0004
2967 #define MDIO_GP_STATUS_TOP_AN_STATUS1_DUPLEX_STATUS 0x0008
2968 #define MDIO_GP_STATUS_TOP_AN_STATUS1_CL73_MR_LP_NP_AN_ABLE 0x0010
2969 #define MDIO_GP_STATUS_TOP_AN_STATUS1_CL73_LP_NP_BAM_ABLE 0x0020
2970 #define MDIO_GP_STATUS_TOP_AN_STATUS1_PAUSE_RSOLUTION_TXSIDE 0x0040
2971 #define MDIO_GP_STATUS_TOP_AN_STATUS1_PAUSE_RSOLUTION_RXSIDE 0x0080
2972 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_MASK 0x3f00
2973 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10M 0x0000
2974 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_100M 0x0100
2975 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_1G 0x0200
2976 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_2_5G 0x0300
2977 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_5G 0x0400
2978 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_6G 0x0500
2979 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_HIG 0x0600
2980 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_CX4 0x0700
2981 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_12G_HIG 0x0800
2982 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_12_5G 0x0900
2983 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_13G 0x0A00
2984 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_15G 0x0B00
2985 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_16G 0x0C00
2986 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_1G_KX 0x0D00
2987 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_KX4 0x0E00
2988 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_KR 0x0F00
2989 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_XFI 0x1B00
2990 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_20G_DXGXS 0x1E00
2991 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_SFI 0x1F00
2992 #define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_20G_KR2 0x3900
2995 #define MDIO_REG_BANK_10G_PARALLEL_DETECT 0x8130
2996 #define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_STATUS 0x10
2997 #define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_STATUS_PD_LINK 0x8000
2998 #define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_CONTROL 0x11
2999 #define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_CONTROL_PARDET10G_EN 0x1
3000 #define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_LINK 0x13
3001 #define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_LINK_CNT (0xb71<<1)
3003 #define MDIO_REG_BANK_SERDES_DIGITAL 0x8300
3004 #define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1 0x10
3005 #define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_FIBER_MODE 0x0001
3006 #define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_TBI_IF 0x0002
3007 #define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_SIGNAL_DETECT_EN 0x0004
3008 #define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_INVERT_SIGNAL_DETECT 0x0008
3009 #define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_AUTODET 0x0010
3010 #define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_MSTR_MODE 0x0020
3011 #define MDIO_SERDES_DIGITAL_A_1000X_CONTROL2 0x11
3012 #define MDIO_SERDES_DIGITAL_A_1000X_CONTROL2_PRL_DT_EN 0x0001
3013 #define MDIO_SERDES_DIGITAL_A_1000X_CONTROL2_AN_FST_TMR 0x0040
3014 #define MDIO_SERDES_DIGITAL_A_1000X_STATUS1 0x14
3015 #define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SGMII 0x0001
3016 #define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_LINK 0x0002
3017 #define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_DUPLEX 0x0004
3018 #define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_MASK 0x0018
3019 #define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_SHIFT 3
3020 #define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_2_5G 0x0018
3021 #define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_1G 0x0010
3022 #define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_100M 0x0008
3023 #define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_10M 0x0000
3024 #define MDIO_SERDES_DIGITAL_A_1000X_STATUS2 0x15
3025 #define MDIO_SERDES_DIGITAL_A_1000X_STATUS2_AN_DISABLED 0x0002
3026 #define MDIO_SERDES_DIGITAL_MISC1 0x18
3027 #define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_MASK 0xE000
3028 #define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_25M 0x0000
3029 #define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_100M 0x2000
3030 #define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_125M 0x4000
3031 #define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_156_25M 0x6000
3032 #define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_187_5M 0x8000
3033 #define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_SEL 0x0010
3034 #define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_MASK 0x000f
3035 #define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_2_5G 0x0000
3036 #define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_5G 0x0001
3037 #define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_6G 0x0002
3038 #define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_10G_HIG 0x0003
3039 #define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_10G_CX4 0x0004
3040 #define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_12G 0x0005
3041 #define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_12_5G 0x0006
3042 #define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_13G 0x0007
3043 #define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_15G 0x0008
3044 #define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_16G 0x0009
3046 #define MDIO_REG_BANK_OVER_1G 0x8320
3047 #define MDIO_OVER_1G_DIGCTL_3_4 0x14
3048 #define MDIO_OVER_1G_DIGCTL_3_4_MP_ID_MASK 0xffe0
3049 #define MDIO_OVER_1G_DIGCTL_3_4_MP_ID_SHIFT 5
3050 #define MDIO_OVER_1G_UP1 0x19
3051 #define MDIO_OVER_1G_UP1_2_5G 0x0001
3052 #define MDIO_OVER_1G_UP1_5G 0x0002
3053 #define MDIO_OVER_1G_UP1_6G 0x0004
3054 #define MDIO_OVER_1G_UP1_10G 0x0010
3055 #define MDIO_OVER_1G_UP1_10GH 0x0008
3056 #define MDIO_OVER_1G_UP1_12G 0x0020
3057 #define MDIO_OVER_1G_UP1_12_5G 0x0040
3058 #define MDIO_OVER_1G_UP1_13G 0x0080
3059 #define MDIO_OVER_1G_UP1_15G 0x0100
3060 #define MDIO_OVER_1G_UP1_16G 0x0200
3061 #define MDIO_OVER_1G_UP2 0x1A
3062 #define MDIO_OVER_1G_UP2_IPREDRIVER_MASK 0x0007
3063 #define MDIO_OVER_1G_UP2_IDRIVER_MASK 0x0038
3064 #define MDIO_OVER_1G_UP2_PREEMPHASIS_MASK 0x03C0
3065 #define MDIO_OVER_1G_UP3 0x1B
3066 #define MDIO_OVER_1G_UP3_HIGIG2 0x0001
3067 #define MDIO_OVER_1G_LP_UP1 0x1C
3068 #define MDIO_OVER_1G_LP_UP2 0x1D
3069 #define MDIO_OVER_1G_LP_UP2_MR_ADV_OVER_1G_MASK 0x03ff
3070 #define MDIO_OVER_1G_LP_UP2_PREEMPHASIS_MASK 0x0780
3071 #define MDIO_OVER_1G_LP_UP2_PREEMPHASIS_SHIFT 7
3072 #define MDIO_OVER_1G_LP_UP3 0x1E
3074 #define MDIO_REG_BANK_REMOTE_PHY 0x8330
3075 #define MDIO_REMOTE_PHY_MISC_RX_STATUS 0x10
3076 #define MDIO_REMOTE_PHY_MISC_RX_STATUS_CL37_FSM_RECEIVED_OVER1G_MSG 0x0010
3077 #define MDIO_REMOTE_PHY_MISC_RX_STATUS_CL37_FSM_RECEIVED_BRCM_OUI_MSG 0x0600
3079 #define MDIO_REG_BANK_BAM_NEXT_PAGE 0x8350
3080 #define MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL 0x10
3081 #define MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL_BAM_MODE 0x0001
3082 #define MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL_TETON_AN 0x0002
3084 #define MDIO_REG_BANK_CL73_USERB0 0x8370
3085 #define MDIO_CL73_USERB0_CL73_UCTRL 0x10
3086 #define MDIO_CL73_USERB0_CL73_UCTRL_USTAT1_MUXSEL 0x0002
3087 #define MDIO_CL73_USERB0_CL73_USTAT1 0x11
3088 #define MDIO_CL73_USERB0_CL73_USTAT1_LINK_STATUS_CHECK 0x0100
3089 #define MDIO_CL73_USERB0_CL73_USTAT1_AN_GOOD_CHECK_BAM37 0x0400
3090 #define MDIO_CL73_USERB0_CL73_BAM_CTRL1 0x12
3091 #define MDIO_CL73_USERB0_CL73_BAM_CTRL1_BAM_EN 0x8000
3092 #define MDIO_CL73_USERB0_CL73_BAM_CTRL1_BAM_STATION_MNGR_EN 0x4000
3093 #define MDIO_CL73_USERB0_CL73_BAM_CTRL1_BAM_NP_AFTER_BP_EN 0x2000
3094 #define MDIO_CL73_USERB0_CL73_BAM_CTRL3 0x14
3095 #define MDIO_CL73_USERB0_CL73_BAM_CTRL3_USE_CL73_HCD_MR 0x0001
3097 #define MDIO_REG_BANK_AER_BLOCK 0xFFD0
3098 #define MDIO_AER_BLOCK_AER_REG 0x1E
3100 #define MDIO_REG_BANK_COMBO_IEEE0 0xFFE0
3101 #define MDIO_COMBO_IEEE0_MII_CONTROL 0x10
3102 #define MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_MASK 0x2040
3103 #define MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_10 0x0000
3104 #define MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_100 0x2000
3105 #define MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_1000 0x0040
3106 #define MDIO_COMBO_IEEO_MII_CONTROL_FULL_DUPLEX 0x0100
3107 #define MDIO_COMBO_IEEO_MII_CONTROL_RESTART_AN 0x0200
3108 #define MDIO_COMBO_IEEO_MII_CONTROL_AN_EN 0x1000
3109 #define MDIO_COMBO_IEEO_MII_CONTROL_LOOPBACK 0x4000
3110 #define MDIO_COMBO_IEEO_MII_CONTROL_RESET 0x8000
3111 #define MDIO_COMBO_IEEE0_MII_STATUS 0x11
3112 #define MDIO_COMBO_IEEE0_MII_STATUS_LINK_PASS 0x0004
3113 #define MDIO_COMBO_IEEE0_MII_STATUS_AUTONEG_COMPLETE 0x0020
3114 #define MDIO_COMBO_IEEE0_AUTO_NEG_ADV 0x14
3115 #define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_FULL_DUPLEX 0x0020
3116 #define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_HALF_DUPLEX 0x0040
3117 #define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_MASK 0x0180
3118 #define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_NONE 0x0000
3119 #define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_SYMMETRIC 0x0080
3120 #define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_ASYMMETRIC 0x0100
3121 #define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_BOTH 0x0180
3122 #define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_NEXT_PAGE 0x8000
3123 #define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1 0x15
3124 #define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_NEXT_PAGE 0x8000
3125 #define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_ACK 0x4000
3126 #define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_PAUSE_MASK 0x0180
3127 #define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_PAUSE_NONE 0x0000
3128 #define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_PAUSE_BOTH 0x0180
3129 #define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_HALF_DUP_CAP 0x0040
3130 #define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_FULL_DUP_CAP 0x0020
3131 /*WhenthelinkpartnerisinSGMIImode(bit0=1), then
3132 bit15=link, bit12=duplex, bits11:10=speed, bit14=acknowledge.
3133 Theotherbitsarereservedandshouldbezero*/
3134 #define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_SGMII_MODE 0x0001
3137 #define MDIO_PMA_DEVAD 0x1
3139 #define MDIO_PMA_REG_CTRL 0x0
3140 #define MDIO_PMA_REG_STATUS 0x1
3141 #define MDIO_PMA_REG_10G_CTRL2 0x7
3142 #define MDIO_PMA_REG_TX_DISABLE 0x0009
3143 #define MDIO_PMA_REG_RX_SD 0xa
3145 #define MDIO_PMA_REG_BNX2X_CTRL 0x0096
3146 #define MDIO_PMA_REG_FEC_CTRL 0x00ab
3147 #define MDIO_PMA_LASI_RXCTRL 0x9000
3148 #define MDIO_PMA_LASI_TXCTRL 0x9001
3149 #define MDIO_PMA_LASI_CTRL 0x9002
3150 #define MDIO_PMA_LASI_RXSTAT 0x9003
3151 #define MDIO_PMA_LASI_TXSTAT 0x9004
3152 #define MDIO_PMA_LASI_STAT 0x9005
3153 #define MDIO_PMA_REG_PHY_IDENTIFIER 0xc800
3154 #define MDIO_PMA_REG_DIGITAL_CTRL 0xc808
3155 #define MDIO_PMA_REG_DIGITAL_STATUS 0xc809
3156 #define MDIO_PMA_REG_TX_POWER_DOWN 0xca02
3157 #define MDIO_PMA_REG_CMU_PLL_BYPASS 0xca09
3158 #define MDIO_PMA_REG_MISC_CTRL 0xca0a
3159 #define MDIO_PMA_REG_GEN_CTRL 0xca10
3160 #define MDIO_PMA_REG_GEN_CTRL_ROM_RESET_INTERNAL_MP 0x0188
3161 #define MDIO_PMA_REG_GEN_CTRL_ROM_MICRO_RESET 0x018a
3162 #define MDIO_PMA_REG_M8051_MSGIN_REG 0xca12
3163 #define MDIO_PMA_REG_M8051_MSGOUT_REG 0xca13
3164 #define MDIO_PMA_REG_ROM_VER1 0xca19
3165 #define MDIO_PMA_REG_ROM_VER2 0xca1a
3166 #define MDIO_PMA_REG_EDC_FFE_MAIN 0xca1b
3167 #define MDIO_PMA_REG_PLL_BANDWIDTH 0xca1d
3168 #define MDIO_PMA_REG_PLL_CTRL 0xca1e
3169 #define MDIO_PMA_REG_MISC_CTRL0 0xca23
3170 #define MDIO_PMA_REG_LRM_MODE 0xca3f
3171 #define MDIO_PMA_REG_CDR_BANDWIDTH 0xca46
3172 #define MDIO_PMA_REG_MISC_CTRL1 0xca85
3174 #define MDIO_PMA_REG_SFP_TWO_WIRE_CTRL 0x8000
3175 #define MDIO_PMA_REG_SFP_TWO_WIRE_CTRL_STATUS_MASK 0x000c
3176 #define MDIO_PMA_REG_SFP_TWO_WIRE_STATUS_IDLE 0x0000
3177 #define MDIO_PMA_REG_SFP_TWO_WIRE_STATUS_COMPLETE 0x0004
3178 #define MDIO_PMA_REG_SFP_TWO_WIRE_STATUS_IN_PROGRESS 0x0008
3179 #define MDIO_PMA_REG_SFP_TWO_WIRE_STATUS_FAILED 0x000c
3180 #define MDIO_PMA_REG_SFP_TWO_WIRE_BYTE_CNT 0x8002
3181 #define MDIO_PMA_REG_SFP_TWO_WIRE_MEM_ADDR 0x8003
3182 #define MDIO_PMA_REG_8726_TWO_WIRE_DATA_BUF 0xc820
3183 #define MDIO_PMA_REG_8726_TWO_WIRE_DATA_MASK 0xff
3184 #define MDIO_PMA_REG_8726_TX_CTRL1 0xca01
3185 #define MDIO_PMA_REG_8726_TX_CTRL2 0xca05
3187 #define MDIO_PMA_REG_8727_TWO_WIRE_SLAVE_ADDR 0x8005
3188 #define MDIO_PMA_REG_8727_TWO_WIRE_DATA_BUF 0x8007
3189 #define MDIO_PMA_REG_8727_TWO_WIRE_DATA_MASK 0xff
3190 #define MDIO_PMA_REG_8727_MISC_CTRL 0x8309
3191 #define MDIO_PMA_REG_8727_TX_CTRL1 0xca02
3192 #define MDIO_PMA_REG_8727_TX_CTRL2 0xca05
3193 #define MDIO_PMA_REG_8727_PCS_OPT_CTRL 0xc808
3194 #define MDIO_PMA_REG_8727_GPIO_CTRL 0xc80e
3195 #define MDIO_PMA_REG_8727_PCS_GP 0xc842
3196 #define MDIO_PMA_REG_8727_OPT_CFG_REG 0xc8e4
3198 #define MDIO_AN_REG_8727_MISC_CTRL 0x8309
3199 #define MDIO_PMA_REG_8073_CHIP_REV 0xc801
3200 #define MDIO_PMA_REG_8073_SPEED_LINK_STATUS 0xc820
3201 #define MDIO_PMA_REG_8073_XAUI_WA 0xc841
3202 #define MDIO_PMA_REG_8073_OPT_DIGITAL_CTRL 0xcd08
3204 #define MDIO_PMA_REG_7101_RESET 0xc000
3205 #define MDIO_PMA_REG_7107_LED_CNTL 0xc007
3206 #define MDIO_PMA_REG_7107_LINK_LED_CNTL 0xc009
3207 #define MDIO_PMA_REG_7101_VER1 0xc026
3208 #define MDIO_PMA_REG_7101_VER2 0xc027
3210 #define MDIO_PMA_REG_8481_PMD_SIGNAL 0xa811
3211 #define MDIO_PMA_REG_8481_LED1_MASK 0xa82c
3212 #define MDIO_PMA_REG_8481_LED2_MASK 0xa82f
3213 #define MDIO_PMA_REG_8481_LED3_MASK 0xa832
3214 #define MDIO_PMA_REG_8481_LED3_BLINK 0xa834
3215 #define MDIO_PMA_REG_8481_LED5_MASK 0xa838
3216 #define MDIO_PMA_REG_8481_SIGNAL_MASK 0xa835
3217 #define MDIO_PMA_REG_8481_LINK_SIGNAL 0xa83b
3218 #define MDIO_PMA_REG_8481_LINK_SIGNAL_LED4_ENABLE_MASK 0x800
3219 #define MDIO_PMA_REG_8481_LINK_SIGNAL_LED4_ENABLE_SHIFT 11
3222 #define MDIO_WIS_DEVAD 0x2
3224 #define MDIO_WIS_REG_LASI_CNTL 0x9002
3225 #define MDIO_WIS_REG_LASI_STATUS 0x9005
3227 #define MDIO_PCS_DEVAD 0x3
3228 #define MDIO_PCS_REG_STATUS 0x0020
3229 #define MDIO_PCS_REG_LASI_STATUS 0x9005
3230 #define MDIO_PCS_REG_7101_DSP_ACCESS 0xD000
3231 #define MDIO_PCS_REG_7101_SPI_MUX 0xD008
3232 #define MDIO_PCS_REG_7101_SPI_CTRL_ADDR 0xE12A
3233 #define MDIO_PCS_REG_7101_SPI_RESET_BIT (5)
3234 #define MDIO_PCS_REG_7101_SPI_FIFO_ADDR 0xE02A
3235 #define MDIO_PCS_REG_7101_SPI_FIFO_ADDR_WRITE_ENABLE_CMD (6)
3236 #define MDIO_PCS_REG_7101_SPI_FIFO_ADDR_BULK_ERASE_CMD (0xC7)
3237 #define MDIO_PCS_REG_7101_SPI_FIFO_ADDR_PAGE_PROGRAM_CMD (2)
3238 #define MDIO_PCS_REG_7101_SPI_BYTES_TO_TRANSFER_ADDR 0xE028
3241 #define MDIO_XS_DEVAD 0x4
3242 #define MDIO_XS_REG_STATUS 0x0001
3243 #define MDIO_XS_PLL_SEQUENCER 0x8000
3244 #define MDIO_XS_SFX7101_XGXS_TEST1 0xc00a
3246 #define MDIO_XS_8706_REG_BANK_RX0 0x80bc
3247 #define MDIO_XS_8706_REG_BANK_RX1 0x80cc
3248 #define MDIO_XS_8706_REG_BANK_RX2 0x80dc
3249 #define MDIO_XS_8706_REG_BANK_RX3 0x80ec
3250 #define MDIO_XS_8706_REG_BANK_RXA 0x80fc
3252 #define MDIO_XS_REG_8073_RX_CTRL_PCIE 0x80FA
3254 #define MDIO_AN_DEVAD 0x7
3256 #define MDIO_AN_REG_CTRL 0x0000
3257 #define MDIO_AN_REG_STATUS 0x0001
3258 #define MDIO_AN_REG_STATUS_AN_COMPLETE 0x0020
3259 #define MDIO_AN_REG_ADV_PAUSE 0x0010
3260 #define MDIO_AN_REG_ADV_PAUSE_PAUSE 0x0400
3261 #define MDIO_AN_REG_ADV_PAUSE_ASYMMETRIC 0x0800
3262 #define MDIO_AN_REG_ADV_PAUSE_BOTH 0x0C00
3263 #define MDIO_AN_REG_ADV_PAUSE_MASK 0x0C00
3264 #define MDIO_AN_REG_ADV 0x0011
3265 #define MDIO_AN_REG_ADV2 0x0012
3266 #define MDIO_AN_REG_LP_AUTO_NEG 0x0013
3267 #define MDIO_AN_REG_LP_AUTO_NEG2 0x0014
3268 #define MDIO_AN_REG_MASTER_STATUS 0x0021
3269 #define MDIO_AN_REG_EEE_ADV 0x003c
3270 #define MDIO_AN_REG_LP_EEE_ADV 0x003d
3272 #define MDIO_AN_REG_LINK_STATUS 0x8304
3273 #define MDIO_AN_REG_CL37_CL73 0x8370
3274 #define MDIO_AN_REG_CL37_AN 0xffe0
3275 #define MDIO_AN_REG_CL37_FC_LD 0xffe4
3276 #define MDIO_AN_REG_CL37_FC_LP 0xffe5
3277 #define MDIO_AN_REG_1000T_STATUS 0xffea
3279 #define MDIO_AN_REG_8073_2_5G 0x8329
3280 #define MDIO_AN_REG_8073_BAM 0x8350
3282 #define MDIO_AN_REG_8481_10GBASE_T_AN_CTRL 0x0020
3283 #define MDIO_AN_REG_8481_LEGACY_MII_CTRL 0xffe0
3284 #define MDIO_AN_REG_8481_MII_CTRL_FORCE_1G 0x40
3285 #define MDIO_AN_REG_8481_LEGACY_MII_STATUS 0xffe1
3286 #define MDIO_AN_REG_8481_LEGACY_AN_ADV 0xffe4
3287 #define MDIO_AN_REG_8481_LEGACY_AN_EXPANSION 0xffe6
3288 #define MDIO_AN_REG_8481_1000T_CTRL 0xffe9
3289 #define MDIO_AN_REG_8481_1G_100T_EXT_CTRL 0xfff0
3290 #define MIDO_AN_REG_8481_EXT_CTRL_FORCE_LEDS_OFF 0x0008
3291 #define MDIO_AN_REG_8481_EXPANSION_REG_RD_RW 0xfff5
3292 #define MDIO_AN_REG_8481_EXPANSION_REG_ACCESS 0xfff7
3293 #define MDIO_AN_REG_8481_AUX_CTRL 0xfff8
3294 #define MDIO_AN_REG_8481_LEGACY_SHADOW 0xfffc
3296 /* BNX2X84823 only */
3297 #define MDIO_CTL_DEVAD 0x1e
3298 #define MDIO_CTL_REG_84823_MEDIA 0x401a
3299 #define MDIO_CTL_REG_84823_MEDIA_MAC_MASK 0x0018
3300 /* These pins configure the BNX2X84823 interface to MAC after reset. */
3301 #define MDIO_CTL_REG_84823_CTRL_MAC_XFI 0x0008
3302 #define MDIO_CTL_REG_84823_MEDIA_MAC_XAUI_M 0x0010
3303 /* These pins configure the BNX2X84823 interface to Line after reset. */
3304 #define MDIO_CTL_REG_84823_MEDIA_LINE_MASK 0x0060
3305 #define MDIO_CTL_REG_84823_MEDIA_LINE_XAUI_L 0x0020
3306 #define MDIO_CTL_REG_84823_MEDIA_LINE_XFI 0x0040
3307 /* When this pin is active high during reset, 10GBASE-T core is power
3308 * down, When it is active low the 10GBASE-T is power up
3310 #define MDIO_CTL_REG_84823_MEDIA_COPPER_CORE_DOWN 0x0080
3311 #define MDIO_CTL_REG_84823_MEDIA_PRIORITY_MASK 0x0100
3312 #define MDIO_CTL_REG_84823_MEDIA_PRIORITY_COPPER 0x0000
3313 #define MDIO_CTL_REG_84823_MEDIA_PRIORITY_FIBER 0x0100
3314 #define MDIO_CTL_REG_84823_MEDIA_FIBER_1G 0x1000
3315 #define MDIO_CTL_REG_84823_USER_CTRL_REG 0x4005
3316 #define MDIO_CTL_REG_84823_USER_CTRL_CMS 0x0080
3317 #define MDIO_PMA_REG_84823_CTL_SLOW_CLK_CNT_HIGH 0xa82b
3318 #define MDIO_PMA_REG_84823_BLINK_RATE_VAL_15P9HZ 0x2f
3319 #define MDIO_PMA_REG_84823_CTL_LED_CTL_1 0xa8e3
3320 #define MDIO_PMA_REG_84833_CTL_LED_CTL_1 0xa8ec
3321 #define MDIO_PMA_REG_84823_LED3_STRETCH_EN 0x0080
3323 /* BNX2X84833 only */
3324 #define MDIO_84833_TOP_CFG_FW_REV 0x400f
3325 #define MDIO_84833_TOP_CFG_FW_EEE 0x10b1
3326 #define MDIO_84833_TOP_CFG_FW_NO_EEE 0x1f81
3327 #define MDIO_84833_TOP_CFG_XGPHY_STRAP1 0x401a
3328 #define MDIO_84833_SUPER_ISOLATE 0x8000
3329 /* These are mailbox register set used by 84833. */
3330 #define MDIO_84833_TOP_CFG_SCRATCH_REG0 0x4005
3331 #define MDIO_84833_TOP_CFG_SCRATCH_REG1 0x4006
3332 #define MDIO_84833_TOP_CFG_SCRATCH_REG2 0x4007
3333 #define MDIO_84833_TOP_CFG_SCRATCH_REG3 0x4008
3334 #define MDIO_84833_TOP_CFG_SCRATCH_REG4 0x4009
3335 #define MDIO_84833_TOP_CFG_SCRATCH_REG26 0x4037
3336 #define MDIO_84833_TOP_CFG_SCRATCH_REG27 0x4038
3337 #define MDIO_84833_TOP_CFG_SCRATCH_REG28 0x4039
3338 #define MDIO_84833_TOP_CFG_SCRATCH_REG29 0x403a
3339 #define MDIO_84833_TOP_CFG_SCRATCH_REG30 0x403b
3340 #define MDIO_84833_TOP_CFG_SCRATCH_REG31 0x403c
3341 #define MDIO_84833_CMD_HDLR_COMMAND MDIO_84833_TOP_CFG_SCRATCH_REG0
3342 #define MDIO_84833_CMD_HDLR_STATUS MDIO_84833_TOP_CFG_SCRATCH_REG26
3343 #define MDIO_84833_CMD_HDLR_DATA1 MDIO_84833_TOP_CFG_SCRATCH_REG27
3344 #define MDIO_84833_CMD_HDLR_DATA2 MDIO_84833_TOP_CFG_SCRATCH_REG28
3345 #define MDIO_84833_CMD_HDLR_DATA3 MDIO_84833_TOP_CFG_SCRATCH_REG29
3346 #define MDIO_84833_CMD_HDLR_DATA4 MDIO_84833_TOP_CFG_SCRATCH_REG30
3347 #define MDIO_84833_CMD_HDLR_DATA5 MDIO_84833_TOP_CFG_SCRATCH_REG31
3349 /* Mailbox command set used by 84833. */
3350 #define PHY84833_CMD_SET_PAIR_SWAP 0x8001
3351 #define PHY84833_CMD_GET_EEE_MODE 0x8008
3352 #define PHY84833_CMD_SET_EEE_MODE 0x8009
3353 #define PHY84833_CMD_GET_CURRENT_TEMP 0x8031
3354 /* Mailbox status set used by 84833. */
3355 #define PHY84833_STATUS_CMD_RECEIVED 0x0001
3356 #define PHY84833_STATUS_CMD_IN_PROGRESS 0x0002
3357 #define PHY84833_STATUS_CMD_COMPLETE_PASS 0x0004
3358 #define PHY84833_STATUS_CMD_COMPLETE_ERROR 0x0008
3359 #define PHY84833_STATUS_CMD_OPEN_FOR_CMDS 0x0010
3360 #define PHY84833_STATUS_CMD_SYSTEM_BOOT 0x0020
3361 #define PHY84833_STATUS_CMD_NOT_OPEN_FOR_CMDS 0x0040
3362 #define PHY84833_STATUS_CMD_CLEAR_COMPLETE 0x0080
3363 #define PHY84833_STATUS_CMD_OPEN_OVERRIDE 0xa5a5
3366 /* Warpcore clause 45 addressing */
3367 #define MDIO_WC_DEVAD 0x3
3368 #define MDIO_WC_REG_IEEE0BLK_MIICNTL 0x0
3369 #define MDIO_WC_REG_IEEE0BLK_AUTONEGNP 0x7
3370 #define MDIO_WC_REG_AN_IEEE1BLK_AN_ADVERTISEMENT0 0x10
3371 #define MDIO_WC_REG_AN_IEEE1BLK_AN_ADVERTISEMENT1 0x11
3372 #define MDIO_WC_REG_AN_IEEE1BLK_AN_ADVERTISEMENT2 0x12
3373 #define MDIO_WC_REG_AN_IEEE1BLK_AN_ADV2_FEC_ABILITY 0x4000
3374 #define MDIO_WC_REG_AN_IEEE1BLK_AN_ADV2_FEC_REQ 0x8000
3375 #define MDIO_WC_REG_PCS_STATUS2 0x0021
3376 #define MDIO_WC_REG_PMD_KR_CONTROL 0x0096
3377 #define MDIO_WC_REG_XGXSBLK0_XGXSCONTROL 0x8000
3378 #define MDIO_WC_REG_XGXSBLK0_MISCCONTROL1 0x800e
3379 #define MDIO_WC_REG_XGXSBLK1_DESKEW 0x8010
3380 #define MDIO_WC_REG_XGXSBLK1_LANECTRL0 0x8015
3381 #define MDIO_WC_REG_XGXSBLK1_LANECTRL1 0x8016
3382 #define MDIO_WC_REG_XGXSBLK1_LANECTRL2 0x8017
3383 #define MDIO_WC_REG_XGXSBLK1_LANECTRL3 0x8018
3384 #define MDIO_WC_REG_XGXSBLK1_LANETEST0 0x801a
3385 #define MDIO_WC_REG_TX0_ANA_CTRL0 0x8061
3386 #define MDIO_WC_REG_TX1_ANA_CTRL0 0x8071
3387 #define MDIO_WC_REG_TX2_ANA_CTRL0 0x8081
3388 #define MDIO_WC_REG_TX3_ANA_CTRL0 0x8091
3389 #define MDIO_WC_REG_TX0_TX_DRIVER 0x8067
3390 #define MDIO_WC_REG_TX0_TX_DRIVER_IPRE_DRIVER_OFFSET 0x04
3391 #define MDIO_WC_REG_TX0_TX_DRIVER_IPRE_DRIVER_MASK 0x00f0
3392 #define MDIO_WC_REG_TX0_TX_DRIVER_IDRIVER_OFFSET 0x08
3393 #define MDIO_WC_REG_TX0_TX_DRIVER_IDRIVER_MASK 0x0f00
3394 #define MDIO_WC_REG_TX0_TX_DRIVER_POST2_COEFF_OFFSET 0x0c
3395 #define MDIO_WC_REG_TX0_TX_DRIVER_POST2_COEFF_MASK 0x7000
3396 #define MDIO_WC_REG_TX1_TX_DRIVER 0x8077
3397 #define MDIO_WC_REG_TX2_TX_DRIVER 0x8087
3398 #define MDIO_WC_REG_TX3_TX_DRIVER 0x8097
3399 #define MDIO_WC_REG_RX0_ANARXCONTROL1G 0x80b9
3400 #define MDIO_WC_REG_RX2_ANARXCONTROL1G 0x80d9
3401 #define MDIO_WC_REG_RX0_PCI_CTRL 0x80ba
3402 #define MDIO_WC_REG_RX1_PCI_CTRL 0x80ca
3403 #define MDIO_WC_REG_RX2_PCI_CTRL 0x80da
3404 #define MDIO_WC_REG_RX3_PCI_CTRL 0x80ea
3405 #define MDIO_WC_REG_XGXSBLK2_UNICORE_MODE_10G 0x8104
3406 #define MDIO_WC_REG_XGXS_STATUS3 0x8129
3407 #define MDIO_WC_REG_PAR_DET_10G_STATUS 0x8130
3408 #define MDIO_WC_REG_PAR_DET_10G_CTRL 0x8131
3409 #define MDIO_WC_REG_XGXS_STATUS4 0x813c
3410 #define MDIO_WC_REG_XGXS_X2_CONTROL2 0x8141
3411 #define MDIO_WC_REG_XGXS_X2_CONTROL3 0x8142
3412 #define MDIO_WC_REG_XGXS_RX_LN_SWAP1 0x816B
3413 #define MDIO_WC_REG_XGXS_TX_LN_SWAP1 0x8169
3414 #define MDIO_WC_REG_GP2_STATUS_GP_2_0 0x81d0
3415 #define MDIO_WC_REG_GP2_STATUS_GP_2_1 0x81d1
3416 #define MDIO_WC_REG_GP2_STATUS_GP_2_2 0x81d2
3417 #define MDIO_WC_REG_GP2_STATUS_GP_2_3 0x81d3
3418 #define MDIO_WC_REG_GP2_STATUS_GP_2_4 0x81d4
3419 #define MDIO_WC_REG_GP2_STATUS_GP_2_4_CL73_AN_CMPL 0x1000
3420 #define MDIO_WC_REG_GP2_STATUS_GP_2_4_CL37_AN_CMPL 0x0100
3421 #define MDIO_WC_REG_GP2_STATUS_GP_2_4_CL37_LP_AN_CAP 0x0010
3422 #define MDIO_WC_REG_GP2_STATUS_GP_2_4_CL37_AN_CAP 0x1
3423 #define MDIO_WC_REG_UC_INFO_B0_DEAD_TRAP 0x81EE
3424 #define MDIO_WC_REG_UC_INFO_B1_VERSION 0x81F0
3425 #define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE 0x81F2
3426 #define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_LANE0_OFFSET 0x0
3427 #define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_DEFAULT 0x0
3428 #define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_SFP_OPT_LR 0x1
3429 #define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_SFP_DAC 0x2
3430 #define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_SFP_XLAUI 0x3
3431 #define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_LONG_CH_6G 0x4
3432 #define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_LANE1_OFFSET 0x4
3433 #define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_LANE2_OFFSET 0x8
3434 #define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_LANE3_OFFSET 0xc
3435 #define MDIO_WC_REG_UC_INFO_B1_CRC 0x81FE
3436 #define MDIO_WC_REG_DSC1B0_UC_CTRL 0x820e
3437 #define MDIO_WC_REG_DSC1B0_UC_CTRL_RDY4CMD (1<<7)
3438 #define MDIO_WC_REG_DSC_SMC 0x8213
3439 #define MDIO_WC_REG_DSC2B0_DSC_MISC_CTRL0 0x821e
3440 #define MDIO_WC_REG_TX_FIR_TAP 0x82e2
3441 #define MDIO_WC_REG_TX_FIR_TAP_PRE_TAP_OFFSET 0x00
3442 #define MDIO_WC_REG_TX_FIR_TAP_PRE_TAP_MASK 0x000f
3443 #define MDIO_WC_REG_TX_FIR_TAP_MAIN_TAP_OFFSET 0x04
3444 #define MDIO_WC_REG_TX_FIR_TAP_MAIN_TAP_MASK 0x03f0
3445 #define MDIO_WC_REG_TX_FIR_TAP_POST_TAP_OFFSET 0x0a
3446 #define MDIO_WC_REG_TX_FIR_TAP_POST_TAP_MASK 0x7c00
3447 #define MDIO_WC_REG_TX_FIR_TAP_ENABLE 0x8000
3448 #define MDIO_WC_REG_CL72_USERB0_CL72_TX_FIR_TAP 0x82e2
3449 #define MDIO_WC_REG_CL72_USERB0_CL72_MISC1_CONTROL 0x82e3
3450 #define MDIO_WC_REG_CL72_USERB0_CL72_OS_DEF_CTRL 0x82e6
3451 #define MDIO_WC_REG_CL72_USERB0_CL72_BR_DEF_CTRL 0x82e7
3452 #define MDIO_WC_REG_CL72_USERB0_CL72_2P5_DEF_CTRL 0x82e8
3453 #define MDIO_WC_REG_CL72_USERB0_CL72_MISC4_CONTROL 0x82ec
3454 #define MDIO_WC_REG_SERDESDIGITAL_CONTROL1000X1 0x8300
3455 #define MDIO_WC_REG_SERDESDIGITAL_CONTROL1000X2 0x8301
3456 #define MDIO_WC_REG_SERDESDIGITAL_CONTROL1000X3 0x8302
3457 #define MDIO_WC_REG_SERDESDIGITAL_STATUS1000X1 0x8304
3458 #define MDIO_WC_REG_SERDESDIGITAL_MISC1 0x8308
3459 #define MDIO_WC_REG_SERDESDIGITAL_MISC2 0x8309
3460 #define MDIO_WC_REG_DIGITAL3_UP1 0x8329
3461 #define MDIO_WC_REG_DIGITAL3_LP_UP1 0x832c
3462 #define MDIO_WC_REG_DIGITAL4_MISC3 0x833c
3463 #define MDIO_WC_REG_DIGITAL4_MISC5 0x833e
3464 #define MDIO_WC_REG_DIGITAL5_MISC6 0x8345
3465 #define MDIO_WC_REG_DIGITAL5_MISC7 0x8349
3466 #define MDIO_WC_REG_DIGITAL5_LINK_STATUS 0x834d
3467 #define MDIO_WC_REG_DIGITAL5_ACTUAL_SPEED 0x834e
3468 #define MDIO_WC_REG_DIGITAL6_MP5_NEXTPAGECTRL 0x8350
3469 #define MDIO_WC_REG_CL49_USERB0_CTRL 0x8368
3470 #define MDIO_WC_REG_CL73_USERB0_CTRL 0x8370
3471 #define MDIO_WC_REG_CL73_USERB0_USTAT 0x8371
3472 #define MDIO_WC_REG_CL73_BAM_CTRL1 0x8372
3473 #define MDIO_WC_REG_CL73_BAM_CTRL2 0x8373
3474 #define MDIO_WC_REG_CL73_BAM_CTRL3 0x8374
3475 #define MDIO_WC_REG_CL73_BAM_CODE_FIELD 0x837b
3476 #define MDIO_WC_REG_EEE_COMBO_CONTROL0 0x8390
3477 #define MDIO_WC_REG_TX66_CONTROL 0x83b0
3478 #define MDIO_WC_REG_RX66_CONTROL 0x83c0
3479 #define MDIO_WC_REG_RX66_SCW0 0x83c2
3480 #define MDIO_WC_REG_RX66_SCW1 0x83c3
3481 #define MDIO_WC_REG_RX66_SCW2 0x83c4
3482 #define MDIO_WC_REG_RX66_SCW3 0x83c5
3483 #define MDIO_WC_REG_RX66_SCW0_MASK 0x83c6
3484 #define MDIO_WC_REG_RX66_SCW1_MASK 0x83c7
3485 #define MDIO_WC_REG_RX66_SCW2_MASK 0x83c8
3486 #define MDIO_WC_REG_RX66_SCW3_MASK 0x83c9
3487 #define MDIO_WC_REG_FX100_CTRL1 0x8400
3488 #define MDIO_WC_REG_FX100_CTRL3 0x8402
3489 #define MDIO_WC_REG_CL82_USERB1_TX_CTRL5 0x8436
3490 #define MDIO_WC_REG_CL82_USERB1_TX_CTRL6 0x8437
3491 #define MDIO_WC_REG_CL82_USERB1_TX_CTRL7 0x8438
3492 #define MDIO_WC_REG_CL82_USERB1_TX_CTRL9 0x8439
3493 #define MDIO_WC_REG_CL82_USERB1_RX_CTRL10 0x843a
3494 #define MDIO_WC_REG_CL82_USERB1_RX_CTRL11 0x843b
3495 #define MDIO_WC_REG_ETA_CL73_OUI1 0x8453
3496 #define MDIO_WC_REG_ETA_CL73_OUI2 0x8454
3497 #define MDIO_WC_REG_ETA_CL73_OUI3 0x8455
3498 #define MDIO_WC_REG_ETA_CL73_LD_BAM_CODE 0x8456
3499 #define MDIO_WC_REG_ETA_CL73_LD_UD_CODE 0x8457
3500 #define MDIO_WC_REG_MICROBLK_CMD 0xffc2
3501 #define MDIO_WC_REG_MICROBLK_DL_STATUS 0xffc5
3502 #define MDIO_WC_REG_MICROBLK_CMD3 0xffcc
3504 #define MDIO_WC_REG_AERBLK_AER 0xffde
3505 #define MDIO_WC_REG_COMBO_IEEE0_MIICTRL 0xffe0
3506 #define MDIO_WC_REG_COMBO_IEEE0_MIIISTAT 0xffe1
3508 #define MDIO_WC0_XGXS_BLK2_LANE_RESET 0x810A
3509 #define MDIO_WC0_XGXS_BLK2_LANE_RESET_RX_BITSHIFT 0
3510 #define MDIO_WC0_XGXS_BLK2_LANE_RESET_TX_BITSHIFT 4
3512 #define MDIO_WC0_XGXS_BLK6_XGXS_X2_CONTROL2 0x8141
3514 #define DIGITAL5_ACTUAL_SPEED_TX_MASK 0x003f
3517 #define MDIO_REG_GPHY_MII_STATUS 0x1
3518 #define MDIO_REG_GPHY_PHYID_LSB 0x3
3519 #define MDIO_REG_GPHY_CL45_ADDR_REG 0xd
3520 #define MDIO_REG_GPHY_CL45_REG_WRITE 0x4000
3521 #define MDIO_REG_GPHY_CL45_REG_READ 0xc000
3522 #define MDIO_REG_GPHY_CL45_DATA_REG 0xe
3523 #define MDIO_REG_GPHY_EEE_RESOLVED 0x803e
3524 #define MDIO_REG_GPHY_EXP_ACCESS_GATE 0x15
3525 #define MDIO_REG_GPHY_EXP_ACCESS 0x17
3526 #define MDIO_REG_GPHY_EXP_ACCESS_TOP 0xd00
3527 #define MDIO_REG_GPHY_EXP_TOP_2K_BUF 0x40
3528 #define MDIO_REG_GPHY_AUX_STATUS 0x19
3529 #define MDIO_REG_INTR_STATUS 0x1a
3530 #define MDIO_REG_INTR_MASK 0x1b
3531 #define MDIO_REG_INTR_MASK_LINK_STATUS (0x1 << 1)
3532 #define MDIO_REG_GPHY_SHADOW 0x1c
3533 #define MDIO_REG_GPHY_SHADOW_LED_SEL1 (0x0d << 10)
3534 #define MDIO_REG_GPHY_SHADOW_LED_SEL2 (0x0e << 10)
3535 #define MDIO_REG_GPHY_SHADOW_WR_ENA (0x1 << 15)
3536 #define MDIO_REG_GPHY_SHADOW_AUTO_DET_MED (0x1e << 10)
3537 #define MDIO_REG_GPHY_SHADOW_INVERT_FIB_SD (0x1 << 8)
3540 #define IGU_FUNC_BASE 0x0400
3542 #define IGU_ADDR_MSIX 0x0000
3543 #define IGU_ADDR_INT_ACK 0x0200
3544 #define IGU_ADDR_PROD_UPD 0x0201
3545 #define IGU_ADDR_ATTN_BITS_UPD 0x0202
3546 #define IGU_ADDR_ATTN_BITS_SET 0x0203
3547 #define IGU_ADDR_ATTN_BITS_CLR 0x0204
3548 #define IGU_ADDR_COALESCE_NOW 0x0205
3549 #define IGU_ADDR_SIMD_MASK 0x0206
3550 #define IGU_ADDR_SIMD_NOMASK 0x0207
3551 #define IGU_ADDR_MSI_CTL 0x0210
3552 #define IGU_ADDR_MSI_ADDR_LO 0x0211
3553 #define IGU_ADDR_MSI_ADDR_HI 0x0212
3554 #define IGU_ADDR_MSI_DATA 0x0213
3557 #define IGU_USE_REGISTER_ustorm_type_0_sb_cleanup 0
3558 #define IGU_USE_REGISTER_ustorm_type_1_sb_cleanup 1
3559 #define IGU_USE_REGISTER_cstorm_type_0_sb_cleanup 2
3560 #define IGU_USE_REGISTER_cstorm_type_1_sb_cleanup 3
3562 #define COMMAND_REG_INT_ACK 0x0
3563 #define COMMAND_REG_PROD_UPD 0x4
3564 #define COMMAND_REG_ATTN_BITS_UPD 0x8
3565 #define COMMAND_REG_ATTN_BITS_SET 0xc
3566 #define COMMAND_REG_ATTN_BITS_CLR 0x10
3567 #define COMMAND_REG_COALESCE_NOW 0x14
3568 #define COMMAND_REG_SIMD_MASK 0x18
3569 #define COMMAND_REG_SIMD_NOMASK 0x1c
3572 #define IGU_MEM_BASE 0x0000
3574 #define IGU_MEM_MSIX_BASE 0x0000
3575 #define IGU_MEM_MSIX_UPPER 0x007f
3576 #define IGU_MEM_MSIX_RESERVED_UPPER 0x01ff
3578 #define IGU_MEM_PBA_MSIX_BASE 0x0200
3579 #define IGU_MEM_PBA_MSIX_UPPER 0x0200
3581 #define IGU_CMD_BACKWARD_COMP_PROD_UPD 0x0201
3582 #define IGU_MEM_PBA_MSIX_RESERVED_UPPER 0x03ff
3584 #define IGU_CMD_INT_ACK_BASE 0x0400
3585 #define IGU_CMD_INT_ACK_UPPER \
3586 (IGU_CMD_INT_ACK_BASE + MAX_SB_PER_PATH - 1)
3587 #define IGU_CMD_INT_ACK_RESERVED_UPPER 0x04ff
3589 #define IGU_CMD_E2_PROD_UPD_BASE 0x0500
3590 #define IGU_CMD_E2_PROD_UPD_UPPER \
3591 (IGU_CMD_E2_PROD_UPD_BASE + MAX_SB_PER_PATH - 1)
3592 #define IGU_CMD_E2_PROD_UPD_RESERVED_UPPER 0x059f
3594 #define IGU_CMD_ATTN_BIT_UPD_UPPER 0x05a0
3595 #define IGU_CMD_ATTN_BIT_SET_UPPER 0x05a1
3596 #define IGU_CMD_ATTN_BIT_CLR_UPPER 0x05a2
3598 #define IGU_REG_SISR_MDPC_WMASK_UPPER 0x05a3
3599 #define IGU_REG_SISR_MDPC_WMASK_LSB_UPPER 0x05a4
3600 #define IGU_REG_SISR_MDPC_WMASK_MSB_UPPER 0x05a5
3601 #define IGU_REG_SISR_MDPC_WOMASK_UPPER 0x05a6
3604 #define IGU_REG_RESERVED_UPPER 0x05ff
3606 #define IGU_SEG_IDX_ATTN 2
3607 #define IGU_SEG_IDX_DEFAULT 1
3608 /* Fields of IGU PF CONFIGRATION REGISTER */
3609 #define IGU_PF_CONF_FUNC_EN (0x1<<0) /* function enable */
3610 #define IGU_PF_CONF_MSI_MSIX_EN (0x1<<1) /* MSI/MSIX enable */
3611 #define IGU_PF_CONF_INT_LINE_EN (0x1<<2) /* INT enable */
3612 #define IGU_PF_CONF_ATTN_BIT_EN (0x1<<3) /* attention enable */
3613 #define IGU_PF_CONF_SINGLE_ISR_EN (0x1<<4) /* single ISR mode enable */
3614 #define IGU_PF_CONF_SIMD_MODE (0x1<<5) /* simd all ones mode */
3616 /* Fields of IGU VF CONFIGRATION REGISTER */
3617 #define IGU_VF_CONF_FUNC_EN (0x1<<0) /* function enable */
3618 #define IGU_VF_CONF_MSI_MSIX_EN (0x1<<1) /* MSI/MSIX enable */
3619 #define IGU_VF_CONF_PARENT_MASK (0x3<<2) /* Parent PF */
3620 #define IGU_VF_CONF_PARENT_SHIFT 2 /* Parent PF */
3621 #define IGU_VF_CONF_SINGLE_ISR_EN (0x1<<4) /* single ISR mode enable */
3624 #define IGU_BC_DSB_NUM_SEGS 5
3625 #define IGU_BC_NDSB_NUM_SEGS 2
3626 #define IGU_NORM_DSB_NUM_SEGS 2
3627 #define IGU_NORM_NDSB_NUM_SEGS 1
3628 #define IGU_BC_BASE_DSB_PROD 128
3629 #define IGU_NORM_BASE_DSB_PROD 136
3631 /* FID (if VF - [6] = 0; [5:0] = VF number; if PF - [6] = 1; \
3632 [5:2] = 0; [1:0] = PF number) */
3633 #define IGU_FID_ENCODE_IS_PF (0x1<<6)
3634 #define IGU_FID_ENCODE_IS_PF_SHIFT 6
3635 #define IGU_FID_VF_NUM_MASK (0x3f)
3636 #define IGU_FID_PF_NUM_MASK (0x7)
3638 #define IGU_REG_MAPPING_MEMORY_VALID (1<<0)
3639 #define IGU_REG_MAPPING_MEMORY_VECTOR_MASK (0x3F<<1)
3640 #define IGU_REG_MAPPING_MEMORY_VECTOR_SHIFT 1
3641 #define IGU_REG_MAPPING_MEMORY_FID_MASK (0x7F<<7)
3642 #define IGU_REG_MAPPING_MEMORY_FID_SHIFT 7
3645 #define CDU_REGION_NUMBER_XCM_AG 2
3646 #define CDU_REGION_NUMBER_UCM_AG 4
3649 /* String-to-compress [31:8] = CID (all 24 bits)
3650 * String-to-compress [7:4] = Region
3651 * String-to-compress [3:0] = Type
3653 #define CDU_VALID_DATA(_cid, _region, _type) \
3654 (((_cid) << 8) | (((_region)&0xf)<<4) | (((_type)&0xf)))
3655 #define CDU_CRC8(_cid, _region, _type) \
3656 (ecore_calc_crc8(CDU_VALID_DATA(_cid, _region, _type), 0xff))
3657 #define CDU_RSRVD_VALUE_TYPE_A(_cid, _region, _type) \
3658 (0x80 | ((CDU_CRC8(_cid, _region, _type)) & 0x7f))
3659 #define CDU_RSRVD_VALUE_TYPE_B(_crc, _type) \
3660 (0x80 | ((_type)&0xf << 3) | ((CDU_CRC8(_cid, _region, _type)) & 0x7))
3661 #define CDU_RSRVD_INVALIDATE_CONTEXT_VALUE(_val) ((_val) & ~0x80)
3663 #endif /* ECORE_REG_H */