aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2007-07-08 01:48:31 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-07-11 01:18:31 -0400
commit9700e6befea505b03b6e625536a9a106811e9a14 (patch)
treea3cb01457f6c060d16eab10752c074310ff46bae
parentdeaf391b4cc9d9f8e2b2793ebd56da776b54197a (diff)
[BNX2]: Add remote PHY bit definitions.
Add new fields in struct bnx2 and other bit definitions in shared memory to support remote PHY. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/bnx2.h51
1 files changed, 50 insertions, 1 deletions
diff --git a/drivers/net/bnx2.h b/drivers/net/bnx2.h
index 49a5de253b17..14c0a1e25b15 100644
--- a/drivers/net/bnx2.h
+++ b/drivers/net/bnx2.h
@@ -6537,6 +6537,7 @@ struct bnx2 {
6537#define PHY_INT_MODE_AUTO_POLLING_FLAG 0x100 6537#define PHY_INT_MODE_AUTO_POLLING_FLAG 0x100
6538#define PHY_INT_MODE_LINK_READY_FLAG 0x200 6538#define PHY_INT_MODE_LINK_READY_FLAG 0x200
6539#define PHY_DIS_EARLY_DAC_FLAG 0x400 6539#define PHY_DIS_EARLY_DAC_FLAG 0x400
6540#define REMOTE_PHY_CAP_FLAG 0x800
6540 6541
6541 u32 mii_bmcr; 6542 u32 mii_bmcr;
6542 u32 mii_bmsr; 6543 u32 mii_bmsr;
@@ -6625,6 +6626,7 @@ struct bnx2 {
6625 u16 req_line_speed; 6626 u16 req_line_speed;
6626 u8 req_duplex; 6627 u8 req_duplex;
6627 6628
6629 u8 phy_port;
6628 u8 link_up; 6630 u8 link_up;
6629 6631
6630 u16 line_speed; 6632 u16 line_speed;
@@ -6770,7 +6772,7 @@ struct fw_info {
6770 * the firmware has timed out, the driver will assume there is no firmware 6772 * the firmware has timed out, the driver will assume there is no firmware
6771 * running and there won't be any firmware-driver synchronization during a 6773 * running and there won't be any firmware-driver synchronization during a
6772 * driver reset. */ 6774 * driver reset. */
6773#define FW_ACK_TIME_OUT_MS 100 6775#define FW_ACK_TIME_OUT_MS 1000
6774 6776
6775 6777
6776#define BNX2_DRV_RESET_SIGNATURE 0x00000000 6778#define BNX2_DRV_RESET_SIGNATURE 0x00000000
@@ -6788,6 +6790,7 @@ struct fw_info {
6788#define BNX2_DRV_MSG_CODE_DIAG 0x07000000 6790#define BNX2_DRV_MSG_CODE_DIAG 0x07000000
6789#define BNX2_DRV_MSG_CODE_SUSPEND_NO_WOL 0x09000000 6791#define BNX2_DRV_MSG_CODE_SUSPEND_NO_WOL 0x09000000
6790#define BNX2_DRV_MSG_CODE_UNLOAD_LNK_DN 0x0b000000 6792#define BNX2_DRV_MSG_CODE_UNLOAD_LNK_DN 0x0b000000
6793#define BNX2_DRV_MSG_CODE_CMD_SET_LINK 0x10000000
6791 6794
6792#define BNX2_DRV_MSG_DATA 0x00ff0000 6795#define BNX2_DRV_MSG_DATA 0x00ff0000
6793#define BNX2_DRV_MSG_DATA_WAIT0 0x00010000 6796#define BNX2_DRV_MSG_DATA_WAIT0 0x00010000
@@ -6845,6 +6848,30 @@ struct fw_info {
6845 * This is used for debugging. */ 6848 * This is used for debugging. */
6846#define BNX2_DRV_MSG_DATA_PULSE_CODE_ALWAYS_ALIVE 0x00080000 6849#define BNX2_DRV_MSG_DATA_PULSE_CODE_ALWAYS_ALIVE 0x00080000
6847 6850
6851#define BNX2_DRV_MB_ARG0 0x00000014
6852#define BNX2_NETLINK_SET_LINK_SPEED_10HALF (1<<0)
6853#define BNX2_NETLINK_SET_LINK_SPEED_10FULL (1<<1)
6854#define BNX2_NETLINK_SET_LINK_SPEED_10 \
6855 (BNX2_NETLINK_SET_LINK_SPEED_10HALF | \
6856 BNX2_NETLINK_SET_LINK_SPEED_10FULL)
6857#define BNX2_NETLINK_SET_LINK_SPEED_100HALF (1<<2)
6858#define BNX2_NETLINK_SET_LINK_SPEED_100FULL (1<<3)
6859#define BNX2_NETLINK_SET_LINK_SPEED_100 \
6860 (BNX2_NETLINK_SET_LINK_SPEED_100HALF | \
6861 BNX2_NETLINK_SET_LINK_SPEED_100FULL)
6862#define BNX2_NETLINK_SET_LINK_SPEED_1GHALF (1<<4)
6863#define BNX2_NETLINK_SET_LINK_SPEED_1GFULL (1<<5)
6864#define BNX2_NETLINK_SET_LINK_SPEED_2G5HALF (1<<6)
6865#define BNX2_NETLINK_SET_LINK_SPEED_2G5FULL (1<<7)
6866#define BNX2_NETLINK_SET_LINK_SPEED_10GHALF (1<<8)
6867#define BNX2_NETLINK_SET_LINK_SPEED_10GFULL (1<<9)
6868#define BNX2_NETLINK_SET_LINK_ENABLE_AUTONEG (1<<10)
6869#define BNX2_NETLINK_SET_LINK_PHY_APP_REMOTE (1<<11)
6870#define BNX2_NETLINK_SET_LINK_FC_SYM_PAUSE (1<<12)
6871#define BNX2_NETLINK_SET_LINK_FC_ASYM_PAUSE (1<<13)
6872#define BNX2_NETLINK_SET_LINK_ETH_AT_WIRESPEED (1<<14)
6873#define BNX2_NETLINK_SET_LINK_PHY_RESET (1<<15)
6874
6848#define BNX2_DEV_INFO_SIGNATURE 0x00000020 6875#define BNX2_DEV_INFO_SIGNATURE 0x00000020
6849#define BNX2_DEV_INFO_SIGNATURE_MAGIC 0x44564900 6876#define BNX2_DEV_INFO_SIGNATURE_MAGIC 0x44564900
6850#define BNX2_DEV_INFO_SIGNATURE_MAGIC_MASK 0xffffff00 6877#define BNX2_DEV_INFO_SIGNATURE_MAGIC_MASK 0xffffff00
@@ -7065,6 +7092,28 @@ struct fw_info {
7065#define BNX2_BC_STATE_BC_DBG_CMD_LOOP_CNT_MASK 0xffff 7092#define BNX2_BC_STATE_BC_DBG_CMD_LOOP_CNT_MASK 0xffff
7066#define BNX2_BC_STATE_BC_DBG_CMD_LOOP_INFINITE 0xffff 7093#define BNX2_BC_STATE_BC_DBG_CMD_LOOP_INFINITE 0xffff
7067 7094
7095#define BNX2_FW_EVT_CODE_MB 0x354
7096#define BNX2_FW_EVT_CODE_SW_TIMER_EXPIRATION_EVENT 0x00000000
7097#define BNX2_FW_EVT_CODE_LINK_EVENT 0x00000001
7098
7099#define BNX2_DRV_ACK_CAP_MB 0x364
7100#define BNX2_DRV_ACK_CAP_SIGNATURE 0x35450000
7101#define BNX2_CAPABILITY_SIGNATURE_MASK 0xFFFF0000
7102
7103#define BNX2_FW_CAP_MB 0x368
7104#define BNX2_FW_CAP_SIGNATURE 0xaa550000
7105#define BNX2_FW_ACK_DRV_SIGNATURE 0x52500000
7106#define BNX2_FW_CAP_SIGNATURE_MASK 0xffff0000
7107#define BNX2_FW_CAP_REMOTE_PHY_CAPABLE 0x00000001
7108#define BNX2_FW_CAP_REMOTE_PHY_PRESENT 0x00000002
7109
7110#define BNX2_RPHY_SIGNATURE 0x36c
7111#define BNX2_RPHY_LOAD_SIGNATURE 0x5a5a5a5a
7112
7113#define BNX2_RPHY_FLAGS 0x370
7114#define BNX2_RPHY_SERDES_LINK 0x374
7115#define BNX2_RPHY_COPPER_LINK 0x378
7116
7068#define HOST_VIEW_SHMEM_BASE 0x167c00 7117#define HOST_VIEW_SHMEM_BASE 0x167c00
7069 7118
7070#endif 7119#endif