]> git.baikalelectronics.ru Git - kernel.git/commit
net: ethernet: ti: introduce am654 common platform time sync driver
authorGrygorii Strashko <grygorii.strashko@ti.com>
Fri, 1 May 2020 20:50:06 +0000 (23:50 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 May 2020 19:02:02 +0000 (12:02 -0700)
commitb0c41403eabccfa0ca2879faaa5e530e9274ab9b
tree27b41a2cadfcf80b293cbf485b54614c3895a983
parentac54d8f39d0c3c5170957f8dfa46f9a200abfcad
net: ethernet: ti: introduce am654 common platform time sync driver

The CPTS module is used to facilitate host control of time sync operations.
Main features of CPTS module are:
- selection of multiple external clock sources
- control of time sync events via interrupt or polling
- 64-bit timestamp mode in ns with HW PPM and nudge adjustment.
- hardware timestamp ext. inputs (HWx_TS_PUSH)
- timestamp Generator function outputs (TS_GENFx)
Depending on integration it enables compliance with the IEEE 1588-2008
standard for a precision clock synchronization protocol, Ethernet Enhanced
Scheduled Traffic Operations (CPTS_ESTFn) and PCIe Subsystem Precision Time
Measurement (PTM).

Introduced driver provides Linux PTP hardware clock for each CPTS device
and network packets timestamping where applicable. CPTS PTP hardware clock
supports following operations:
    - Set time
    - Get time
    - Shift the clock by a given offset atomically
    - Adjust clock frequency
    - Time stamp external events
    - Periodic output signals

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ti/Kconfig
drivers/net/ethernet/ti/Makefile
drivers/net/ethernet/ti/am65-cpts.c [new file with mode: 0644]
drivers/net/ethernet/ti/am65-cpts.h [new file with mode: 0644]