Sorry, sent this to the wrong maintainer initially. I am cc'ing the Broadcom bnxt maintainers in hopes that they might comment about the 54616 behavior on reset. I couldn't find any programmer guide for this chip online but PHYs are typically well behaved. This patch does work on our test system.
On Wed, Dec 6, 2017 at 6:55 PM, Chas Williams <3ch...@gmail.com> wrote: > 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 > >