|
|
Log in / Subscribe / Register

net: phy: bcm5481x: add support for BroadR-Reach mode

From:  "Kamil Horák (2N)" <kamilh-AT-axis.com>
To:  <florian.fainelli-AT-broadcom.com>, <bcm-kernel-feedback-list-AT-broadcom.com>, <andrew-AT-lunn.ch>, <hkallweit1-AT-gmail.com>, <linux-AT-armlinux.org.uk>, <davem-AT-davemloft.net>, <edumazet-AT-google.com>, <kuba-AT-kernel.org>, <pabeni-AT-redhat.com>, <robh-AT-kernel.org>, <krzk+dt-AT-kernel.org>, <conor+dt-AT-kernel.org>
Subject:  [PATCH v11 0/4] net: phy: bcm5481x: add support for BroadR-Reach mode
Date:  Mon, 08 Jul 2024 12:27:12 +0200
Message-ID:  <20240708102716.1246571-1-kamilh@axis.com>
Cc:  <kamilh-AT-axis.com>, <netdev-AT-vger.kernel.org>, <devicetree-AT-vger.kernel.org>, <linux-kernel-AT-vger.kernel.org>
Archive-link:  Article

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 - Add brr-mode flag to switch between IEEE802.3 and BroadR-Reach

PATCH 4 - 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

Changes in v6:
  - Moved the brr-mode flag to separate commit as required by the rules for 
    DT binding patches
  - Renamed some functions to make clear they handle LRE-related stuff
  - Reordered variable definitions to match the coding style requirements

Changes in v7:
  - Fixed the changes distribution into patches (first one was not buildable)

Changes in v8:
  - Fixed coding style and did other changes on behalf of the reviewers

Changes in v9:
  - Applied reviewed tags to unchanged commits, reformatted the submitter's address

Changes in v10:
  - Fixed minor CR issues, clarified the embedded documentation and the commit message

Changes in v11:
  - Reworded the brr-mode flag documentation

Kamil Horák (2N) (4):
  net: phy: bcm54811: New link mode for BroadR-Reach
  net: phy: bcm54811: Add LRE registers definitions
  dt-bindings: ethernet-phy: add optional brr-mode flag
  net: phy: bcm-phy-lib: Implement BroadR-Reach link modes

 .../devicetree/bindings/net/ethernet-phy.yaml |   8 +
 drivers/net/phy/bcm-phy-lib.c                 | 115 +++++
 drivers/net/phy/bcm-phy-lib.h                 |   4 +
 drivers/net/phy/broadcom.c                    | 405 +++++++++++++++++-
 drivers/net/phy/phy-core.c                    |   3 +-
 include/linux/brcmphy.h                       |  88 ++++
 include/uapi/linux/ethtool.h                  |   1 +
 net/ethtool/common.c                          |   3 +
 8 files changed, 608 insertions(+), 19 deletions(-)

-- 
2.39.2




Copyright © 2024, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds