Fix the bcm54811 PHY driver initialization for MII-Lite. The bcm54811 PHY in MLP package must be setup for MII-Lite interface mode by software. Normally, the PHY to MAC interface is selected in hardware by setting the bootstrap pins of the PHY. However, MII and MII-Lite share the same hardware setup and must be distinguished by software, setting appropriate bit in a configuration register. The MII-Lite interface mode is non-standard one, defined by Broadcom for some of their PHYs. The MII-Lite lightness consist in omitting RXER, TXER, CRS and COL signals of the standard MII interface. Absence of COL them makes half-duplex links modes impossible but does not interfere with Broadcom's BroadR-Reach link modes, because they are full-duplex only. To do it in a clean way, MII-Lite must be introduced first, including its limitation to link modes (no half-duplex), because it is a prerequisite for the patch #3 of this series. The patch #4 does not depend on MII-Lite directly but both #3 and #4 are necessary for bcm54811 to work properly without additional configuration steps to be done - for example in the bootloader, before the kernel starts. PATCH 1 - Add MII-Lite PHY interface mode as defined by Broadcom for their two-wire PHYs. It can be used with most Ethernet controllers under certain limitations (no half-duplex link modes etc.). PATCH 2 - Add MII-Lite PHY interface type PATCH 3 - Activation of MII-Lite interface mode on Broadcom bcm5481x PHYs PATCH 4 - Fix the BCM54811 PHY initialization so that it conforms to the datasheet regarding a reserved bit in the LRE Control register, which must be written to zero after every device reset. Also fix the LRE Status register reading, there is another bit to be ignored on bcm54811. Changes in v2: - Applied reviewers' comments - Divided into more patches (separated common and Broadcom PHY specific code) Changes in v3: - Added MII-Lite documentation Changes in v4: - Added missing Fixes headers Changes in v5: - Removed unused PHY register bits definition Changes in v6: - Reworded the cover letter to explain why this series should be applied at once and routed through "net", not "net-next". Kamil Horák - 2N (4): net: phy: MII-Lite PHY interface mode dt-bindings: ethernet-phy: add MII-Lite phy interface type net: phy: bcm5481x: MII-Lite activation net: phy: bcm54811: Fix the PHY initialization .../bindings/net/ethernet-controller.yaml | 1 + Documentation/networking/phy.rst | 7 ++++ drivers/net/phy/broadcom.c | 39 ++++++++++++++++--- drivers/net/phy/phy-core.c | 1 + drivers/net/phy/phy_caps.c | 4 ++ drivers/net/phy/phylink.c | 1 + include/linux/brcmphy.h | 6 +++ include/linux/phy.h | 4 ++ 8 files changed, 58 insertions(+), 5 deletions(-) -- 2.39.5