Skip to content

support the cpts found on am335x devices

Richard Cochran linux-arm-kernel netdev 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest7 patches 6 repliesIn review
  2. v1 RFC7 patches 0 repliesSuperseded

Changes in v2 from the cover letter

- Now uses device tree
- Actually works with vanilla kernel

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7cpsw: rename register banks to match the reference manualdrivers/net/ethernet/ti/cpsw.c+9 -90 replies
2/7cpsw: add missing fields to the CPSW_SS register bank.drivers/net/ethernet/ti/cpsw.c+8 -00 replies
3/7cpsw: correct the CPSW_PORT register bank declarationDocumentation/devicetree/bindings/net/cpsw.txt arch/arm/boot/dts/am33xx.dtsi drivers/net/ethernet/ti/cpsw.c+20 -100 replies
4/7cpsw: add a common header file for regsiter declarationsdrivers/net/ethernet/ti/cpsw_reg.h+81 -00 replies
5/7cpts: introduce time stamping code and a PTP hardware clock.drivers/net/ethernet/ti/Kconfig drivers/net/ethernet/ti/Makefile drivers/net/ethernet/ti/cpts.c +1 more+625 -10 replies
6/7cpsw: add a DT field for the cpts offsetDocumentation/devicetree/bindings/net/cpsw.txt arch/arm/boot/dts/am33xx.dtsi drivers/net/ethernet/ti/cpsw.c +1 more+12 -00 replies
7/7cpsw: use the time stamping capabilities of the cptsdrivers/net/ethernet/ti/cpsw.c+33 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [PATCH V2 0/7] support the cpts found on am335x devices

This patch series, based on linux-3.7-rc1 plus the fixes I posted today, adds support for the Common Platform Time Sync (CPTS) found on the popular BeagleBone. The code enables hardware time stamping and a PTP Hardware Clock.

Changes in V2
- Now uses device tree
- Actually works with vanilla kernel

This work has been tested using the linuxptp PTP stack, and it seems to be working quite well. One limitation of the hardware is that not possible to adjust the clock frequency. Even without with this capability, the driver will be still be useful for 802.1AS applications, since they typically use a free running clock.

There is one open issue with this driver which will hopefully soon be resolved. Time stamping only works on UDP packets. Although Layer 2 is supposed to work according to the TRM, I have not yet figured out how. The UDP only works when setting an undocumented bit, so maybe someone from TI can fill me in on this.

Thanks,
Richard

Richard Cochran (7):
cpsw: rename register banks to match the reference manual
cpsw: add missing fields to the CPSW_SS register bank.
cpsw: correct the CPSW_PORT register bank declaration
cpsw: add a common header file for regsiter declarations
cpts: introduce time stamping code and a PTP hardware clock.
cpsw: add a DT field for the cpts offset
cpsw: use the time stamping capabilities of the cpts

 Documentation/devicetree/bindings/net/cpsw.txt |   11 +-
 arch/arm/boot/dts/am33xx.dtsi                  |    5 +-
 drivers/net/ethernet/ti/Kconfig                |    8 +
 drivers/net/ethernet/ti/Makefile               |    2 +-
 drivers/net/ethernet/ti/cpsw.c                 |   84 ++++-
 drivers/net/ethernet/ti/cpsw_reg.h             |   81 ++++
 drivers/net/ethernet/ti/cpts.c                 |  468 ++++++++++++++++++++++++
 drivers/net/ethernet/ti/cpts.h                 |  148 ++++++++
 include/linux/platform_data/cpsw.h             |    1 +
 9 files changed, 788 insertions(+), 20 deletions(-)
 create mode 100644 drivers/net/ethernet/ti/cpsw_reg.h
 create mode 100644 drivers/net/ethernet/ti/cpts.c
 create mode 100644 drivers/net/ethernet/ti/cpts.h
Signature · 1 line
1.7.2.5