diff options
author | C.J. Collier <cjcollier@linuxfoundation.org> | 2016-06-14 07:50:17 -0700 |
---|---|---|
committer | C.J. Collier <cjcollier@linuxfoundation.org> | 2016-06-14 12:17:54 -0700 |
commit | 97f17497d162afdb82c8704bf097f0fee3724b2e (patch) | |
tree | 1c6269614c0c15ffef8451c58ae8f8b30a1bc804 /drivers/net/bnx2x/ecore_reg.h | |
parent | e04be89c2409570e0055b2cda60bd11395bb93b0 (diff) |
Imported Upstream version 16.04
Change-Id: I77eadcd8538a9122e4773cbe55b24033dc451757
Signed-off-by: C.J. Collier <cjcollier@linuxfoundation.org>
Diffstat (limited to 'drivers/net/bnx2x/ecore_reg.h')
-rw-r--r-- | drivers/net/bnx2x/ecore_reg.h | 3644 |
1 files changed, 3644 insertions, 0 deletions
diff --git a/drivers/net/bnx2x/ecore_reg.h b/drivers/net/bnx2x/ecore_reg.h new file mode 100644 index 00000000..d8203b45 --- /dev/null +++ b/drivers/net/bnx2x/ecore_reg.h @@ -0,0 +1,3644 @@ +/*- + * Copyright (c) 2007-2013 QLogic Corporation. All rights reserved. + * + * Eric Davis <edavis@broadcom.com> + * David Christensen <davidch@broadcom.com> + * Gary Zambrano <zambrano@broadcom.com> + * + * Copyright (c) 2014-2015 QLogic Corporation. + * All rights reserved. + * www.qlogic.com + * + * See LICENSE.bnx2x_pmd for copyright and licensing details. + */ + +#ifndef ECORE_REG_H +#define ECORE_REG_H + + +#define ATC_ATC_INT_STS_REG_ADDRESS_ERROR \ + (0x1<<0) +#define ATC_ATC_INT_STS_REG_ATC_GPA_MULTIPLE_HITS \ + (0x1<<2) +#define ATC_ATC_INT_STS_REG_ATC_IREQ_LESS_THAN_STU \ + (0x1<<5) +#define ATC_ATC_INT_STS_REG_ATC_RCPL_TO_EMPTY_CNT \ + (0x1<<3) +#define ATC_ATC_INT_STS_REG_ATC_TCPL_ERROR \ + (0x1<<4) +#define ATC_ATC_INT_STS_REG_ATC_TCPL_TO_NOT_PEND \ + (0x1<<1) +#define ATC_REG_ATC_INIT_DONE \ + 0x1100bcUL +#define ATC_REG_ATC_INT_STS_CLR \ + 0x1101c0UL +#define ATC_REG_ATC_PRTY_MASK \ + 0x1101d8UL +#define ATC_REG_ATC_PRTY_STS_CLR \ + 0x1101d0UL +#define BRB1_REG_BRB1_INT_MASK \ + 0x60128UL +#define BRB1_REG_BRB1_PRTY_MASK \ + 0x60138UL +#define BRB1_REG_BRB1_PRTY_STS_CLR \ + 0x60130UL +#define BRB1_REG_MAC_GUARANTIED_0 \ + 0x601e8UL +#define BRB1_REG_MAC_GUARANTIED_1 \ + 0x60240UL +#define BRB1_REG_NUM_OF_FULL_BLOCKS \ + 0x60090UL +#define BRB1_REG_PAUSE_HIGH_THRESHOLD_0 \ + 0x60078UL +#define BRB1_REG_PAUSE_LOW_THRESHOLD_0 \ + 0x60068UL +#define BRB1_REG_PORT_NUM_OCC_BLOCKS_0 \ + 0x60094UL +#define CCM_REG_CCM_INT_MASK \ + 0xd01e4UL +#define CCM_REG_CCM_PRTY_MASK \ + 0xd01f4UL +#define CCM_REG_CCM_PRTY_STS_CLR \ + 0xd01ecUL +#define CDU_REG_CDU_GLOBAL_PARAMS \ + 0x101020UL +#define CDU_REG_CDU_INT_MASK \ + 0x10103cUL +#define CDU_REG_CDU_PRTY_MASK \ + 0x10104cUL +#define CDU_REG_CDU_PRTY_STS_CLR \ + 0x101044UL +#define CFC_REG_AC_INIT_DONE \ + 0x104078UL +#define CFC_REG_CAM_INIT_DONE \ + 0x10407cUL +#define CFC_REG_CFC_INT_MASK \ + 0x104108UL +#define CFC_REG_CFC_INT_STS_CLR \ + 0x104100UL +#define CFC_REG_CFC_PRTY_MASK \ + 0x104118UL +#define CFC_REG_CFC_PRTY_STS_CLR \ + 0x104110UL +#define CFC_REG_DEBUG0 \ + 0x104050UL +#define CFC_REG_INIT_REG \ + 0x10404cUL +#define CFC_REG_LL_INIT_DONE \ + 0x104074UL +#define CFC_REG_NUM_LCIDS_INSIDE_PF \ + 0x104120UL +#define CFC_REG_STRONG_ENABLE_PF \ + 0x104128UL +#define CFC_REG_WEAK_ENABLE_PF \ + 0x104124UL +#define CSDM_REG_CSDM_INT_MASK_0 \ + 0xc229cUL +#define CSDM_REG_CSDM_INT_MASK_1 \ + 0xc22acUL +#define CSDM_REG_CSDM_PRTY_MASK \ + 0xc22bcUL +#define CSDM_REG_CSDM_PRTY_STS_CLR \ + 0xc22b4UL +#define CSEM_REG_CSEM_INT_MASK_0 \ + 0x200110UL +#define CSEM_REG_CSEM_INT_MASK_1 \ + 0x200120UL +#define CSEM_REG_CSEM_PRTY_MASK_0 \ + 0x200130UL +#define CSEM_REG_CSEM_PRTY_MASK_1 \ + 0x200140UL +#define CSEM_REG_CSEM_PRTY_STS_CLR_0 \ + 0x200128UL +#define CSEM_REG_CSEM_PRTY_STS_CLR_1 \ + 0x200138UL +#define CSEM_REG_FAST_MEMORY \ + 0x220000UL +#define CSEM_REG_INT_TABLE \ + 0x200400UL +#define CSEM_REG_PASSIVE_BUFFER \ + 0x202000UL +#define CSEM_REG_PRAM \ + 0x240000UL +#define CSEM_REG_VFPF_ERR_NUM \ + 0x200380UL +#define DBG_REG_DBG_PRTY_MASK \ + 0xc0a8UL +#define DBG_REG_DBG_PRTY_STS_CLR \ + 0xc0a0UL +#define DMAE_REG_BACKWARD_COMP_EN \ + 0x10207cUL +#define DMAE_REG_CMD_MEM \ + 0x102400UL +#define DMAE_REG_DMAE_INT_MASK \ + 0x102054UL +#define DMAE_REG_DMAE_PRTY_MASK \ + 0x102064UL +#define DMAE_REG_DMAE_PRTY_STS_CLR \ + 0x10205cUL +#define DMAE_REG_GO_C0 \ + 0x102080UL +#define DMAE_REG_GO_C1 \ + 0x102084UL +#define DMAE_REG_GO_C10 \ + 0x102088UL +#define DMAE_REG_GO_C11 \ + 0x10208cUL +#define DMAE_REG_GO_C12 \ + 0x102090UL +#define DMAE_REG_GO_C13 \ + 0x102094UL +#define DMAE_REG_GO_C14 \ + 0x102098UL +#define DMAE_REG_GO_C15 \ + 0x10209cUL +#define DMAE_REG_GO_C2 \ + 0x1020a0UL +#define DMAE_REG_GO_C3 \ + 0x1020a4UL +#define DMAE_REG_GO_C4 \ + 0x1020a8UL +#define DMAE_REG_GO_C5 \ + 0x1020acUL +#define DMAE_REG_GO_C6 \ + 0x1020b0UL +#define DMAE_REG_GO_C7 \ + 0x1020b4UL +#define DMAE_REG_GO_C8 \ + 0x1020b8UL +#define DMAE_REG_GO_C9 \ + 0x1020bcUL +#define DORQ_REG_DORQ_INT_MASK \ + 0x170180UL +#define DORQ_REG_DORQ_INT_STS_CLR \ + 0x170178UL +#define DORQ_REG_DORQ_PRTY_MASK \ + 0x170190UL +#define DORQ_REG_DORQ_PRTY_STS_CLR \ + 0x170188UL +#define DORQ_REG_DPM_CID_OFST \ + 0x170030UL +#define DORQ_REG_MAX_RVFID_SIZE \ + 0x1701ecUL +#define DORQ_REG_NORM_CID_OFST \ + 0x17002cUL +#define DORQ_REG_PF_USAGE_CNT \ + 0x1701d0UL +#define DORQ_REG_VF_NORM_CID_BASE \ + 0x1701a0UL +#define DORQ_REG_VF_NORM_CID_OFST \ + 0x1701f4UL +#define DORQ_REG_VF_NORM_CID_WND_SIZE \ + 0x1701a4UL +#define DORQ_REG_VF_NORM_MAX_CID_COUNT \ + 0x1701e4UL +#define DORQ_REG_VF_NORM_VF_BASE \ + 0x1701a8UL +#define DORQ_REG_VF_TYPE_MASK_0 \ + 0x170218UL +#define DORQ_REG_VF_TYPE_MAX_MCID_0 \ + 0x1702d8UL +#define DORQ_REG_VF_TYPE_MIN_MCID_0 \ + 0x170298UL +#define DORQ_REG_VF_TYPE_VALUE_0 \ + 0x170258UL +#define DORQ_REG_VF_USAGE_CNT \ + 0x170320UL +#define DORQ_REG_VF_USAGE_CT_LIMIT \ + 0x170340UL +#define HC_CONFIG_0_REG_ATTN_BIT_EN_0 \ + (0x1<<4) +#define HC_CONFIG_0_REG_BLOCK_DISABLE_0 \ + (0x1<<0) +#define HC_CONFIG_0_REG_INT_LINE_EN_0 \ + (0x1<<3) +#define HC_CONFIG_0_REG_MSI_ATTN_EN_0 \ + (0x1<<7) +#define HC_CONFIG_0_REG_MSI_MSIX_INT_EN_0 \ + (0x1<<2) +#define HC_CONFIG_0_REG_SINGLE_ISR_EN_0 \ + (0x1<<1) +#define HC_CONFIG_1_REG_BLOCK_DISABLE_1 \ + (0x1<<0) +#define HC_REG_ATTN_MSG0_ADDR_L \ + 0x108018UL +#define HC_REG_ATTN_MSG1_ADDR_L \ + 0x108020UL +#define HC_REG_COMMAND_REG \ + 0x108180UL +#define HC_REG_CONFIG_0 \ + 0x108000UL +#define HC_REG_CONFIG_1 \ + 0x108004UL +#define HC_REG_HC_PRTY_MASK \ + 0x1080a0UL +#define HC_REG_HC_PRTY_STS_CLR \ + 0x108098UL +#define HC_REG_INT_MASK \ + 0x108108UL +#define HC_REG_LEADING_EDGE_0 \ + 0x108040UL +#define HC_REG_MAIN_MEMORY \ + 0x108800UL +#define HC_REG_MAIN_MEMORY_SIZE \ + 152 +#define HC_REG_TRAILING_EDGE_0 \ + 0x108044UL +#define IGU_BLOCK_CONFIGURATION_REG_BACKWARD_COMP_EN \ + (0x1<<1) +#define IGU_BLOCK_CONFIGURATION_REG_BLOCK_ENABLE \ + (0x1<<0) +#define IGU_REG_ATTENTION_ACK_BITS \ + 0x130108UL +#define IGU_REG_ATTN_MSG_ADDR_H \ + 0x13011cUL +#define IGU_REG_ATTN_MSG_ADDR_L \ + 0x130120UL +#define IGU_REG_BLOCK_CONFIGURATION \ + 0x130000UL +#define IGU_REG_COMMAND_REG_32LSB_DATA \ + 0x130124UL +#define IGU_REG_COMMAND_REG_CTRL \ + 0x13012cUL +#define IGU_REG_CSTORM_TYPE_0_SB_CLEANUP \ + 0x130200UL +#define IGU_REG_IGU_PRTY_MASK \ + 0x1300a8UL +#define IGU_REG_IGU_PRTY_STS_CLR \ + 0x1300a0UL +#define IGU_REG_LEADING_EDGE_LATCH \ + 0x130134UL +#define IGU_REG_MAPPING_MEMORY \ + 0x131000UL +#define IGU_REG_MAPPING_MEMORY_SIZE \ + 136 +#define IGU_REG_PBA_STATUS_LSB \ + 0x130138UL +#define IGU_REG_PBA_STATUS_MSB \ + 0x13013cUL +#define IGU_REG_PCI_PF_MSIX_EN \ + 0x130144UL +#define IGU_REG_PCI_PF_MSIX_FUNC_MASK \ + 0x130148UL +#define IGU_REG_PCI_PF_MSI_EN \ + 0x130140UL +#define IGU_REG_PENDING_BITS_STATUS \ + 0x130300UL +#define IGU_REG_PF_CONFIGURATION \ + 0x130154UL +#define IGU_REG_PROD_CONS_MEMORY \ + 0x132000UL +#define IGU_REG_RESET_MEMORIES \ + 0x130158UL +#define IGU_REG_SB_INT_BEFORE_MASK_LSB \ + 0x13015cUL +#define IGU_REG_SB_INT_BEFORE_MASK_MSB \ + 0x130160UL +#define IGU_REG_SB_MASK_LSB \ + 0x130164UL +#define IGU_REG_SB_MASK_MSB \ + 0x130168UL +#define IGU_REG_STATISTIC_NUM_MESSAGE_SENT \ + 0x130800UL +#define IGU_REG_TRAILING_EDGE_LATCH \ + 0x130104UL +#define IGU_REG_VF_CONFIGURATION \ + 0x130170UL +#define MCP_REG_MCPR_ACCESS_LOCK \ + 0x8009c +#define MCP_REG_MCPR_GP_INPUTS \ + 0x800c0 +#define MCP_REG_MCPR_GP_OENABLE \ + 0x800c8 +#define MCP_REG_MCPR_GP_OUTPUTS \ + 0x800c4 +#define MCP_REG_MCPR_IMC_COMMAND \ + 0x85900 +#define MCP_REG_MCPR_IMC_DATAREG0 \ + 0x85920 +#define MCP_REG_MCPR_IMC_SLAVE_CONTROL \ + 0x85904 +#define MCP_REG_MCPR_NVM_ACCESS_ENABLE \ + 0x86424 +#define MCP_REG_MCPR_NVM_ADDR \ + 0x8640c +#define MCP_REG_MCPR_NVM_CFG4 \ + 0x8642c +#define MCP_REG_MCPR_NVM_COMMAND \ + 0x86400 +#define MCP_REG_MCPR_NVM_READ \ + 0x86410 +#define MCP_REG_MCPR_NVM_SW_ARB \ + 0x86420 +#define MCP_REG_MCPR_NVM_WRITE \ + 0x86408 +#define MISC_AEU_GENERAL_MASK_REG_AEU_NIG_CLOSE_MASK \ + (0x1<<1) +#define MISC_AEU_GENERAL_MASK_REG_AEU_PXP_CLOSE_MASK \ + (0x1<<0) +#define MISC_REG_AEU_AFTER_INVERT_1_FUNC_0 \ + 0xa42cUL +#define MISC_REG_AEU_AFTER_INVERT_2_FUNC_0 \ + 0xa438UL +#define MISC_REG_AEU_AFTER_INVERT_3_FUNC_0 \ + 0xa444UL +#define MISC_REG_AEU_AFTER_INVERT_4_FUNC_0 \ + 0xa450UL +#define MISC_REG_AEU_AFTER_INVERT_4_MCP \ + 0xa458UL +#define MISC_REG_AEU_AFTER_INVERT_5_FUNC_0 \ + 0xa700UL +#define MISC_REG_AEU_CLR_LATCH_SIGNAL \ + 0xa45cUL +#define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_0 \ + 0xa06cUL +#define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_1 \ + 0xa07cUL +#define MISC_REG_AEU_ENABLE1_FUNC_0_OUT_2 \ + 0xa08cUL +#define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_0 \ + 0xa10cUL +#define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_1 \ + 0xa11cUL +#define MISC_REG_AEU_ENABLE1_FUNC_1_OUT_2 \ + 0xa12cUL +#define MISC_REG_AEU_ENABLE4_FUNC_0_OUT_0 \ + 0xa078UL +#define MISC_REG_AEU_ENABLE4_FUNC_1_OUT_0 \ + 0xa118UL +#define MISC_REG_AEU_ENABLE4_NIG_0 \ + 0xa0f8UL +#define MISC_REG_AEU_ENABLE4_NIG_1 \ + 0xa198UL +#define MISC_REG_AEU_ENABLE4_PXP_0 \ + 0xa108UL +#define MISC_REG_AEU_ENABLE4_PXP_1 \ + 0xa1a8UL +#define MISC_REG_AEU_ENABLE5_FUNC_0_OUT_0 \ + 0xa688UL +#define MISC_REG_AEU_ENABLE5_FUNC_1_OUT_0 \ + 0xa6b0UL +#define MISC_REG_AEU_GENERAL_ATTN_0 \ + 0xa000UL +#define MISC_REG_AEU_GENERAL_ATTN_1 \ + 0xa004UL +#define MISC_REG_AEU_GENERAL_ATTN_10 \ + 0xa028UL +#define MISC_REG_AEU_GENERAL_ATTN_11 \ + 0xa02cUL +#define MISC_REG_AEU_GENERAL_ATTN_12 \ + 0xa030UL +#define MISC_REG_AEU_GENERAL_ATTN_2 \ + 0xa008UL +#define MISC_REG_AEU_GENERAL_ATTN_3 \ + 0xa00cUL +#define MISC_REG_AEU_GENERAL_ATTN_4 \ + 0xa010UL +#define MISC_REG_AEU_GENERAL_ATTN_5 \ + 0xa014UL +#define MISC_REG_AEU_GENERAL_ATTN_6 \ + 0xa018UL +#define MISC_REG_AEU_GENERAL_ATTN_7 \ + 0xa01cUL +#define MISC_REG_AEU_GENERAL_ATTN_8 \ + 0xa020UL +#define MISC_REG_AEU_GENERAL_ATTN_9 \ + 0xa024UL +#define MISC_REG_AEU_GENERAL_MASK \ + 0xa61cUL +#define MISC_REG_AEU_MASK_ATTN_FUNC_0 \ + 0xa060UL +#define MISC_REG_AEU_MASK_ATTN_FUNC_1 \ + 0xa064UL +#define MISC_REG_BOND_ID \ + 0xa400UL +#define MISC_REG_CHIP_NUM \ + 0xa408UL +#define MISC_REG_CHIP_REV \ + 0xa40cUL +#define MISC_REG_CHIP_TYPE \ + 0xac60UL +#define MISC_REG_CHIP_TYPE_57811_MASK \ + (1<<1) +#define MISC_REG_CPMU_LP_DR_ENABLE \ + 0xa858UL +#define MISC_REG_CPMU_LP_FW_ENABLE_P0 \ + 0xa84cUL +#define MISC_REG_CPMU_LP_IDLE_THR_P0 \ + 0xa8a0UL +#define MISC_REG_CPMU_LP_MASK_ENT_P0 \ + 0xa880UL +#define MISC_REG_CPMU_LP_MASK_EXT_P0 \ + 0xa888UL +#define MISC_REG_CPMU_LP_SM_ENT_CNT_P0 \ + 0xa8b8UL +#define MISC_REG_CPMU_LP_SM_ENT_CNT_P1 \ + 0xa8bcUL +#define MISC_REG_DRIVER_CONTROL_1 \ + 0xa510UL +#define MISC_REG_DRIVER_CONTROL_7 \ + 0xa3c8UL +#define MISC_REG_FOUR_PORT_PATH_SWAP \ + 0xa75cUL +#define MISC_REG_FOUR_PORT_PATH_SWAP_OVWR \ + 0xa738UL +#define MISC_REG_FOUR_PORT_PORT_SWAP \ + 0xa754UL +#define MISC_REG_FOUR_PORT_PORT_SWAP_OVWR \ + 0xa734UL +#define MISC_REG_GENERIC_CR_0 \ + 0xa460UL +#define MISC_REG_GENERIC_CR_1 \ + 0xa464UL +#define MISC_REG_GENERIC_POR_1 \ + 0xa474UL +#define MISC_REG_GEN_PURP_HWG \ + 0xa9a0UL +#define MISC_REG_GPIO \ + 0xa490UL +#define MISC_REG_GPIO_EVENT_EN \ + 0xa2bcUL +#define MISC_REG_GPIO_INT \ + 0xa494UL +#define MISC_REG_GRC_RSV_ATTN \ + 0xa3c0UL +#define MISC_REG_GRC_TIMEOUT_ATTN \ + 0xa3c4UL +#define MISC_REG_LCPLL_E40_PWRDWN \ + 0xaa74UL +#define MISC_REG_LCPLL_E40_RESETB_ANA \ + 0xaa78UL +#define MISC_REG_LCPLL_E40_RESETB_DIG \ + 0xaa7cUL +#define MISC_REG_MISC_INT_MASK \ + 0xa388UL +#define MISC_REG_MISC_PRTY_MASK \ + 0xa398UL +#define MISC_REG_MISC_PRTY_STS_CLR \ + 0xa390UL +#define MISC_REG_PORT4MODE_EN \ + 0xa750UL +#define MISC_REG_PORT4MODE_EN_OVWR \ + 0xa720UL +#define MISC_REG_RESET_REG_1 \ + 0xa580UL +#define MISC_REG_RESET_REG_2 \ + 0xa590UL +#define MISC_REG_SHARED_MEM_ADDR \ + 0xa2b4UL +#define MISC_REG_SPIO \ + 0xa4fcUL +#define MISC_REG_SPIO_EVENT_EN \ + 0xa2b8UL +#define MISC_REG_SPIO_INT \ + 0xa500UL +#define MISC_REG_TWO_PORT_PATH_SWAP \ + 0xa758UL +#define MISC_REG_TWO_PORT_PATH_SWAP_OVWR \ + 0xa72cUL +#define MISC_REG_UNPREPARED \ + 0xa424UL +#define MISC_REG_WC0_CTRL_PHY_ADDR \ + 0xa9ccUL +#define MISC_REG_WC0_RESET \ + 0xac30UL +#define MISC_REG_XMAC_CORE_PORT_MODE \ + 0xa964UL +#define MISC_REG_XMAC_PHY_PORT_MODE \ + 0xa960UL +#define MSTAT_REG_RX_STAT_GR64_LO \ + 0x200UL +#define MSTAT_REG_TX_STAT_GTXPOK_LO \ + 0UL +#define NIG_LLH0_XCM_MASK_REG_LLH0_XCM_MASK_BCN \ + (0x1<<0) +#define NIG_LLH1_XCM_MASK_REG_LLH1_XCM_MASK_BCN \ + (0x1<<0) +#define NIG_MASK_INTERRUPT_PORT0_REG_MASK_EMAC0_MISC_MI_INT \ + (0x1<<0) +#define NIG_MASK_INTERRUPT_PORT0_REG_MASK_SERDES0_LINK_STATUS \ + (0x1<<9) +#define NIG_MASK_INTERRUPT_PORT0_REG_MASK_XGXS0_LINK10G \ + (0x1<<15) +#define NIG_MASK_INTERRUPT_PORT0_REG_MASK_XGXS0_LINK_STATUS \ + (0xf<<18) +#define NIG_REG_BMAC0_IN_EN \ + 0x100acUL +#define NIG_REG_BMAC0_OUT_EN \ + 0x100e0UL +#define NIG_REG_BMAC0_PAUSE_OUT_EN \ + 0x10110UL +#define NIG_REG_BMAC0_REGS_OUT_EN \ + 0x100e8UL +#define NIG_REG_BRB0_PAUSE_IN_EN \ + 0x100c4UL +#define NIG_REG_BRB1_PAUSE_IN_EN \ + 0x100c8UL +#define NIG_REG_DEBUG_PACKET_LB \ + 0x10800UL +#define NIG_REG_EGRESS_DRAIN0_MODE \ + 0x10060UL +#define NIG_REG_EGRESS_EMAC0_OUT_EN \ + 0x10120UL +#define NIG_REG_EGRESS_EMAC0_PORT \ + 0x10058UL +#define NIG_REG_EMAC0_IN_EN \ + 0x100a4UL +#define NIG_REG_EMAC0_PAUSE_OUT_EN \ + 0x10118UL +#define NIG_REG_EMAC0_STATUS_MISC_MI_INT \ + 0x10494UL +#define NIG_REG_INGRESS_BMAC0_MEM \ + 0x10c00UL +#define NIG_REG_INGRESS_BMAC1_MEM \ + 0x11000UL +#define NIG_REG_INGRESS_EOP_LB_EMPTY \ + 0x104e0UL +#define NIG_REG_INGRESS_EOP_LB_FIFO \ + 0x104e4UL +#define NIG_REG_LATCH_BC_0 \ + 0x16210UL +#define NIG_REG_LATCH_STATUS_0 \ + 0x18000UL +#define NIG_REG_LED_10G_P0 \ + 0x10320UL +#define NIG_REG_LED_CONTROL_BLINK_RATE_ENA_P0 \ + 0x10318UL +#define NIG_REG_LED_CONTROL_BLINK_RATE_P0 \ + 0x10310UL +#define NIG_REG_LED_CONTROL_BLINK_TRAFFIC_P0 \ + 0x10308UL +#define NIG_REG_LED_CONTROL_OVERRIDE_TRAFFIC_P0 \ + 0x102f8UL +#define NIG_REG_LED_CONTROL_TRAFFIC_P0 \ + 0x10300UL +#define NIG_REG_LED_MODE_P0 \ + 0x102f0UL +#define NIG_REG_LLFC_EGRESS_SRC_ENABLE_0 \ + 0x16070UL +#define NIG_REG_LLFC_EGRESS_SRC_ENABLE_1 \ + 0x16074UL +#define NIG_REG_LLFC_ENABLE_0 \ + 0x16208UL +#define NIG_REG_LLFC_ENABLE_1 \ + 0x1620cUL +#define NIG_REG_LLFC_HIGH_PRIORITY_CLASSES_0 \ + 0x16058UL +#define NIG_REG_LLFC_HIGH_PRIORITY_CLASSES_1 \ + 0x1605cUL +#define NIG_REG_LLFC_LOW_PRIORITY_CLASSES_0 \ + 0x16060UL +#define NIG_REG_LLFC_LOW_PRIORITY_CLASSES_1 \ + 0x16064UL +#define NIG_REG_LLFC_OUT_EN_0 \ + 0x160c8UL +#define NIG_REG_LLFC_OUT_EN_1 \ + 0x160ccUL +#define NIG_REG_LLH0_BRB1_DRV_MASK \ + 0x10244UL +#define NIG_REG_LLH0_BRB1_DRV_MASK_MF \ + 0x16048UL +#define NIG_REG_LLH0_BRB1_NOT_MCP \ + 0x1025cUL +#define NIG_REG_LLH0_CLS_TYPE \ + 0x16080UL +#define NIG_REG_LLH0_FUNC_EN \ + 0x160fcUL +#define NIG_REG_LLH0_FUNC_MEM \ + 0x16180UL +#define NIG_REG_LLH0_FUNC_MEM_ENABLE \ + 0x16140UL +#define NIG_REG_LLH0_FUNC_VLAN_ID \ + 0x16100UL +#define NIG_REG_LLH0_XCM_MASK \ + 0x10130UL +#define NIG_REG_LLH1_BRB1_NOT_MCP \ + 0x102dcUL +#define NIG_REG_LLH1_CLS_TYPE \ + 0x16084UL +#define NIG_REG_LLH1_FUNC_MEM \ + 0x161c0UL +#define NIG_REG_LLH1_FUNC_MEM_ENABLE \ + 0x16160UL +#define NIG_REG_LLH1_FUNC_MEM_SIZE \ + 16 +#define NIG_REG_LLH1_MF_MODE \ + 0x18614UL +#define NIG_REG_LLH1_XCM_MASK \ + 0x10134UL +#define NIG_REG_LLH_E1HOV_MODE \ + 0x160d8UL +#define NIG_REG_LLH_MF_MODE \ + 0x16024UL +#define NIG_REG_MASK_INTERRUPT_PORT0 \ + 0x10330UL +#define NIG_REG_MASK_INTERRUPT_PORT1 \ + 0x10334UL +#define NIG_REG_NIG_EMAC0_EN \ + 0x1003cUL +#define NIG_REG_NIG_INGRESS_EMAC0_NO_CRC \ + 0x10044UL +#define NIG_REG_NIG_INT_STS_CLR_0 \ + 0x103b4UL +#define NIG_REG_NIG_PRTY_MASK \ + 0x103dcUL +#define NIG_REG_NIG_PRTY_MASK_0 \ + 0x183c8UL +#define NIG_REG_NIG_PRTY_MASK_1 \ + 0x183d8UL +#define NIG_REG_NIG_PRTY_STS_CLR \ + 0x103d4UL +#define NIG_REG_NIG_PRTY_STS_CLR_0 \ + 0x183c0UL +#define NIG_REG_NIG_PRTY_STS_CLR_1 \ + 0x183d0UL +#define NIG_REG_P0_HDRS_AFTER_BASIC \ + 0x18038UL +#define NIG_REG_P0_HWPFC_ENABLE \ + 0x18078UL +#define NIG_REG_P0_LLH_FUNC_MEM2 \ + 0x18480UL +#define NIG_REG_P0_MAC_IN_EN \ + 0x185acUL +#define NIG_REG_P0_MAC_OUT_EN \ + 0x185b0UL +#define NIG_REG_P0_MAC_PAUSE_OUT_EN \ + 0x185b4UL +#define NIG_REG_P0_PKT_PRIORITY_TO_COS \ + 0x18054UL +#define NIG_REG_P0_RX_COS0_PRIORITY_MASK \ + 0x18058UL +#define NIG_REG_P0_RX_COS1_PRIORITY_MASK \ + 0x1805cUL +#define NIG_REG_P0_RX_COS2_PRIORITY_MASK \ + 0x186b0UL +#define NIG_REG_P0_RX_COS3_PRIORITY_MASK \ + 0x186b4UL +#define NIG_REG_P0_RX_COS4_PRIORITY_MASK \ + 0x186b8UL +#define NIG_REG_P0_RX_COS5_PRIORITY_MASK \ + 0x186bcUL +#define NIG_REG_P0_TX_ARB_CLIENT_CREDIT_MAP \ + 0x180f0UL +#define NIG_REG_P0_TX_ARB_CLIENT_CREDIT_MAP2_LSB \ + 0x18688UL +#define NIG_REG_P0_TX_ARB_CLIENT_CREDIT_MAP2_MSB \ + 0x1868cUL +#define NIG_REG_P0_TX_ARB_CLIENT_IS_STRICT \ + 0x180e8UL +#define NIG_REG_P0_TX_ARB_CLIENT_IS_SUBJECT2WFQ \ + 0x180ecUL +#define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_0 \ + 0x1810cUL +#define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_1 \ + 0x18110UL +#define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_2 \ + 0x18114UL +#define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_3 \ + 0x18118UL +#define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_4 \ + 0x1811cUL +#define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_5 \ + 0x186a0UL +#define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_6 \ + 0x186a4UL +#define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_7 \ + 0x186a8UL +#define NIG_REG_P0_TX_ARB_CREDIT_UPPER_BOUND_8 \ + 0x186acUL +#define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_0 \ + 0x180f8UL +#define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_1 \ + 0x180fcUL +#define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_2 \ + 0x18100UL +#define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_3 \ + 0x18104UL +#define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_4 \ + 0x18108UL +#define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_5 \ + 0x18690UL +#define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_6 \ + 0x18694UL +#define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_7 \ + 0x18698UL +#define NIG_REG_P0_TX_ARB_CREDIT_WEIGHT_8 \ + 0x1869cUL +#define NIG_REG_P0_TX_ARB_NUM_STRICT_ARB_SLOTS \ + 0x180f4UL +#define NIG_REG_P0_TX_ARB_PRIORITY_CLIENT \ + 0x180e4UL +#define NIG_REG_P0_TX_ARB_PRIORITY_CLIENT2_LSB \ + 0x18680UL +#define NIG_REG_P0_TX_ARB_PRIORITY_CLIENT2_MSB \ + 0x18684UL +#define NIG_REG_P1_HDRS_AFTER_BASIC \ + 0x1818cUL +#define NIG_REG_P1_HWPFC_ENABLE \ + 0x181d0UL +#define NIG_REG_P1_LLH_FUNC_MEM2 \ + 0x184c0UL +#define NIG_REG_P1_MAC_IN_EN \ + 0x185c0UL +#define NIG_REG_P1_MAC_OUT_EN \ + 0x185c4UL +#define NIG_REG_P1_MAC_PAUSE_OUT_EN \ + 0x185c8UL +#define NIG_REG_P1_PKT_PRIORITY_TO_COS \ + 0x181a8UL +#define NIG_REG_P1_RX_COS0_PRIORITY_MASK \ + 0x181acUL +#define NIG_REG_P1_RX_COS1_PRIORITY_MASK \ + 0x181b0UL +#define NIG_REG_P1_RX_COS2_PRIORITY_MASK \ + 0x186f8UL +#define NIG_REG_P1_TX_ARB_CLIENT_CREDIT_MAP2_LSB \ + 0x186e8UL +#define NIG_REG_P1_TX_ARB_CLIENT_CREDIT_MAP2_MSB \ + 0x186ecUL +#define NIG_REG_P1_TX_ARB_CLIENT_IS_STRICT \ + 0x18234UL +#define NIG_REG_P1_TX_ARB_CLIENT_IS_SUBJECT2WFQ \ + 0x18238UL +#define NIG_REG_P1_TX_ARB_CREDIT_UPPER_BOUND_0 \ + 0x18258UL +#define NIG_REG_P1_TX_ARB_CREDIT_UPPER_BOUND_1 \ + 0x1825cUL +#define NIG_REG_P1_TX_ARB_CREDIT_UPPER_BOUND_2 \ + 0x18260UL +#define NIG_REG_P1_TX_ARB_CREDIT_UPPER_BOUND_3 \ + 0x18264UL +#define NIG_REG_P1_TX_ARB_CREDIT_UPPER_BOUND_4 \ + 0x18268UL +#define NIG_REG_P1_TX_ARB_CREDIT_UPPER_BOUND_5 \ + 0x186f4UL +#define NIG_REG_P1_TX_ARB_CREDIT_WEIGHT_0 \ + 0x18244UL +#define NIG_REG_P1_TX_ARB_CREDIT_WEIGHT_1 \ + 0x18248UL +#define NIG_REG_P1_TX_ARB_CREDIT_WEIGHT_2 \ + 0x1824cUL +#define NIG_REG_P1_TX_ARB_CREDIT_WEIGHT_3 \ + 0x18250UL +#define NIG_REG_P1_TX_ARB_CREDIT_WEIGHT_4 \ + 0x18254UL +#define NIG_REG_P1_TX_ARB_CREDIT_WEIGHT_5 \ + 0x186f0UL +#define NIG_REG_P1_TX_ARB_NUM_STRICT_ARB_SLOTS \ + 0x18240UL +#define NIG_REG_P1_TX_ARB_PRIORITY_CLIENT2_LSB \ + 0x186e0UL +#define NIG_REG_P1_TX_ARB_PRIORITY_CLIENT2_MSB \ + 0x186e4UL +#define NIG_REG_PAUSE_ENABLE_0 \ + 0x160c0UL +#define NIG_REG_PAUSE_ENABLE_1 \ + 0x160c4UL +#define NIG_REG_PORT_SWAP \ + 0x10394UL +#define NIG_REG_PPP_ENABLE_0 \ + 0x160b0UL +#define NIG_REG_PPP_ENABLE_1 \ + 0x160b4UL +#define NIG_REG_PRS_REQ_IN_EN \ + 0x100b8UL +#define NIG_REG_SERDES0_CTRL_MD_DEVAD \ + 0x10370UL +#define NIG_REG_SERDES0_CTRL_MD_ST \ + 0x1036cUL +#define NIG_REG_SERDES0_CTRL_PHY_ADDR \ + 0x10374UL +#define NIG_REG_SERDES0_STATUS_LINK_STATUS \ + 0x10578UL +#define NIG_REG_STAT0_BRB_DISCARD \ + 0x105f0UL +#define NIG_REG_STAT0_BRB_TRUNCATE \ + 0x105f8UL +#define NIG_REG_STAT0_EGRESS_MAC_PKT0 \ + 0x10750UL +#define NIG_REG_STAT0_EGRESS_MAC_PKT1 \ + 0x10760UL +#define NIG_REG_STAT1_BRB_DISCARD \ + 0x10628UL +#define NIG_REG_STAT1_EGRESS_MAC_PKT0 \ + 0x107a0UL +#define NIG_REG_STAT1_EGRESS_MAC_PKT1 \ + 0x107b0UL +#define NIG_REG_STAT2_BRB_OCTET \ + 0x107e0UL +#define NIG_REG_STATUS_INTERRUPT_PORT0 \ + 0x10328UL +#define NIG_REG_STRAP_OVERRIDE \ + 0x10398UL +#define NIG_REG_XCM0_OUT_EN \ + 0x100f0UL +#define NIG_REG_XCM1_OUT_EN \ + 0x100f4UL +#define NIG_REG_XGXS0_CTRL_MD_DEVAD \ + 0x1033cUL +#define NIG_REG_XGXS0_CTRL_MD_ST \ + 0x10338UL +#define NIG_REG_XGXS0_CTRL_PHY_ADDR \ + 0x10340UL +#define NIG_REG_XGXS0_STATUS_LINK10G \ + 0x10680UL +#define NIG_REG_XGXS0_STATUS_LINK_STATUS \ + 0x10684UL +#define NIG_REG_XGXS_LANE_SEL_P0 \ + 0x102e8UL +#define NIG_REG_XGXS_SERDES0_MODE_SEL \ + 0x102e0UL +#define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_EMAC0_MISC_MI_INT \ + (0x1<<0) +#define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_SERDES0_LINK_STATUS \ + (0x1<<9) +#define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_XGXS0_LINK10G \ + (0x1<<15) +#define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_XGXS0_LINK_STATUS \ + (0xf<<18) +#define NIG_STATUS_INTERRUPT_PORT0_REG_STATUS_XGXS0_LINK_STATUS_SIZE \ + 18 +#define PBF_REG_COS0_UPPER_BOUND \ + 0x15c05cUL +#define PBF_REG_COS0_UPPER_BOUND_P0 \ + 0x15c2ccUL +#define PBF_REG_COS0_UPPER_BOUND_P1 \ + 0x15c2e4UL +#define PBF_REG_COS0_WEIGHT \ + 0x15c054UL +#define PBF_REG_COS0_WEIGHT_P0 \ + 0x15c2a8UL +#define PBF_REG_COS0_WEIGHT_P1 \ + 0x15c2c0UL +#define PBF_REG_COS1_UPPER_BOUND \ + 0x15c060UL +#define PBF_REG_COS1_WEIGHT \ + 0x15c058UL +#define PBF_REG_COS1_WEIGHT_P0 \ + 0x15c2acUL +#define PBF_REG_COS1_WEIGHT_P1 \ + 0x15c2c4UL +#define PBF_REG_COS2_WEIGHT_P0 \ + 0x15c2b0UL +#define PBF_REG_COS2_WEIGHT_P1 \ + 0x15c2c8UL +#define PBF_REG_COS3_WEIGHT_P0 \ + 0x15c2b4UL +#define PBF_REG_COS4_WEIGHT_P0 \ + 0x15c2b8UL +#define PBF_REG_COS5_WEIGHT_P0 \ + 0x15c2bcUL +#define PBF_REG_CREDIT_LB_Q \ + 0x140338UL +#define PBF_REG_CREDIT_Q0 \ + 0x14033cUL +#define PBF_REG_CREDIT_Q1 \ + 0x140340UL +#define PBF_REG_DISABLE_NEW_TASK_PROC_P0 \ + 0x14005cUL +#define PBF_REG_DISABLE_PF \ + 0x1402e8UL +#define PBF_REG_DISABLE_VF \ + 0x1402ecUL +#define PBF_REG_ETS_ARB_CLIENT_CREDIT_MAP_P0 \ + 0x15c288UL +#define PBF_REG_ETS_ARB_CLIENT_CREDIT_MAP_P1 \ + 0x15c28cUL +#define PBF_REG_ETS_ARB_CLIENT_IS_STRICT_P0 \ + 0x15c278UL +#define PBF_REG_ETS_ARB_CLIENT_IS_STRICT_P1 \ + 0x15c27cUL +#define PBF_REG_ETS_ARB_CLIENT_IS_SUBJECT2WFQ_P0 \ + 0x15c280UL +#define PBF_REG_ETS_ARB_CLIENT_IS_SUBJECT2WFQ_P1 \ + 0x15c284UL +#define PBF_REG_ETS_ARB_NUM_STRICT_ARB_SLOTS_P0 \ + 0x15c2a0UL +#define PBF_REG_ETS_ARB_NUM_STRICT_ARB_SLOTS_P1 \ + 0x15c2a4UL +#define PBF_REG_ETS_ARB_PRIORITY_CLIENT_P0 \ + 0x15c270UL +#define PBF_REG_ETS_ARB_PRIORITY_CLIENT_P1 \ + 0x15c274UL +#define PBF_REG_ETS_ENABLED \ + 0x15c050UL +#define PBF_REG_HDRS_AFTER_BASIC \ + 0x15c0a8UL +#define PBF_REG_HDRS_AFTER_TAG_0 \ + 0x15c0b8UL +#define PBF_REG_HIGH_PRIORITY_COS_NUM \ + 0x15c04cUL +#define PBF_REG_INIT_CRD_LB_Q \ + 0x15c248UL +#define PBF_REG_INIT_CRD_Q0 \ + 0x15c230UL +#define PBF_REG_INIT_CRD_Q1 \ + 0x15c234UL +#define PBF_REG_INIT_P0 \ + 0x140004UL +#define PBF_REG_INTERNAL_CRD_FREED_CNT_LB_Q \ + 0x140354UL +#define PBF_REG_INTERNAL_CRD_FREED_CNT_Q0 \ + 0x140358UL +#define PBF_REG_INTERNAL_CRD_FREED_CNT_Q1 \ + 0x14035cUL +#define PBF_REG_MUST_HAVE_HDRS \ + 0x15c0c4UL +#define PBF_REG_NUM_STRICT_ARB_SLOTS \ + 0x15c064UL +#define PBF_REG_P0_ARB_THRSH \ + 0x1400e4UL +#define PBF_REG_P0_CREDIT \ + 0x140200UL +#define PBF_REG_P0_INIT_CRD \ + 0x1400d0UL +#define PBF_REG_P0_INTERNAL_CRD_FREED_CNT \ + 0x140308UL +#define PBF_REG_P0_PAUSE_ENABLE \ + 0x140014UL +#define PBF_REG_P0_TQ_LINES_FREED_CNT \ + 0x1402f0UL +#define PBF_REG_P0_TQ_OCCUPANCY \ + 0x1402fcUL +#define PBF_REG_P1_CREDIT \ + 0x140208UL +#define PBF_REG_P1_INIT_CRD \ + 0x1400d4UL +#define PBF_REG_P1_INTERNAL_CRD_FREED_CNT \ + 0x14030cUL +#define PBF_REG_P1_TQ_LINES_FREED_CNT \ + 0x1402f4UL +#define PBF_REG_P1_TQ_OCCUPANCY \ + 0x140300UL +#define PBF_REG_P4_CREDIT \ + 0x140210UL +#define PBF_REG_P4_INIT_CRD \ + 0x1400e0UL +#define PBF_REG_P4_INTERNAL_CRD_FREED_CNT \ + 0x140310UL +#define PBF_REG_P4_TQ_LINES_FREED_CNT \ + 0x1402f8UL +#define PBF_REG_P4_TQ_OCCUPANCY \ + 0x140304UL +#define PBF_REG_PBF_INT_MASK \ + 0x1401d4UL +#define PBF_REG_PBF_PRTY_MASK \ + 0x1401e4UL +#define PBF_REG_PBF_PRTY_STS_CLR \ + 0x1401dcUL +#define PBF_REG_TAG_ETHERTYPE_0 \ + 0x15c090UL +#define PBF_REG_TAG_LEN_0 \ + 0x15c09cUL +#define PBF_REG_TQ_LINES_FREED_CNT_LB_Q \ + 0x14038cUL +#define PBF_REG_TQ_LINES_FREED_CNT_Q0 \ + 0x140390UL +#define PBF_REG_TQ_LINES_FREED_CNT_Q1 \ + 0x140394UL +#define PBF_REG_TQ_OCCUPANCY_LB_Q \ + 0x1403a8UL +#define PBF_REG_TQ_OCCUPANCY_Q0 \ + 0x1403acUL +#define PBF_REG_TQ_OCCUPANCY_Q1 \ + 0x1403b0UL +#define PB_REG_PB_INT_MASK \ + 0x28UL +#define PB_REG_PB_PRTY_MASK \ + 0x38UL +#define PB_REG_PB_PRTY_STS_CLR \ + 0x30UL +#define PGLUE_B_PGLUE_B_INT_STS_REG_ADDRESS_ERROR \ + (0x1<<0) +#define PGLUE_B_PGLUE_B_INT_STS_REG_CSSNOOP_FIFO_OVERFLOW \ + (0x1<<8) +#define PGLUE_B_PGLUE_B_INT_STS_REG_INCORRECT_RCV_BEHAVIOR \ + (0x1<<1) +#define PGLUE_B_PGLUE_B_INT_STS_REG_TCPL_ERROR_ATTN \ + (0x1<<6) +#define PGLUE_B_PGLUE_B_INT_STS_REG_TCPL_IN_TWO_RCBS_ATTN \ + (0x1<<7) +#define PGLUE_B_PGLUE_B_INT_STS_REG_VF_GRC_SPACE_VIOLATION_ATTN \ + (0x1<<4) +#define PGLUE_B_PGLUE_B_INT_STS_REG_VF_LENGTH_VIOLATION_ATTN \ + (0x1<<3) +#define PGLUE_B_PGLUE_B_INT_STS_REG_VF_MSIX_BAR_VIOLATION_ATTN \ + (0x1<<5) +#define PGLUE_B_PGLUE_B_INT_STS_REG_WAS_ERROR_ATTN \ + (0x1<<2) +#define PGLUE_B_REG_FLR_REQUEST_PF_7_0_CLR \ + 0x9418UL +#define PGLUE_B_REG_WAS_ERROR_VF_31_0_CLR \ + 0x9478UL +#define PGLUE_B_REG_WAS_ERROR_VF_63_32_CLR \ + 0x947cUL +#define PGLUE_B_REG_WAS_ERROR_VF_95_64_CLR \ + 0x9480UL +#define PGLUE_B_REG_WAS_ERROR_VF_127_96_CLR \ + 0x9474UL +#define PGLUE_B_REG_INTERNAL_PFID_ENABLE_MASTER \ + 0x942cUL +#define PGLUE_B_REG_INTERNAL_PFID_ENABLE_TARGET_READ \ + 0x9430UL +#define PGLUE_B_REG_INTERNAL_VFID_ENABLE \ + 0x9438UL +#define PGLUE_B_REG_PGLUE_B_INT_STS \ + 0x9298UL +#define PGLUE_B_REG_PGLUE_B_INT_STS_CLR \ + 0x929cUL +#define PGLUE_B_REG_PGLUE_B_PRTY_MASK \ + 0x92b4UL +#define PGLUE_B_REG_PGLUE_B_PRTY_STS_CLR \ + 0x92acUL +#define PGLUE_B_REG_SHADOW_BME_PF_7_0_CLR \ + 0x9458UL +#define PGLUE_B_REG_TAGS_63_32 \ + 0x9244UL +#define PGLUE_B_REG_WAS_ERROR_PF_7_0_CLR \ + 0x9470UL +#define PRS_REG_A_PRSU_20 \ + 0x40134UL +#define PRS_REG_CFC_SEARCH_INITIAL_CREDIT \ + 0x4011cUL +#define PRS_REG_E1HOV_MODE \ + 0x401c8UL +#define PRS_REG_HDRS_AFTER_BASIC \ + 0x40238UL +#define PRS_REG_HDRS_AFTER_BASIC_PORT_0 \ + 0x40270UL +#define PRS_REG_HDRS_AFTER_BASIC_PORT_1 \ + 0x40290UL +#define PRS_REG_HDRS_AFTER_TAG_0 \ + 0x40248UL +#define PRS_REG_HDRS_AFTER_TAG_0_PORT_0 \ + 0x40280UL +#define PRS_REG_HDRS_AFTER_TAG_0_PORT_1 \ + 0x402a0UL +#define PRS_REG_MUST_HAVE_HDRS \ + 0x40254UL +#define PRS_REG_MUST_HAVE_HDRS_PORT_0 \ + 0x4028cUL +#define PRS_REG_MUST_HAVE_HDRS_PORT_1 \ + 0x402acUL +#define PRS_REG_NIC_MODE \ + 0x40138UL +#define PRS_REG_NUM_OF_PACKETS \ + 0x40124UL +#define PRS_REG_PRS_PRTY_MASK \ + 0x401a4UL +#define PRS_REG_PRS_PRTY_STS_CLR \ + 0x4019cUL +#define PRS_REG_TAG_ETHERTYPE_0 \ + 0x401d4UL +#define PRS_REG_TAG_LEN_0 \ + 0x4022cUL +#define PXP2_PXP2_INT_MASK_0_REG_PGL_CPL_AFT \ + (0x1<<19) +#define PXP2_PXP2_INT_MASK_0_REG_PGL_CPL_OF \ + (0x1<<20) +#define PXP2_PXP2_INT_MASK_0_REG_PGL_PCIE_ATTN \ + (0x1<<22) +#define PXP2_PXP2_INT_MASK_0_REG_PGL_READ_BLOCKED \ + (0x1<<23) +#define PXP2_PXP2_INT_MASK_0_REG_PGL_WRITE_BLOCKED \ + (0x1<<24) +#define PXP2_PXP2_INT_STS_0_REG_WR_PGLUE_EOP_ERROR \ + (0x1<<7) +#define PXP2_PXP2_INT_STS_CLR_0_REG_WR_PGLUE_EOP_ERROR \ + (0x1<<7) +#define PXP2_REG_PGL_ADDR_88_F0 \ + 0x120534UL +#define PXP2_REG_PGL_ADDR_88_F1 \ + 0x120544UL +#define PXP2_REG_PGL_ADDR_8C_F0 \ + 0x120538UL +#define PXP2_REG_PGL_ADDR_8C_F1 \ + 0x120548UL +#define PXP2_REG_PGL_ADDR_90_F0 \ + 0x12053cUL +#define PXP2_REG_PGL_ADDR_90_F1 \ + 0x12054cUL +#define PXP2_REG_PGL_ADDR_94_F0 \ + 0x120540UL +#define PXP2_REG_PGL_ADDR_94_F1 \ + 0x120550UL +#define PXP2_REG_PGL_EXP_ROM2 \ + 0x120808UL +#define PXP2_REG_PGL_PRETEND_FUNC_F0 \ + 0x120674UL +#define PXP2_REG_PGL_PRETEND_FUNC_F1 \ + 0x120678UL +#define PXP2_REG_PGL_TAGS_LIMIT \ + 0x1205a8UL +#define PXP2_REG_PSWRQ_BW_ADD1 \ + 0x1201c0UL +#define PXP2_REG_PSWRQ_BW_ADD10 \ + 0x1201e4UL +#define PXP2_REG_PSWRQ_BW_ADD11 \ + 0x1201e8UL +#define PXP2_REG_PSWRQ_BW_ADD2 \ + 0x1201c4UL +#define PXP2_REG_PSWRQ_BW_ADD28 \ + 0x120228UL +#define PXP2_REG_PSWRQ_BW_ADD3 \ + 0x1201c8UL +#define PXP2_REG_PSWRQ_BW_ADD6 \ + 0x1201d4UL +#define PXP2_REG_PSWRQ_BW_ADD7 \ + 0x1201d8UL +#define PXP2_REG_PSWRQ_BW_ADD8 \ + 0x1201dcUL +#define PXP2_REG_PSWRQ_BW_ADD9 \ + 0x1201e0UL +#define PXP2_REG_PSWRQ_BW_L1 \ + 0x1202b0UL +#define PXP2_REG_PSWRQ_BW_L10 \ + 0x1202d4UL +#define PXP2_REG_PSWRQ_BW_L11 \ + 0x1202d8UL +#define PXP2_REG_PSWRQ_BW_L2 \ + 0x1202b4UL +#define PXP2_REG_PSWRQ_BW_L28 \ + 0x120318UL +#define PXP2_REG_PSWRQ_BW_L3 \ + 0x1202b8UL +#define PXP2_REG_PSWRQ_BW_L6 \ + 0x1202c4UL +#define PXP2_REG_PSWRQ_BW_L7 \ + 0x1202c8UL +#define PXP2_REG_PSWRQ_BW_L8 \ + 0x1202ccUL +#define PXP2_REG_PSWRQ_BW_L9 \ + 0x1202d0UL +#define PXP2_REG_PSWRQ_BW_RD \ + 0x120324UL +#define PXP2_REG_PSWRQ_BW_UB1 \ + 0x120238UL +#define PXP2_REG_PSWRQ_BW_UB10 \ + 0x12025cUL +#define PXP2_REG_PSWRQ_BW_UB11 \ + 0x120260UL +#define PXP2_REG_PSWRQ_BW_UB2 \ + 0x12023cUL +#define PXP2_REG_PSWRQ_BW_UB28 \ + 0x1202a0UL +#define PXP2_REG_PSWRQ_BW_UB3 \ + 0x120240UL +#define PXP2_REG_PSWRQ_BW_UB6 \ + 0x12024cUL +#define PXP2_REG_PSWRQ_BW_UB7 \ + 0x120250UL +#define PXP2_REG_PSWRQ_BW_UB8 \ + 0x120254UL +#define PXP2_REG_PSWRQ_BW_UB9 \ + 0x120258UL +#define PXP2_REG_PSWRQ_BW_WR \ + 0x120328UL +#define PXP2_REG_PSWRQ_CDU0_L2P \ + 0x120000UL +#define PXP2_REG_PSWRQ_QM0_L2P \ + 0x120038UL +#define PXP2_REG_PSWRQ_SRC0_L2P \ + 0x120054UL +#define PXP2_REG_PSWRQ_TM0_L2P \ + 0x12001cUL +#define PXP2_REG_PXP2_INT_MASK_0 \ + 0x120578UL +#define PXP2_REG_PXP2_INT_MASK_1 \ + 0x120614UL +#define PXP2_REG_PXP2_INT_STS_0 \ + 0x12056cUL +#define PXP2_REG_PXP2_INT_STS_1 \ + 0x120608UL +#define PXP2_REG_PXP2_INT_STS_CLR_0 \ + 0x120570UL +#define PXP2_REG_PXP2_PRTY_MASK_0 \ + 0x120588UL +#define PXP2_REG_PXP2_PRTY_MASK_1 \ + 0x120598UL +#define PXP2_REG_PXP2_PRTY_STS_CLR_0 \ + 0x120580UL +#define PXP2_REG_PXP2_PRTY_STS_CLR_1 \ + 0x120590UL +#define PXP2_REG_RD_BLK_CNT \ + 0x120418UL +#define PXP2_REG_RD_CDURD_SWAP_MODE \ + 0x120404UL +#define PXP2_REG_RD_DISABLE_INPUTS \ + 0x120374UL +#define PXP2_REG_RD_INIT_DONE \ + 0x120370UL +#define PXP2_REG_RD_PBF_SWAP_MODE \ + 0x1203f4UL +#define PXP2_REG_RD_PORT_IS_IDLE_0 \ + 0x12041cUL +#define PXP2_REG_RD_PORT_IS_IDLE_1 \ + 0x120420UL +#define PXP2_REG_RD_QM_SWAP_MODE \ + 0x1203f8UL +#define PXP2_REG_RD_SRC_SWAP_MODE \ + 0x120400UL +#define PXP2_REG_RD_SR_CNT \ + 0x120414UL +#define PXP2_REG_RD_START_INIT \ + 0x12036cUL +#define PXP2_REG_RD_TM_SWAP_MODE \ + 0x1203fcUL +#define PXP2_REG_RQ_BW_RD_ADD0 \ + 0x1201bcUL +#define PXP2_REG_RQ_BW_RD_ADD12 \ + 0x1201ecUL +#define PXP2_REG_RQ_BW_RD_ADD13 \ + 0x1201f0UL +#define PXP2_REG_RQ_BW_RD_ADD14 \ + 0x1201f4UL +#define PXP2_REG_RQ_BW_RD_ADD15 \ + 0x1201f8UL +#define PXP2_REG_RQ_BW_RD_ADD16 \ + 0x1201fcUL +#define PXP2_REG_RQ_BW_RD_ADD17 \ + 0x120200UL +#define PXP2_REG_RQ_BW_RD_ADD18 \ + 0x120204UL +#define PXP2_REG_RQ_BW_RD_ADD19 \ + 0x120208UL +#define PXP2_REG_RQ_BW_RD_ADD20 \ + 0x12020cUL +#define PXP2_REG_RQ_BW_RD_ADD22 \ + 0x120210UL +#define PXP2_REG_RQ_BW_RD_ADD23 \ + 0x120214UL +#define PXP2_REG_RQ_BW_RD_ADD24 \ + 0x120218UL +#define PXP2_REG_RQ_BW_RD_ADD25 \ + 0x12021cUL +#define PXP2_REG_RQ_BW_RD_ADD26 \ + 0x120220UL +#define PXP2_REG_RQ_BW_RD_ADD27 \ + 0x120224UL +#define PXP2_REG_RQ_BW_RD_ADD4 \ + 0x1201ccUL +#define PXP2_REG_RQ_BW_RD_ADD5 \ + 0x1201d0UL +#define PXP2_REG_RQ_BW_RD_L0 \ + 0x1202acUL +#define PXP2_REG_RQ_BW_RD_L12 \ + 0x1202dcUL +#define PXP2_REG_RQ_BW_RD_L13 \ + 0x1202e0UL +#define PXP2_REG_RQ_BW_RD_L14 \ + 0x1202e4UL +#define PXP2_REG_RQ_BW_RD_L15 \ + 0x1202e8UL +#define PXP2_REG_RQ_BW_RD_L16 \ + 0x1202ecUL +#define PXP2_REG_RQ_BW_RD_L17 \ + 0x1202f0UL +#define PXP2_REG_RQ_BW_RD_L18 \ + 0x1202f4UL +#define PXP2_REG_RQ_BW_RD_L19 \ + 0x1202f8UL +#define PXP2_REG_RQ_BW_RD_L20 \ + 0x1202fcUL +#define PXP2_REG_RQ_BW_RD_L22 \ + 0x120300UL +#define PXP2_REG_RQ_BW_RD_L23 \ + 0x120304UL +#define PXP2_REG_RQ_BW_RD_L24 \ + 0x120308UL +#define PXP2_REG_RQ_BW_RD_L25 \ + 0x12030cUL +#define PXP2_REG_RQ_BW_RD_L26 \ + 0x120310UL +#define PXP2_REG_RQ_BW_RD_L27 \ + 0x120314UL +#define PXP2_REG_RQ_BW_RD_L4 \ + 0x1202bcUL +#define PXP2_REG_RQ_BW_RD_L5 \ + 0x1202c0UL +#define PXP2_REG_RQ_BW_RD_UBOUND0 \ + 0x120234UL +#define PXP2_REG_RQ_BW_RD_UBOUND12 \ + 0x120264UL +#define PXP2_REG_RQ_BW_RD_UBOUND13 \ + 0x120268UL +#define PXP2_REG_RQ_BW_RD_UBOUND14 \ + 0x12026cUL +#define PXP2_REG_RQ_BW_RD_UBOUND15 \ + 0x120270UL +#define PXP2_REG_RQ_BW_RD_UBOUND16 \ + 0x120274UL +#define PXP2_REG_RQ_BW_RD_UBOUND17 \ + 0x120278UL +#define PXP2_REG_RQ_BW_RD_UBOUND18 \ + 0x12027cUL +#define PXP2_REG_RQ_BW_RD_UBOUND19 \ + 0x120280UL +#define PXP2_REG_RQ_BW_RD_UBOUND20 \ + 0x120284UL +#define PXP2_REG_RQ_BW_RD_UBOUND22 \ + 0x120288UL +#define PXP2_REG_RQ_BW_RD_UBOUND23 \ + 0x12028cUL +#define PXP2_REG_RQ_BW_RD_UBOUND24 \ + 0x120290UL +#define PXP2_REG_RQ_BW_RD_UBOUND25 \ + 0x120294UL +#define PXP2_REG_RQ_BW_RD_UBOUND26 \ + 0x120298UL +#define PXP2_REG_RQ_BW_RD_UBOUND27 \ + 0x12029cUL +#define PXP2_REG_RQ_BW_RD_UBOUND4 \ + 0x120244UL +#define PXP2_REG_RQ_BW_RD_UBOUND5 \ + 0x120248UL +#define PXP2_REG_RQ_BW_WR_ADD29 \ + 0x12022cUL +#define PXP2_REG_RQ_BW_WR_ADD30 \ + 0x120230UL +#define PXP2_REG_RQ_BW_WR_L29 \ + 0x12031cUL +#define PXP2_REG_RQ_BW_WR_L30 \ + 0x120320UL +#define PXP2_REG_RQ_BW_WR_UBOUND29 \ + 0x1202a4UL +#define PXP2_REG_RQ_BW_WR_UBOUND30 \ + 0x1202a8UL +#define PXP2_REG_RQ_CDU_ENDIAN_M \ + 0x1201a0UL +#define PXP2_REG_RQ_CDU_FIRST_ILT \ + 0x12061cUL +#define PXP2_REG_RQ_CDU_LAST_ILT \ + 0x120620UL +#define PXP2_REG_RQ_CDU_P_SIZE \ + 0x120018UL +#define PXP2_REG_RQ_CFG_DONE \ + 0x1201b4UL +#define PXP2_REG_RQ_DBG_ENDIAN_M \ + 0x1201a4UL +#define PXP2_REG_RQ_DISABLE_INPUTS \ + 0x120330UL +#define PXP2_REG_RQ_DRAM_ALIGN \ + 0x1205b0UL +#define PXP2_REG_RQ_DRAM_ALIGN_RD \ + 0x12092cUL +#define PXP2_REG_RQ_DRAM_ALIGN_SEL \ + 0x120930UL +#define PXP2_REG_RQ_HC_ENDIAN_M \ + 0x1201a8UL +#define PXP2_REG_RQ_ONCHIP_AT \ + 0x122000UL +#define PXP2_REG_RQ_ONCHIP_AT_B0 \ + 0x128000UL +#define PXP2_REG_RQ_PDR_LIMIT \ + 0x12033cUL +#define PXP2_REG_RQ_QM_ENDIAN_M \ + 0x120194UL +#define PXP2_REG_RQ_QM_FIRST_ILT \ + 0x120634UL +#define PXP2_REG_RQ_QM_LAST_ILT \ + 0x120638UL +#define PXP2_REG_RQ_QM_P_SIZE \ + 0x120050UL +#define PXP2_REG_RQ_RBC_DONE \ + 0x1201b0UL +#define PXP2_REG_RQ_RD_MBS0 \ + 0x120160UL +#define PXP2_REG_RQ_RD_MBS1 \ + 0x120168UL +#define PXP2_REG_RQ_SRC_ENDIAN_M \ + 0x12019cUL +#define PXP2_REG_RQ_SRC_FIRST_ILT \ + 0x12063cUL +#define PXP2_REG_RQ_SRC_LAST_ILT \ + 0x120640UL +#define PXP2_REG_RQ_SRC_P_SIZE \ + 0x12006cUL +#define PXP2_REG_RQ_TM_ENDIAN_M \ + 0x120198UL +#define PXP2_REG_RQ_TM_FIRST_ILT \ + 0x120644UL +#define PXP2_REG_RQ_TM_LAST_ILT \ + 0x120648UL +#define PXP2_REG_RQ_TM_P_SIZE \ + 0x120034UL +#define PXP2_REG_RQ_WR_MBS0 \ + 0x12015cUL +#define PXP2_REG_RQ_WR_MBS1 \ + 0x120164UL +#define PXP2_REG_WR_CDU_MPS \ + 0x1205f0UL +#define PXP2_REG_WR_CSDM_MPS \ + 0x1205d0UL +#define PXP2_REG_WR_DBG_MPS \ + 0x1205e8UL +#define PXP2_REG_WR_DMAE_MPS \ + 0x1205ecUL +#define PXP2_REG_WR_HC_MPS \ + 0x1205c8UL +#define PXP2_REG_WR_QM_MPS \ + 0x1205dcUL +#define PXP2_REG_WR_SRC_MPS \ + 0x1205e4UL +#define PXP2_REG_WR_TM_MPS \ + 0x1205e0UL +#define PXP2_REG_WR_TSDM_MPS \ + 0x1205d4UL +#define PXP2_REG_WR_USDMDP_TH \ + 0x120348UL +#define PXP2_REG_WR_USDM_MPS \ + 0x1205ccUL +#define PXP2_REG_WR_XSDM_MPS \ + 0x1205d8UL +#define PXP_REG_HST_DISCARD_DOORBELLS \ + 0x1030a4UL +#define PXP_REG_HST_DISCARD_INTERNAL_WRITES \ + 0x1030a8UL +#define PXP_REG_HST_ZONE_PERMISSION_TABLE \ + 0x103400UL +#define PXP_REG_PXP_INT_MASK_0 \ + 0x103074UL +#define PXP_REG_PXP_INT_MASK_1 \ + 0x103084UL +#define PXP_REG_PXP_INT_STS_CLR_0 \ + 0x10306cUL +#define PXP_REG_PXP_INT_STS_CLR_1 \ + 0x10307cUL +#define PXP_REG_PXP_PRTY_MASK \ + 0x103094UL +#define PXP_REG_PXP_PRTY_STS_CLR \ + 0x10308cUL +#define QM_REG_BASEADDR \ + 0x168900UL +#define QM_REG_BASEADDR_EXT_A \ + 0x16e100UL +#define QM_REG_BYTECRDCMDQ_0 \ + 0x16e6e8UL +#define QM_REG_CONNNUM_0 \ + 0x168020UL +#define QM_REG_PF_EN \ + 0x16e70cUL +#define QM_REG_PF_USG_CNT_0 \ + 0x16e040UL +#define QM_REG_PTRTBL \ + 0x168a00UL +#define QM_REG_PTRTBL_EXT_A \ + 0x16e200UL +#define QM_REG_QM_INT_MASK \ + 0x168444UL +#define QM_REG_QM_PRTY_MASK \ + 0x168454UL +#define QM_REG_QM_PRTY_STS_CLR \ + 0x16844cUL +#define QM_REG_QVOQIDX_0 \ + 0x1680f4UL +#define QM_REG_SOFT_RESET \ + 0x168428UL +#define QM_REG_VOQQMASK_0_LSB \ + 0x168240UL +#define SEM_FAST_REG_PARITY_RST \ + 0x18840UL +#define SRC_REG_COUNTFREE0 \ + 0x40500UL +#define SRC_REG_FIRSTFREE0 \ + 0x40510UL +#define SRC_REG_KEYSEARCH_0 \ + 0x40458UL +#define SRC_REG_KEYSEARCH_1 \ + 0x4045cUL +#define SRC_REG_KEYSEARCH_2 \ + 0x40460UL +#define SRC_REG_KEYSEARCH_3 \ + 0x40464UL +#define SRC_REG_KEYSEARCH_4 \ + 0x40468UL +#define SRC_REG_KEYSEARCH_5 \ + 0x4046cUL +#define SRC_REG_KEYSEARCH_6 \ + 0x40470UL +#define SRC_REG_KEYSEARCH_7 \ + 0x40474UL +#define SRC_REG_KEYSEARCH_8 \ + 0x40478UL +#define SRC_REG_KEYSEARCH_9 \ + 0x4047cUL +#define SRC_REG_LASTFREE0 \ + 0x40530UL +#define SRC_REG_NUMBER_HASH_BITS0 \ + 0x40400UL +#define SRC_REG_SOFT_RST \ + 0x4049cUL +#define SRC_REG_SRC_PRTY_MASK \ + 0x404c8UL +#define SRC_REG_SRC_PRTY_STS_CLR \ + 0x404c0UL +#define TCM_REG_PRS_IFEN \ + 0x50020UL +#define TCM_REG_TCM_INT_MASK \ + 0x501dcUL +#define TCM_REG_TCM_PRTY_MASK \ + 0x501ecUL +#define TCM_REG_TCM_PRTY_STS_CLR \ + 0x501e4UL +#define TM_REG_EN_LINEAR0_TIMER \ + 0x164014UL +#define TM_REG_LIN0_MAX_ACTIVE_CID \ + 0x164048UL +#define TM_REG_LIN0_NUM_SCANS \ + 0x1640a0UL +#define TM_REG_LIN0_SCAN_ON \ + 0x1640d0UL +#define TM_REG_LIN0_SCAN_TIME \ + 0x16403cUL +#define TM_REG_LIN0_VNIC_UC \ + 0x164128UL +#define TM_REG_TM_INT_MASK \ + 0x1640fcUL +#define TM_REG_TM_PRTY_MASK \ + 0x16410cUL +#define TM_REG_TM_PRTY_STS_CLR \ + 0x164104UL +#define TSDM_REG_ENABLE_IN1 \ + 0x42238UL +#define TSDM_REG_TSDM_INT_MASK_0 \ + 0x4229cUL +#define TSDM_REG_TSDM_INT_MASK_1 \ + 0x422acUL +#define TSDM_REG_TSDM_PRTY_MASK \ + 0x422bcUL +#define TSDM_REG_TSDM_PRTY_STS_CLR \ + 0x422b4UL +#define TSEM_REG_FAST_MEMORY \ + 0x1a0000UL +#define TSEM_REG_INT_TABLE \ + 0x180400UL +#define TSEM_REG_PASSIVE_BUFFER \ + 0x181000UL +#define TSEM_REG_PRAM \ + 0x1c0000UL +#define TSEM_REG_TSEM_INT_MASK_0 \ + 0x180100UL +#define TSEM_REG_TSEM_INT_MASK_1 \ + 0x180110UL +#define TSEM_REG_TSEM_PRTY_MASK_0 \ + 0x180120UL +#define TSEM_REG_TSEM_PRTY_MASK_1 \ + 0x180130UL +#define TSEM_REG_TSEM_PRTY_STS_CLR_0 \ + 0x180118UL +#define TSEM_REG_TSEM_PRTY_STS_CLR_1 \ + 0x180128UL +#define TSEM_REG_VFPF_ERR_NUM \ + 0x180380UL +#define UCM_REG_UCM_INT_MASK \ + 0xe01d4UL +#define UCM_REG_UCM_PRTY_MASK \ + 0xe01e4UL +#define UCM_REG_UCM_PRTY_STS_CLR \ + 0xe01dcUL +#define UMAC_COMMAND_CONFIG_REG_HD_ENA \ + (0x1<<10) +#define UMAC_COMMAND_CONFIG_REG_IGNORE_TX_PAUSE \ + (0x1<<28) +#define UMAC_COMMAND_CONFIG_REG_LOOP_ENA \ + (0x1<<15) +#define UMAC_COMMAND_CONFIG_REG_NO_LGTH_CHECK \ + (0x1<<24) +#define UMAC_COMMAND_CONFIG_REG_PAD_EN \ + (0x1<<5) +#define UMAC_COMMAND_CONFIG_REG_PAUSE_IGNORE \ + (0x1<<8) +#define UMAC_COMMAND_CONFIG_REG_PROMIS_EN \ + (0x1<<4) +#define UMAC_COMMAND_CONFIG_REG_RX_ENA \ + (0x1<<1) +#define UMAC_COMMAND_CONFIG_REG_SW_RESET \ + (0x1<<13) +#define UMAC_COMMAND_CONFIG_REG_TX_ENA \ + (0x1<<0) +#define UMAC_REG_COMMAND_CONFIG \ + 0x8UL +#define UMAC_REG_EEE_WAKE_TIMER \ + 0x6cUL +#define UMAC_REG_MAC_ADDR0 \ + 0xcUL +#define UMAC_REG_MAC_ADDR1 \ + 0x10UL +#define UMAC_REG_MAXFR \ + 0x14UL +#define UMAC_REG_UMAC_EEE_CTRL \ + 0x64UL +#define UMAC_UMAC_EEE_CTRL_REG_EEE_EN \ + (0x1<<3) +#define USDM_REG_USDM_INT_MASK_0 \ + 0xc42a0UL +#define USDM_REG_USDM_INT_MASK_1 \ + 0xc42b0UL +#define USDM_REG_USDM_PRTY_MASK \ + 0xc42c0UL +#define USDM_REG_USDM_PRTY_STS_CLR \ + 0xc42b8UL +#define USEM_REG_FAST_MEMORY \ + 0x320000UL +#define USEM_REG_INT_TABLE \ + 0x300400UL +#define USEM_REG_PASSIVE_BUFFER \ + 0x302000UL +#define USEM_REG_PRAM \ + 0x340000UL +#define USEM_REG_USEM_INT_MASK_0 \ + 0x300110UL +#define USEM_REG_USEM_INT_MASK_1 \ + 0x300120UL +#define USEM_REG_USEM_PRTY_MASK_0 \ + 0x300130UL +#define USEM_REG_USEM_PRTY_MASK_1 \ + 0x300140UL +#define USEM_REG_USEM_PRTY_STS_CLR_0 \ + 0x300128UL +#define USEM_REG_USEM_PRTY_STS_CLR_1 \ + 0x300138UL +#define USEM_REG_VFPF_ERR_NUM \ + 0x300380UL +#define VFC_MEMORIES_RST_REG_CAM_RST \ + (0x1<<0) +#define VFC_MEMORIES_RST_REG_RAM_RST \ + (0x1<<1) +#define VFC_REG_MEMORIES_RST \ + 0x1943cUL +#define XCM_REG_XCM_INT_MASK \ + 0x202b4UL +#define XCM_REG_XCM_PRTY_MASK \ + 0x202c4UL +#define XCM_REG_XCM_PRTY_STS_CLR \ + 0x202bcUL +#define XMAC_CLEAR_RX_LSS_STATUS_REG_CLEAR_LOCAL_FAULT_STATUS \ + (0x1<<0) +#define XMAC_CLEAR_RX_LSS_STATUS_REG_CLEAR_REMOTE_FAULT_STATUS \ + (0x1<<1) +#define XMAC_CTRL_REG_LINE_LOCAL_LPBK \ + (0x1<<2) +#define XMAC_CTRL_REG_RX_EN \ + (0x1<<1) +#define XMAC_CTRL_REG_SOFT_RESET \ + (0x1<<6) +#define XMAC_CTRL_REG_TX_EN \ + (0x1<<0) +#define XMAC_CTRL_REG_XLGMII_ALIGN_ENB \ + (0x1<<7) +#define XMAC_PAUSE_CTRL_REG_RX_PAUSE_EN \ + (0x1<<18) +#define XMAC_PAUSE_CTRL_REG_TX_PAUSE_EN \ + (0x1<<17) +#define XMAC_PFC_CTRL_HI_REG_FORCE_PFC_XON \ + (0x1<<1) +#define XMAC_PFC_CTRL_HI_REG_PFC_REFRESH_EN \ + (0x1<<0) +#define XMAC_PFC_CTRL_HI_REG_PFC_STATS_EN \ + (0x1<<3) +#define XMAC_PFC_CTRL_HI_REG_RX_PFC_EN \ + (0x1<<4) +#define XMAC_PFC_CTRL_HI_REG_TX_PFC_EN \ + (0x1<<5) +#define XMAC_REG_CLEAR_RX_LSS_STATUS \ + 0x60UL +#define XMAC_REG_CTRL \ + 0UL +#define XMAC_REG_CTRL_SA_HI \ + 0x2cUL +#define XMAC_REG_CTRL_SA_LO \ + 0x28UL +#define XMAC_REG_EEE_CTRL \ + 0xd8UL +#define XMAC_REG_EEE_TIMERS_HI \ + 0xe4UL +#define XMAC_REG_PAUSE_CTRL \ + 0x68UL +#define XMAC_REG_PFC_CTRL \ + 0x70UL +#define XMAC_REG_PFC_CTRL_HI \ + 0x74UL +#define XMAC_REG_RX_LSS_CTRL \ + 0x50UL +#define XMAC_REG_RX_LSS_STATUS \ + 0x58UL +#define XMAC_REG_RX_MAX_SIZE \ + 0x40UL +#define XMAC_REG_TX_CTRL \ + 0x20UL +#define XMAC_RX_LSS_CTRL_REG_LOCAL_FAULT_DISABLE \ + (0x1<<0) +#define XMAC_RX_LSS_CTRL_REG_REMOTE_FAULT_DISABLE \ + (0x1<<1) +#define XSDM_REG_OPERATION_GEN \ + 0x1664c4UL +#define XSDM_REG_XSDM_INT_MASK_0 \ + 0x16629cUL +#define XSDM_REG_XSDM_INT_MASK_1 \ + 0x1662acUL +#define XSDM_REG_XSDM_PRTY_MASK \ + 0x1662bcUL +#define XSDM_REG_XSDM_PRTY_STS_CLR \ + 0x1662b4UL +#define XSEM_REG_FAST_MEMORY \ + 0x2a0000UL +#define XSEM_REG_INT_TABLE \ + 0x280400UL +#define XSEM_REG_PASSIVE_BUFFER \ + 0x282000UL +#define XSEM_REG_PRAM \ + 0x2c0000UL +#define XSEM_REG_VFPF_ERR_NUM \ + 0x280380UL +#define XSEM_REG_XSEM_INT_MASK_0 \ + 0x280110UL +#define XSEM_REG_XSEM_INT_MASK_1 \ + 0x280120UL +#define XSEM_REG_XSEM_PRTY_MASK_0 \ + 0x280130UL +#define XSEM_REG_XSEM_PRTY_MASK_1 \ + 0x280140UL +#define XSEM_REG_XSEM_PRTY_STS_CLR_0 \ + 0x280128UL +#define XSEM_REG_XSEM_PRTY_STS_CLR_1 \ + 0x280138UL +#define MCPR_ACCESS_LOCK_LOCK (1L<<31) +#define MCPR_IMC_COMMAND_ENABLE (1L<<31) +#define MCPR_IMC_COMMAND_IMC_STATUS_BITSHIFT 16 +#define MCPR_IMC_COMMAND_OPERATION_BITSHIFT 28 +#define MCPR_IMC_COMMAND_TRANSFER_ADDRESS_BITSHIFT 8 +#define MCPR_NVM_ACCESS_ENABLE_EN (1L<<0) +#define MCPR_NVM_ACCESS_ENABLE_WR_EN (1L<<1) +#define MCPR_NVM_ADDR_NVM_ADDR_VALUE (0xffffffL<<0) +#define MCPR_NVM_CFG4_FLASH_SIZE (0x7L<<0) +#define MCPR_NVM_COMMAND_DOIT (1L<<4) +#define MCPR_NVM_COMMAND_DONE (1L<<3) +#define MCPR_NVM_COMMAND_FIRST (1L<<7) +#define MCPR_NVM_COMMAND_LAST (1L<<8) +#define MCPR_NVM_COMMAND_WR (1L<<5) +#define MCPR_NVM_SW_ARB_ARB_ARB1 (1L<<9) +#define MCPR_NVM_SW_ARB_ARB_REQ_CLR1 (1L<<5) +#define MCPR_NVM_SW_ARB_ARB_REQ_SET1 (1L<<1) + + +#define BIGMAC_REGISTER_BMAC_CONTROL (0x00<<3) +#define BIGMAC_REGISTER_BMAC_XGXS_CONTROL (0x01<<3) +#define BIGMAC_REGISTER_CNT_MAX_SIZE (0x05<<3) +#define BIGMAC_REGISTER_RX_CONTROL (0x21<<3) +#define BIGMAC_REGISTER_RX_LLFC_MSG_FLDS (0x46<<3) +#define BIGMAC_REGISTER_RX_LSS_STATUS (0x43<<3) +#define BIGMAC_REGISTER_RX_MAX_SIZE (0x23<<3) +#define BIGMAC_REGISTER_RX_STAT_GR64 (0x26<<3) +#define BIGMAC_REGISTER_RX_STAT_GRIPJ (0x42<<3) +#define BIGMAC_REGISTER_TX_CONTROL (0x07<<3) +#define BIGMAC_REGISTER_TX_MAX_SIZE (0x09<<3) +#define BIGMAC_REGISTER_TX_PAUSE_THRESHOLD (0x0A<<3) +#define BIGMAC_REGISTER_TX_SOURCE_ADDR (0x08<<3) +#define BIGMAC_REGISTER_TX_STAT_GTBYT (0x20<<3) +#define BIGMAC_REGISTER_TX_STAT_GTPKT (0x0C<<3) +#define BIGMAC2_REGISTER_BMAC_CONTROL (0x00<<3) +#define BIGMAC2_REGISTER_BMAC_XGXS_CONTROL (0x01<<3) +#define BIGMAC2_REGISTER_CNT_MAX_SIZE (0x05<<3) +#define BIGMAC2_REGISTER_PFC_CONTROL (0x06<<3) +#define BIGMAC2_REGISTER_RX_CONTROL (0x3A<<3) +#define BIGMAC2_REGISTER_RX_LLFC_MSG_FLDS (0x62<<3) +#define BIGMAC2_REGISTER_RX_LSS_STAT (0x3E<<3) +#define BIGMAC2_REGISTER_RX_MAX_SIZE (0x3C<<3) +#define BIGMAC2_REGISTER_RX_STAT_GR64 (0x40<<3) +#define BIGMAC2_REGISTER_RX_STAT_GRIPJ (0x5f<<3) +#define BIGMAC2_REGISTER_TX_CONTROL (0x1C<<3) +#define BIGMAC2_REGISTER_TX_MAX_SIZE (0x1E<<3) +#define BIGMAC2_REGISTER_TX_PAUSE_CONTROL (0x20<<3) +#define BIGMAC2_REGISTER_TX_SOURCE_ADDR (0x1D<<3) +#define BIGMAC2_REGISTER_TX_STAT_GTBYT (0x39<<3) +#define BIGMAC2_REGISTER_TX_STAT_GTPOK (0x22<<3) + + +#define EMAC_LED_1000MB_OVERRIDE (1L<<1) +#define EMAC_LED_100MB_OVERRIDE (1L<<2) +#define EMAC_LED_10MB_OVERRIDE (1L<<3) +#define EMAC_LED_OVERRIDE (1L<<0) +#define EMAC_MDIO_COMM_COMMAND_ADDRESS (0L<<26) +#define EMAC_MDIO_COMM_COMMAND_READ_22 (2L<<26) +#define EMAC_MDIO_COMM_COMMAND_READ_45 (3L<<26) +#define EMAC_MDIO_COMM_COMMAND_WRITE_22 (1L<<26) +#define EMAC_MDIO_COMM_COMMAND_WRITE_45 (1L<<26) +#define EMAC_MDIO_COMM_DATA (0xffffL<<0) +#define EMAC_MDIO_COMM_START_BUSY (1L<<29) +#define EMAC_MDIO_MODE_AUTO_POLL (1L<<4) +#define EMAC_MDIO_MODE_CLAUSE_45 (1L<<31) +#define EMAC_MDIO_MODE_CLOCK_CNT (0x3ffL<<16) +#define EMAC_MDIO_MODE_CLOCK_CNT_BITSHIFT 16 +#define EMAC_MDIO_STATUS_10MB (1L<<1) +#define EMAC_MODE_25G_MODE (1L<<5) +#define EMAC_MODE_HALF_DUPLEX (1L<<1) +#define EMAC_MODE_PORT_GMII (2L<<2) +#define EMAC_MODE_PORT_MII (1L<<2) +#define EMAC_MODE_PORT_MII_10M (3L<<2) +#define EMAC_MODE_RESET (1L<<0) +#define EMAC_REG_EMAC_LED 0xc +#define EMAC_REG_EMAC_MAC_MATCH 0x10 +#define EMAC_REG_EMAC_MDIO_COMM 0xac +#define EMAC_REG_EMAC_MDIO_MODE 0xb4 +#define EMAC_REG_EMAC_MDIO_STATUS 0xb0 +#define EMAC_REG_EMAC_MODE 0x0 +#define EMAC_REG_EMAC_RX_MODE 0xc8 +#define EMAC_REG_EMAC_RX_MTU_SIZE 0x9c +#define EMAC_REG_EMAC_RX_STAT_AC 0x180 +#define EMAC_REG_EMAC_RX_STAT_AC_28 0x1f4 +#define EMAC_REG_EMAC_RX_STAT_AC_COUNT 23 +#define EMAC_REG_EMAC_TX_MODE 0xbc +#define EMAC_REG_EMAC_TX_STAT_AC 0x280 +#define EMAC_REG_EMAC_TX_STAT_AC_COUNT 22 +#define EMAC_REG_RX_PFC_MODE 0x320 +#define EMAC_REG_RX_PFC_MODE_PRIORITIES (1L<<2) +#define EMAC_REG_RX_PFC_MODE_RX_EN (1L<<1) +#define EMAC_REG_RX_PFC_MODE_TX_EN (1L<<0) +#define EMAC_REG_RX_PFC_PARAM 0x324 +#define EMAC_REG_RX_PFC_PARAM_OPCODE_BITSHIFT 0 +#define EMAC_REG_RX_PFC_PARAM_PRIORITY_EN_BITSHIFT 16 +#define EMAC_REG_RX_PFC_STATS_XOFF_RCVD 0x328 +#define EMAC_REG_RX_PFC_STATS_XOFF_RCVD_COUNT (0xffff<<0) +#define EMAC_REG_RX_PFC_STATS_XOFF_SENT 0x330 +#define EMAC_REG_RX_PFC_STATS_XOFF_SENT_COUNT (0xffff<<0) +#define EMAC_REG_RX_PFC_STATS_XON_RCVD 0x32c +#define EMAC_REG_RX_PFC_STATS_XON_RCVD_COUNT (0xffff<<0) +#define EMAC_REG_RX_PFC_STATS_XON_SENT 0x334 +#define EMAC_REG_RX_PFC_STATS_XON_SENT_COUNT (0xffff<<0) +#define EMAC_RX_MODE_FLOW_EN (1L<<2) +#define EMAC_RX_MODE_KEEP_MAC_CONTROL (1L<<3) +#define EMAC_RX_MODE_KEEP_VLAN_TAG (1L<<10) +#define EMAC_RX_MODE_PROMISCUOUS (1L<<8) +#define EMAC_RX_MODE_RESET (1L<<0) +#define EMAC_RX_MTU_SIZE_JUMBO_ENA (1L<<31) +#define EMAC_TX_MODE_EXT_PAUSE_EN (1L<<3) +#define EMAC_TX_MODE_FLOW_EN (1L<<4) +#define EMAC_TX_MODE_RESET (1L<<0) + + +#define MISC_REGISTERS_GPIO_0 0 +#define MISC_REGISTERS_GPIO_1 1 +#define MISC_REGISTERS_GPIO_2 2 +#define MISC_REGISTERS_GPIO_3 3 +#define MISC_REGISTERS_GPIO_CLR_POS 16 +#define MISC_REGISTERS_GPIO_FLOAT (0xffL<<24) +#define MISC_REGISTERS_GPIO_FLOAT_POS 24 +#define MISC_REGISTERS_GPIO_HIGH 1 +#define MISC_REGISTERS_GPIO_INPUT_HI_Z 2 +#define MISC_REGISTERS_GPIO_INT_CLR_POS 24 +#define MISC_REGISTERS_GPIO_INT_OUTPUT_CLR 0 +#define MISC_REGISTERS_GPIO_INT_OUTPUT_SET 1 +#define MISC_REGISTERS_GPIO_INT_SET_POS 16 +#define MISC_REGISTERS_GPIO_LOW 0 +#define MISC_REGISTERS_GPIO_OUTPUT_HIGH 1 +#define MISC_REGISTERS_GPIO_OUTPUT_LOW 0 +#define MISC_REGISTERS_GPIO_PORT_SHIFT 4 +#define MISC_REGISTERS_GPIO_SET_POS 8 +#define MISC_REGISTERS_RESET_REG_1_CLEAR 0x588 +#define MISC_REGISTERS_RESET_REG_1_RST_BRB1 (0x1<<0) +#define MISC_REGISTERS_RESET_REG_1_RST_DORQ \ + (0x1<<19) +#define MISC_REGISTERS_RESET_REG_1_RST_HC \ + (0x1<<29) +#define MISC_REGISTERS_RESET_REG_1_RST_PXP \ + (0x1<<26) +#define MISC_REGISTERS_RESET_REG_1_RST_PXPV \ + (0x1<<27) +#define MISC_REGISTERS_RESET_REG_1_RST_QM \ + (0x1<<17) +#define MISC_REGISTERS_RESET_REG_1_SET 0x584 +#define MISC_REGISTERS_RESET_REG_2_CLEAR 0x598 +#define MISC_REGISTERS_RESET_REG_2_MSTAT0 \ + (0x1<<24) +#define MISC_REGISTERS_RESET_REG_2_MSTAT1 \ + (0x1<<25) +#define MISC_REGISTERS_RESET_REG_2_PGLC \ + (0x1<<19) +#define MISC_REGISTERS_RESET_REG_2_RST_ATC \ + (0x1<<17) +#define MISC_REGISTERS_RESET_REG_2_RST_BMAC0 (0x1<<0) +#define MISC_REGISTERS_RESET_REG_2_RST_BMAC1 (0x1<<1) +#define MISC_REGISTERS_RESET_REG_2_RST_EMAC0 (0x1<<2) +#define MISC_REGISTERS_RESET_REG_2_RST_EMAC0_HARD_CORE \ + (0x1<<14) +#define MISC_REGISTERS_RESET_REG_2_RST_EMAC1 (0x1<<3) +#define MISC_REGISTERS_RESET_REG_2_RST_EMAC1_HARD_CORE \ + (0x1<<15) +#define MISC_REGISTERS_RESET_REG_2_RST_GRC (0x1<<4) +#define MISC_REGISTERS_RESET_REG_2_RST_MCP_N_HARD_CORE_RST_B (0x1<<6) +#define MISC_REGISTERS_RESET_REG_2_RST_MCP_N_RESET_CMN_CORE (0x1<<8) +#define MISC_REGISTERS_RESET_REG_2_RST_MCP_N_RESET_CMN_CPU (0x1<<7) +#define MISC_REGISTERS_RESET_REG_2_RST_MCP_N_RESET_REG_HARD_CORE (0x1<<5) +#define MISC_REGISTERS_RESET_REG_2_RST_MISC_CORE \ + (0x1<<11) +#define MISC_REGISTERS_RESET_REG_2_RST_PCI_MDIO \ + (0x1<<13) +#define MISC_REGISTERS_RESET_REG_2_RST_PXP_RQ_RD_WR \ + (0x1<<16) +#define MISC_REGISTERS_RESET_REG_2_RST_RBCN (0x1<<9) +#define MISC_REGISTERS_RESET_REG_2_SET 0x594 +#define MISC_REGISTERS_RESET_REG_2_UMAC0 \ + (0x1<<20) +#define MISC_REGISTERS_RESET_REG_2_UMAC1 \ + (0x1<<21) +#define MISC_REGISTERS_RESET_REG_2_XMAC \ + (0x1<<22) +#define MISC_REGISTERS_RESET_REG_2_XMAC_SOFT \ + (0x1<<23) +#define MISC_REGISTERS_RESET_REG_3_CLEAR 0x5a8 +#define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_SERDES0_IDDQ (0x1<<1) +#define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_SERDES0_PWRDWN (0x1<<2) +#define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_SERDES0_PWRDWN_SD (0x1<<3) +#define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_SERDES0_RSTB_HW (0x1<<0) +#define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_XGXS0_IDDQ (0x1<<5) +#define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_XGXS0_PWRDWN (0x1<<6) +#define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_XGXS0_PWRDWN_SD (0x1<<7) +#define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_XGXS0_RSTB_HW (0x1<<4) +#define MISC_REGISTERS_RESET_REG_3_MISC_NIG_MUX_XGXS0_TXD_FIFO_RSTB (0x1<<8) +#define MISC_REGISTERS_RESET_REG_3_SET 0x5a4 +#define MISC_SPIO_CLR_POS 16 +#define MISC_SPIO_FLOAT (0xffL<<24) +#define MISC_SPIO_FLOAT_POS 24 +#define MISC_SPIO_INPUT_HI_Z 2 +#define MISC_SPIO_INT_OLD_SET_POS 16 +#define MISC_SPIO_OUTPUT_HIGH 1 +#define MISC_SPIO_OUTPUT_LOW 0 +#define MISC_SPIO_SET_POS 8 +#define MISC_SPIO_SPIO4 0x10 +#define MISC_SPIO_SPIO5 0x20 +#define HW_LOCK_MAX_RESOURCE_VALUE 31 +#define HW_LOCK_RESOURCE_DRV_FLAGS 10 +#define HW_LOCK_RESOURCE_GPIO 1 +#define HW_LOCK_RESOURCE_NVRAM 12 +#define HW_LOCK_RESOURCE_PORT0_ATT_MASK 3 +#define HW_LOCK_RESOURCE_RECOVERY_LEADER_0 8 +#define HW_LOCK_RESOURCE_RECOVERY_LEADER_1 9 +#define HW_LOCK_RESOURCE_RECOVERY_REG 11 +#define HW_LOCK_RESOURCE_RESET 5 +#define HW_LOCK_RESOURCE_SPIO 2 + + +#define AEU_INPUTS_ATTN_BITS_ATC_HW_INTERRUPT (0x1<<4) +#define AEU_INPUTS_ATTN_BITS_ATC_PARITY_ERROR (0x1<<5) +#define AEU_INPUTS_ATTN_BITS_BRB_HW_INTERRUPT (0x1<<19) +#define AEU_INPUTS_ATTN_BITS_BRB_PARITY_ERROR (0x1<<18) +#define AEU_INPUTS_ATTN_BITS_CCM_HW_INTERRUPT (0x1<<31) +#define AEU_INPUTS_ATTN_BITS_CCM_PARITY_ERROR (0x1<<30) +#define AEU_INPUTS_ATTN_BITS_CDU_HW_INTERRUPT (0x1<<9) +#define AEU_INPUTS_ATTN_BITS_CDU_PARITY_ERROR (0x1<<8) +#define AEU_INPUTS_ATTN_BITS_CFC_HW_INTERRUPT (0x1<<7) +#define AEU_INPUTS_ATTN_BITS_CFC_PARITY_ERROR (0x1<<6) +#define AEU_INPUTS_ATTN_BITS_CSDM_HW_INTERRUPT (0x1<<29) +#define AEU_INPUTS_ATTN_BITS_CSDM_PARITY_ERROR (0x1<<28) +#define AEU_INPUTS_ATTN_BITS_CSEMI_HW_INTERRUPT (0x1<<1) +#define AEU_INPUTS_ATTN_BITS_CSEMI_PARITY_ERROR (0x1<<0) +#define AEU_INPUTS_ATTN_BITS_DEBUG_PARITY_ERROR (0x1<<18) +#define AEU_INPUTS_ATTN_BITS_DMAE_HW_INTERRUPT (0x1<<11) +#define AEU_INPUTS_ATTN_BITS_DMAE_PARITY_ERROR (0x1<<10) +#define AEU_INPUTS_ATTN_BITS_DOORBELLQ_HW_INTERRUPT (0x1<<13) +#define AEU_INPUTS_ATTN_BITS_DOORBELLQ_PARITY_ERROR (0x1<<12) +#define AEU_INPUTS_ATTN_BITS_GPIO0_FUNCTION_0 (0x1<<2) +#define AEU_INPUTS_ATTN_BITS_IGU_PARITY_ERROR (0x1<<12) +#define AEU_INPUTS_ATTN_BITS_MCP_LATCHED_ROM_PARITY (0x1<<28) +#define AEU_INPUTS_ATTN_BITS_MCP_LATCHED_SCPAD_PARITY (0x1UL<<31) +#define AEU_INPUTS_ATTN_BITS_MCP_LATCHED_UMP_RX_PARITY (0x1<<29) +#define AEU_INPUTS_ATTN_BITS_MCP_LATCHED_UMP_TX_PARITY (0x1<<30) +#define AEU_INPUTS_ATTN_BITS_MISC_HW_INTERRUPT (0x1<<15) +#define AEU_INPUTS_ATTN_BITS_MISC_PARITY_ERROR (0x1<<14) +#define AEU_INPUTS_ATTN_BITS_NIG_PARITY_ERROR (0x1<<14) +#define AEU_INPUTS_ATTN_BITS_PARSER_PARITY_ERROR (0x1<<20) +#define AEU_INPUTS_ATTN_BITS_PBCLIENT_HW_INTERRUPT (0x1UL<<31) +#define AEU_INPUTS_ATTN_BITS_PBCLIENT_PARITY_ERROR (0x1<<30) +#define AEU_INPUTS_ATTN_BITS_PBF_PARITY_ERROR (0x1<<0) +#define AEU_INPUTS_ATTN_BITS_PGLUE_HW_INTERRUPT (0x1<<2) +#define AEU_INPUTS_ATTN_BITS_PGLUE_PARITY_ERROR (0x1<<3) +#define AEU_INPUTS_ATTN_BITS_PXPPCICLOCKCLIENT_HW_INTERRUPT (0x1<<5) +#define AEU_INPUTS_ATTN_BITS_PXPPCICLOCKCLIENT_PARITY_ERROR (0x1<<4) +#define AEU_INPUTS_ATTN_BITS_PXP_HW_INTERRUPT (0x1<<3) +#define AEU_INPUTS_ATTN_BITS_PXP_PARITY_ERROR (0x1<<2) +#define AEU_INPUTS_ATTN_BITS_QM_HW_INTERRUPT (0x1<<3) +#define AEU_INPUTS_ATTN_BITS_QM_PARITY_ERROR (0x1<<2) +#define AEU_INPUTS_ATTN_BITS_SEARCHER_PARITY_ERROR (0x1<<22) +#define AEU_INPUTS_ATTN_BITS_SPIO5 (0x1<<15) +#define AEU_INPUTS_ATTN_BITS_TCM_HW_INTERRUPT (0x1<<27) +#define AEU_INPUTS_ATTN_BITS_TCM_PARITY_ERROR (0x1<<26) +#define AEU_INPUTS_ATTN_BITS_TIMERS_HW_INTERRUPT (0x1<<5) +#define AEU_INPUTS_ATTN_BITS_TIMERS_PARITY_ERROR (0x1<<4) +#define AEU_INPUTS_ATTN_BITS_TSDM_HW_INTERRUPT (0x1<<25) +#define AEU_INPUTS_ATTN_BITS_TSDM_PARITY_ERROR (0x1<<24) +#define AEU_INPUTS_ATTN_BITS_TSEMI_HW_INTERRUPT (0x1<<29) +#define AEU_INPUTS_ATTN_BITS_TSEMI_PARITY_ERROR (0x1<<28) +#define AEU_INPUTS_ATTN_BITS_UCM_HW_INTERRUPT (0x1<<23) +#define AEU_INPUTS_ATTN_BITS_UCM_PARITY_ERROR (0x1<<22) +#define AEU_INPUTS_ATTN_BITS_UPB_HW_INTERRUPT (0x1<<27) +#define AEU_INPUTS_ATTN_BITS_UPB_PARITY_ERROR (0x1<<26) +#define AEU_INPUTS_ATTN_BITS_USDM_HW_INTERRUPT (0x1<<21) +#define AEU_INPUTS_ATTN_BITS_USDM_PARITY_ERROR (0x1<<20) +#define AEU_INPUTS_ATTN_BITS_USEMI_HW_INTERRUPT (0x1<<25) +#define AEU_INPUTS_ATTN_BITS_USEMI_PARITY_ERROR (0x1<<24) +#define AEU_INPUTS_ATTN_BITS_VAUX_PCI_CORE_PARITY_ERROR (0x1<<16) +#define AEU_INPUTS_ATTN_BITS_XCM_HW_INTERRUPT (0x1<<9) +#define AEU_INPUTS_ATTN_BITS_XCM_PARITY_ERROR (0x1<<8) +#define AEU_INPUTS_ATTN_BITS_XSDM_HW_INTERRUPT (0x1<<7) +#define AEU_INPUTS_ATTN_BITS_XSDM_PARITY_ERROR (0x1<<6) +#define AEU_INPUTS_ATTN_BITS_XSEMI_HW_INTERRUPT (0x1<<11) +#define AEU_INPUTS_ATTN_BITS_XSEMI_PARITY_ERROR (0x1<<10) +#define HW_PRTY_ASSERT_SET_0 \ +(AEU_INPUTS_ATTN_BITS_BRB_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_PARSER_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_TSDM_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_SEARCHER_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_TSEMI_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_TCM_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_PBCLIENT_PARITY_ERROR) +#define HW_PRTY_ASSERT_SET_1 \ +(AEU_INPUTS_ATTN_BITS_PBF_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_QM_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_TIMERS_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_XSDM_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_XCM_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_XSEMI_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_DOORBELLQ_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_NIG_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_VAUX_PCI_CORE_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_DEBUG_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_USDM_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_UCM_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_USEMI_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_UPB_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_CSDM_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_CCM_PARITY_ERROR) +#define HW_PRTY_ASSERT_SET_2 \ +(AEU_INPUTS_ATTN_BITS_CSEMI_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_PXP_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_PXPPCICLOCKCLIENT_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_CFC_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_CDU_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_DMAE_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_IGU_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_MISC_PARITY_ERROR) +#define HW_PRTY_ASSERT_SET_3 \ +(AEU_INPUTS_ATTN_BITS_MCP_LATCHED_ROM_PARITY | \ + AEU_INPUTS_ATTN_BITS_MCP_LATCHED_UMP_RX_PARITY | \ + AEU_INPUTS_ATTN_BITS_MCP_LATCHED_UMP_TX_PARITY | \ + AEU_INPUTS_ATTN_BITS_MCP_LATCHED_SCPAD_PARITY) +#define HW_PRTY_ASSERT_SET_4 \ +(AEU_INPUTS_ATTN_BITS_PGLUE_PARITY_ERROR |\ + AEU_INPUTS_ATTN_BITS_ATC_PARITY_ERROR) +#define HW_INTERRUT_ASSERT_SET_0 \ +(AEU_INPUTS_ATTN_BITS_TSDM_HW_INTERRUPT |\ + AEU_INPUTS_ATTN_BITS_TCM_HW_INTERRUPT |\ + AEU_INPUTS_ATTN_BITS_TSEMI_HW_INTERRUPT |\ + AEU_INPUTS_ATTN_BITS_BRB_HW_INTERRUPT |\ + AEU_INPUTS_ATTN_BITS_PBCLIENT_HW_INTERRUPT) +#define HW_INTERRUT_ASSERT_SET_1 \ +(AEU_INPUTS_ATTN_BITS_QM_HW_INTERRUPT |\ + AEU_INPUTS_ATTN_BITS_TIMERS_HW_INTERRUPT |\ + AEU_INPUTS_ATTN_BITS_XSDM_HW_INTERRUPT |\ + AEU_INPUTS_ATTN_BITS_XCM_HW_INTERRUPT |\ + AEU_INPUTS_ATTN_BITS_XSEMI_HW_INTERRUPT |\ + AEU_INPUTS_ATTN_BITS_USDM_HW_INTERRUPT |\ + AEU_INPUTS_ATTN_BITS_UCM_HW_INTERRUPT |\ + AEU_INPUTS_ATTN_BITS_USEMI_HW_INTERRUPT |\ + AEU_INPUTS_ATTN_BITS_UPB_HW_INTERRUPT |\ + AEU_INPUTS_ATTN_BITS_CSDM_HW_INTERRUPT |\ + AEU_INPUTS_ATTN_BITS_CCM_HW_INTERRUPT) +#define HW_INTERRUT_ASSERT_SET_2 \ +(AEU_INPUTS_ATTN_BITS_CSEMI_HW_INTERRUPT |\ + AEU_INPUTS_ATTN_BITS_PXP_HW_INTERRUPT |\ + AEU_INPUTS_ATTN_BITS_CFC_HW_INTERRUPT |\ + AEU_INPUTS_ATTN_BITS_CDU_HW_INTERRUPT |\ + AEU_INPUTS_ATTN_BITS_DMAE_HW_INTERRUPT |\ + AEU_INPUTS_ATTN_BITS_PXPPCICLOCKCLIENT_HW_INTERRUPT |\ + AEU_INPUTS_ATTN_BITS_MISC_HW_INTERRUPT) + + +#define RESERVED_GENERAL_ATTENTION_BIT_0 0 + +#define EVEREST_GEN_ATTN_IN_USE_MASK 0x7ffe0 +#define EVEREST_LATCHED_ATTN_IN_USE_MASK 0xffe00000 + +#define RESERVED_GENERAL_ATTENTION_BIT_6 6 +#define RESERVED_GENERAL_ATTENTION_BIT_7 7 +#define RESERVED_GENERAL_ATTENTION_BIT_8 8 +#define RESERVED_GENERAL_ATTENTION_BIT_9 9 +#define RESERVED_GENERAL_ATTENTION_BIT_10 10 +#define RESERVED_GENERAL_ATTENTION_BIT_11 11 +#define RESERVED_GENERAL_ATTENTION_BIT_12 12 +#define RESERVED_GENERAL_ATTENTION_BIT_13 13 +#define RESERVED_GENERAL_ATTENTION_BIT_14 14 +#define RESERVED_GENERAL_ATTENTION_BIT_15 15 +#define RESERVED_GENERAL_ATTENTION_BIT_16 16 +#define RESERVED_GENERAL_ATTENTION_BIT_17 17 +#define RESERVED_GENERAL_ATTENTION_BIT_18 18 +#define RESERVED_GENERAL_ATTENTION_BIT_19 19 +#define RESERVED_GENERAL_ATTENTION_BIT_20 20 +#define RESERVED_GENERAL_ATTENTION_BIT_21 21 + +/* storm asserts attention bits */ +#define TSTORM_FATAL_ASSERT_ATTENTION_BIT RESERVED_GENERAL_ATTENTION_BIT_7 +#define USTORM_FATAL_ASSERT_ATTENTION_BIT RESERVED_GENERAL_ATTENTION_BIT_8 +#define CSTORM_FATAL_ASSERT_ATTENTION_BIT RESERVED_GENERAL_ATTENTION_BIT_9 +#define XSTORM_FATAL_ASSERT_ATTENTION_BIT RESERVED_GENERAL_ATTENTION_BIT_10 + +/* mcp error attention bit */ +#define MCP_FATAL_ASSERT_ATTENTION_BIT RESERVED_GENERAL_ATTENTION_BIT_11 + +/*E1H NIG status sync attention mapped to group 4-7*/ +#define LINK_SYNC_ATTENTION_BIT_FUNC_0 RESERVED_GENERAL_ATTENTION_BIT_12 +#define LINK_SYNC_ATTENTION_BIT_FUNC_1 RESERVED_GENERAL_ATTENTION_BIT_13 +#define LINK_SYNC_ATTENTION_BIT_FUNC_2 RESERVED_GENERAL_ATTENTION_BIT_14 +#define LINK_SYNC_ATTENTION_BIT_FUNC_3 RESERVED_GENERAL_ATTENTION_BIT_15 +#define LINK_SYNC_ATTENTION_BIT_FUNC_4 RESERVED_GENERAL_ATTENTION_BIT_16 +#define LINK_SYNC_ATTENTION_BIT_FUNC_5 RESERVED_GENERAL_ATTENTION_BIT_17 +#define LINK_SYNC_ATTENTION_BIT_FUNC_6 RESERVED_GENERAL_ATTENTION_BIT_18 +#define LINK_SYNC_ATTENTION_BIT_FUNC_7 RESERVED_GENERAL_ATTENTION_BIT_19 + + /* Used For Error Recovery: changing this will require more \ + changes in code that assume + * error recovery uses general attn bit20 ! */ +#define ERROR_RECOVERY_ATTENTION_BIT \ + RESERVED_GENERAL_ATTENTION_BIT_20 +#define RESERVED_ATTENTION_BIT \ + RESERVED_GENERAL_ATTENTION_BIT_21 + +#define LATCHED_ATTN_RBCR 23 +#define LATCHED_ATTN_RBCT 24 +#define LATCHED_ATTN_RBCN 25 +#define LATCHED_ATTN_RBCU 26 +#define LATCHED_ATTN_RBCP 27 +#define LATCHED_ATTN_TIMEOUT_GRC 28 +#define LATCHED_ATTN_RSVD_GRC 29 +#define LATCHED_ATTN_ROM_PARITY_MCP 30 +#define LATCHED_ATTN_UM_RX_PARITY_MCP 31 +#define LATCHED_ATTN_UM_TX_PARITY_MCP 32 +#define LATCHED_ATTN_SCPAD_PARITY_MCP 33 + +#define GENERAL_ATTEN_WORD(atten_name) ((94 + atten_name) / 32) +#define GENERAL_ATTEN_OFFSET(atten_name) (1UL << ((94 + atten_name) % 32)) + + +/* + * This file defines GRC base address for every block. + * This file is included by chipsim, asm microcode and cpp microcode. + * These values are used in Design.xml on regBase attribute + * Use the base with the generated offsets of specific registers. + */ + +#define GRCBASE_PXPCS 0x000000 +#define GRCBASE_PCICONFIG 0x002000 +#define GRCBASE_PCIREG 0x002400 +#define GRCBASE_EMAC0 0x008000 +#define GRCBASE_EMAC1 0x008400 +#define GRCBASE_DBU 0x008800 +#define GRCBASE_PGLUE_B 0x009000 +#define GRCBASE_MISC 0x00A000 +#define GRCBASE_DBG 0x00C000 +#define GRCBASE_NIG 0x010000 +#define GRCBASE_XCM 0x020000 +#define GRCBASE_PRS 0x040000 +#define GRCBASE_SRCH 0x040400 +#define GRCBASE_TSDM 0x042000 +#define GRCBASE_TCM 0x050000 +#define GRCBASE_BRB1 0x060000 +#define GRCBASE_MCP 0x080000 +#define GRCBASE_UPB 0x0C1000 +#define GRCBASE_CSDM 0x0C2000 +#define GRCBASE_USDM 0x0C4000 +#define GRCBASE_CCM 0x0D0000 +#define GRCBASE_UCM 0x0E0000 +#define GRCBASE_CDU 0x101000 +#define GRCBASE_DMAE 0x102000 +#define GRCBASE_PXP 0x103000 +#define GRCBASE_CFC 0x104000 +#define GRCBASE_HC 0x108000 +#define GRCBASE_ATC 0x110000 +#define GRCBASE_PXP2 0x120000 +#define GRCBASE_IGU 0x130000 +#define GRCBASE_PBF 0x140000 +#define GRCBASE_UMAC0 0x160000 +#define GRCBASE_UMAC1 0x160400 +#define GRCBASE_XPB 0x161000 +#define GRCBASE_MSTAT0 0x162000 +#define GRCBASE_MSTAT1 0x162800 +#define GRCBASE_XMAC0 0x163000 +#define GRCBASE_XMAC1 0x163800 +#define GRCBASE_TIMERS 0x164000 +#define GRCBASE_XSDM 0x166000 +#define GRCBASE_QM 0x168000 +#define GRCBASE_QM_4PORT 0x168000 +#define GRCBASE_DQ 0x170000 +#define GRCBASE_TSEM 0x180000 +#define GRCBASE_CSEM 0x200000 +#define GRCBASE_XSEM 0x280000 +#define GRCBASE_XSEM_4PORT 0x280000 +#define GRCBASE_USEM 0x300000 +#define GRCBASE_MCP_A 0x380000 +#define GRCBASE_MISC_AEU GRCBASE_MISC +#define GRCBASE_Tstorm GRCBASE_TSEM +#define GRCBASE_Cstorm GRCBASE_CSEM +#define GRCBASE_Xstorm GRCBASE_XSEM +#define GRCBASE_Ustorm GRCBASE_USEM + + +/* offset of configuration space in the pci core register */ +#define PCICFG_OFFSET 0x2000 +#define PCICFG_VENDOR_ID_OFFSET 0x00 +#define PCICFG_DEVICE_ID_OFFSET 0x02 +#define PCICFG_COMMAND_OFFSET 0x04 +#define PCICFG_COMMAND_IO_SPACE (1<<0) +#define PCICFG_COMMAND_MEM_SPACE (1<<1) +#define PCICFG_COMMAND_BUS_MASTER (1<<2) +#define PCICFG_COMMAND_SPECIAL_CYCLES (1<<3) +#define PCICFG_COMMAND_MWI_CYCLES (1<<4) +#define PCICFG_COMMAND_VGA_SNOOP (1<<5) +#define PCICFG_COMMAND_PERR_ENA (1<<6) +#define PCICFG_COMMAND_STEPPING (1<<7) +#define PCICFG_COMMAND_SERR_ENA (1<<8) +#define PCICFG_COMMAND_FAST_B2B (1<<9) +#define PCICFG_COMMAND_INT_DISABLE (1<<10) +#define PCICFG_COMMAND_RESERVED (0x1f<<11) +#define PCICFG_STATUS_OFFSET 0x06 +#define PCICFG_REVISION_ID_OFFSET 0x08 +#define PCICFG_REVESION_ID_MASK 0xff +#define PCICFG_REVESION_ID_ERROR_VAL 0xff +#define PCICFG_CACHE_LINE_SIZE 0x0c +#define PCICFG_LATENCY_TIMER 0x0d +#define PCICFG_HEADER_TYPE 0x0e +#define PCICFG_HEADER_TYPE_NORMAL 0 +#define PCICFG_HEADER_TYPE_BRIDGE 1 +#define PCICFG_HEADER_TYPE_CARDBUS 2 +#define PCICFG_BAR_1_LOW 0x10 +#define PCICFG_BAR_1_HIGH 0x14 +#define PCICFG_BAR_2_LOW 0x18 +#define PCICFG_BAR_2_HIGH 0x1c +#define PCICFG_BAR_3_LOW 0x20 +#define PCICFG_BAR_3_HIGH 0x24 +#define PCICFG_SUBSYSTEM_VENDOR_ID_OFFSET 0x2c +#define PCICFG_SUBSYSTEM_ID_OFFSET 0x2e +#define PCICFG_INT_LINE 0x3c +#define PCICFG_INT_PIN 0x3d +#define PCICFG_PM_CAPABILITY 0x48 +#define PCICFG_PM_CAPABILITY_VERSION (0x3<<16) +#define PCICFG_PM_CAPABILITY_CLOCK (1<<19) +#define PCICFG_PM_CAPABILITY_RESERVED (1<<20) +#define PCICFG_PM_CAPABILITY_DSI (1<<21) +#define PCICFG_PM_CAPABILITY_AUX_CURRENT (0x7<<22) +#define PCICFG_PM_CAPABILITY_D1_SUPPORT (1<<25) +#define PCICFG_PM_CAPABILITY_D2_SUPPORT (1<<26) +#define PCICFG_PM_CAPABILITY_PME_IN_D0 (1<<27) +#define PCICFG_PM_CAPABILITY_PME_IN_D1 (1<<28) +#define PCICFG_PM_CAPABILITY_PME_IN_D2 (1<<29) +#define PCICFG_PM_CAPABILITY_PME_IN_D3_HOT (1<<30) +#define PCICFG_PM_CAPABILITY_PME_IN_D3_COLD (1<<31) +#define PCICFG_PM_CSR_OFFSET 0x4c +#define PCICFG_PM_CSR_STATE (0x3<<0) +#define PCICFG_PM_CSR_PME_ENABLE (1<<8) +#define PCICFG_PM_CSR_PME_STATUS (1<<15) +#define PCICFG_VPD_FLAG_ADDR_OFFSET 0x50 +#define PCICFG_VPD_DATA_OFFSET 0x54 +#define PCICFG_MSI_CAP_ID_OFFSET 0x58 +#define PCICFG_MSI_CONTROL_ENABLE (0x1<<16) +#define PCICFG_MSI_CONTROL_MCAP (0x7<<17) +#define PCICFG_MSI_CONTROL_MENA (0x7<<20) +#define PCICFG_MSI_CONTROL_64_BIT_ADDR_CAP (0x1<<23) +#define PCICFG_MSI_CONTROL_MSI_PVMASK_CAPABLE (0x1<<24) +#define PCICFG_MSI_ADDR_LOW_OFFSET 0x5c +#define PCICFG_MSI_ADDR_HIGH_OFFSET 0x60 +#define PCICFG_MSI_DATA_OFFSET 0x64 +#define PCICFG_GRC_ADDRESS 0x78 +#define PCICFG_GRC_DATA 0x80 +#define PCICFG_ME_REGISTER 0x98 +#define PCICFG_MSIX_CAP_ID_OFFSET 0xa0 +#define PCICFG_MSIX_CONTROL_TABLE_SIZE (0x7ff<<16) +#define PCICFG_MSIX_CONTROL_RESERVED (0x7<<27) +#define PCICFG_MSIX_CONTROL_FUNC_MASK (0x1<<30) +#define PCICFG_MSIX_CONTROL_MSIX_ENABLE (0x1<<31) + +#define PCICFG_DEVICE_CONTROL 0xb4 +#define PCICFG_DEVICE_CONTROL_NP_TRANSACTION_PEND (1<<21) +#define PCICFG_DEVICE_STATUS 0xb6 +#define PCICFG_DEVICE_STATUS_CORR_ERR_DET (1<<0) +#define PCICFG_DEVICE_STATUS_NON_FATAL_ERR_DET (1<<1) +#define PCICFG_DEVICE_STATUS_FATAL_ERR_DET (1<<2) +#define PCICFG_DEVICE_STATUS_UNSUP_REQ_DET (1<<3) +#define PCICFG_DEVICE_STATUS_AUX_PWR_DET (1<<4) +#define PCICFG_DEVICE_STATUS_NO_PEND (1<<5) +#define PCICFG_LINK_CONTROL 0xbc + + +/* config_2 offset */ +#define GRC_CONFIG_2_SIZE_REG 0x408 +#define PCI_CONFIG_2_BAR1_SIZE (0xfL<<0) +#define PCI_CONFIG_2_BAR1_SIZE_DISABLED (0L<<0) +#define PCI_CONFIG_2_BAR1_SIZE_64K (1L<<0) +#define PCI_CONFIG_2_BAR1_SIZE_128K (2L<<0) +#define PCI_CONFIG_2_BAR1_SIZE_256K (3L<<0) +#define PCI_CONFIG_2_BAR1_SIZE_512K (4L<<0) +#define PCI_CONFIG_2_BAR1_SIZE_1M (5L<<0) +#define PCI_CONFIG_2_BAR1_SIZE_2M (6L<<0) +#define PCI_CONFIG_2_BAR1_SIZE_4M (7L<<0) +#define PCI_CONFIG_2_BAR1_SIZE_8M (8L<<0) +#define PCI_CONFIG_2_BAR1_SIZE_16M (9L<<0) +#define PCI_CONFIG_2_BAR1_SIZE_32M (10L<<0) +#define PCI_CONFIG_2_BAR1_SIZE_64M (11L<<0) +#define PCI_CONFIG_2_BAR1_SIZE_128M (12L<<0) +#define PCI_CONFIG_2_BAR1_SIZE_256M (13L<<0) +#define PCI_CONFIG_2_BAR1_SIZE_512M (14L<<0) +#define PCI_CONFIG_2_BAR1_SIZE_1G (15L<<0) +#define PCI_CONFIG_2_BAR1_64ENA (1L<<4) +#define PCI_CONFIG_2_EXP_ROM_RETRY (1L<<5) +#define PCI_CONFIG_2_CFG_CYCLE_RETRY (1L<<6) +#define PCI_CONFIG_2_FIRST_CFG_DONE (1L<<7) +#define PCI_CONFIG_2_EXP_ROM_SIZE (0xffL<<8) +#define PCI_CONFIG_2_EXP_ROM_SIZE_DISABLED (0L<<8) +#define PCI_CONFIG_2_EXP_ROM_SIZE_2K (1L<<8) +#define PCI_CONFIG_2_EXP_ROM_SIZE_4K (2L<<8) +#define PCI_CONFIG_2_EXP_ROM_SIZE_8K (3L<<8) +#define PCI_CONFIG_2_EXP_ROM_SIZE_16K (4L<<8) +#define PCI_CONFIG_2_EXP_ROM_SIZE_32K (5L<<8) +#define PCI_CONFIG_2_EXP_ROM_SIZE_64K (6L<<8) +#define PCI_CONFIG_2_EXP_ROM_SIZE_128K (7L<<8) +#define PCI_CONFIG_2_EXP_ROM_SIZE_256K (8L<<8) +#define PCI_CONFIG_2_EXP_ROM_SIZE_512K (9L<<8) +#define PCI_CONFIG_2_EXP_ROM_SIZE_1M (10L<<8) +#define PCI_CONFIG_2_EXP_ROM_SIZE_2M (11L<<8) +#define PCI_CONFIG_2_EXP_ROM_SIZE_4M (12L<<8) +#define PCI_CONFIG_2_EXP_ROM_SIZE_8M (13L<<8) +#define PCI_CONFIG_2_EXP_ROM_SIZE_16M (14L<<8) +#define PCI_CONFIG_2_EXP_ROM_SIZE_32M (15L<<8) +#define PCI_CONFIG_2_BAR_PREFETCH (1L<<16) +#define PCI_CONFIG_2_RESERVED0 (0x7fffL<<17) + +/* config_3 offset */ +#define GRC_CONFIG_3_SIZE_REG 0x40c +#define PCI_CONFIG_3_STICKY_BYTE (0xffL<<0) +#define PCI_CONFIG_3_FORCE_PME (1L<<24) +#define PCI_CONFIG_3_PME_STATUS (1L<<25) +#define PCI_CONFIG_3_PME_ENABLE (1L<<26) +#define PCI_CONFIG_3_PM_STATE (0x3L<<27) +#define PCI_CONFIG_3_VAUX_PRESET (1L<<30) +#define PCI_CONFIG_3_PCI_POWER (1L<<31) + +#define GRC_REG_DEVICE_CONTROL 0x4d8 +#define PCIE_SRIOV_DISABLE_IN_PROGRESS \ + (1 << 29) /*When VF Enable is cleared(after it was previously set), + this register will read a value of 1, indicating that all the + VFs that belong to this PF should be flushed. + Software should clear this bit within 1 second of VF Enable + being set by writing a 1 to it, so that VFs are visible to the system again. + WC */ +#define PCIE_FLR_IN_PROGRESS \ + (1 << 27) /*When FLR is initiated, this register will read a \ + value of 1 indicating that the + Function is in FLR state. Func can be brought out of FLR state either by + writing 1 to this register (at least 50 ms after FLR was initiated), + or it can also be cleared automatically after 55 ms if auto_clear bit + in private reg space is set. This bit also exists in VF register space + WC */ + +#define GRC_BAR2_CONFIG 0x4e0 +#define PCI_CONFIG_2_BAR2_SIZE (0xfL<<0) +#define PCI_CONFIG_2_BAR2_SIZE_DISABLED (0L<<0) +#define PCI_CONFIG_2_BAR2_SIZE_64K (1L<<0) +#define PCI_CONFIG_2_BAR2_SIZE_128K (2L<<0) +#define PCI_CONFIG_2_BAR2_SIZE_256K (3L<<0) +#define PCI_CONFIG_2_BAR2_SIZE_512K (4L<<0) +#define PCI_CONFIG_2_BAR2_SIZE_1M (5L<<0) +#define PCI_CONFIG_2_BAR2_SIZE_2M (6L<<0) +#define PCI_CONFIG_2_BAR2_SIZE_4M (7L<<0) +#define PCI_CONFIG_2_BAR2_SIZE_8M (8L<<0) +#define PCI_CONFIG_2_BAR2_SIZE_16M (9L<<0) +#define PCI_CONFIG_2_BAR2_SIZE_32M (10L<<0) +#define PCI_CONFIG_2_BAR2_SIZE_64M (11L<<0) +#define PCI_CONFIG_2_BAR2_SIZE_128M (12L<<0) +#define PCI_CONFIG_2_BAR2_SIZE_256M (13L<<0) +#define PCI_CONFIG_2_BAR2_SIZE_512M (14L<<0) +#define PCI_CONFIG_2_BAR2_SIZE_1G (15L<<0) +#define PCI_CONFIG_2_BAR2_64ENA (1L<<4) + +#define GRC_BAR3_CONFIG 0x4f4 +#define PCI_CONFIG_2_BAR3_SIZE (0xfL<<0) +#define PCI_CONFIG_2_BAR3_SIZE_DISABLED (0L<<0) +#define PCI_CONFIG_2_BAR3_SIZE_64K (1L<<0) +#define PCI_CONFIG_2_BAR3_SIZE_128K (2L<<0) +#define PCI_CONFIG_2_BAR3_SIZE_256K (3L<<0) +#define PCI_CONFIG_2_BAR3_SIZE_512K (4L<<0) +#define PCI_CONFIG_2_BAR3_SIZE_1M (5L<<0) +#define PCI_CONFIG_2_BAR3_SIZE_2M (6L<<0) +#define PCI_CONFIG_2_BAR3_SIZE_4M (7L<<0) +#define PCI_CONFIG_2_BAR3_SIZE_8M (8L<<0) +#define PCI_CONFIG_2_BAR3_SIZE_16M (9L<<0) +#define PCI_CONFIG_2_BAR3_SIZE_32M (10L<<0) +#define PCI_CONFIG_2_BAR3_SIZE_64M (11L<<0) +#define PCI_CONFIG_2_BAR3_SIZE_128M (12L<<0) +#define PCI_CONFIG_2_BAR3_SIZE_256M (13L<<0) +#define PCI_CONFIG_2_BAR3_SIZE_512M (14L<<0) +#define PCI_CONFIG_2_BAR3_SIZE_1G (15L<<0) +#define PCI_CONFIG_2_BAR3_64ENA (1L<<4) + +#define PCI_PM_DATA_A 0x410 +#define PCI_PM_DATA_B 0x414 +#define PCI_ID_VAL1 0x434 +#define PCI_ID_VAL2 0x438 +#define PCI_ID_VAL3 0x43c +#define PCI_ID_VAL3_REVISION_ID_ERROR (0xffL<<24) + + +#define GRC_CONFIG_REG_VF_BAR_REG_1 0x608 +#define GRC_CONFIG_REG_VF_BAR_REG_BAR0_SIZE 0xf + +#define GRC_CONFIG_REG_VF_MSIX_CONTROL 0x61C +#define GRC_CR_VF_MSIX_CTRL_VF_MSIX_TBL_SIZE_MASK \ + 0x3F /*This field resides in VF only and does not exist in PF. + This register controls the read value of the MSIX_CONTROL[10:0] register + in the VF configuration space. A value of "00000000011" indicates + a table size of 4. The value is controlled by IOV_MSIX_TBL_SIZ + define in version.v */ + +#define GRC_CONFIG_REG_PF_INIT_VF 0x624 +#define GRC_CR_PF_INIT_VF_PF_FIRST_VF_NUM_MASK \ + 0xf /*First VF_NUM for PF is encoded in this register. + The number of VFs assigned to a PF is assumed to be a multiple of 8. + Software should program these bits based on Total Number of VFs \ + programmed for each PF. + Since registers from 0x000-0x7ff are spilt across functions, each PF will have + the same location for the same 4 bits*/ + +#define PXPCS_TL_CONTROL_5 0x814 +#define PXPCS_TL_CONTROL_5_UNKNOWNTYPE_ERR_ATTN (1 << 29) /*WC*/ +#define PXPCS_TL_CONTROL_5_BOUNDARY4K_ERR_ATTN (1 << 28) /*WC*/ +#define PXPCS_TL_CONTROL_5_MRRS_ERR_ATTN (1 << 27) /*WC*/ +#define PXPCS_TL_CONTROL_5_MPS_ERR_ATTN (1 << 26) /*WC*/ +#define PXPCS_TL_CONTROL_5_TTX_BRIDGE_FORWARD_ERR (1 << 25) /*WC*/ +#define PXPCS_TL_CONTROL_5_TTX_TXINTF_OVERFLOW (1 << 24) /*WC*/ +#define PXPCS_TL_CONTROL_5_PHY_ERR_ATTN (1 << 23) /*RO*/ +#define PXPCS_TL_CONTROL_5_DL_ERR_ATTN (1 << 22) /*RO*/ +#define PXPCS_TL_CONTROL_5_TTX_ERR_NP_TAG_IN_USE (1 << 21) /*WC*/ +#define PXPCS_TL_CONTROL_5_TRX_ERR_UNEXP_RTAG (1 << 20) /*WC*/ +#define PXPCS_TL_CONTROL_5_PRI_SIG_TARGET_ABORT1 (1 << 19) /*WC*/ +#define PXPCS_TL_CONTROL_5_ERR_UNSPPORT1 (1 << 18) /*WC*/ +#define PXPCS_TL_CONTROL_5_ERR_ECRC1 (1 << 17) /*WC*/ +#define PXPCS_TL_CONTROL_5_ERR_MALF_TLP1 (1 << 16) /*WC*/ +#define PXPCS_TL_CONTROL_5_ERR_RX_OFLOW1 (1 << 15) /*WC*/ +#define PXPCS_TL_CONTROL_5_ERR_UNEXP_CPL1 (1 << 14) /*WC*/ +#define PXPCS_TL_CONTROL_5_ERR_MASTER_ABRT1 (1 << 13) /*WC*/ +#define PXPCS_TL_CONTROL_5_ERR_CPL_TIMEOUT1 (1 << 12) /*WC*/ +#define PXPCS_TL_CONTROL_5_ERR_FC_PRTL1 (1 << 11) /*WC*/ +#define PXPCS_TL_CONTROL_5_ERR_PSND_TLP1 (1 << 10) /*WC*/ +#define PXPCS_TL_CONTROL_5_PRI_SIG_TARGET_ABORT (1 << 9) /*WC*/ +#define PXPCS_TL_CONTROL_5_ERR_UNSPPORT (1 << 8) /*WC*/ +#define PXPCS_TL_CONTROL_5_ERR_ECRC (1 << 7) /*WC*/ +#define PXPCS_TL_CONTROL_5_ERR_MALF_TLP (1 << 6) /*WC*/ +#define PXPCS_TL_CONTROL_5_ERR_RX_OFLOW (1 << 5) /*WC*/ +#define PXPCS_TL_CONTROL_5_ERR_UNEXP_CPL (1 << 4) /*WC*/ +#define PXPCS_TL_CONTROL_5_ERR_MASTER_ABRT (1 << 3) /*WC*/ +#define PXPCS_TL_CONTROL_5_ERR_CPL_TIMEOUT (1 << 2) /*WC*/ +#define PXPCS_TL_CONTROL_5_ERR_FC_PRTL (1 << 1) /*WC*/ +#define PXPCS_TL_CONTROL_5_ERR_PSND_TLP (1 << 0) /*WC*/ + + +#define PXPCS_TL_FUNC345_STAT 0x854 +#define PXPCS_TL_FUNC345_STAT_PRI_SIG_TARGET_ABORT4 (1 << 29) /* WC */ +#define PXPCS_TL_FUNC345_STAT_ERR_UNSPPORT4 \ + (1 << 28) /* Unsupported Request Error Status in function4, if \ + set, generate pcie_err_attn output when this error is seen. WC */ +#define PXPCS_TL_FUNC345_STAT_ERR_ECRC4 \ + (1 << 27) /* ECRC Error TLP Status Status in function 4, if set, \ + generate pcie_err_attn output when this error is seen.. WC */ +#define PXPCS_TL_FUNC345_STAT_ERR_MALF_TLP4 \ + (1 << 26) /* Malformed TLP Status Status in function 4, if set, \ + generate pcie_err_attn output when this error is seen.. WC */ +#define PXPCS_TL_FUNC345_STAT_ERR_RX_OFLOW4 \ + (1 << 25) /* Receiver Overflow Status Status in function 4, if \ + set, generate pcie_err_attn output when this error is seen.. WC \ + */ +#define PXPCS_TL_FUNC345_STAT_ERR_UNEXP_CPL4 \ + (1 << 24) /* Unexpected Completion Status Status in function 4, \ + if set, generate pcie_err_attn output when this error is seen. WC \ + */ +#define PXPCS_TL_FUNC345_STAT_ERR_MASTER_ABRT4 \ + (1 << 23) /* Receive UR Statusin function 4. If set, generate \ + pcie_err_attn output when this error is seen. WC */ +#define PXPCS_TL_FUNC345_STAT_ERR_CPL_TIMEOUT4 \ + (1 << 22) /* Completer Timeout Status Status in function 4, if \ + set, generate pcie_err_attn output when this error is seen. WC */ +#define PXPCS_TL_FUNC345_STAT_ERR_FC_PRTL4 \ + (1 << 21) /* Flow Control Protocol Error Status Status in \ + function 4, if set, generate pcie_err_attn output when this error \ + is seen. WC */ +#define PXPCS_TL_FUNC345_STAT_ERR_PSND_TLP4 \ + (1 << 20) /* Poisoned Error Status Status in function 4, if set, \ + generate pcie_err_attn output when this error is seen.. WC */ +#define PXPCS_TL_FUNC345_STAT_PRI_SIG_TARGET_ABORT3 (1 << 19) /* WC */ +#define PXPCS_TL_FUNC345_STAT_ERR_UNSPPORT3 \ + (1 << 18) /* Unsupported Request Error Status in function3, if \ + set, generate pcie_err_attn output when this error is seen. WC */ +#define PXPCS_TL_FUNC345_STAT_ERR_ECRC3 \ + (1 << 17) /* ECRC Error TLP Status Status in function 3, if set, \ + generate pcie_err_attn output when this error is seen.. WC */ +#define PXPCS_TL_FUNC345_STAT_ERR_MALF_TLP3 \ + (1 << 16) /* Malformed TLP Status Status in function 3, if set, \ + generate pcie_err_attn output when this error is seen.. WC */ +#define PXPCS_TL_FUNC345_STAT_ERR_RX_OFLOW3 \ + (1 << 15) /* Receiver Overflow Status Status in function 3, if \ + set, generate pcie_err_attn output when this error is seen.. WC \ + */ +#define PXPCS_TL_FUNC345_STAT_ERR_UNEXP_CPL3 \ + (1 << 14) /* Unexpected Completion Status Status in function 3, \ + if set, generate pcie_err_attn output when this error is seen. WC \ + */ +#define PXPCS_TL_FUNC345_STAT_ERR_MASTER_ABRT3 \ + (1 << 13) /* Receive UR Statusin function 3. If set, generate \ + pcie_err_attn output when this error is seen. WC */ +#define PXPCS_TL_FUNC345_STAT_ERR_CPL_TIMEOUT3 \ + (1 << 12) /* Completer Timeout Status Status in function 3, if \ + set, generate pcie_err_attn output when this error is seen. WC */ +#define PXPCS_TL_FUNC345_STAT_ERR_FC_PRTL3 \ + (1 << 11) /* Flow Control Protocol Error Status Status in \ + function 3, if set, generate pcie_err_attn output when this error \ + is seen. WC */ +#define PXPCS_TL_FUNC345_STAT_ERR_PSND_TLP3 \ + (1 << 10) /* Poisoned Error Status Status in function 3, if set, \ + generate pcie_err_attn output when this error is seen.. WC */ +#define PXPCS_TL_FUNC345_STAT_PRI_SIG_TARGET_ABORT2 (1 << 9) /* WC */ +#define PXPCS_TL_FUNC345_STAT_ERR_UNSPPORT2 \ + (1 << 8) /* Unsupported Request Error Status for Function 2, if \ + set, generate pcie_err_attn output when this error is seen. WC */ +#define PXPCS_TL_FUNC345_STAT_ERR_ECRC2 \ + (1 << 7) /* ECRC Error TLP Status Status for Function 2, if set, \ + generate pcie_err_attn output when this error is seen.. WC */ +#define PXPCS_TL_FUNC345_STAT_ERR_MALF_TLP2 \ + (1 << 6) /* Malformed TLP Status Status for Function 2, if set, \ + generate pcie_err_attn output when this error is seen.. WC */ +#define PXPCS_TL_FUNC345_STAT_ERR_RX_OFLOW2 \ + (1 << 5) /* Receiver Overflow Status Status for Function 2, if \ + set, generate pcie_err_attn output when this error is seen.. WC \ + */ +#define PXPCS_TL_FUNC345_STAT_ERR_UNEXP_CPL2 \ + (1 << 4) /* Unexpected Completion Status Status for Function 2, \ + if set, generate pcie_err_attn output when this error is seen. WC \ + */ +#define PXPCS_TL_FUNC345_STAT_ERR_MASTER_ABRT2 \ + (1 << 3) /* Receive UR Statusfor Function 2. If set, generate \ + pcie_err_attn output when this error is seen. WC */ +#define PXPCS_TL_FUNC345_STAT_ERR_CPL_TIMEOUT2 \ + (1 << 2) /* Completer Timeout Status Status for Function 2, if \ + set, generate pcie_err_attn output when this error is seen. WC */ +#define PXPCS_TL_FUNC345_STAT_ERR_FC_PRTL2 \ + (1 << 1) /* Flow Control Protocol Error Status Status for \ + Function 2, if set, generate pcie_err_attn output when this error \ + is seen. WC */ +#define PXPCS_TL_FUNC345_STAT_ERR_PSND_TLP2 \ + (1 << 0) /* Poisoned Error Status Status for Function 2, if set, \ + generate pcie_err_attn output when this error is seen.. WC */ + + +#define PXPCS_TL_FUNC678_STAT 0x85C +#define PXPCS_TL_FUNC678_STAT_PRI_SIG_TARGET_ABORT7 (1 << 29) /* WC */ +#define PXPCS_TL_FUNC678_STAT_ERR_UNSPPORT7 \ + (1 << 28) /* Unsupported Request Error Status in function7, if \ + set, generate pcie_err_attn output when this error is seen. WC */ +#define PXPCS_TL_FUNC678_STAT_ERR_ECRC7 \ + (1 << 27) /* ECRC Error TLP Status Status in function 7, if set, \ + generate pcie_err_attn output when this error is seen.. WC */ +#define PXPCS_TL_FUNC678_STAT_ERR_MALF_TLP7 \ + (1 << 26) /* Malformed TLP Status Status in function 7, if set, \ + generate pcie_err_attn output when this error is seen.. WC */ +#define PXPCS_TL_FUNC678_STAT_ERR_RX_OFLOW7 \ + (1 << 25) /* Receiver Overflow Status Status in function 7, if \ + set, generate pcie_err_attn output when this error is seen.. WC \ + */ +#define PXPCS_TL_FUNC678_STAT_ERR_UNEXP_CPL7 \ + (1 << 24) /* Unexpected Completion Status Status in function 7, \ + if set, generate pcie_err_attn output when this error is seen. WC \ + */ +#define PXPCS_TL_FUNC678_STAT_ERR_MASTER_ABRT7 \ + (1 << 23) /* Receive UR Statusin function 7. If set, generate \ + pcie_err_attn output when this error is seen. WC */ +#define PXPCS_TL_FUNC678_STAT_ERR_CPL_TIMEOUT7 \ + (1 << 22) /* Completer Timeout Status Status in function 7, if \ + set, generate pcie_err_attn output when this error is seen. WC */ +#define PXPCS_TL_FUNC678_STAT_ERR_FC_PRTL7 \ + (1 << 21) /* Flow Control Protocol Error Status Status in \ + function 7, if set, generate pcie_err_attn output when this error \ + is seen. WC */ +#define PXPCS_TL_FUNC678_STAT_ERR_PSND_TLP7 \ + (1 << 20) /* Poisoned Error Status Status in function 7, if set, \ + generate pcie_err_attn output when this error is seen.. WC */ +#define PXPCS_TL_FUNC678_STAT_PRI_SIG_TARGET_ABORT6 (1 << 19) /* WC */ +#define PXPCS_TL_FUNC678_STAT_ERR_UNSPPORT6 \ + (1 << 18) /* Unsupported Request Error Status in function6, if \ + set, generate pcie_err_attn output when this error is seen. WC */ +#define PXPCS_TL_FUNC678_STAT_ERR_ECRC6 \ + (1 << 17) /* ECRC Error TLP Status Status in function 6, if set, \ + generate pcie_err_attn output when this error is seen.. WC */ +#define PXPCS_TL_FUNC678_STAT_ERR_MALF_TLP6 \ + (1 << 16) /* Malformed TLP Status Status in function 6, if set, \ + generate pcie_err_attn output when this error is seen.. WC */ +#define PXPCS_TL_FUNC678_STAT_ERR_RX_OFLOW6 \ + (1 << 15) /* Receiver Overflow Status Status in function 6, if \ + set, generate pcie_err_attn output when this error is seen.. WC \ + */ +#define PXPCS_TL_FUNC678_STAT_ERR_UNEXP_CPL6 \ + (1 << 14) /* Unexpected Completion Status Status in function 6, \ + if set, generate pcie_err_attn output when this error is seen. WC \ + */ +#define PXPCS_TL_FUNC678_STAT_ERR_MASTER_ABRT6 \ + (1 << 13) /* Receive UR Statusin function 6. If set, generate \ + pcie_err_attn output when this error is seen. WC */ +#define PXPCS_TL_FUNC678_STAT_ERR_CPL_TIMEOUT6 \ + (1 << 12) /* Completer Timeout Status Status in function 6, if \ + set, generate pcie_err_attn output when this error is seen. WC */ +#define PXPCS_TL_FUNC678_STAT_ERR_FC_PRTL6 \ + (1 << 11) /* Flow Control Protocol Error Status Status in \ + function 6, if set, generate pcie_err_attn output when this error \ + is seen. WC */ +#define PXPCS_TL_FUNC678_STAT_ERR_PSND_TLP6 \ + (1 << 10) /* Poisoned Error Status Status in function 6, if set, \ + generate pcie_err_attn output when this error is seen.. WC */ +#define PXPCS_TL_FUNC678_STAT_PRI_SIG_TARGET_ABORT5 (1 << 9) /* WC */ +#define PXPCS_TL_FUNC678_STAT_ERR_UNSPPORT5 \ + (1 << 8) /* Unsupported Request Error Status for Function 5, if \ + set, generate pcie_err_attn output when this error is seen. WC */ +#define PXPCS_TL_FUNC678_STAT_ERR_ECRC5 \ + (1 << 7) /* ECRC Error TLP Status Status for Function 5, if set, \ + generate pcie_err_attn output when this error is seen.. WC */ +#define PXPCS_TL_FUNC678_STAT_ERR_MALF_TLP5 \ + (1 << 6) /* Malformed TLP Status Status for Function 5, if set, \ + generate pcie_err_attn output when this error is seen.. WC */ +#define PXPCS_TL_FUNC678_STAT_ERR_RX_OFLOW5 \ + (1 << 5) /* Receiver Overflow Status Status for Function 5, if \ + set, generate pcie_err_attn output when this error is seen.. WC \ + */ +#define PXPCS_TL_FUNC678_STAT_ERR_UNEXP_CPL5 \ + (1 << 4) /* Unexpected Completion Status Status for Function 5, \ + if set, generate pcie_err_attn output when this error is seen. WC \ + */ +#define PXPCS_TL_FUNC678_STAT_ERR_MASTER_ABRT5 \ + (1 << 3) /* Receive UR Statusfor Function 5. If set, generate \ + pcie_err_attn output when this error is seen. WC */ +#define PXPCS_TL_FUNC678_STAT_ERR_CPL_TIMEOUT5 \ + (1 << 2) /* Completer Timeout Status Status for Function 5, if \ + set, generate pcie_err_attn output when this error is seen. WC */ +#define PXPCS_TL_FUNC678_STAT_ERR_FC_PRTL5 \ + (1 << 1) /* Flow Control Protocol Error Status Status for \ + Function 5, if set, generate pcie_err_attn output when this error \ + is seen. WC */ +#define PXPCS_TL_FUNC678_STAT_ERR_PSND_TLP5 \ + (1 << 0) /* Poisoned Error Status Status for Function 5, if set, \ + generate pcie_err_attn output when this error is seen.. WC */ + + +#define BAR_USTRORM_INTMEM 0x400000 +#define BAR_CSTRORM_INTMEM 0x410000 +#define BAR_XSTRORM_INTMEM 0x420000 +#define BAR_TSTRORM_INTMEM 0x430000 + +/* for accessing the IGU in case of status block ACK */ +#define BAR_IGU_INTMEM 0x440000 + +#define BAR_DOORBELL_OFFSET 0x800000 + +#define BAR_ME_REGISTER 0x450000 +#define ME_REG_PF_NUM_SHIFT 0 +#define ME_REG_PF_NUM \ + (7L<<ME_REG_PF_NUM_SHIFT) /* Relative PF Num */ +#define ME_REG_VF_VALID (1<<8) +#define ME_REG_VF_NUM_SHIFT 9 +#define ME_REG_VF_NUM_MASK (0x3f<<ME_REG_VF_NUM_SHIFT) +#define VF_ID(x) ((x & ME_REG_VF_NUM_MASK) >> ME_REG_VF_NUM_SHIFT) +#define ME_REG_VF_ERR (0x1<<3) +#define ME_REG_ABS_PF_NUM_SHIFT 16 +#define ME_REG_ABS_PF_NUM \ + (7L<<ME_REG_ABS_PF_NUM_SHIFT) /* Absolute PF Num */ + + +#define PXP_VF_ADRR_NUM_QUEUES 136 +#define PXP_ADDR_QUEUE_SIZE 32 +#define PXP_ADDR_REG_SIZE 512 + + +#define PXP_VF_ADDR_IGU_START 0 +#define PXP_VF_ADDR_IGU_SIZE (0x3000) +#define PXP_VF_ADDR_IGU_END \ + ((PXP_VF_ADDR_IGU_START) + (PXP_VF_ADDR_IGU_SIZE) - 1) + +#define PXP_VF_ADDR_USDM_QUEUES_START 0x3000 +#define PXP_VF_ADDR_USDM_QUEUES_SIZE \ + (PXP_VF_ADRR_NUM_QUEUES * PXP_ADDR_QUEUE_SIZE) +#define PXP_VF_ADDR_USDM_QUEUES_END \ + ((PXP_VF_ADDR_USDM_QUEUES_START) + (PXP_VF_ADDR_USDM_QUEUES_SIZE) - 1) + +#define PXP_VF_ADDR_CSDM_QUEUES_START 0x4100 +#define PXP_VF_ADDR_CSDM_QUEUES_SIZE \ + (PXP_VF_ADRR_NUM_QUEUES * PXP_ADDR_QUEUE_SIZE) +#define PXP_VF_ADDR_CSDM_QUEUES_END \ + ((PXP_VF_ADDR_CSDM_QUEUES_START) + (PXP_VF_ADDR_CSDM_QUEUES_SIZE) - 1) + +#define PXP_VF_ADDR_XSDM_QUEUES_START 0x5200 +#define PXP_VF_ADDR_XSDM_QUEUES_SIZE \ + (PXP_VF_ADRR_NUM_QUEUES * PXP_ADDR_QUEUE_SIZE) +#define PXP_VF_ADDR_XSDM_QUEUES_END \ + ((PXP_VF_ADDR_XSDM_QUEUES_START) + (PXP_VF_ADDR_XSDM_QUEUES_SIZE) - 1) + +#define PXP_VF_ADDR_TSDM_QUEUES_START 0x6300 +#define PXP_VF_ADDR_TSDM_QUEUES_SIZE \ + (PXP_VF_ADRR_NUM_QUEUES * PXP_ADDR_QUEUE_SIZE) +#define PXP_VF_ADDR_TSDM_QUEUES_END \ + ((PXP_VF_ADDR_TSDM_QUEUES_START) + (PXP_VF_ADDR_TSDM_QUEUES_SIZE) - 1) + +#define PXP_VF_ADDR_USDM_GLOBAL_START 0x7400 +#define PXP_VF_ADDR_USDM_GLOBAL_SIZE (PXP_ADDR_REG_SIZE) +#define PXP_VF_ADDR_USDM_GLOBAL_END \ + ((PXP_VF_ADDR_USDM_GLOBAL_START) + (PXP_VF_ADDR_USDM_GLOBAL_SIZE) - 1) + +#define PXP_VF_ADDR_CSDM_GLOBAL_START 0x7600 +#define PXP_VF_ADDR_CSDM_GLOBAL_SIZE (PXP_ADDR_REG_SIZE) +#define PXP_VF_ADDR_CSDM_GLOBAL_END \ + ((PXP_VF_ADDR_CSDM_GLOBAL_START) + (PXP_VF_ADDR_CSDM_GLOBAL_SIZE) - 1) + +#define PXP_VF_ADDR_XSDM_GLOBAL_START 0x7800 +#define PXP_VF_ADDR_XSDM_GLOBAL_SIZE (PXP_ADDR_REG_SIZE) +#define PXP_VF_ADDR_XSDM_GLOBAL_END \ + ((PXP_VF_ADDR_XSDM_GLOBAL_START) + (PXP_VF_ADDR_XSDM_GLOBAL_SIZE) - 1) + +#define PXP_VF_ADDR_TSDM_GLOBAL_START 0x7a00 +#define PXP_VF_ADDR_TSDM_GLOBAL_SIZE (PXP_ADDR_REG_SIZE) +#define PXP_VF_ADDR_TSDM_GLOBAL_END \ + ((PXP_VF_ADDR_TSDM_GLOBAL_START) + (PXP_VF_ADDR_TSDM_GLOBAL_SIZE) - 1) + +#define PXP_VF_ADDR_DB_START 0x7c00 +#define PXP_VF_ADDR_DB_SIZE (0x200) +#define PXP_VF_ADDR_DB_END \ + ((PXP_VF_ADDR_DB_START) + (PXP_VF_ADDR_DB_SIZE) - 1) + +#define PXP_VF_ADDR_GRC_START 0x7e00 +#define PXP_VF_ADDR_GRC_SIZE (0x200) +#define PXP_VF_ADDR_GRC_END \ + ((PXP_VF_ADDR_GRC_START) + (PXP_VF_ADDR_GRC_SIZE) - 1) + +#define PXP_VF_ADDR_DORQ_START (0x0) +#define PXP_VF_ADDR_DORQ_SIZE (0xffffffff) +#define PXP_VF_ADDR_DORQ_END (0xffffffff) + +#define PXP_BAR_GRC 0 +#define PXP_BAR_TSDM 0 +#define PXP_BAR_USDM 0 +#define PXP_BAR_XSDM 0 +#define PXP_BAR_CSDM 0 +#define PXP_BAR_IGU 0 +#define PXP_BAR_DQ 1 + +#define PXP_VF_BAR_IGU 0 +#define PXP_VF_BAR_USDM_QUEUES 0 +#define PXP_VF_BAR_TSDM_QUEUES 0 +#define PXP_VF_BAR_XSDM_QUEUES 0 +#define PXP_VF_BAR_CSDM_QUEUES 0 +#define PXP_VF_BAR_USDM_GLOBAL 0 +#define PXP_VF_BAR_TSDM_GLOBAL 0 +#define PXP_VF_BAR_XSDM_GLOBAL 0 +#define PXP_VF_BAR_CSDM_GLOBAL 0 +#define PXP_VF_BAR_DB 0 +#define PXP_VF_BAR_GRC 0 +#define PXP_VF_BAR_DORQ 1 + +/* PCI CAPABILITIES*/ + +#define PCI_CAP_PCIE 0x10 /*PCIe capability ID*/ + +#define PCIE_DEV_CAPS 0x04 + +#define PCIE_DEV_CTRL 0x08 +#define PCIE_DEV_CTRL_FLR 0x8000; + +#define PCIE_DEV_STATUS 0x0A + +#define PCI_CAP_MSIX 0x11 /*MSI-X capability ID*/ +#define PCI_MSIX_CONTROL_SHIFT 16 +#define PCI_MSIX_TABLE_SIZE_MASK 0x07FF +#define PCI_MSIX_TABLE_ENABLE_MASK 0x8000 + + +#define MDIO_REG_BANK_CL73_IEEEB0 0x0 +#define MDIO_CL73_IEEEB0_CL73_AN_CONTROL 0x0 +#define MDIO_CL73_IEEEB0_CL73_AN_CONTROL_RESTART_AN 0x0200 +#define MDIO_CL73_IEEEB0_CL73_AN_CONTROL_AN_EN 0x1000 +#define MDIO_CL73_IEEEB0_CL73_AN_CONTROL_MAIN_RST 0x8000 + +#define MDIO_REG_BANK_CL73_IEEEB1 0x10 +#define MDIO_CL73_IEEEB1_AN_ADV1 0x00 +#define MDIO_CL73_IEEEB1_AN_ADV1_PAUSE 0x0400 +#define MDIO_CL73_IEEEB1_AN_ADV1_ASYMMETRIC 0x0800 +#define MDIO_CL73_IEEEB1_AN_ADV1_PAUSE_BOTH 0x0C00 +#define MDIO_CL73_IEEEB1_AN_ADV1_PAUSE_MASK 0x0C00 +#define MDIO_CL73_IEEEB1_AN_ADV2 0x01 +#define MDIO_CL73_IEEEB1_AN_ADV2_ADVR_1000M 0x0000 +#define MDIO_CL73_IEEEB1_AN_ADV2_ADVR_1000M_KX 0x0020 +#define MDIO_CL73_IEEEB1_AN_ADV2_ADVR_10G_KX4 0x0040 +#define MDIO_CL73_IEEEB1_AN_ADV2_ADVR_10G_KR 0x0080 +#define MDIO_CL73_IEEEB1_AN_LP_ADV1 0x03 +#define MDIO_CL73_IEEEB1_AN_LP_ADV1_PAUSE 0x0400 +#define MDIO_CL73_IEEEB1_AN_LP_ADV1_ASYMMETRIC 0x0800 +#define MDIO_CL73_IEEEB1_AN_LP_ADV1_PAUSE_BOTH 0x0C00 +#define MDIO_CL73_IEEEB1_AN_LP_ADV1_PAUSE_MASK 0x0C00 +#define MDIO_CL73_IEEEB1_AN_LP_ADV2 0x04 + +#define MDIO_REG_BANK_RX0 0x80b0 +#define MDIO_RX0_RX_STATUS 0x10 +#define MDIO_RX0_RX_STATUS_SIGDET 0x8000 +#define MDIO_RX0_RX_STATUS_RX_SEQ_DONE 0x1000 +#define MDIO_RX0_RX_EQ_BOOST 0x1c +#define MDIO_RX0_RX_EQ_BOOST_EQUALIZER_CTRL_MASK 0x7 +#define MDIO_RX0_RX_EQ_BOOST_OFFSET_CTRL 0x10 + +#define MDIO_REG_BANK_RX1 0x80c0 +#define MDIO_RX1_RX_EQ_BOOST 0x1c +#define MDIO_RX1_RX_EQ_BOOST_EQUALIZER_CTRL_MASK 0x7 +#define MDIO_RX1_RX_EQ_BOOST_OFFSET_CTRL 0x10 + +#define MDIO_REG_BANK_RX2 0x80d0 +#define MDIO_RX2_RX_EQ_BOOST 0x1c +#define MDIO_RX2_RX_EQ_BOOST_EQUALIZER_CTRL_MASK 0x7 +#define MDIO_RX2_RX_EQ_BOOST_OFFSET_CTRL 0x10 + +#define MDIO_REG_BANK_RX3 0x80e0 +#define MDIO_RX3_RX_EQ_BOOST 0x1c +#define MDIO_RX3_RX_EQ_BOOST_EQUALIZER_CTRL_MASK 0x7 +#define MDIO_RX3_RX_EQ_BOOST_OFFSET_CTRL 0x10 + +#define MDIO_REG_BANK_RX_ALL 0x80f0 +#define MDIO_RX_ALL_RX_EQ_BOOST 0x1c +#define MDIO_RX_ALL_RX_EQ_BOOST_EQUALIZER_CTRL_MASK 0x7 +#define MDIO_RX_ALL_RX_EQ_BOOST_OFFSET_CTRL 0x10 + +#define MDIO_REG_BANK_TX0 0x8060 +#define MDIO_TX0_TX_DRIVER 0x17 +#define MDIO_TX0_TX_DRIVER_PREEMPHASIS_MASK 0xf000 +#define MDIO_TX0_TX_DRIVER_PREEMPHASIS_SHIFT 12 +#define MDIO_TX0_TX_DRIVER_IDRIVER_MASK 0x0f00 +#define MDIO_TX0_TX_DRIVER_IDRIVER_SHIFT 8 +#define MDIO_TX0_TX_DRIVER_IPREDRIVER_MASK 0x00f0 +#define MDIO_TX0_TX_DRIVER_IPREDRIVER_SHIFT 4 +#define MDIO_TX0_TX_DRIVER_IFULLSPD_MASK 0x000e +#define MDIO_TX0_TX_DRIVER_IFULLSPD_SHIFT 1 +#define MDIO_TX0_TX_DRIVER_ICBUF1T 1 + +#define MDIO_REG_BANK_TX1 0x8070 +#define MDIO_TX1_TX_DRIVER 0x17 +#define MDIO_TX0_TX_DRIVER_PREEMPHASIS_MASK 0xf000 +#define MDIO_TX0_TX_DRIVER_PREEMPHASIS_SHIFT 12 +#define MDIO_TX0_TX_DRIVER_IDRIVER_MASK 0x0f00 +#define MDIO_TX0_TX_DRIVER_IDRIVER_SHIFT 8 +#define MDIO_TX0_TX_DRIVER_IPREDRIVER_MASK 0x00f0 +#define MDIO_TX0_TX_DRIVER_IPREDRIVER_SHIFT 4 +#define MDIO_TX0_TX_DRIVER_IFULLSPD_MASK 0x000e +#define MDIO_TX0_TX_DRIVER_IFULLSPD_SHIFT 1 +#define MDIO_TX0_TX_DRIVER_ICBUF1T 1 + +#define MDIO_REG_BANK_TX2 0x8080 +#define MDIO_TX2_TX_DRIVER 0x17 +#define MDIO_TX0_TX_DRIVER_PREEMPHASIS_MASK 0xf000 +#define MDIO_TX0_TX_DRIVER_PREEMPHASIS_SHIFT 12 +#define MDIO_TX0_TX_DRIVER_IDRIVER_MASK 0x0f00 +#define MDIO_TX0_TX_DRIVER_IDRIVER_SHIFT 8 +#define MDIO_TX0_TX_DRIVER_IPREDRIVER_MASK 0x00f0 +#define MDIO_TX0_TX_DRIVER_IPREDRIVER_SHIFT 4 +#define MDIO_TX0_TX_DRIVER_IFULLSPD_MASK 0x000e +#define MDIO_TX0_TX_DRIVER_IFULLSPD_SHIFT 1 +#define MDIO_TX0_TX_DRIVER_ICBUF1T 1 + +#define MDIO_REG_BANK_TX3 0x8090 +#define MDIO_TX3_TX_DRIVER 0x17 +#define MDIO_TX0_TX_DRIVER_PREEMPHASIS_MASK 0xf000 +#define MDIO_TX0_TX_DRIVER_PREEMPHASIS_SHIFT 12 +#define MDIO_TX0_TX_DRIVER_IDRIVER_MASK 0x0f00 +#define MDIO_TX0_TX_DRIVER_IDRIVER_SHIFT 8 +#define MDIO_TX0_TX_DRIVER_IPREDRIVER_MASK 0x00f0 +#define MDIO_TX0_TX_DRIVER_IPREDRIVER_SHIFT 4 +#define MDIO_TX0_TX_DRIVER_IFULLSPD_MASK 0x000e +#define MDIO_TX0_TX_DRIVER_IFULLSPD_SHIFT 1 +#define MDIO_TX0_TX_DRIVER_ICBUF1T 1 + +#define MDIO_REG_BANK_XGXS_BLOCK0 0x8000 +#define MDIO_BLOCK0_XGXS_CONTROL 0x10 + +#define MDIO_REG_BANK_XGXS_BLOCK1 0x8010 +#define MDIO_BLOCK1_LANE_CTRL0 0x15 +#define MDIO_BLOCK1_LANE_CTRL1 0x16 +#define MDIO_BLOCK1_LANE_CTRL2 0x17 +#define MDIO_BLOCK1_LANE_PRBS 0x19 + +#define MDIO_REG_BANK_XGXS_BLOCK2 0x8100 +#define MDIO_XGXS_BLOCK2_RX_LN_SWAP 0x10 +#define MDIO_XGXS_BLOCK2_RX_LN_SWAP_ENABLE 0x8000 +#define MDIO_XGXS_BLOCK2_RX_LN_SWAP_FORCE_ENABLE 0x4000 +#define MDIO_XGXS_BLOCK2_TX_LN_SWAP 0x11 +#define MDIO_XGXS_BLOCK2_TX_LN_SWAP_ENABLE 0x8000 +#define MDIO_XGXS_BLOCK2_UNICORE_MODE_10G 0x14 +#define MDIO_XGXS_BLOCK2_UNICORE_MODE_10G_CX4_XGXS 0x0001 +#define MDIO_XGXS_BLOCK2_UNICORE_MODE_10G_HIGIG_XGXS 0x0010 +#define MDIO_XGXS_BLOCK2_TEST_MODE_LANE 0x15 + +#define MDIO_REG_BANK_GP_STATUS 0x8120 +#define MDIO_GP_STATUS_TOP_AN_STATUS1 0x1B +#define MDIO_GP_STATUS_TOP_AN_STATUS1_CL73_AUTONEG_COMPLETE 0x0001 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_CL37_AUTONEG_COMPLETE 0x0002 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_LINK_STATUS 0x0004 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_DUPLEX_STATUS 0x0008 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_CL73_MR_LP_NP_AN_ABLE 0x0010 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_CL73_LP_NP_BAM_ABLE 0x0020 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_PAUSE_RSOLUTION_TXSIDE 0x0040 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_PAUSE_RSOLUTION_RXSIDE 0x0080 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_MASK 0x3f00 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10M 0x0000 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_100M 0x0100 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_1G 0x0200 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_2_5G 0x0300 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_5G 0x0400 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_6G 0x0500 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_HIG 0x0600 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_CX4 0x0700 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_12G_HIG 0x0800 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_12_5G 0x0900 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_13G 0x0A00 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_15G 0x0B00 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_16G 0x0C00 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_1G_KX 0x0D00 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_KX4 0x0E00 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_KR 0x0F00 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_XFI 0x1B00 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_20G_DXGXS 0x1E00 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_SFI 0x1F00 +#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_20G_KR2 0x3900 + + +#define MDIO_REG_BANK_10G_PARALLEL_DETECT 0x8130 +#define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_STATUS 0x10 +#define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_STATUS_PD_LINK 0x8000 +#define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_CONTROL 0x11 +#define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_CONTROL_PARDET10G_EN 0x1 +#define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_LINK 0x13 +#define MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_LINK_CNT (0xb71<<1) + +#define MDIO_REG_BANK_SERDES_DIGITAL 0x8300 +#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1 0x10 +#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_FIBER_MODE 0x0001 +#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_TBI_IF 0x0002 +#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_SIGNAL_DETECT_EN 0x0004 +#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_INVERT_SIGNAL_DETECT 0x0008 +#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_AUTODET 0x0010 +#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL1_MSTR_MODE 0x0020 +#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL2 0x11 +#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL2_PRL_DT_EN 0x0001 +#define MDIO_SERDES_DIGITAL_A_1000X_CONTROL2_AN_FST_TMR 0x0040 +#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1 0x14 +#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SGMII 0x0001 +#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_LINK 0x0002 +#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_DUPLEX 0x0004 +#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_MASK 0x0018 +#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_SHIFT 3 +#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_2_5G 0x0018 +#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_1G 0x0010 +#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_100M 0x0008 +#define MDIO_SERDES_DIGITAL_A_1000X_STATUS1_SPEED_10M 0x0000 +#define MDIO_SERDES_DIGITAL_A_1000X_STATUS2 0x15 +#define MDIO_SERDES_DIGITAL_A_1000X_STATUS2_AN_DISABLED 0x0002 +#define MDIO_SERDES_DIGITAL_MISC1 0x18 +#define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_MASK 0xE000 +#define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_25M 0x0000 +#define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_100M 0x2000 +#define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_125M 0x4000 +#define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_156_25M 0x6000 +#define MDIO_SERDES_DIGITAL_MISC1_REFCLK_SEL_187_5M 0x8000 +#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_SEL 0x0010 +#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_MASK 0x000f +#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_2_5G 0x0000 +#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_5G 0x0001 +#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_6G 0x0002 +#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_10G_HIG 0x0003 +#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_10G_CX4 0x0004 +#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_12G 0x0005 +#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_12_5G 0x0006 +#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_13G 0x0007 +#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_15G 0x0008 +#define MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_16G 0x0009 + +#define MDIO_REG_BANK_OVER_1G 0x8320 +#define MDIO_OVER_1G_DIGCTL_3_4 0x14 +#define MDIO_OVER_1G_DIGCTL_3_4_MP_ID_MASK 0xffe0 +#define MDIO_OVER_1G_DIGCTL_3_4_MP_ID_SHIFT 5 +#define MDIO_OVER_1G_UP1 0x19 +#define MDIO_OVER_1G_UP1_2_5G 0x0001 +#define MDIO_OVER_1G_UP1_5G 0x0002 +#define MDIO_OVER_1G_UP1_6G 0x0004 +#define MDIO_OVER_1G_UP1_10G 0x0010 +#define MDIO_OVER_1G_UP1_10GH 0x0008 +#define MDIO_OVER_1G_UP1_12G 0x0020 +#define MDIO_OVER_1G_UP1_12_5G 0x0040 +#define MDIO_OVER_1G_UP1_13G 0x0080 +#define MDIO_OVER_1G_UP1_15G 0x0100 +#define MDIO_OVER_1G_UP1_16G 0x0200 +#define MDIO_OVER_1G_UP2 0x1A +#define MDIO_OVER_1G_UP2_IPREDRIVER_MASK 0x0007 +#define MDIO_OVER_1G_UP2_IDRIVER_MASK 0x0038 +#define MDIO_OVER_1G_UP2_PREEMPHASIS_MASK 0x03C0 +#define MDIO_OVER_1G_UP3 0x1B +#define MDIO_OVER_1G_UP3_HIGIG2 0x0001 +#define MDIO_OVER_1G_LP_UP1 0x1C +#define MDIO_OVER_1G_LP_UP2 0x1D +#define MDIO_OVER_1G_LP_UP2_MR_ADV_OVER_1G_MASK 0x03ff +#define MDIO_OVER_1G_LP_UP2_PREEMPHASIS_MASK 0x0780 +#define MDIO_OVER_1G_LP_UP2_PREEMPHASIS_SHIFT 7 +#define MDIO_OVER_1G_LP_UP3 0x1E + +#define MDIO_REG_BANK_REMOTE_PHY 0x8330 +#define MDIO_REMOTE_PHY_MISC_RX_STATUS 0x10 +#define MDIO_REMOTE_PHY_MISC_RX_STATUS_CL37_FSM_RECEIVED_OVER1G_MSG 0x0010 +#define MDIO_REMOTE_PHY_MISC_RX_STATUS_CL37_FSM_RECEIVED_BRCM_OUI_MSG 0x0600 + +#define MDIO_REG_BANK_BAM_NEXT_PAGE 0x8350 +#define MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL 0x10 +#define MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL_BAM_MODE 0x0001 +#define MDIO_BAM_NEXT_PAGE_MP5_NEXT_PAGE_CTRL_TETON_AN 0x0002 + +#define MDIO_REG_BANK_CL73_USERB0 0x8370 +#define MDIO_CL73_USERB0_CL73_UCTRL 0x10 +#define MDIO_CL73_USERB0_CL73_UCTRL_USTAT1_MUXSEL 0x0002 +#define MDIO_CL73_USERB0_CL73_USTAT1 0x11 +#define MDIO_CL73_USERB0_CL73_USTAT1_LINK_STATUS_CHECK 0x0100 +#define MDIO_CL73_USERB0_CL73_USTAT1_AN_GOOD_CHECK_BAM37 0x0400 +#define MDIO_CL73_USERB0_CL73_BAM_CTRL1 0x12 +#define MDIO_CL73_USERB0_CL73_BAM_CTRL1_BAM_EN 0x8000 +#define MDIO_CL73_USERB0_CL73_BAM_CTRL1_BAM_STATION_MNGR_EN 0x4000 +#define MDIO_CL73_USERB0_CL73_BAM_CTRL1_BAM_NP_AFTER_BP_EN 0x2000 +#define MDIO_CL73_USERB0_CL73_BAM_CTRL3 0x14 +#define MDIO_CL73_USERB0_CL73_BAM_CTRL3_USE_CL73_HCD_MR 0x0001 + +#define MDIO_REG_BANK_AER_BLOCK 0xFFD0 +#define MDIO_AER_BLOCK_AER_REG 0x1E + +#define MDIO_REG_BANK_COMBO_IEEE0 0xFFE0 +#define MDIO_COMBO_IEEE0_MII_CONTROL 0x10 +#define MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_MASK 0x2040 +#define MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_10 0x0000 +#define MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_100 0x2000 +#define MDIO_COMBO_IEEO_MII_CONTROL_MAN_SGMII_SP_1000 0x0040 +#define MDIO_COMBO_IEEO_MII_CONTROL_FULL_DUPLEX 0x0100 +#define MDIO_COMBO_IEEO_MII_CONTROL_RESTART_AN 0x0200 +#define MDIO_COMBO_IEEO_MII_CONTROL_AN_EN 0x1000 +#define MDIO_COMBO_IEEO_MII_CONTROL_LOOPBACK 0x4000 +#define MDIO_COMBO_IEEO_MII_CONTROL_RESET 0x8000 +#define MDIO_COMBO_IEEE0_MII_STATUS 0x11 +#define MDIO_COMBO_IEEE0_MII_STATUS_LINK_PASS 0x0004 +#define MDIO_COMBO_IEEE0_MII_STATUS_AUTONEG_COMPLETE 0x0020 +#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV 0x14 +#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_FULL_DUPLEX 0x0020 +#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_HALF_DUPLEX 0x0040 +#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_MASK 0x0180 +#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_NONE 0x0000 +#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_SYMMETRIC 0x0080 +#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_ASYMMETRIC 0x0100 +#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_BOTH 0x0180 +#define MDIO_COMBO_IEEE0_AUTO_NEG_ADV_NEXT_PAGE 0x8000 +#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1 0x15 +#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_NEXT_PAGE 0x8000 +#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_ACK 0x4000 +#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_PAUSE_MASK 0x0180 +#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_PAUSE_NONE 0x0000 +#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_PAUSE_BOTH 0x0180 +#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_HALF_DUP_CAP 0x0040 +#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_FULL_DUP_CAP 0x0020 +/*WhenthelinkpartnerisinSGMIImode(bit0=1), then +bit15=link, bit12=duplex, bits11:10=speed, bit14=acknowledge. +Theotherbitsarereservedandshouldbezero*/ +#define MDIO_COMBO_IEEE0_AUTO_NEG_LINK_PARTNER_ABILITY1_SGMII_MODE 0x0001 + + +#define MDIO_PMA_DEVAD 0x1 +/*ieee*/ +#define MDIO_PMA_REG_CTRL 0x0 +#define MDIO_PMA_REG_STATUS 0x1 +#define MDIO_PMA_REG_10G_CTRL2 0x7 +#define MDIO_PMA_REG_TX_DISABLE 0x0009 +#define MDIO_PMA_REG_RX_SD 0xa +/*bnx2x*/ +#define MDIO_PMA_REG_BNX2X_CTRL 0x0096 +#define MDIO_PMA_REG_FEC_CTRL 0x00ab +#define MDIO_PMA_LASI_RXCTRL 0x9000 +#define MDIO_PMA_LASI_TXCTRL 0x9001 +#define MDIO_PMA_LASI_CTRL 0x9002 +#define MDIO_PMA_LASI_RXSTAT 0x9003 +#define MDIO_PMA_LASI_TXSTAT 0x9004 +#define MDIO_PMA_LASI_STAT 0x9005 +#define MDIO_PMA_REG_PHY_IDENTIFIER 0xc800 +#define MDIO_PMA_REG_DIGITAL_CTRL 0xc808 +#define MDIO_PMA_REG_DIGITAL_STATUS 0xc809 +#define MDIO_PMA_REG_TX_POWER_DOWN 0xca02 +#define MDIO_PMA_REG_CMU_PLL_BYPASS 0xca09 +#define MDIO_PMA_REG_MISC_CTRL 0xca0a +#define MDIO_PMA_REG_GEN_CTRL 0xca10 +#define MDIO_PMA_REG_GEN_CTRL_ROM_RESET_INTERNAL_MP 0x0188 +#define MDIO_PMA_REG_GEN_CTRL_ROM_MICRO_RESET 0x018a +#define MDIO_PMA_REG_M8051_MSGIN_REG 0xca12 +#define MDIO_PMA_REG_M8051_MSGOUT_REG 0xca13 +#define MDIO_PMA_REG_ROM_VER1 0xca19 +#define MDIO_PMA_REG_ROM_VER2 0xca1a +#define MDIO_PMA_REG_EDC_FFE_MAIN 0xca1b +#define MDIO_PMA_REG_PLL_BANDWIDTH 0xca1d +#define MDIO_PMA_REG_PLL_CTRL 0xca1e +#define MDIO_PMA_REG_MISC_CTRL0 0xca23 +#define MDIO_PMA_REG_LRM_MODE 0xca3f +#define MDIO_PMA_REG_CDR_BANDWIDTH 0xca46 +#define MDIO_PMA_REG_MISC_CTRL1 0xca85 + +#define MDIO_PMA_REG_SFP_TWO_WIRE_CTRL 0x8000 +#define MDIO_PMA_REG_SFP_TWO_WIRE_CTRL_STATUS_MASK 0x000c +#define MDIO_PMA_REG_SFP_TWO_WIRE_STATUS_IDLE 0x0000 +#define MDIO_PMA_REG_SFP_TWO_WIRE_STATUS_COMPLETE 0x0004 +#define MDIO_PMA_REG_SFP_TWO_WIRE_STATUS_IN_PROGRESS 0x0008 +#define MDIO_PMA_REG_SFP_TWO_WIRE_STATUS_FAILED 0x000c +#define MDIO_PMA_REG_SFP_TWO_WIRE_BYTE_CNT 0x8002 +#define MDIO_PMA_REG_SFP_TWO_WIRE_MEM_ADDR 0x8003 +#define MDIO_PMA_REG_8726_TWO_WIRE_DATA_BUF 0xc820 +#define MDIO_PMA_REG_8726_TWO_WIRE_DATA_MASK 0xff +#define MDIO_PMA_REG_8726_TX_CTRL1 0xca01 +#define MDIO_PMA_REG_8726_TX_CTRL2 0xca05 + +#define MDIO_PMA_REG_8727_TWO_WIRE_SLAVE_ADDR 0x8005 +#define MDIO_PMA_REG_8727_TWO_WIRE_DATA_BUF 0x8007 +#define MDIO_PMA_REG_8727_TWO_WIRE_DATA_MASK 0xff +#define MDIO_PMA_REG_8727_MISC_CTRL 0x8309 +#define MDIO_PMA_REG_8727_TX_CTRL1 0xca02 +#define MDIO_PMA_REG_8727_TX_CTRL2 0xca05 +#define MDIO_PMA_REG_8727_PCS_OPT_CTRL 0xc808 +#define MDIO_PMA_REG_8727_GPIO_CTRL 0xc80e +#define MDIO_PMA_REG_8727_PCS_GP 0xc842 +#define MDIO_PMA_REG_8727_OPT_CFG_REG 0xc8e4 + +#define MDIO_AN_REG_8727_MISC_CTRL 0x8309 +#define MDIO_PMA_REG_8073_CHIP_REV 0xc801 +#define MDIO_PMA_REG_8073_SPEED_LINK_STATUS 0xc820 +#define MDIO_PMA_REG_8073_XAUI_WA 0xc841 +#define MDIO_PMA_REG_8073_OPT_DIGITAL_CTRL 0xcd08 + +#define MDIO_PMA_REG_7101_RESET 0xc000 +#define MDIO_PMA_REG_7107_LED_CNTL 0xc007 +#define MDIO_PMA_REG_7107_LINK_LED_CNTL 0xc009 +#define MDIO_PMA_REG_7101_VER1 0xc026 +#define MDIO_PMA_REG_7101_VER2 0xc027 + +#define MDIO_PMA_REG_8481_PMD_SIGNAL 0xa811 +#define MDIO_PMA_REG_8481_LED1_MASK 0xa82c +#define MDIO_PMA_REG_8481_LED2_MASK 0xa82f +#define MDIO_PMA_REG_8481_LED3_MASK 0xa832 +#define MDIO_PMA_REG_8481_LED3_BLINK 0xa834 +#define MDIO_PMA_REG_8481_LED5_MASK 0xa838 +#define MDIO_PMA_REG_8481_SIGNAL_MASK 0xa835 +#define MDIO_PMA_REG_8481_LINK_SIGNAL 0xa83b +#define MDIO_PMA_REG_8481_LINK_SIGNAL_LED4_ENABLE_MASK 0x800 +#define MDIO_PMA_REG_8481_LINK_SIGNAL_LED4_ENABLE_SHIFT 11 + + +#define MDIO_WIS_DEVAD 0x2 +/*bnx2x*/ +#define MDIO_WIS_REG_LASI_CNTL 0x9002 +#define MDIO_WIS_REG_LASI_STATUS 0x9005 + +#define MDIO_PCS_DEVAD 0x3 +#define MDIO_PCS_REG_STATUS 0x0020 +#define MDIO_PCS_REG_LASI_STATUS 0x9005 +#define MDIO_PCS_REG_7101_DSP_ACCESS 0xD000 +#define MDIO_PCS_REG_7101_SPI_MUX 0xD008 +#define MDIO_PCS_REG_7101_SPI_CTRL_ADDR 0xE12A +#define MDIO_PCS_REG_7101_SPI_RESET_BIT (5) +#define MDIO_PCS_REG_7101_SPI_FIFO_ADDR 0xE02A +#define MDIO_PCS_REG_7101_SPI_FIFO_ADDR_WRITE_ENABLE_CMD (6) +#define MDIO_PCS_REG_7101_SPI_FIFO_ADDR_BULK_ERASE_CMD (0xC7) +#define MDIO_PCS_REG_7101_SPI_FIFO_ADDR_PAGE_PROGRAM_CMD (2) +#define MDIO_PCS_REG_7101_SPI_BYTES_TO_TRANSFER_ADDR 0xE028 + + +#define MDIO_XS_DEVAD 0x4 +#define MDIO_XS_REG_STATUS 0x0001 +#define MDIO_XS_PLL_SEQUENCER 0x8000 +#define MDIO_XS_SFX7101_XGXS_TEST1 0xc00a + +#define MDIO_XS_8706_REG_BANK_RX0 0x80bc +#define MDIO_XS_8706_REG_BANK_RX1 0x80cc +#define MDIO_XS_8706_REG_BANK_RX2 0x80dc +#define MDIO_XS_8706_REG_BANK_RX3 0x80ec +#define MDIO_XS_8706_REG_BANK_RXA 0x80fc + +#define MDIO_XS_REG_8073_RX_CTRL_PCIE 0x80FA + +#define MDIO_AN_DEVAD 0x7 +/*ieee*/ +#define MDIO_AN_REG_CTRL 0x0000 +#define MDIO_AN_REG_STATUS 0x0001 +#define MDIO_AN_REG_STATUS_AN_COMPLETE 0x0020 +#define MDIO_AN_REG_ADV_PAUSE 0x0010 +#define MDIO_AN_REG_ADV_PAUSE_PAUSE 0x0400 +#define MDIO_AN_REG_ADV_PAUSE_ASYMMETRIC 0x0800 +#define MDIO_AN_REG_ADV_PAUSE_BOTH 0x0C00 +#define MDIO_AN_REG_ADV_PAUSE_MASK 0x0C00 +#define MDIO_AN_REG_ADV 0x0011 +#define MDIO_AN_REG_ADV2 0x0012 +#define MDIO_AN_REG_LP_AUTO_NEG 0x0013 +#define MDIO_AN_REG_LP_AUTO_NEG2 0x0014 +#define MDIO_AN_REG_MASTER_STATUS 0x0021 +#define MDIO_AN_REG_EEE_ADV 0x003c +#define MDIO_AN_REG_LP_EEE_ADV 0x003d +/*bnx2x*/ +#define MDIO_AN_REG_LINK_STATUS 0x8304 +#define MDIO_AN_REG_CL37_CL73 0x8370 +#define MDIO_AN_REG_CL37_AN 0xffe0 +#define MDIO_AN_REG_CL37_FC_LD 0xffe4 +#define MDIO_AN_REG_CL37_FC_LP 0xffe5 +#define MDIO_AN_REG_1000T_STATUS 0xffea + +#define MDIO_AN_REG_8073_2_5G 0x8329 +#define MDIO_AN_REG_8073_BAM 0x8350 + +#define MDIO_AN_REG_8481_10GBASE_T_AN_CTRL 0x0020 +#define MDIO_AN_REG_8481_LEGACY_MII_CTRL 0xffe0 +#define MDIO_AN_REG_8481_MII_CTRL_FORCE_1G 0x40 +#define MDIO_AN_REG_8481_LEGACY_MII_STATUS 0xffe1 +#define MDIO_AN_REG_8481_LEGACY_AN_ADV 0xffe4 +#define MDIO_AN_REG_8481_LEGACY_AN_EXPANSION 0xffe6 +#define MDIO_AN_REG_8481_1000T_CTRL 0xffe9 +#define MDIO_AN_REG_8481_1G_100T_EXT_CTRL 0xfff0 +#define MIDO_AN_REG_8481_EXT_CTRL_FORCE_LEDS_OFF 0x0008 +#define MDIO_AN_REG_8481_EXPANSION_REG_RD_RW 0xfff5 +#define MDIO_AN_REG_8481_EXPANSION_REG_ACCESS 0xfff7 +#define MDIO_AN_REG_8481_AUX_CTRL 0xfff8 +#define MDIO_AN_REG_8481_LEGACY_SHADOW 0xfffc + +/* BNX2X84823 only */ +#define MDIO_CTL_DEVAD 0x1e +#define MDIO_CTL_REG_84823_MEDIA 0x401a +#define MDIO_CTL_REG_84823_MEDIA_MAC_MASK 0x0018 + /* These pins configure the BNX2X84823 interface to MAC after reset. */ +#define MDIO_CTL_REG_84823_CTRL_MAC_XFI 0x0008 +#define MDIO_CTL_REG_84823_MEDIA_MAC_XAUI_M 0x0010 + /* These pins configure the BNX2X84823 interface to Line after reset. */ +#define MDIO_CTL_REG_84823_MEDIA_LINE_MASK 0x0060 +#define MDIO_CTL_REG_84823_MEDIA_LINE_XAUI_L 0x0020 +#define MDIO_CTL_REG_84823_MEDIA_LINE_XFI 0x0040 + /* When this pin is active high during reset, 10GBASE-T core is power + * down, When it is active low the 10GBASE-T is power up + */ +#define MDIO_CTL_REG_84823_MEDIA_COPPER_CORE_DOWN 0x0080 +#define MDIO_CTL_REG_84823_MEDIA_PRIORITY_MASK 0x0100 +#define MDIO_CTL_REG_84823_MEDIA_PRIORITY_COPPER 0x0000 +#define MDIO_CTL_REG_84823_MEDIA_PRIORITY_FIBER 0x0100 +#define MDIO_CTL_REG_84823_MEDIA_FIBER_1G 0x1000 +#define MDIO_CTL_REG_84823_USER_CTRL_REG 0x4005 +#define MDIO_CTL_REG_84823_USER_CTRL_CMS 0x0080 +#define MDIO_PMA_REG_84823_CTL_SLOW_CLK_CNT_HIGH 0xa82b +#define MDIO_PMA_REG_84823_BLINK_RATE_VAL_15P9HZ 0x2f +#define MDIO_PMA_REG_84823_CTL_LED_CTL_1 0xa8e3 +#define MDIO_PMA_REG_84833_CTL_LED_CTL_1 0xa8ec +#define MDIO_PMA_REG_84823_LED3_STRETCH_EN 0x0080 + +/* BNX2X84833 only */ +#define MDIO_84833_TOP_CFG_FW_REV 0x400f +#define MDIO_84833_TOP_CFG_FW_EEE 0x10b1 +#define MDIO_84833_TOP_CFG_FW_NO_EEE 0x1f81 +#define MDIO_84833_TOP_CFG_XGPHY_STRAP1 0x401a +#define MDIO_84833_SUPER_ISOLATE 0x8000 +/* These are mailbox register set used by 84833. */ +#define MDIO_84833_TOP_CFG_SCRATCH_REG0 0x4005 +#define MDIO_84833_TOP_CFG_SCRATCH_REG1 0x4006 +#define MDIO_84833_TOP_CFG_SCRATCH_REG2 0x4007 +#define MDIO_84833_TOP_CFG_SCRATCH_REG3 0x4008 +#define MDIO_84833_TOP_CFG_SCRATCH_REG4 0x4009 +#define MDIO_84833_TOP_CFG_SCRATCH_REG26 0x4037 +#define MDIO_84833_TOP_CFG_SCRATCH_REG27 0x4038 +#define MDIO_84833_TOP_CFG_SCRATCH_REG28 0x4039 +#define MDIO_84833_TOP_CFG_SCRATCH_REG29 0x403a +#define MDIO_84833_TOP_CFG_SCRATCH_REG30 0x403b +#define MDIO_84833_TOP_CFG_SCRATCH_REG31 0x403c +#define MDIO_84833_CMD_HDLR_COMMAND MDIO_84833_TOP_CFG_SCRATCH_REG0 +#define MDIO_84833_CMD_HDLR_STATUS MDIO_84833_TOP_CFG_SCRATCH_REG26 +#define MDIO_84833_CMD_HDLR_DATA1 MDIO_84833_TOP_CFG_SCRATCH_REG27 +#define MDIO_84833_CMD_HDLR_DATA2 MDIO_84833_TOP_CFG_SCRATCH_REG28 +#define MDIO_84833_CMD_HDLR_DATA3 MDIO_84833_TOP_CFG_SCRATCH_REG29 +#define MDIO_84833_CMD_HDLR_DATA4 MDIO_84833_TOP_CFG_SCRATCH_REG30 +#define MDIO_84833_CMD_HDLR_DATA5 MDIO_84833_TOP_CFG_SCRATCH_REG31 + +/* Mailbox command set used by 84833. */ +#define PHY84833_CMD_SET_PAIR_SWAP 0x8001 +#define PHY84833_CMD_GET_EEE_MODE 0x8008 +#define PHY84833_CMD_SET_EEE_MODE 0x8009 +#define PHY84833_CMD_GET_CURRENT_TEMP 0x8031 +/* Mailbox status set used by 84833. */ +#define PHY84833_STATUS_CMD_RECEIVED 0x0001 +#define PHY84833_STATUS_CMD_IN_PROGRESS 0x0002 +#define PHY84833_STATUS_CMD_COMPLETE_PASS 0x0004 +#define PHY84833_STATUS_CMD_COMPLETE_ERROR 0x0008 +#define PHY84833_STATUS_CMD_OPEN_FOR_CMDS 0x0010 +#define PHY84833_STATUS_CMD_SYSTEM_BOOT 0x0020 +#define PHY84833_STATUS_CMD_NOT_OPEN_FOR_CMDS 0x0040 +#define PHY84833_STATUS_CMD_CLEAR_COMPLETE 0x0080 +#define PHY84833_STATUS_CMD_OPEN_OVERRIDE 0xa5a5 + + +/* Warpcore clause 45 addressing */ +#define MDIO_WC_DEVAD 0x3 +#define MDIO_WC_REG_IEEE0BLK_MIICNTL 0x0 +#define MDIO_WC_REG_IEEE0BLK_AUTONEGNP 0x7 +#define MDIO_WC_REG_AN_IEEE1BLK_AN_ADVERTISEMENT0 0x10 +#define MDIO_WC_REG_AN_IEEE1BLK_AN_ADVERTISEMENT1 0x11 +#define MDIO_WC_REG_AN_IEEE1BLK_AN_ADVERTISEMENT2 0x12 +#define MDIO_WC_REG_AN_IEEE1BLK_AN_ADV2_FEC_ABILITY 0x4000 +#define MDIO_WC_REG_AN_IEEE1BLK_AN_ADV2_FEC_REQ 0x8000 +#define MDIO_WC_REG_PCS_STATUS2 0x0021 +#define MDIO_WC_REG_PMD_KR_CONTROL 0x0096 +#define MDIO_WC_REG_XGXSBLK0_XGXSCONTROL 0x8000 +#define MDIO_WC_REG_XGXSBLK0_MISCCONTROL1 0x800e +#define MDIO_WC_REG_XGXSBLK1_DESKEW 0x8010 +#define MDIO_WC_REG_XGXSBLK1_LANECTRL0 0x8015 +#define MDIO_WC_REG_XGXSBLK1_LANECTRL1 0x8016 +#define MDIO_WC_REG_XGXSBLK1_LANECTRL2 0x8017 +#define MDIO_WC_REG_XGXSBLK1_LANECTRL3 0x8018 +#define MDIO_WC_REG_XGXSBLK1_LANETEST0 0x801a +#define MDIO_WC_REG_TX0_ANA_CTRL0 0x8061 +#define MDIO_WC_REG_TX1_ANA_CTRL0 0x8071 +#define MDIO_WC_REG_TX2_ANA_CTRL0 0x8081 +#define MDIO_WC_REG_TX3_ANA_CTRL0 0x8091 +#define MDIO_WC_REG_TX0_TX_DRIVER 0x8067 +#define MDIO_WC_REG_TX0_TX_DRIVER_IPRE_DRIVER_OFFSET 0x04 +#define MDIO_WC_REG_TX0_TX_DRIVER_IPRE_DRIVER_MASK 0x00f0 +#define MDIO_WC_REG_TX0_TX_DRIVER_IDRIVER_OFFSET 0x08 +#define MDIO_WC_REG_TX0_TX_DRIVER_IDRIVER_MASK 0x0f00 +#define MDIO_WC_REG_TX0_TX_DRIVER_POST2_COEFF_OFFSET 0x0c +#define MDIO_WC_REG_TX0_TX_DRIVER_POST2_COEFF_MASK 0x7000 +#define MDIO_WC_REG_TX1_TX_DRIVER 0x8077 +#define MDIO_WC_REG_TX2_TX_DRIVER 0x8087 +#define MDIO_WC_REG_TX3_TX_DRIVER 0x8097 +#define MDIO_WC_REG_RX0_ANARXCONTROL1G 0x80b9 +#define MDIO_WC_REG_RX2_ANARXCONTROL1G 0x80d9 +#define MDIO_WC_REG_RX0_PCI_CTRL 0x80ba +#define MDIO_WC_REG_RX1_PCI_CTRL 0x80ca +#define MDIO_WC_REG_RX2_PCI_CTRL 0x80da +#define MDIO_WC_REG_RX3_PCI_CTRL 0x80ea +#define MDIO_WC_REG_XGXSBLK2_UNICORE_MODE_10G 0x8104 +#define MDIO_WC_REG_XGXS_STATUS3 0x8129 +#define MDIO_WC_REG_PAR_DET_10G_STATUS 0x8130 +#define MDIO_WC_REG_PAR_DET_10G_CTRL 0x8131 +#define MDIO_WC_REG_XGXS_STATUS4 0x813c +#define MDIO_WC_REG_XGXS_X2_CONTROL2 0x8141 +#define MDIO_WC_REG_XGXS_X2_CONTROL3 0x8142 +#define MDIO_WC_REG_XGXS_RX_LN_SWAP1 0x816B +#define MDIO_WC_REG_XGXS_TX_LN_SWAP1 0x8169 +#define MDIO_WC_REG_GP2_STATUS_GP_2_0 0x81d0 +#define MDIO_WC_REG_GP2_STATUS_GP_2_1 0x81d1 +#define MDIO_WC_REG_GP2_STATUS_GP_2_2 0x81d2 +#define MDIO_WC_REG_GP2_STATUS_GP_2_3 0x81d3 +#define MDIO_WC_REG_GP2_STATUS_GP_2_4 0x81d4 +#define MDIO_WC_REG_GP2_STATUS_GP_2_4_CL73_AN_CMPL 0x1000 +#define MDIO_WC_REG_GP2_STATUS_GP_2_4_CL37_AN_CMPL 0x0100 +#define MDIO_WC_REG_GP2_STATUS_GP_2_4_CL37_LP_AN_CAP 0x0010 +#define MDIO_WC_REG_GP2_STATUS_GP_2_4_CL37_AN_CAP 0x1 +#define MDIO_WC_REG_UC_INFO_B0_DEAD_TRAP 0x81EE +#define MDIO_WC_REG_UC_INFO_B1_VERSION 0x81F0 +#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE 0x81F2 +#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_LANE0_OFFSET 0x0 +#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_DEFAULT 0x0 +#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_SFP_OPT_LR 0x1 +#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_SFP_DAC 0x2 +#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_SFP_XLAUI 0x3 +#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_LONG_CH_6G 0x4 +#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_LANE1_OFFSET 0x4 +#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_LANE2_OFFSET 0x8 +#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_LANE3_OFFSET 0xc +#define MDIO_WC_REG_UC_INFO_B1_CRC 0x81FE +#define MDIO_WC_REG_DSC1B0_UC_CTRL 0x820e +#define MDIO_WC_REG_DSC1B0_UC_CTRL_RDY4CMD (1<<7) +#define MDIO_WC_REG_DSC_SMC 0x8213 +#define MDIO_WC_REG_DSC2B0_DSC_MISC_CTRL0 0x821e +#define MDIO_WC_REG_TX_FIR_TAP 0x82e2 +#define MDIO_WC_REG_TX_FIR_TAP_PRE_TAP_OFFSET 0x00 +#define MDIO_WC_REG_TX_FIR_TAP_PRE_TAP_MASK 0x000f +#define MDIO_WC_REG_TX_FIR_TAP_MAIN_TAP_OFFSET 0x04 +#define MDIO_WC_REG_TX_FIR_TAP_MAIN_TAP_MASK 0x03f0 +#define MDIO_WC_REG_TX_FIR_TAP_POST_TAP_OFFSET 0x0a +#define MDIO_WC_REG_TX_FIR_TAP_POST_TAP_MASK 0x7c00 +#define MDIO_WC_REG_TX_FIR_TAP_ENABLE 0x8000 +#define MDIO_WC_REG_CL72_USERB0_CL72_TX_FIR_TAP 0x82e2 +#define MDIO_WC_REG_CL72_USERB0_CL72_MISC1_CONTROL 0x82e3 +#define MDIO_WC_REG_CL72_USERB0_CL72_OS_DEF_CTRL 0x82e6 +#define MDIO_WC_REG_CL72_USERB0_CL72_BR_DEF_CTRL 0x82e7 +#define MDIO_WC_REG_CL72_USERB0_CL72_2P5_DEF_CTRL 0x82e8 +#define MDIO_WC_REG_CL72_USERB0_CL72_MISC4_CONTROL 0x82ec +#define MDIO_WC_REG_SERDESDIGITAL_CONTROL1000X1 0x8300 +#define MDIO_WC_REG_SERDESDIGITAL_CONTROL1000X2 0x8301 +#define MDIO_WC_REG_SERDESDIGITAL_CONTROL1000X3 0x8302 +#define MDIO_WC_REG_SERDESDIGITAL_STATUS1000X1 0x8304 +#define MDIO_WC_REG_SERDESDIGITAL_MISC1 0x8308 +#define MDIO_WC_REG_SERDESDIGITAL_MISC2 0x8309 +#define MDIO_WC_REG_DIGITAL3_UP1 0x8329 +#define MDIO_WC_REG_DIGITAL3_LP_UP1 0x832c +#define MDIO_WC_REG_DIGITAL4_MISC3 0x833c +#define MDIO_WC_REG_DIGITAL4_MISC5 0x833e +#define MDIO_WC_REG_DIGITAL5_MISC6 0x8345 +#define MDIO_WC_REG_DIGITAL5_MISC7 0x8349 +#define MDIO_WC_REG_DIGITAL5_LINK_STATUS 0x834d +#define MDIO_WC_REG_DIGITAL5_ACTUAL_SPEED 0x834e +#define MDIO_WC_REG_DIGITAL6_MP5_NEXTPAGECTRL 0x8350 +#define MDIO_WC_REG_CL49_USERB0_CTRL 0x8368 +#define MDIO_WC_REG_CL73_USERB0_CTRL 0x8370 +#define MDIO_WC_REG_CL73_USERB0_USTAT 0x8371 +#define MDIO_WC_REG_CL73_BAM_CTRL1 0x8372 +#define MDIO_WC_REG_CL73_BAM_CTRL2 0x8373 +#define MDIO_WC_REG_CL73_BAM_CTRL3 0x8374 +#define MDIO_WC_REG_CL73_BAM_CODE_FIELD 0x837b +#define MDIO_WC_REG_EEE_COMBO_CONTROL0 0x8390 +#define MDIO_WC_REG_TX66_CONTROL 0x83b0 +#define MDIO_WC_REG_RX66_CONTROL 0x83c0 +#define MDIO_WC_REG_RX66_SCW0 0x83c2 +#define MDIO_WC_REG_RX66_SCW1 0x83c3 +#define MDIO_WC_REG_RX66_SCW2 0x83c4 +#define MDIO_WC_REG_RX66_SCW3 0x83c5 +#define MDIO_WC_REG_RX66_SCW0_MASK 0x83c6 +#define MDIO_WC_REG_RX66_SCW1_MASK 0x83c7 +#define MDIO_WC_REG_RX66_SCW2_MASK 0x83c8 +#define MDIO_WC_REG_RX66_SCW3_MASK 0x83c9 +#define MDIO_WC_REG_FX100_CTRL1 0x8400 +#define MDIO_WC_REG_FX100_CTRL3 0x8402 +#define MDIO_WC_REG_CL82_USERB1_TX_CTRL5 0x8436 +#define MDIO_WC_REG_CL82_USERB1_TX_CTRL6 0x8437 +#define MDIO_WC_REG_CL82_USERB1_TX_CTRL7 0x8438 +#define MDIO_WC_REG_CL82_USERB1_TX_CTRL9 0x8439 +#define MDIO_WC_REG_CL82_USERB1_RX_CTRL10 0x843a +#define MDIO_WC_REG_CL82_USERB1_RX_CTRL11 0x843b +#define MDIO_WC_REG_ETA_CL73_OUI1 0x8453 +#define MDIO_WC_REG_ETA_CL73_OUI2 0x8454 +#define MDIO_WC_REG_ETA_CL73_OUI3 0x8455 +#define MDIO_WC_REG_ETA_CL73_LD_BAM_CODE 0x8456 +#define MDIO_WC_REG_ETA_CL73_LD_UD_CODE 0x8457 +#define MDIO_WC_REG_MICROBLK_CMD 0xffc2 +#define MDIO_WC_REG_MICROBLK_DL_STATUS 0xffc5 +#define MDIO_WC_REG_MICROBLK_CMD3 0xffcc + +#define MDIO_WC_REG_AERBLK_AER 0xffde +#define MDIO_WC_REG_COMBO_IEEE0_MIICTRL 0xffe0 +#define MDIO_WC_REG_COMBO_IEEE0_MIIISTAT 0xffe1 + +#define MDIO_WC0_XGXS_BLK2_LANE_RESET 0x810A +#define MDIO_WC0_XGXS_BLK2_LANE_RESET_RX_BITSHIFT 0 +#define MDIO_WC0_XGXS_BLK2_LANE_RESET_TX_BITSHIFT 4 + +#define MDIO_WC0_XGXS_BLK6_XGXS_X2_CONTROL2 0x8141 + +#define DIGITAL5_ACTUAL_SPEED_TX_MASK 0x003f + +/* 54618se */ +#define MDIO_REG_GPHY_MII_STATUS 0x1 +#define MDIO_REG_GPHY_PHYID_LSB 0x3 +#define MDIO_REG_GPHY_CL45_ADDR_REG 0xd +#define MDIO_REG_GPHY_CL45_REG_WRITE 0x4000 +#define MDIO_REG_GPHY_CL45_REG_READ 0xc000 +#define MDIO_REG_GPHY_CL45_DATA_REG 0xe +#define MDIO_REG_GPHY_EEE_RESOLVED 0x803e +#define MDIO_REG_GPHY_EXP_ACCESS_GATE 0x15 +#define MDIO_REG_GPHY_EXP_ACCESS 0x17 +#define MDIO_REG_GPHY_EXP_ACCESS_TOP 0xd00 +#define MDIO_REG_GPHY_EXP_TOP_2K_BUF 0x40 +#define MDIO_REG_GPHY_AUX_STATUS 0x19 +#define MDIO_REG_INTR_STATUS 0x1a +#define MDIO_REG_INTR_MASK 0x1b +#define MDIO_REG_INTR_MASK_LINK_STATUS (0x1 << 1) +#define MDIO_REG_GPHY_SHADOW 0x1c +#define MDIO_REG_GPHY_SHADOW_LED_SEL1 (0x0d << 10) +#define MDIO_REG_GPHY_SHADOW_LED_SEL2 (0x0e << 10) +#define MDIO_REG_GPHY_SHADOW_WR_ENA (0x1 << 15) +#define MDIO_REG_GPHY_SHADOW_AUTO_DET_MED (0x1e << 10) +#define MDIO_REG_GPHY_SHADOW_INVERT_FIB_SD (0x1 << 8) + + +#define IGU_FUNC_BASE 0x0400 + +#define IGU_ADDR_MSIX 0x0000 +#define IGU_ADDR_INT_ACK 0x0200 +#define IGU_ADDR_PROD_UPD 0x0201 +#define IGU_ADDR_ATTN_BITS_UPD 0x0202 +#define IGU_ADDR_ATTN_BITS_SET 0x0203 +#define IGU_ADDR_ATTN_BITS_CLR 0x0204 +#define IGU_ADDR_COALESCE_NOW 0x0205 +#define IGU_ADDR_SIMD_MASK 0x0206 +#define IGU_ADDR_SIMD_NOMASK 0x0207 +#define IGU_ADDR_MSI_CTL 0x0210 +#define IGU_ADDR_MSI_ADDR_LO 0x0211 +#define IGU_ADDR_MSI_ADDR_HI 0x0212 +#define IGU_ADDR_MSI_DATA 0x0213 + + +#define IGU_USE_REGISTER_ustorm_type_0_sb_cleanup 0 +#define IGU_USE_REGISTER_ustorm_type_1_sb_cleanup 1 +#define IGU_USE_REGISTER_cstorm_type_0_sb_cleanup 2 +#define IGU_USE_REGISTER_cstorm_type_1_sb_cleanup 3 + +#define COMMAND_REG_INT_ACK 0x0 +#define COMMAND_REG_PROD_UPD 0x4 +#define COMMAND_REG_ATTN_BITS_UPD 0x8 +#define COMMAND_REG_ATTN_BITS_SET 0xc +#define COMMAND_REG_ATTN_BITS_CLR 0x10 +#define COMMAND_REG_COALESCE_NOW 0x14 +#define COMMAND_REG_SIMD_MASK 0x18 +#define COMMAND_REG_SIMD_NOMASK 0x1c + + +#define IGU_MEM_BASE 0x0000 + +#define IGU_MEM_MSIX_BASE 0x0000 +#define IGU_MEM_MSIX_UPPER 0x007f +#define IGU_MEM_MSIX_RESERVED_UPPER 0x01ff + +#define IGU_MEM_PBA_MSIX_BASE 0x0200 +#define IGU_MEM_PBA_MSIX_UPPER 0x0200 + +#define IGU_CMD_BACKWARD_COMP_PROD_UPD 0x0201 +#define IGU_MEM_PBA_MSIX_RESERVED_UPPER 0x03ff + +#define IGU_CMD_INT_ACK_BASE 0x0400 +#define IGU_CMD_INT_ACK_UPPER \ + (IGU_CMD_INT_ACK_BASE + MAX_SB_PER_PATH - 1) +#define IGU_CMD_INT_ACK_RESERVED_UPPER 0x04ff + +#define IGU_CMD_E2_PROD_UPD_BASE 0x0500 +#define IGU_CMD_E2_PROD_UPD_UPPER \ + (IGU_CMD_E2_PROD_UPD_BASE + MAX_SB_PER_PATH - 1) +#define IGU_CMD_E2_PROD_UPD_RESERVED_UPPER 0x059f + +#define IGU_CMD_ATTN_BIT_UPD_UPPER 0x05a0 +#define IGU_CMD_ATTN_BIT_SET_UPPER 0x05a1 +#define IGU_CMD_ATTN_BIT_CLR_UPPER 0x05a2 + +#define IGU_REG_SISR_MDPC_WMASK_UPPER 0x05a3 +#define IGU_REG_SISR_MDPC_WMASK_LSB_UPPER 0x05a4 +#define IGU_REG_SISR_MDPC_WMASK_MSB_UPPER 0x05a5 +#define IGU_REG_SISR_MDPC_WOMASK_UPPER 0x05a6 + + +#define IGU_REG_RESERVED_UPPER 0x05ff + +#define IGU_SEG_IDX_ATTN 2 +#define IGU_SEG_IDX_DEFAULT 1 +/* Fields of IGU PF CONFIGRATION REGISTER */ +#define IGU_PF_CONF_FUNC_EN (0x1<<0) /* function enable */ +#define IGU_PF_CONF_MSI_MSIX_EN (0x1<<1) /* MSI/MSIX enable */ +#define IGU_PF_CONF_INT_LINE_EN (0x1<<2) /* INT enable */ +#define IGU_PF_CONF_ATTN_BIT_EN (0x1<<3) /* attention enable */ +#define IGU_PF_CONF_SINGLE_ISR_EN (0x1<<4) /* single ISR mode enable */ +#define IGU_PF_CONF_SIMD_MODE (0x1<<5) /* simd all ones mode */ + +/* Fields of IGU VF CONFIGRATION REGISTER */ +#define IGU_VF_CONF_FUNC_EN (0x1<<0) /* function enable */ +#define IGU_VF_CONF_MSI_MSIX_EN (0x1<<1) /* MSI/MSIX enable */ +#define IGU_VF_CONF_PARENT_MASK (0x3<<2) /* Parent PF */ +#define IGU_VF_CONF_PARENT_SHIFT 2 /* Parent PF */ +#define IGU_VF_CONF_SINGLE_ISR_EN (0x1<<4) /* single ISR mode enable */ + + +#define IGU_BC_DSB_NUM_SEGS 5 +#define IGU_BC_NDSB_NUM_SEGS 2 +#define IGU_NORM_DSB_NUM_SEGS 2 +#define IGU_NORM_NDSB_NUM_SEGS 1 +#define IGU_BC_BASE_DSB_PROD 128 +#define IGU_NORM_BASE_DSB_PROD 136 + + /* FID (if VF - [6] = 0; [5:0] = VF number; if PF - [6] = 1; \ + [5:2] = 0; [1:0] = PF number) */ +#define IGU_FID_ENCODE_IS_PF (0x1<<6) +#define IGU_FID_ENCODE_IS_PF_SHIFT 6 +#define IGU_FID_VF_NUM_MASK (0x3f) +#define IGU_FID_PF_NUM_MASK (0x7) + +#define IGU_REG_MAPPING_MEMORY_VALID (1<<0) +#define IGU_REG_MAPPING_MEMORY_VECTOR_MASK (0x3F<<1) +#define IGU_REG_MAPPING_MEMORY_VECTOR_SHIFT 1 +#define IGU_REG_MAPPING_MEMORY_FID_MASK (0x7F<<7) +#define IGU_REG_MAPPING_MEMORY_FID_SHIFT 7 + + +#define CDU_REGION_NUMBER_XCM_AG 2 +#define CDU_REGION_NUMBER_UCM_AG 4 + + +/* String-to-compress [31:8] = CID (all 24 bits) + * String-to-compress [7:4] = Region + * String-to-compress [3:0] = Type + */ +#define CDU_VALID_DATA(_cid, _region, _type) \ + (((_cid) << 8) | (((_region)&0xf)<<4) | (((_type)&0xf))) +#define CDU_CRC8(_cid, _region, _type) \ + (ecore_calc_crc8(CDU_VALID_DATA(_cid, _region, _type), 0xff)) +#define CDU_RSRVD_VALUE_TYPE_A(_cid, _region, _type) \ + (0x80 | ((CDU_CRC8(_cid, _region, _type)) & 0x7f)) +#define CDU_RSRVD_VALUE_TYPE_B(_crc, _type) \ + (0x80 | ((_type)&0xf << 3) | ((CDU_CRC8(_cid, _region, _type)) & 0x7)) +#define CDU_RSRVD_INVALIDATE_CONTEXT_VALUE(_val) ((_val) & ~0x80) + +#endif /* ECORE_REG_H */ |