|
|
Log in / Subscribe / Register

Broadcom PTP PHY support

From:  Jonathan Lemon <jonathan.lemon-AT-gmail.com>
To:  f.fainelli-AT-gmail.com, bcm-kernel-feedback-list-AT-broadcom.com, andrew-AT-lunn.ch, hkallweit1-AT-gmail.com, richardcochran-AT-gmail.com, lasse-AT-timebeat.app
Subject:  [PATCH net-next v2 0/3] Broadcom PTP PHY support
Date:  Fri, 29 Apr 2022 19:57:20 -0700
Message-ID:  <20220430025723.1037573-1-jonathan.lemon@gmail.com>
Cc:  netdev-AT-vger.kernel.org, kernel-team-AT-fb.com
Archive-link:  Article

This adds PTP support for the Broadcom PHY BCM54210E (and the
specific variant BCM54213PE that the rpi-5.15 branch uses).

This has only been tested on the RPI CM4, which has one port.

There are other Broadcom chips which may benefit from using the
same framework here, although with different register sets.

v1->v2:
 Squash Kconfig into main patch
 Move config checks into bcm-phy-lib.h
 Fix delta_ns calculations in adjtime
 Uppercase mode selector macros
 Only use NSE_INIT when necessary
 Remove the inserted Broadcom RX timestamp from the PTP packet
 Add perout (chip generated) and fsync out (timer generated)
 Remove PHY_ID_BCM54213PE special casing (needed for rpi tree)

Thanks to Lasse Johnsen <lasse@timebeat.app> for pointing out
that the chip's periodic output generation isn't sync'd to any
time base.

Jonathan Lemon (3):
  net: phy: broadcom: Add PTP support for some Broadcom PHYs.
  net: phy: broadcom: Add Broadcom PTP hooks to bcm-phy-lib
  net: phy: broadcom: Hook up the PTP PHY functions

 drivers/net/phy/Kconfig       |  10 +
 drivers/net/phy/Makefile      |   1 +
 drivers/net/phy/bcm-phy-lib.h |  14 +
 drivers/net/phy/bcm-phy-ptp.c | 869 ++++++++++++++++++++++++++++++++++
 drivers/net/phy/broadcom.c    |  23 +-
 5 files changed, 913 insertions(+), 4 deletions(-)
 create mode 100644 drivers/net/phy/bcm-phy-ptp.c

-- 
2.31.1



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