i.MX6 | HW PTP (No External Clock Reference) on the TS-4900

Showing results for 
Search instead for 
Did you mean: 

i.MX6 | HW PTP (No External Clock Reference) on the TS-4900

Contributor I


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!

Labels (1)
Tags (2)
0 Kudos
0 Replies