Tool/software:
Hi,
I'm testing PROCESSOR-SDK-LINUX-RT-AM64X Version: 11.00.09.04 (debian-trixie) on custom board using TQMa64xxL.
My usecase is to get acurate PPS out signal needed to sync other devices.
I've connected Meinberg grandmaster clock via PRP to PRU0 and PRU1 and the connection and redundancy works ok.
After successfully activating the PPS out using command "/root/ptp/testptp -d /dev/ptp2 -P 1" i've got pps signal which is shifted comparing to
the reference PPS from the master clock (as shown bellow; blue is gm pps, yellow is am64x pps).
Then I run ptp4l which after a while synchronizes the clock (ptp4l log bellow), but PPS signal generated by AM64x has still large offset comparing to reference gm pps.
Then when I turn it off and on again the pps out signal only comes close to the reference signal.
root@debian:~# /root/ptp/testptp -d /dev/ptp2 -P 0 pps for system time request okay root@debian:~# /root/ptp/testptp -d /dev/ptp2 -P 1 pps for system time request okay
Why does turning the pps signal off and on again reduce the offset from the reference signal and use the time correction made by ptp4l ?
I found information in the ti-linux-kernel repository that the fix for PPS synchronization was implemented in icssg-prueth around 11.11.2024 https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/commit/?id=dc065076ee7768377d7c16af7d1b0767782d8c98 and is only executed when the PPS signal is turned on. Shouldn't a similar fix be implemented in icss-iep, so that it properly corrects the PPS signal offset during the corrections performed by ptp4l ?