aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bnx2x_hsi.h
diff options
context:
space:
mode:
authorEilon Greenstein <eilong@broadcom.com>2009-07-21 01:47:47 -0400
committerDavid S. Miller <davem@davemloft.net>2009-07-21 14:18:30 -0400
commit4d295db0efd2ccf06edb7a45ad885b40c56b7161 (patch)
treefb545833c5c3618d58754d50ba899b62dd37abef /drivers/net/bnx2x_hsi.h
parent5316bc0b9adbefe24f149b12caeddc30df6f04e1 (diff)
bnx2x: Supporting BCM8727 PHY
Adding support for BCM8727 - a dual port SFP+ PHY. That includes verification of the optic module vendor and part number - the list of approved modules resides on the nvram and the module is verified by the FW. Since not all users would like to use this verification feature, it can be disabled. The default behavior is to issue a warning if the module is not approved, but still allow using it - but it is also possible to disable the link if the module is not approved. Signed-off-by: Yaniv Rosner <yanivr@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2x_hsi.h')
-rw-r--r--drivers/net/bnx2x_hsi.h25
1 files changed, 21 insertions, 4 deletions
diff --git a/drivers/net/bnx2x_hsi.h b/drivers/net/bnx2x_hsi.h
index 41c6dcb9618a..7de83c4a557a 100644
--- a/drivers/net/bnx2x_hsi.h
+++ b/drivers/net/bnx2x_hsi.h
@@ -248,6 +248,8 @@ struct port_hw_cfg { /* port 0: 0x12c port 1: 0x2bc */
248#define PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM8726 0x00000600 248#define PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM8726 0x00000600
249#define PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM8481 0x00000700 249#define PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM8481 0x00000700
250#define PORT_HW_CFG_XGXS_EXT_PHY_TYPE_SFX7101 0x00000800 250#define PORT_HW_CFG_XGXS_EXT_PHY_TYPE_SFX7101 0x00000800
251#define PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM8727 0x00000900
252#define PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM8727_NOC 0x00000a00
251#define PORT_HW_CFG_XGXS_EXT_PHY_TYPE_FAILURE 0x0000fd00 253#define PORT_HW_CFG_XGXS_EXT_PHY_TYPE_FAILURE 0x0000fd00
252#define PORT_HW_CFG_XGXS_EXT_PHY_TYPE_NOT_CONN 0x0000ff00 254#define PORT_HW_CFG_XGXS_EXT_PHY_TYPE_NOT_CONN 0x0000ff00
253 255
@@ -358,10 +360,16 @@ struct port_feat_cfg { /* port 0: 0x454 port 1: 0x4c8 */
358#define PORT_FEATURE_MBA_ENABLED 0x02000000 360#define PORT_FEATURE_MBA_ENABLED 0x02000000
359#define PORT_FEATURE_MFW_ENABLED 0x04000000 361#define PORT_FEATURE_MFW_ENABLED 0x04000000
360 362
361 /* Check the optic vendor via i2c before allowing it to be used by 363 /* Reserved bits: 28-29 */
362 SW */ 364 /* Check the optic vendor via i2c against a list of approved modules
363#define PORT_FEAT_CFG_OPT_MDL_ENFRCMNT_DISABLED 0x00000000 365 in a separate nvram image */
364#define PORT_FEAT_CFG_OPT_MDL_ENFRCMNT_ENABLED 0x08000000 366#define PORT_FEAT_CFG_OPT_MDL_ENFRCMNT_MASK 0xE0000000
367#define PORT_FEAT_CFG_OPT_MDL_ENFRCMNT_SHIFT 29
368#define PORT_FEAT_CFG_OPT_MDL_ENFRCMNT_NO_ENFORCEMENT 0x00000000
369#define PORT_FEAT_CFG_OPT_MDL_ENFRCMNT_DISABLE_TX_LASER 0x20000000
370#define PORT_FEAT_CFG_OPT_MDL_ENFRCMNT_WARNING_MSG 0x40000000
371#define PORT_FEAT_CFG_OPT_MDL_ENFRCMNT_POWER_DOWN 0x60000000
372
365 373
366 u32 wol_config; 374 u32 wol_config;
367 /* Default is used when driver sets to "auto" mode */ 375 /* Default is used when driver sets to "auto" mode */
@@ -657,6 +665,12 @@ struct drv_func_mb {
657#define DRV_MSG_CODE_GET_UPGRADE_KEY 0x81000000 665#define DRV_MSG_CODE_GET_UPGRADE_KEY 0x81000000
658#define DRV_MSG_CODE_GET_MANUF_KEY 0x82000000 666#define DRV_MSG_CODE_GET_MANUF_KEY 0x82000000
659#define DRV_MSG_CODE_LOAD_L2B_PRAM 0x90000000 667#define DRV_MSG_CODE_LOAD_L2B_PRAM 0x90000000
668 /*
669 * The optic module verification commands requris bootcode
670 * v5.0.6 or later
671 */
672#define DRV_MSG_CODE_VRFY_OPT_MDL 0xa0000000
673#define REQ_BC_VER_4_VRFY_OPT_MDL 0x00050006
660 674
661#define BIOS_MSG_CODE_LIC_CHALLENGE 0xff010000 675#define BIOS_MSG_CODE_LIC_CHALLENGE 0xff010000
662#define BIOS_MSG_CODE_LIC_RESPONSE 0xff020000 676#define BIOS_MSG_CODE_LIC_RESPONSE 0xff020000
@@ -691,6 +705,9 @@ struct drv_func_mb {
691#define FW_MSG_CODE_L2B_PRAM_C_LOAD_FAILURE 0x90220000 705#define FW_MSG_CODE_L2B_PRAM_C_LOAD_FAILURE 0x90220000
692#define FW_MSG_CODE_L2B_PRAM_X_LOAD_FAILURE 0x90230000 706#define FW_MSG_CODE_L2B_PRAM_X_LOAD_FAILURE 0x90230000
693#define FW_MSG_CODE_L2B_PRAM_U_LOAD_FAILURE 0x90240000 707#define FW_MSG_CODE_L2B_PRAM_U_LOAD_FAILURE 0x90240000
708#define FW_MSG_CODE_VRFY_OPT_MDL_SUCCESS 0xa0100000
709#define FW_MSG_CODE_VRFY_OPT_MDL_INVLD_IMG 0xa0200000
710#define FW_MSG_CODE_VRFY_OPT_MDL_UNAPPROVED 0xa0300000
694 711
695#define FW_MSG_CODE_LIC_CHALLENGE 0xff010000 712#define FW_MSG_CODE_LIC_CHALLENGE 0xff010000
696#define FW_MSG_CODE_LIC_RESPONSE 0xff020000 713#define FW_MSG_CODE_LIC_RESPONSE 0xff020000