Other Parts Discussed in Thread: TMDS64EVM
Tool/software:
Hello,
Our team designed custom board using AM6442 processor. It uses PRU interfaces to sync using PTP, but the way it synchronizes is inconsistent. Using 2 boards, one working as a master and second one as a slave. The issue comes up if the board booted after connecting the power and starting Linux without Eth cable connected. I that case PTP path delay has huge value ~300000 and master delay jumping around. What fixes that is disabling eth ports that are driven by PRU which causes PRU firmware to reload, after that the path delay value is ~700 and master delay value is stable.
ptp4l[Thu Mar 13 10:13:19 2025]: port 1 (eth3): FAULTY to LISTENING on INIT_COMPLETE ptp4l[Thu Mar 13 10:13:22 2025]: port 1 (eth3): new foreign master 72e609.fffe.a0baa3-1 ptp4l[Thu Mar 13 10:13:24 2025]: selected best master clock 72e609.fffe.a0baa3 ptp4l[Thu Mar 13 10:13:24 2025]: port 1 (eth3): LISTENING to UNCALIBRATED on RS_SLAVE ptp4l[Thu Mar 13 10:13:25 2025]: master offset 315229405 s0 freq -0 path delay 259649 ptp4l[Thu Mar 13 10:13:26 2025]: master offset 315165836 s1 freq -63545 path delay 323474 ptp4l[Thu Mar 13 10:13:27 2025]: master offset 52359 s2 freq -11186 path delay 331521 ptp4l[Thu Mar 13 10:13:27 2025]: port 1 (eth3): UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED ptp4l[Thu Mar 13 10:13:28 2025]: master offset 71854 s2 freq +24017 path delay 323474 ptp4l[Thu Mar 13 10:13:29 2025]: master offset 40039 s2 freq +13758 path delay 331521 ptp4l[Thu Mar 13 10:13:30 2025]: master offset 26556 s2 freq +12287 path delay 331521 ptp4l[Thu Mar 13 10:13:31 2025]: master offset 72486 s2 freq +66183 path delay 273556 ptp4l[Thu Mar 13 10:13:32 2025]: master offset 22889 s2 freq +38332 path delay 257263 ptp4l[Thu Mar 13 10:13:33 2025]: master offset -15226 s2 freq +7084 path delay 257263 ptp4l[Thu Mar 13 10:13:34 2025]: master offset 33589 s2 freq +51331 path delay 201603 ptp4l[Thu Mar 13 10:13:35 2025]: master offset -73093 s2 freq -45274 path delay 257263 ptp4l[Thu Mar 13 10:13:36 2025]: master offset 28038 s2 freq +33929 path delay 201603 ptp4l[Thu Mar 13 10:13:37 2025]: master offset -1950 s2 freq +12352 path delay 197959 ptp4l[Thu Mar 13 10:13:38 2025]: master offset -20003 s2 freq -6286 path delay 203900 ptp4l[Thu Mar 13 10:13:39 2025]: master offset -7531 s2 freq +185 path delay 197959 ^C root@linux:/var/log# ifconfig eth3 down root@linux:/var/log# ifconfig eth3 up root@linux:/var/log# tail -f ptp4l.0.log ptp4l[Thu Mar 13 10:13:10 2025]: port 2 (eth2): assuming the grand master role ptp4l[Thu Mar 13 10:13:10 2025]: port 2 (eth2): master state recommended in slave only mode ptp4l[Thu Mar 13 10:13:10 2025]: port 2 (eth2): defaultDS.priority1 probably misconfigured ptp4l[Thu Mar 13 10:13:14 2025]: port 1 (eth3): link up ptp4l[Thu Mar 13 10:13:14 2025]: Switched to /dev/ptp3 as PTP clock ptp4l[Thu Mar 13 10:13:14 2025]: port 1 (eth3): FAULTY to LISTENING on INIT_COMPLETE ptp4l[Thu Mar 13 10:13:19 2025]: port 1 (eth3): new foreign master 72e609.fffe.a0baa3-1 ptp4l[Thu Mar 13 10:13:21 2025]: selected best master clock 72e609.fffe.a0baa3 ptp4l[Thu Mar 13 10:13:21 2025]: port 1 (eth3): LISTENING to UNCALIBRATED on RS_SLAVE ptp4l[Thu Mar 13 10:13:22 2025]: master offset -37000817190 s0 freq -0 path delay 749 ptp4l[Thu Mar 13 10:13:23 2025]: master offset -37000816898 s1 freq +292 path delay 747 ptp4l[Thu Mar 13 10:13:24 2025]: master offset -4614 s2 freq -4322 path delay 747 ptp4l[Thu Mar 13 10:13:24 2025]: port 1 (eth3): UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED ptp4l[Thu Mar 13 10:13:25 2025]: master offset -27 s2 freq -1119 path delay 747 ptp4l[Thu Mar 13 10:13:26 2025]: master offset 1368 s2 freq +268 path delay 747 ptp4l[Thu Mar 13 10:13:27 2025]: master offset 1353 s2 freq +663 path delay 744 ptp4l[Thu Mar 13 10:13:28 2025]: master offset 963 s2 freq +679 path delay 741 ptp4l[Thu Mar 13 10:13:29 2025]: master offset 528 s2 freq +533 path delay 741 ptp4l[Thu Mar 13 10:13:30 2025]: master offset 259 s2 freq +422 path delay 740 ptp4l[Thu Mar 13 10:13:31 2025]: master offset 114 s2 freq +355 path delay 738 ptp4l[Thu Mar 13 10:13:32 2025]: master offset 21 s2 freq +296 path delay 738 ptp4l[Thu Mar 13 10:13:33 2025]: master offset -35 s2 freq +246 path delay 737 ptp4l[Thu Mar 13 10:13:34 2025]: master offset -7 s2 freq +264 path delay 733 ptp4l[Thu Mar 13 10:13:35 2025]: master offset -4 s2 freq +265 path delay 733
We use 6.1 Linux RT kernel, I know that there have been some fixes for PRU and ICSSG in 10.01 SDK that includes 6.6 kernel, was this issue also known and was fixed in that release or 6.6 kernel?
Best regards
Mateusz