[PATCH v5 0/3] net: phy: bcm5481x: add support for BroadR-Reach mode

From: Kamil Horák - 2N
Date: Wed Jun 05 2024 - 05:57:29 EST


PATCH 1 - Add the 10baseT1BRR_Full link mode

PATCH 2 - Add the definitions of LRE registers, necessary to use
BroadR-Reach modes on the BCM5481x PHY

PATCH 3 - Implementation of the BroadR-Reach modes for the Broadcom
PHYs

Changes in v2:
- Divided into multiple patches, removed useless link modes

Changes in v3:
- Fixed uninitialized variable in bcm5481x_config_delay_swap function

Changes in v4:
- Improved the division of functions between bcm-phy library and broadcom.c
- Changed the BroadR-Reach / IEEE mode switching to device tree boolean as
these modes are mutually exclusive and barely could coexist in one hardware
- Made the link mode selection compatible with current ethtool (i.e. the
linkmode is selected by choosing speed and master-slave)

Changes in v5:
- Fixed the operator precedence as reported by the kernel test robot
- Fixed doc of bcm_linkmode_adv_to_mii_adv_t function

Kamil Horák - 2N (3):
net: phy: bcm54811: New link mode for BroadR-Reach
net: phy: bcm54811: Add LRE registers definitions
net: phy: bcm-phy-lib: Implement BroadR-Reach link modes

drivers/net/phy/bcm-phy-lib.c | 123 ++++++++++++
drivers/net/phy/bcm-phy-lib.h | 4 +
drivers/net/phy/broadcom.c | 368 ++++++++++++++++++++++++++++++++--
drivers/net/phy/phy-core.c | 3 +-
include/linux/brcmphy.h | 89 ++++++++
include/uapi/linux/ethtool.h | 1 +
net/ethtool/common.c | 3 +
7 files changed, 573 insertions(+), 18 deletions(-)

--
2.39.2