The 1588 timestamping is available when the MRMAC is in the flexible interface mode. Only 2-step timestamping is
available and 1-step timestamping (insertion) is not supported. To enable the feature and
associated ports, set the control bit ctl_pcs_ts_en
to
1.
The RX Flex I/F timestamps use the same output port as the normal ingress timestamps
(rx_ptp_tstamp_out_<N>
). Enabling Flex I/F timestamps switches these
ports over to the flexif
clock. As decoding is not performed on the packet,
the timestamp corresponds to the first word on the datapath and not the first word of the
frame. For high accuracy, user logic can add block offsets to the timestamp value if the
start of packet is not on the first word of the datapath.
In the egress direction, the Flex I/F timestamping feature uses a different set of signals
to request a timestamp and provide a tag (tx_ptp_flex_*_<N>
). However,
the usual egress timestamp interface is used to produce the results.
An additional signal is present on the Flex I/F in the egress direction:
tx_ptp_flex_1588loc_in_<N>[1:0]
. In the egress
direction, the user logic is required to explicitly identify the lane containing the start
of the packet (that is, the lane in which data following SFD is present) by asserting Bit[0]
of the per-lane (<N>
) signal. If the Flex I/F is in
Clause 74 (KR-FEC) mode, Bit[1] of the relevant signal should be set to 1 if the start is
offset by 32 bits (if the Flex I/F is in Clause 74 KR-FEC) mode. In this method, the TX
timestamp accurately reflects the position of the start of packet.