devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v7 0/4] net: phy: bcm54811: PHY initialization
@ 2025-07-08  9:01 Kamil Horák - 2N
  2025-07-08  9:01 ` [PATCH net-next v7 1/4] net: phy: MII-Lite PHY interface mode Kamil Horák - 2N
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Kamil Horák - 2N @ 2025-07-08  9:01 UTC (permalink / raw)
  To: florian.fainelli, bcm-kernel-feedback-list, andrew, hkallweit1,
	linux, davem, edumazet, kuba, pabeni, krzk+dt, conor+dt
  Cc: kamilh, netdev, devicetree, linux-kernel, robh, andrew+netdev,
	horms, corbet, linux-doc

Proper 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 - Initialize the BCM54811 PHY properly 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.
   Ignore the LDS capability bit in LRE Status register 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".

Changes in v7:
  - Reworded the cover letter again and routed to net-next on behalf of the
   maintainers. 

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: 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


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2025-07-10  3:00 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-08  9:01 [PATCH net-next v7 0/4] net: phy: bcm54811: PHY initialization Kamil Horák - 2N
2025-07-08  9:01 ` [PATCH net-next v7 1/4] net: phy: MII-Lite PHY interface mode Kamil Horák - 2N
2025-07-08  9:03   ` Russell King (Oracle)
2025-07-08  9:01 ` [PATCH net-next v7 2/4] dt-bindings: ethernet-phy: add MII-Lite phy interface type Kamil Horák - 2N
2025-07-08 21:15   ` Rob Herring (Arm)
2025-07-08  9:01 ` [PATCH net-next v7 3/4] net: phy: bcm5481x: MII-Lite activation Kamil Horák - 2N
2025-07-08  9:04   ` Russell King (Oracle)
2025-07-08  9:01 ` [PATCH net-next v7 4/4] net: phy: bcm54811: PHY initialization Kamil Horák - 2N
2025-07-10  3:00 ` [PATCH net-next v7 0/4] " patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).