aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bnx2x_link.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_link.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_link.h')
-rw-r--r--drivers/net/bnx2x_link.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/net/bnx2x_link.h b/drivers/net/bnx2x_link.h
index 19a866dc10eb..d25ef45d793f 100644
--- a/drivers/net/bnx2x_link.h
+++ b/drivers/net/bnx2x_link.h
@@ -39,7 +39,13 @@
39#define SPEED_15000 15000 39#define SPEED_15000 15000
40#define SPEED_16000 16000 40#define SPEED_16000 16000
41 41
42 42#define SFP_EEPROM_VENDOR_NAME_ADDR 0x14
43#define SFP_EEPROM_VENDOR_NAME_SIZE 16
44#define SFP_EEPROM_VENDOR_OUI_ADDR 0x25
45#define SFP_EEPROM_VENDOR_OUI_SIZE 3
46#define SFP_EEPROM_PART_NO_ADDR 0x28
47#define SFP_EEPROM_PART_NO_SIZE 16
48#define PWR_FLT_ERR_MSG_LEN 250
43/***********************************************************/ 49/***********************************************************/
44/* Structs */ 50/* Structs */
45/***********************************************************/ 51/***********************************************************/
@@ -91,7 +97,8 @@ struct link_params {
91 u16 xgxs_config_tx[4]; /* preemphasis values for the tx side */ 97 u16 xgxs_config_tx[4]; /* preemphasis values for the tx side */
92 u32 feature_config_flags; 98 u32 feature_config_flags;
93#define FEATURE_CONFIG_OVERRIDE_PREEMPHASIS_ENABLED (1<<0) 99#define FEATURE_CONFIG_OVERRIDE_PREEMPHASIS_ENABLED (1<<0)
94#define FEATURE_CONFIG_MODULE_ENFORCMENT_ENABLED (2<<0) 100#define FEATURE_CONFIG_BC_SUPPORTS_OPT_MDL_VRFY (1<<2)
101#define FEATURE_CONFIG_BCM8727_NOC (1<<3)
95 /* Device pointer passed to all callback functions */ 102 /* Device pointer passed to all callback functions */
96 struct bnx2x *bp; 103 struct bnx2x *bp;
97}; 104};
@@ -181,4 +188,7 @@ u8 bnx2x_test_link(struct link_params *input, struct link_vars *vars);
181u8 bnx2x_common_init_phy(struct bnx2x *bp, u32 shmem_base); 188u8 bnx2x_common_init_phy(struct bnx2x *bp, u32 shmem_base);
182 189
183 190
191u8 bnx2x_read_sfp_module_eeprom(struct link_params *params, u16 addr,
192 u8 byte_cnt, u8 *o_buf);
193
184#endif /* BNX2X_LINK_H */ 194#endif /* BNX2X_LINK_H */