Hello,
I am hoping to get some help setting up HW PTP (no external clock source) on the TS-4900. When running ptp4l on two TS-4900s, the clocks do not synchronize. Here’s my setup:
- 2x TS-4900s (i.MX6Quad processors) mounted on TS-8550 boards.
- Each board is connected to a common switch over Ethernet.
- Each board runs the latest i.MX6 Linux Kernel (4.9.11)[with the RT patch applied] taken from ts-imx_4.9.11_1.0.0_ga and Debian 10 Buster.
- The device tree used is the default imx6q-ts4900.dtb.
- ptp4l is being used for PTP syncing.
ethtool indicates I have support for both SW and HW timestamping on interface eth0:

SW PTP syncing works as expected. HW PTP fails to synchronize. The ptp4l command used on both the slave and master machines is: ptp4l –i eth0 –m
- PTP Grandmaster output (looks good):

- PTP Slave output (master offset does not change, servo state ‘s0’ does not change):

Has any other customer been able to use HW PTP with the TS-4900 successfully? Is there some modification to the device tree that needs to be made? I found the NXP Hardware Development Guide for the iMX6Quad that is used on TS-4900 (see attachment). Section 12.4 describes how to generate reference clocks, section 12.4.1 specifically explains how to use GPIO_16 to generate the reference clock used by PHY (this is what I believe we want for HW PTP to work with no external clock source).
Any tips or hints would be much appreciated. Thank you!