[PATCH net-next v3 0/3] net: enetc: remove bootloader dependency

From: Michael Walle
Date: Thu May 28 2020 - 02:39:09 EST

These patches were picked from the following series:
They have never been resent. I've picked them up, addressed Andrews
comments, fixed some more bugs and asked Claudiu if I can keep their SOB
tags; he agreed. I've tested this on our board which happens to have a
bootloader which doesn't do the enetc setup in all cases. Though, only
SGMII mode was tested.

changes since v2:
- removed SOBs from "net: enetc: Initialize SerDes for SGMII and USXGMII
protocols" because almost everything has changed.
- get a phy_device for the internal PCS PHY so we can use the phy_
functions instead of raw mdiobus writes
- reuse macros already defined in fsl_mdio.h, move missing bits from
felix to fsl_mdio.h, because they share the same PCS PHY building
- added 2500BaseX mode (based on felix init routine)
- changed xgmii mode to usxgmii mode, because it is actually USXGMII and
felix does the same.
- fixed devad, which is 0x1f (MMD_VEND2)

changes since v1:
- mdiobus id is '"imdio-%s", dev_name(dev)' because the plain dev_name()
is used by the emdio.
- use mdiobus_write() instead of imdio->write(imdio, ..), since this is
already a full featured mdiobus
- set phy_mask to ~0 to avoid scanning the bus
- use phy_interface_mode_is_rgmii(phy_mode) to also include the RGMII
modes with pad delays.
- move enetc_imdio_init() to enetc_pf.c, there shouldn't be any other
users, should it?
- renamed serdes to SerDes
- printing the error code of mdiobus_register() in the error path
- call mdiobus_unregister() on _remove()
- call devm_mdiobus_free() if mdiobus_register() fails, since an
error is not fatal

Alex Marginean (1):
net: enetc: Use DT protocol information to set up the ports

Michael Walle (2):
net: dsa: felix: move USXGMII defines to common place
net: enetc: Initialize SerDes for SGMII and USXGMII protocols

drivers/net/dsa/ocelot/felix_vsc9959.c | 21 --
.../net/ethernet/freescale/enetc/enetc_hw.h | 3 +
.../net/ethernet/freescale/enetc/enetc_pf.c | 191 +++++++++++++++---
.../net/ethernet/freescale/enetc/enetc_pf.h | 5 +
include/linux/fsl/enetc_mdio.h | 19 ++
5 files changed, 194 insertions(+), 45 deletions(-)