From: "Charles (Chas) Williams" <ciwil...@brocade.com>

If we find a Broadcom 54616, handle as a e1000_phy_none assuming that
the NIC reset has initialized the PHY to a sane state.

Signed-off-by: Chas Williams <ch...@att.com>
---
 drivers/net/e1000/base/e1000_82575.c   | 5 +++++
 drivers/net/e1000/base/e1000_defines.h | 1 +
 2 files changed, 6 insertions(+)

diff --git a/drivers/net/e1000/base/e1000_82575.c 
b/drivers/net/e1000/base/e1000_82575.c
index c6400bd..3bcb6da 100644
--- a/drivers/net/e1000/base/e1000_82575.c
+++ b/drivers/net/e1000/base/e1000_82575.c
@@ -312,6 +312,9 @@ STATIC s32 e1000_init_phy_params_82575(struct e1000_hw *hw)
                phy->ops.set_d3_lplu_state = e1000_set_d3_lplu_state_82580;
                phy->ops.force_speed_duplex = e1000_phy_force_speed_duplex_m88;
                break;
+       case BCM54616_E_PHY_ID:
+               phy->type               = e1000_phy_none;
+               break;
        default:
                ret_val = -E1000_ERR_PHY;
                goto out;
@@ -1607,6 +1610,8 @@ STATIC s32 e1000_setup_copper_link_82575(struct e1000_hw 
*hw)
        case e1000_phy_82580:
                ret_val = e1000_copper_link_setup_82577(hw);
                break;
+       case e1000_phy_none:
+               break;
        default:
                ret_val = -E1000_ERR_PHY;
                break;
diff --git a/drivers/net/e1000/base/e1000_defines.h 
b/drivers/net/e1000/base/e1000_defines.h
index dbc2bbb..e2101c1 100644
--- a/drivers/net/e1000/base/e1000_defines.h
+++ b/drivers/net/e1000/base/e1000_defines.h
@@ -1274,6 +1274,7 @@ POSSIBILITY OF SUCH DAMAGE.
 #define I350_I_PHY_ID          0x015403B0
 #define I210_I_PHY_ID          0x01410C00
 #define IGP04E1000_E_PHY_ID    0x02A80391
+#define BCM54616_E_PHY_ID      0x03625D10
 #define M88_VENDOR             0x0141
 
 /* M88E1000 Specific Registers */
-- 
2.9.5

Reply via email to