doc/connectivity/networking/api/gptp.rst
.. _gptp_interface:
generic Precision Time Protocol (gPTP) ######################################
.. contents:: :local: :depth: 2
Overview
This gPTP stack supports the protocol and procedures as defined in
the IEEE 802.1AS-2011 standard_ (Timing and Synchronization for
Time-Sensitive Applications in Bridged Local Area Networks).
Supported features
The stack handles communications and state machines defined in the
IEEE 802.1AS-2011 standard_. Mandatory requirements for a full-duplex
point-to-point link endpoint, as defined in Annex A of the standard,
are supported.
The stack is in principle capable of handling communications on multiple network interfaces (also defined as "ports" in the standard) and thus act as a 802.1AS bridge. However, this mode of operation has not been validated on the Zephyr OS.
Supported hardware
Although the stack itself is hardware independent, Ethernet frame timestamping support must be enabled in ethernet drivers.
Boards supported:
frdm_k64fnucleo_h743zinucleo_h745zi_qnucleo_f767zisam_e70_xplainednative_sim (only usable for simple testing, limited capabilities
due to lack of hardware clock)qemu_x86 (emulated, limited capabilities due to lack of hardware clock)Enabling the stack
The following configuration option must me enabled in :file:prj.conf file.
CONFIG_NET_GPTPApplication interfaces
The following Application Interfaces as defined in section 9 of the standard are available:
ClockSourceTime interface (:c:func:gptp_clk_src_time_invoke)ClockTargetPhaseDiscontinuity interface (:c:func:gptp_register_phase_dis_cb)ClockTargetEventCapture interface (:c:func:gptp_event_capture)Testing
The stack has been informally tested using the
OpenAVnu gPTP <https://github.com/AVnu/gptp>_ and
Linux ptp4l <https://linuxptp.sourceforge.net/>_ daemons.
The :zephyr:code-sample:gPTP sample application <gptp> from the Zephyr
source distribution can be used for testing.
.. _IEEE 802.1AS-2011 standard: https://standards.ieee.org/findstds/standard/802.1AS-2011.html
API Reference
.. doxygengroup:: gptp