aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bnx2x/bnx2x_reg.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/bnx2x/bnx2x_reg.h')
-rw-r--r--drivers/net/bnx2x/bnx2x_reg.h163
1 files changed, 163 insertions, 0 deletions
diff --git a/drivers/net/bnx2x/bnx2x_reg.h b/drivers/net/bnx2x/bnx2x_reg.h
index 65f3b1260766..23c89a863a58 100644
--- a/drivers/net/bnx2x/bnx2x_reg.h
+++ b/drivers/net/bnx2x/bnx2x_reg.h
@@ -981,6 +981,13 @@
981#define IGU_REG_WRITE_DONE_PENDING 0x130480 981#define IGU_REG_WRITE_DONE_PENDING 0x130480
982#define MCP_A_REG_MCPR_SCRATCH 0x3a0000 982#define MCP_A_REG_MCPR_SCRATCH 0x3a0000
983#define MCP_REG_MCPR_CPU_PROGRAM_COUNTER 0x8501c 983#define MCP_REG_MCPR_CPU_PROGRAM_COUNTER 0x8501c
984#define MCP_REG_MCPR_GP_INPUTS 0x800c0
985#define MCP_REG_MCPR_GP_OENABLE 0x800c8
986#define MCP_REG_MCPR_GP_OUTPUTS 0x800c4
987#define MCP_REG_MCPR_IMC_COMMAND 0x85900
988#define MCP_REG_MCPR_IMC_DATAREG0 0x85920
989#define MCP_REG_MCPR_IMC_SLAVE_CONTROL 0x85904
990#define MCP_REG_MCPR_CPU_PROGRAM_COUNTER 0x8501c
984#define MCP_REG_MCPR_NVM_ACCESS_ENABLE 0x86424 991#define MCP_REG_MCPR_NVM_ACCESS_ENABLE 0x86424
985#define MCP_REG_MCPR_NVM_ADDR 0x8640c 992#define MCP_REG_MCPR_NVM_ADDR 0x8640c
986#define MCP_REG_MCPR_NVM_CFG4 0x8642c 993#define MCP_REG_MCPR_NVM_CFG4 0x8642c
@@ -1477,11 +1484,37 @@
1477/* [RW 1] e1hmf for WOL. If clr WOL signal o the PXP will be send on bit 0 1484/* [RW 1] e1hmf for WOL. If clr WOL signal o the PXP will be send on bit 0
1478 only. */ 1485 only. */
1479#define MISC_REG_E1HMF_MODE 0xa5f8 1486#define MISC_REG_E1HMF_MODE 0xa5f8
1487/* [R 1] Status of four port mode path swap input pin. */
1488#define MISC_REG_FOUR_PORT_PATH_SWAP 0xa75c
1489/* [RW 2] 4 port path swap overwrite.[0] - Overwrite control; if it is 0 -
1490 the path_swap output is equal to 4 port mode path swap input pin; if it
1491 is 1 - the path_swap output is equal to bit[1] of this register; [1] -
1492 Overwrite value. If bit[0] of this register is 1 this is the value that
1493 receives the path_swap output. Reset on Hard reset. */
1494#define MISC_REG_FOUR_PORT_PATH_SWAP_OVWR 0xa738
1495/* [R 1] Status of 4 port mode port swap input pin. */
1496#define MISC_REG_FOUR_PORT_PORT_SWAP 0xa754
1497/* [RW 2] 4 port port swap overwrite.[0] - Overwrite control; if it is 0 -
1498 the port_swap output is equal to 4 port mode port swap input pin; if it
1499 is 1 - the port_swap output is equal to bit[1] of this register; [1] -
1500 Overwrite value. If bit[0] of this register is 1 this is the value that
1501 receives the port_swap output. Reset on Hard reset. */
1502#define MISC_REG_FOUR_PORT_PORT_SWAP_OVWR 0xa734
1480/* [RW 32] Debug only: spare RW register reset by core reset */ 1503/* [RW 32] Debug only: spare RW register reset by core reset */
1481#define MISC_REG_GENERIC_CR_0 0xa460 1504#define MISC_REG_GENERIC_CR_0 0xa460
1482#define MISC_REG_GENERIC_CR_1 0xa464 1505#define MISC_REG_GENERIC_CR_1 0xa464
1483/* [RW 32] Debug only: spare RW register reset by por reset */ 1506/* [RW 32] Debug only: spare RW register reset by por reset */
1484#define MISC_REG_GENERIC_POR_1 0xa474 1507#define MISC_REG_GENERIC_POR_1 0xa474
1508/* [RW 32] Bit[0]: EPIO MODE SEL: Setting this bit to 1 will allow SW/FW to
1509 use all of the 32 Extended GPIO pins. Without setting this bit; an EPIO
1510 can not be configured as an output. Each output has its output enable in
1511 the MCP register space; but this bit needs to be set to make use of that.
1512 Bit[3:1] spare. Bit[4]: WCVTMON_PWRDN: Powerdown for Warpcore VTMON. When
1513 set to 1 - Powerdown. Bit[5]: WCVTMON_RESETB: Reset for Warpcore VTMON.
1514 When set to 0 - vTMON is in reset. Bit[6]: setting this bit will change
1515 the i/o to an output and will drive the TimeSync output. Bit[31:7]:
1516 spare. Global register. Reset by hard reset. */
1517#define MISC_REG_GEN_PURP_HWG 0xa9a0
1485/* [RW 32] GPIO. [31-28] FLOAT port 0; [27-24] FLOAT port 0; When any of 1518/* [RW 32] GPIO. [31-28] FLOAT port 0; [27-24] FLOAT port 0; When any of
1486 these bits is written as a '1'; the corresponding SPIO bit will turn off 1519 these bits is written as a '1'; the corresponding SPIO bit will turn off
1487 it's drivers and become an input. This is the reset state of all GPIO 1520 it's drivers and become an input. This is the reset state of all GPIO
@@ -1684,6 +1717,14 @@
1684 in this register. address 0 - timer 1; address 1 - timer 2, ... address 7 - 1717 in this register. address 0 - timer 1; address 1 - timer 2, ... address 7 -
1685 timer 8 */ 1718 timer 8 */
1686#define MISC_REG_SW_TIMER_VAL 0xa5c0 1719#define MISC_REG_SW_TIMER_VAL 0xa5c0
1720/* [R 1] Status of two port mode path swap input pin. */
1721#define MISC_REG_TWO_PORT_PATH_SWAP 0xa758
1722/* [RW 2] 2 port swap overwrite.[0] - Overwrite control; if it is 0 - the
1723 path_swap output is equal to 2 port mode path swap input pin; if it is 1
1724 - the path_swap output is equal to bit[1] of this register; [1] -
1725 Overwrite value. If bit[0] of this register is 1 this is the value that
1726 receives the path_swap output. Reset on Hard reset. */
1727#define MISC_REG_TWO_PORT_PATH_SWAP_OVWR 0xa72c
1687/* [RW 1] Set by the MCP to remember if one or more of the drivers is/are 1728/* [RW 1] Set by the MCP to remember if one or more of the drivers is/are
1688 loaded; 0-prepare; -unprepare */ 1729 loaded; 0-prepare; -unprepare */
1689#define MISC_REG_UNPREPARED 0xa424 1730#define MISC_REG_UNPREPARED 0xa424
@@ -1955,6 +1996,10 @@
1955/* [RC 32] Parity register #0 read clear */ 1996/* [RC 32] Parity register #0 read clear */
1956#define NIG_REG_NIG_PRTY_STS_CLR_0 0x183c0 1997#define NIG_REG_NIG_PRTY_STS_CLR_0 0x183c0
1957#define NIG_REG_NIG_PRTY_STS_CLR_1 0x183d0 1998#define NIG_REG_NIG_PRTY_STS_CLR_1 0x183d0
1999#define MCPR_IMC_COMMAND_ENABLE (1L<<31)
2000#define MCPR_IMC_COMMAND_IMC_STATUS_BITSHIFT 16
2001#define MCPR_IMC_COMMAND_OPERATION_BITSHIFT 28
2002#define MCPR_IMC_COMMAND_TRANSFER_ADDRESS_BITSHIFT 8
1958/* [RW 6] Bit-map indicating which L2 hdrs may appear after the basic 2003/* [RW 6] Bit-map indicating which L2 hdrs may appear after the basic
1959 * Ethernet header. */ 2004 * Ethernet header. */
1960#define NIG_REG_P0_HDRS_AFTER_BASIC 0x18038 2005#define NIG_REG_P0_HDRS_AFTER_BASIC 0x18038
@@ -6232,6 +6277,10 @@
6232#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_16G 0x0C00 6277#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_16G 0x0C00
6233#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_1G_KX 0x0D00 6278#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_1G_KX 0x0D00
6234#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_KX4 0x0E00 6279#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_KX4 0x0E00
6280#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_KR 0x0F00
6281#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_XFI 0x1B00
6282#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_20G_DXGXS 0x1E00
6283#define MDIO_GP_STATUS_TOP_AN_STATUS1_ACTUAL_SPEED_10G_SFI 0x1F00
6235 6284
6236 6285
6237#define MDIO_REG_BANK_10G_PARALLEL_DETECT 0x8130 6286#define MDIO_REG_BANK_10G_PARALLEL_DETECT 0x8130
@@ -6574,6 +6623,120 @@ Theotherbitsarereservedandshouldbezero*/
6574#define PHY84833_CMD_CLEAR_COMPLETE 0x0080 6623#define PHY84833_CMD_CLEAR_COMPLETE 0x0080
6575#define PHY84833_CMD_OPEN_OVERRIDE 0xa5a5 6624#define PHY84833_CMD_OPEN_OVERRIDE 0xa5a5
6576 6625
6626/* Warpcore clause 45 addressing */
6627#define MDIO_WC_DEVAD 0x3
6628#define MDIO_WC_REG_IEEE0BLK_MIICNTL 0x0
6629#define MDIO_WC_REG_IEEE0BLK_AUTONEGNP 0x7
6630#define MDIO_WC_REG_AN_IEEE1BLK_AN_ADVERTISEMENT0 0x10
6631#define MDIO_WC_REG_AN_IEEE1BLK_AN_ADVERTISEMENT1 0x11
6632#define MDIO_WC_REG_PMD_IEEE9BLK_TENGBASE_KR_PMD_CONTROL_REGISTER_150 0x96
6633#define MDIO_WC_REG_XGXSBLK0_XGXSCONTROL 0x8000
6634#define MDIO_WC_REG_XGXSBLK0_MISCCONTROL1 0x800e
6635#define MDIO_WC_REG_XGXSBLK1_DESKEW 0x8010
6636#define MDIO_WC_REG_XGXSBLK1_LANECTRL0 0x8015
6637#define MDIO_WC_REG_XGXSBLK1_LANECTRL1 0x8016
6638#define MDIO_WC_REG_XGXSBLK1_LANECTRL2 0x8017
6639#define MDIO_WC_REG_TX0_ANA_CTRL0 0x8061
6640#define MDIO_WC_REG_TX1_ANA_CTRL0 0x8071
6641#define MDIO_WC_REG_TX2_ANA_CTRL0 0x8081
6642#define MDIO_WC_REG_TX3_ANA_CTRL0 0x8091
6643#define MDIO_WC_REG_TX0_TX_DRIVER 0x8067
6644#define MDIO_WC_REG_TX0_TX_DRIVER_IPRE_DRIVER_OFFSET 0x04
6645#define MDIO_WC_REG_TX0_TX_DRIVER_IPRE_DRIVER_MASK 0x00f0
6646#define MDIO_WC_REG_TX0_TX_DRIVER_IDRIVER_OFFSET 0x08
6647#define MDIO_WC_REG_TX0_TX_DRIVER_IDRIVER_MASK 0x0f00
6648#define MDIO_WC_REG_TX0_TX_DRIVER_POST2_COEFF_OFFSET 0x0c
6649#define MDIO_WC_REG_TX0_TX_DRIVER_POST2_COEFF_MASK 0x7000
6650#define MDIO_WC_REG_TX1_TX_DRIVER 0x8077
6651#define MDIO_WC_REG_TX2_TX_DRIVER 0x8087
6652#define MDIO_WC_REG_TX3_TX_DRIVER 0x8097
6653#define MDIO_WC_REG_RX0_ANARXCONTROL1G 0x80b9
6654#define MDIO_WC_REG_RX2_ANARXCONTROL1G 0x80d9
6655#define MDIO_WC_REG_RX0_PCI_CTRL 0x80ba
6656#define MDIO_WC_REG_RX1_PCI_CTRL 0x80ca
6657#define MDIO_WC_REG_RX2_PCI_CTRL 0x80da
6658#define MDIO_WC_REG_RX3_PCI_CTRL 0x80ea
6659#define MDIO_WC_REG_XGXSBLK2_UNICORE_MODE_10G 0x8104
6660#define MDIO_WC_REG_XGXS_STATUS3 0x8129
6661#define MDIO_WC_REG_PAR_DET_10G_STATUS 0x8130
6662#define MDIO_WC_REG_PAR_DET_10G_CTRL 0x8131
6663#define MDIO_WC_REG_XGXS_X2_CONTROL2 0x8141
6664#define MDIO_WC_REG_XGXS_RX_LN_SWAP1 0x816B
6665#define MDIO_WC_REG_XGXS_TX_LN_SWAP1 0x8169
6666#define MDIO_WC_REG_GP2_STATUS_GP_2_0 0x81d0
6667#define MDIO_WC_REG_GP2_STATUS_GP_2_1 0x81d1
6668#define MDIO_WC_REG_GP2_STATUS_GP_2_2 0x81d2
6669#define MDIO_WC_REG_GP2_STATUS_GP_2_3 0x81d3
6670#define MDIO_WC_REG_GP2_STATUS_GP_2_4 0x81d4
6671#define MDIO_WC_REG_UC_INFO_B0_DEAD_TRAP 0x81EE
6672#define MDIO_WC_REG_UC_INFO_B1_VERSION 0x81F0
6673#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE 0x81F2
6674#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_LANE0_OFFSET 0x0
6675#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_DEFAULT 0x0
6676#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_SFP_OPT_LR 0x1
6677#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_SFP_DAC 0x2
6678#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_SFP_XLAUI 0x3
6679#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE_LONG_CH_6G 0x4
6680#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_LANE1_OFFSET 0x4
6681#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_LANE2_OFFSET 0x8
6682#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_LANE3_OFFSET 0xc
6683#define MDIO_WC_REG_UC_INFO_B1_CRC 0x81FE
6684#define MDIO_WC_REG_DSC_SMC 0x8213
6685#define MDIO_WC_REG_DSC2B0_DSC_MISC_CTRL0 0x821e
6686#define MDIO_WC_REG_TX_FIR_TAP 0x82e2
6687#define MDIO_WC_REG_TX_FIR_TAP_PRE_TAP_OFFSET 0x00
6688#define MDIO_WC_REG_TX_FIR_TAP_PRE_TAP_MASK 0x000f
6689#define MDIO_WC_REG_TX_FIR_TAP_MAIN_TAP_OFFSET 0x04
6690#define MDIO_WC_REG_TX_FIR_TAP_MAIN_TAP_MASK 0x03f0
6691#define MDIO_WC_REG_TX_FIR_TAP_POST_TAP_OFFSET 0x0a
6692#define MDIO_WC_REG_TX_FIR_TAP_POST_TAP_MASK 0x7c00
6693#define MDIO_WC_REG_TX_FIR_TAP_ENABLE 0x8000
6694#define MDIO_WC_REG_CL72_USERB0_CL72_MISC1_CONTROL 0x82e3
6695#define MDIO_WC_REG_CL72_USERB0_CL72_OS_DEF_CTRL 0x82e6
6696#define MDIO_WC_REG_CL72_USERB0_CL72_BR_DEF_CTRL 0x82e7
6697#define MDIO_WC_REG_CL72_USERB0_CL72_2P5_DEF_CTRL 0x82e8
6698#define MDIO_WC_REG_CL72_USERB0_CL72_MISC4_CONTROL 0x82ec
6699#define MDIO_WC_REG_SERDESDIGITAL_CONTROL1000X1 0x8300
6700#define MDIO_WC_REG_SERDESDIGITAL_CONTROL1000X2 0x8301
6701#define MDIO_WC_REG_SERDESDIGITAL_CONTROL1000X3 0x8302
6702#define MDIO_WC_REG_SERDESDIGITAL_STATUS1000X1 0x8304
6703#define MDIO_WC_REG_SERDESDIGITAL_MISC1 0x8308
6704#define MDIO_WC_REG_SERDESDIGITAL_MISC2 0x8309
6705#define MDIO_WC_REG_DIGITAL3_UP1 0x8329
6706#define MDIO_WC_REG_DIGITAL4_MISC3 0x833c
6707#define MDIO_WC_REG_DIGITAL5_MISC6 0x8345
6708#define MDIO_WC_REG_DIGITAL5_MISC7 0x8349
6709#define MDIO_WC_REG_DIGITAL5_ACTUAL_SPEED 0x834e
6710#define MDIO_WC_REG_CL49_USERB0_CTRL 0x8368
6711#define MDIO_WC_REG_TX66_CONTROL 0x83b0
6712#define MDIO_WC_REG_RX66_CONTROL 0x83c0
6713#define MDIO_WC_REG_RX66_SCW0 0x83c2
6714#define MDIO_WC_REG_RX66_SCW1 0x83c3
6715#define MDIO_WC_REG_RX66_SCW2 0x83c4
6716#define MDIO_WC_REG_RX66_SCW3 0x83c5
6717#define MDIO_WC_REG_RX66_SCW0_MASK 0x83c6
6718#define MDIO_WC_REG_RX66_SCW1_MASK 0x83c7
6719#define MDIO_WC_REG_RX66_SCW2_MASK 0x83c8
6720#define MDIO_WC_REG_RX66_SCW3_MASK 0x83c9
6721#define MDIO_WC_REG_FX100_CTRL1 0x8400
6722#define MDIO_WC_REG_FX100_CTRL3 0x8402
6723
6724#define MDIO_WC_REG_MICROBLK_CMD 0xffc2
6725#define MDIO_WC_REG_MICROBLK_DL_STATUS 0xffc5
6726#define MDIO_WC_REG_MICROBLK_CMD3 0xffcc
6727
6728#define MDIO_WC_REG_AERBLK_AER 0xffde
6729#define MDIO_WC_REG_COMBO_IEEE0_MIICTRL 0xffe0
6730#define MDIO_WC_REG_COMBO_IEEE0_MIIISTAT 0xffe1
6731
6732#define MDIO_WC0_XGXS_BLK2_LANE_RESET 0x810A
6733#define MDIO_WC0_XGXS_BLK2_LANE_RESET_RX_BITSHIFT 0
6734#define MDIO_WC0_XGXS_BLK2_LANE_RESET_TX_BITSHIFT 4
6735
6736#define MDIO_WC0_XGXS_BLK6_XGXS_X2_CONTROL2 0x8141
6737
6738#define DIGITAL5_ACTUAL_SPEED_TX_MASK 0x003f
6739
6577#define IGU_FUNC_BASE 0x0400 6740#define IGU_FUNC_BASE 0x0400
6578 6741
6579#define IGU_ADDR_MSIX 0x0000 6742#define IGU_ADDR_MSIX 0x0000