[dpdk-dev] [PATCH] net/e1000: add minimum support for Broadcom 54616 PHY
Chas Williams
3chas3 at gmail.com
Thu Dec 7 01:00:27 CET 2017
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 <3chas3 at gmail.com> wrote:
> From: "Charles (Chas) Williams" <ciwillia at 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 <chas3 at 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
>
>
More information about the dev
mailing list