mbox series

[net-next,v9,0/3] Broadcom PTP PHY support

Message ID 20220622050454.878052-1-jonathan.lemon@gmail.com (mailing list archive)
Headers show
Series Broadcom PTP PHY support | expand

Message

Jonathan Lemon June 22, 2022, 5:04 a.m. UTC
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.

v8->v9:
 Fix Kconfig dependencies from v7 (kernel test robot)

v7->v8:
 Style changes in patch 3 (Florian)

v6->v7:
 Fix Kconfig dependencies (Jakub)

v5->v6:
 Fix calculations in bcm_ptp_adjtime_locked (Richard)
 Add bcm_ptp_stop (Florian)
 Update framesync handling for better masking and restore
 Cleanup 1PPS perout function, remove unsync'd version
 Add 1PPS extts detection
 Break out extts/perout into its own patch

v4->v5:
 Reorder so bcm-phy-lib.h shows up first, fixing dependency issues.
 Use set_normalized_timespec for adjusting ns in adjtime
 Return upscaled config setting from hwtstamp

v3->v4:
 Squash bcm-phy-lib.h and broadcom.c changes into one patch
 Reorder so the main patch shows up first.

v2->v3:
 Rearrange patches so they apply in order
 Use ERR_CAST

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)
--- 
CC: Andrew Lunn <andrew@lunn.ch>
CC: Florian Fainelli <f.fainelli@gmail.com>
CC: Richard Cochran <richardcochran@gmail.com>
CC: Lasse Johnsen <l@ssejohnsen.me>
CC: Heiner Kallweit <hkallweit1@gmail.com>
CC: Russell King <linux@armlinux.org.uk>
CC: "David S. Miller" <davem@davemloft.net>
CC: Eric Dumazet <edumazet@google.com>
CC: Jakub Kicinski <kuba@kernel.org>
CC: Paolo Abeni <pabeni@redhat.com>
CC: Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
--- 

Jonathan Lemon (3):
  net: phy: broadcom: Add Broadcom PTP hooks to bcm-phy-lib
  net: phy: broadcom: Add PTP support for some Broadcom PHYs.
  net: phy: Add support for 1PPS out and external timestamps

 drivers/net/phy/Kconfig       |   5 +
 drivers/net/phy/Makefile      |   1 +
 drivers/net/phy/bcm-phy-lib.h |  19 +
 drivers/net/phy/bcm-phy-ptp.c | 944 ++++++++++++++++++++++++++++++++++
 drivers/net/phy/broadcom.c    |  33 +-
 5 files changed, 998 insertions(+), 4 deletions(-)
 create mode 100644 drivers/net/phy/bcm-phy-ptp.c

Comments

patchwork-bot+netdevbpf@kernel.org June 24, 2022, 4 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (master)
by Jakub Kicinski <kuba@kernel.org>:

On Tue, 21 Jun 2022 22:04:51 -0700 you wrote:
> 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.
> 
> [...]

Here is the summary with links:
  - [net-next,v9,1/3] net: phy: broadcom: Add Broadcom PTP hooks to bcm-phy-lib
    https://git.kernel.org/netdev/net-next/c/15acf89e1286
  - [net-next,v9,2/3] net: phy: broadcom: Add PTP support for some Broadcom PHYs.
    https://git.kernel.org/netdev/net-next/c/39db6be781cd
  - [net-next,v9,3/3] net: phy: Add support for 1PPS out and external timestamps
    https://git.kernel.org/netdev/net-next/c/7bfe91efd525

You are awesome, thank you!