This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PROCESSOR-SDK-AM64X: PTP HSR with software clock issue

Part Number: PROCESSOR-SDK-AM64X


Tool/software:

Hello TI,

I'm using the latest TI SDK release + AM64x HS:

https://www.ti.com/tool/download/PROCESSOR-SDK-LINUX-RT-AM64X

=> 09.02.01.10 (30 May 2024)

I tried to make ptp hsr works with 3 boards by using ptp4l :

First I up the interfaces eth1 and 2, then set up hsr offloaded to the pru_icssg :

#EVM1 :

root@am64xx-evm:~# /usr/bin/hsr_offload_script.sh hsr_hw eth1 eth2 192.168.150.1

hsr_hw eth1 eth2 192.168.150.1

ip=192.168.150.1

if=hsr0

mac=70:ff:76:1e:9f:54

slave-a=eth1

slave-b=eth2

device=platform/icssg1-eth

hsr-tag-ins-offload: off

hsr-tag-rm-offload: off

hsr-fwd-offload: off

hsr-dup-offload: off

hsr-tag-ins-offload: on

hsr-tag-rm-offload: on

hsr-fwd-offload: on

hsr-dup-offload: on

hsr-tag-ins-offload: off

hsr-tag-rm-offload: off

hsr-fwd-offload: off

hsr-dup-offload: off

hsr-tag-ins-offload: on                                                                                               

hsr-tag-rm-offload: on                                                                                                

hsr-fwd-offload: on                                                                                                   

hsr-dup-offload: on                                                                                                   

[  273.135973] remoteproc remoteproc13: unsupported resource 5                                                        

[  273.150628] remoteproc remoteproc15: unsupported resource 5

root@am64xx-evm:~# ptp4l -i eth1 -i eth2 -S -2 -m -s

ptp4l[312.788]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE

ptp4l[312.820]: port 2: INITIALIZING to LISTENING on INIT_COMPLETE

ptp4l[312.821]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE

ptp4l[313.831]: port 2: new foreign master 70ff76.fffe.1ee78c-1

ptp4l[314.736]: port 2: new foreign master 70ff76.fffe.1ee78c-2

ptp4l[317.831]: selected best master clock 70ff76.fffe.1ee78c

ptp4l[317.831]: foreign master not using PTP timescale

ptp4l[317.831]: port 2: LISTENING to UNCALIBRATED on RS_SLAVE

ptp4l[318.737]: selected best master clock 70ff76.fffe.1ee78c

ptp4l[318.737]: foreign master not using PTP timescale

ptp4l[319.831]: master offset    -121105 s0 freq   -5777 path delay     58568

ptp4l[320.132]: selected best master clock 70ff76.fffe.1ee78c

ptp4l[320.132]: foreign master not using PTP timescale

ptp4l[320.831]: master offset    -121058 s0 freq   -5777 path delay     58568

ptp4l[321.831]: master offset    -113438 s0 freq   -5777 path delay     50461

ptp4l[322.831]: master offset    -109393 s0 freq   -5777 path delay     42098

ptp4l[323.831]: master offset    -112210 s0 freq   -5777 path delay     42098

ptp4l[324.831]: master offset     -85294 s0 freq   -5777 path delay     42354

ptp4l[325.832]: master offset    -110689 s0 freq   -5777 path delay     45002

ptp4l[326.260]: selected best master clock 70ff76.fffe.1ee78c

ptp4l[326.260]: foreign master not using PTP timescale

ptp4l[326.832]: master offset    -124726 s0 freq   -5777 path delay     45466

ptp4l[327.832]: master offset    -117932 s0 freq   -5777 path delay     43910

ptp4l[328.832]: master offset    -111644 s0 freq   -5777 path delay     43910

ptp4l[329.832]: master offset    -111777 s0 freq   -5777 path delay     43910

ptp4l[330.832]: master offset    -119198 s0 freq   -5777 path delay     46558

ptp4l[331.832]: master offset    -126824 s0 freq   -5777 path delay     47707

ptp4l[332.832]: master offset    -129162 s0 freq   -5777 path delay     47707

ptp4l[333.024]: selected best master clock 70ff76.fffe.1ee78c

ptp4l[333.024]: foreign master not using PTP timescale

ptp4l[333.832]: master offset    -125129 s0 freq   -5777 path delay     47707

ptp4l[334.832]: master offset    -127220 s0 freq   -5777 path delay     48090

^Croot@am64xx-evm:~# 

# EVM2 : 
root@am64xx-evm:~# /usr/bin/hsr_offload_script.sh hsr_hw eth1 eth2 192.168.150.10

hsr_hw eth1 eth2 192.168.150.10

ip=192.168.150.10

if=hsr0

mac=70:ff:76:1e:e7:8c

slave-a=eth1

slave-b=eth2

device=platform/icssg1-eth

hsr-tag-ins-offload: off

hsr-tag-rm-offload: off

hsr-fwd-offload: off

hsr-dup-offload: off

hsr-tag-ins-offload: on

hsr-tag-rm-offload: on

hsr-fwd-offload: on

hsr-dup-offload: on

hsr-tag-ins-offload: off

hsr-tag-rm-offload: off

hsr-fwd-offload: off

hsr-dup-offload: off

hsr-tag-ins-offload: on

hsr-tag-rm-offload: on

hsr-fwd-offload: on

hsr-dup-offload: on

[  247.688326] remoteproc remoteproc13: unsupported resource 5

[  247.699123] remoteproc remoteproc15: unsupported resource 5

root@am64xx-evm:~# ptp4l -i hsr0 -S -2 -m                                                            

ptp4l[298.153]: interface 'hsr0' does not support requested timestamping mode

failed to create a clock

root@am64xx-evm:~# ptp4l -i eth1 -i eth2 -S -2 -m

ptp4l[302.164]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE

ptp4l[302.196]: port 2: INITIALIZING to LISTENING on INIT_COMPLETE

ptp4l[302.197]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE

ptp4l[309.036]: port 2: LISTENING to MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES

ptp4l[309.036]: selected local clock 70ff76.fffe.1ee78c as best master

ptp4l[309.036]: port 2: assuming the grand master role

ptp4l[310.131]: port 1: LISTENING to MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES

ptp4l[310.132]: selected local clock 70ff76.fffe.1ee78c as best master

ptp4l[310.132]: port 1: assuming the grand master role

ptp4l[310.132]: port 2: assuming the grand master role

^Croot@am64xx-evm:~# 

# EVM3 : 

root@am64xx-evm:~# /usr/bin/hsr_offload_script.sh hsr_hw eth1 eth2 192.168.150.2                    

hsr_hw eth1 eth2 192.168.150.2

ip=192.168.150.2

if=hsr0

mac=70:ff:76:1e:e6:f3

slave-a=eth1

slave-b=eth2

device=platform/icssg1-eth

hsr-tag-ins-offload: off

hsr-tag-rm-offload: off

hsr-fwd-offload: off

hsr-dup-offload: off

hsr-tag-ins-offload: on

hsr-tag-rm-offload: on

hsr-fwd-offload: on

hsr-dup-offload: on

hsr-tag-ins-offload: off

hsr-tag-rm-offload: off

hsr-fwd-offload: off

hsr-dup-offload: off

hsr-tag-ins-offload: on

hsr-tag-rm-offload: on

hsr-fwd-offload: on

hsr-dup-offload: on

[  275.160340] remoteproc remoteproc13: unsupported resource 5

[  275.172733] remoteproc remoteproc15: unsupported resource 5

root@am64xx-evm:~# ptp4l -i eth1 -i eth2 -S -2 -m -s

ptp4l[321.956]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE

ptp4l[321.988]: port 2: INITIALIZING to LISTENING on INIT_COMPLETE

ptp4l[321.989]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE

ptp4l[322.613]: port 1: new foreign master 70ff76.fffe.1ee78c-1

ptp4l[323.518]: port 1: new foreign master 70ff76.fffe.1ee78c-2

ptp4l[326.613]: selected best master clock 70ff76.fffe.1ee78c

ptp4l[326.613]: foreign master not using PTP timescale

ptp4l[326.614]: port 1: LISTENING to UNCALIBRATED on RS_SLAVE

ptp4l[327.518]: selected best master clock 70ff76.fffe.1ee78c

ptp4l[327.519]: foreign master not using PTP timescale

ptp4l[329.184]: selected best master clock 70ff76.fffe.1ee78c

ptp4l[329.184]: foreign master not using PTP timescale

ptp4l[335.248]: selected best master clock 70ff76.fffe.1ee78c

ptp4l[335.248]: foreign master not using PTP timescale

ptp4l[342.584]: selected best master clock 70ff76.fffe.1ee78c

ptp4l[342.584]: foreign master not using PTP timescale

ptp4l[349.228]: selected best master clock 70ff76.fffe.1ee78c

ptp4l[349.228]: foreign master not using PTP timescale

^Croot@am64xx-evm:~# 

As you can check on the logs, EVM3 seems not get the EVM2 remote clock

-Tianyi

  • Hello Tianyi,

    Can you try testing ptp4l without HSR offloaded setup on the 3 EVMs? That is, test PTP synchronization on the 3 EVMs, with the middle EVM setup as ICSSG switch and configured as grandmaster clock and see if the endpoint EVMs are able to synchronize.

    As mentioned in an older call, the first step we want to see is if just PTP (without HSR) will work for you. 

    -Daolin

  • Hello Daolin,

    It's working without HSR offloaded set up on the 3 EVMs

    (I'm using the latest firmware on the branch ti-linux-firmware : https://git.ti.com/cgit/processor-firmware/ti-linux-firmware/tree/ti-pruss?h=ti-linux-firmware-next ).

    -Tianyi

  • Hi Tianyi,

    Thanks for confirming! In your without HSR offloaded test, did you configure the middle EVM in ICSSG switchmode or just went straight to running ptp4l on it as a grandmaster clock?

    ================================================================

    In terms of testing HSR offloaded with linuxptp, I want to first clarify some details on what TI supports on terms of HSR and PTP.

    In general, here is what TI supports in terms of HSR and PTP

    • TI will ensure ICSSG based Ethernet driver will work with linuxptp (unmodified open source PTP stack, https://linuxptp.sourceforge.net/ https://linuxptp.nwtime.org/ )
    • TI will have HSR forwarding offload work on ICSSG
    • Compatibility of linuxptp with HSR offloaded switching at the same time is beyond what TI verifies
    • Linuxptp feature set is not controlled by TI, might not be sufficient for your use case

    =================================================================

    That being said, I can offer some ideas to see if there is a workaround for the HSR offloaded test with PTP software timestamping:

    In the HSR offloaded test, can you try running ptp4l on EVM2 and EVM3 first (using the same commands you've been using), to see if the timestamp output shows up? If they do, run ptp4l on EVM1 (using the same command you used before), and see what the results are.

    I initially reproduced what you saw and later on tried what I described above and saw that EVM3 was able to get timestamps but "alternates" with EVM1 (i.e. when EVM1 has timestamps, EVM3 does not, vice versa). You can try adding Profishark to your setup and see what changed if you see similar results. Logs below.

    EVM1 Console
    root@am64xx-evm:~# ptp4l -i eth1 -i eth2 -S -2 -m -s
    ptp4l[79.834]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[79.846]: port 2: INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[79.846]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[80.665]: port 2: new foreign master 70ff76.fffe.1f3dc5-1
    ptp4l[81.800]: port 2: new foreign master 70ff76.fffe.1f3dc5-2
    ptp4l[84.666]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[84.666]: foreign master not using PTP timescale
    ptp4l[84.666]: port 2: LISTENING to UNCALIBRATED on RS_SLAVE
    ptp4l[85.800]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[85.801]: foreign master not using PTP timescale
    ptp4l[86.666]: master offset  -88174137 s0 freq      +0 path delay     50012
    ptp4l[87.558]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[87.558]: foreign master not using PTP timescale
    ptp4l[87.666]: master offset  -88156507 s0 freq      +0 path delay     49827
    ptp4l[88.666]: master offset  -88188167 s0 freq      +0 path delay     50012
    ptp4l[89.666]: master offset  -88143517 s0 freq      +0 path delay     50012
    ptp4l[90.666]: master offset  -88179546 s0 freq      +0 path delay     50726
    ptp4l[91.666]: master offset  -88174543 s0 freq      +0 path delay     46943
    ptp4l[92.667]: master offset  -88170668 s0 freq      +0 path delay     46943
    ^Croot@am64xx-evm:~# 
    root@am64xx-evm:~# 
    root@am64xx-evm:~# ptp4l -i eth1 -i eth2 -S -2 -m -s
    ptp4l[110.149]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[110.161]: port 2: INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[110.162]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[110.668]: port 2: new foreign master 70ff76.fffe.1f3dc5-1
    ptp4l[111.802]: port 2: new foreign master 70ff76.fffe.1f3dc5-2
    ptp4l[114.668]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[114.668]: foreign master not using PTP timescale
    ptp4l[114.668]: port 2: LISTENING to UNCALIBRATED on RS_SLAVE
    ptp4l[115.802]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[115.802]: foreign master not using PTP timescale
    ptp4l[116.669]: master offset  -88093407 s0 freq      +0 path delay     54177
    ptp4l[117.669]: master offset  -88057725 s0 freq      +0 path delay     39955
    ptp4l[118.102]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[118.102]: foreign master not using PTP timescale
    ptp4l[118.669]: master offset  -88068410 s0 freq      +0 path delay     39955
    ptp4l[119.669]: master offset  -88000146 s0 freq      +0 path delay     43566
    ptp4l[120.669]: master offset  -88077447 s0 freq      +0 path delay     47177
    ptp4l[121.669]: master offset  -88037121 s0 freq      +0 path delay     43566
    ptp4l[122.669]: master offset  -88061847 s0 freq      +0 path delay     47177
    ptp4l[123.670]: master offset  -88027290 s0 freq      +0 path delay     44485
    ptp4l[124.670]: master offset  -88052016 s0 freq      +0 path delay     45831
    ptp4l[125.647]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[125.647]: foreign master not using PTP timescale
    ptp4l[125.670]: master offset  -88023751 s0 freq      +0 path delay     45831
    ptp4l[126.670]: master offset  -88047141 s0 freq      +0 path delay     45831
    ptp4l[127.670]: master offset  -88015946 s0 freq      +0 path delay     48296
    ptp4l[128.670]: master offset  -87977776 s0 freq      +0 path delay     48296
    ptp4l[129.671]: master offset  -87951620 s0 freq      +0 path delay     49430
    ptp4l[130.670]: master offset  -87994222 s0 freq      +0 path delay     49977
    ptp4l[131.671]: master offset  -88026617 s0 freq      +0 path delay     49977
    ptp4l[132.087]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[132.087]: foreign master not using PTP timescale
    ptp4l[132.671]: master offset  -88028262 s1 freq   +4071 path delay     49977
    ptp4l[133.671]: master offset       3063 s2 freq   +4380 path delay     49977
    ptp4l[133.671]: port 2: UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED
    ptp4l[134.671]: master offset       -587 s2 freq   +4015 path delay     49977
    ptp4l[135.671]: master offset      12740 s2 freq   +5360 path delay     53520
    ptp4l[136.671]: master offset     -12014 s2 freq   +2873 path delay     56519
    ptp4l[137.671]: master offset     -15388 s2 freq   +2520 path delay     56519
    ptp4l[138.671]: master offset      -8338 s2 freq   +3217 path delay     56519
    ptp4l[139.155]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[139.155]: foreign master not using PTP timescale
    ptp4l[139.671]: master offset      12974 s2 freq   +5361 path delay     56519
    ptp4l[140.671]: master offset      28329 s2 freq   +6925 path delay     56519
    ptp4l[141.672]: master offset      11378 s2 freq   +5241 path delay     56784
    ptp4l[142.671]: master offset      -9969 s2 freq   +3096 path delay     56784
    ptp4l[143.672]: master offset       -156 s2 freq   +4078 path delay     56519
    ptp4l[144.672]: master offset     -18536 s2 freq   +2221 path delay     56501
    ptp4l[145.672]: master offset      -7762 s2 freq   +3291 path delay     54615
    ptp4l[146.672]: master offset      18187 s2 freq   +5904 path delay     51266
    ptp4l[146.870]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[146.870]: foreign master not using PTP timescale
    ptp4l[147.672]: master offset      17503 s2 freq   +5853 path delay     51266
    ptp4l[148.672]: master offset     -16974 s2 freq   +2388 path delay     51266
    ptp4l[149.672]: master offset      16496 s2 freq   +5752 path delay     51266
    ptp4l[150.672]: master offset     -22770 s2 freq   +1802 path delay     53507
    ptp4l[151.672]: master offset     -22874 s2 freq   +1769 path delay     53507
    ptp4l[152.672]: master offset     -13707 s2 freq   +2672 path delay     51266
    ptp4l[153.391]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[153.391]: foreign master not using PTP timescale
    ptp4l[153.673]: master offset      -6231 s2 freq   +3413 path delay     49373
    ptp4l[154.673]: master offset     -19039 s2 freq   +2114 path delay     49373
    ptp4l[155.673]: master offset      25232 s2 freq   +6566 path delay     49373
    ptp4l[156.673]: master offset     -11253 s2 freq   +2906 path delay     49373
    ptp4l[157.673]: master offset       2770 s2 freq   +4311 path delay     49373
    ptp4l[158.673]: master offset     -12372 s2 freq   +2785 path delay     49373
    ptp4l[159.673]: master offset      12496 s2 freq   +5284 path delay     44890
    ptp4l[160.673]: master offset      -8677 s2 freq   +3158 path delay     46485
    ptp4l[161.338]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[161.338]: foreign master not using PTP timescale
    ptp4l[161.673]: master offset        980 s2 freq   +4125 path delay     46485
    ptp4l[162.673]: master offset     -11860 s2 freq   +2829 path delay     46485
    ptp4l[163.673]: master offset      -5797 s2 freq   +3429 path delay     43707
    ptp4l[164.673]: master offset     -10486 s2 freq   +2950 path delay     43707
    ptp4l[165.674]: master offset      30163 s2 freq   +7045 path delay     43707
    ptp4l[166.674]: master offset     -16165 s2 freq   +2396 path delay     43707
    ptp4l[167.674]: master offset     -13361 s2 freq   +2663 path delay     41336
    ptp4l[168.241]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[168.241]: foreign master not using PTP timescale
    ptp4l[168.674]: master offset     -13604 s2 freq   +2625 path delay     41976
    ptp4l[169.674]: master offset      14700 s2 freq   +5470 path delay     41976
    ptp4l[170.674]: master offset     -16782 s2 freq   +2305 path delay     44993
    ptp4l[171.674]: master offset      13394 s2 freq   +5336 path delay     43871
    ptp4l[172.674]: master offset     -16111 s2 freq   +2370 path delay     43871
    ptp4l[173.674]: master offset      25825 s2 freq   +6589 path delay     44390
    ptp4l[174.588]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[174.588]: foreign master not using PTP timescale
    ptp4l[174.674]: master offset     -16174 s2 freq   +2373 path delay     44390
    ptp4l[175.674]: master offset     -18532 s2 freq   +2119 path delay     46598
    ptp4l[176.674]: master offset     -14097 s2 freq   +2548 path delay     44390
    ptp4l[177.675]: master offset      12200 s2 freq   +5190 path delay     42495
    ptp4l[178.675]: master offset      -8270 s2 freq   +3135 path delay     44390
    ptp4l[179.675]: master offset       9215 s2 freq   +4892 path delay     44390
    
    
    EVM2 Console
    root@am64xx-evm:~# ptp4l -i eth1 -i eth2 -S -2 -m
    ptp4l[67.865]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[67.877]: port 2: INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[67.877]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[74.452]: port 2: LISTENING to MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
    ptp4l[74.452]: selected local clock 70ff76.fffe.1f3dc5 as best master
    ptp4l[74.452]: port 2: assuming the grand master role
    ptp4l[75.317]: port 1: LISTENING to MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
    ptp4l[75.318]: selected local clock 70ff76.fffe.1f3dc5 as best master
    ptp4l[75.318]: port 1: assuming the grand master role
    ptp4l[75.318]: port 2: assuming the grand master role
    
    
    EVM3 Console
    root@am64xx-evm:~# ptp4l -i eth1 -i eth2 -S -2 -m -s
    ptp4l[66.452]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[66.468]: port 2: INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[66.468]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[69.573]: port 1: new foreign master 70ff76.fffe.1f3dc5-2
    ptp4l[70.438]: port 1: new foreign master 70ff76.fffe.1f3dc5-1
    ptp4l[72.599]: selected local clock 70ff76.fffe.1f3c45 as best master
    ptp4l[73.161]: selected local clock 70ff76.fffe.1f3c45 as best master
    ptp4l[73.572]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[73.573]: foreign master not using PTP timescale
    ptp4l[73.573]: port 1: LISTENING to UNCALIBRATED on RS_SLAVE
    ptp4l[74.438]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[74.438]: foreign master not using PTP timescale
    ptp4l[77.573]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[77.573]: foreign master not using PTP timescale
    ptp4l[81.106]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[81.106]: foreign master not using PTP timescale
    ptp4l[81.573]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[81.573]: foreign master not using PTP timescale
    ptp4l[85.573]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[85.573]: foreign master not using PTP timescale
    ptp4l[87.291]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[87.291]: foreign master not using PTP timescale
    ptp4l[89.573]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[89.573]: foreign master not using PTP timescale
    ptp4l[93.573]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[93.574]: foreign master not using PTP timescale
    ptp4l[95.069]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[95.069]: foreign master not using PTP timescale
    ^Croot@am64xx-evm:~# 
    root@am64xx-evm:~# 
    root@am64xx-evm:~# ptp4l -i eth1 -i eth2 -S -2 -m -s
    ptp4l[97.376]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[97.388]: port 2: INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[97.389]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[97.574]: port 1: new foreign master 70ff76.fffe.1f3dc5-2
    ptp4l[98.439]: port 1: new foreign master 70ff76.fffe.1f3dc5-1
    ptp4l[101.574]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[101.574]: foreign master not using PTP timescale
    ptp4l[101.574]: port 1: LISTENING to UNCALIBRATED on RS_SLAVE
    ptp4l[102.440]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[102.440]: foreign master not using PTP timescale
    ptp4l[102.440]: master offset  646960890 s0 freq      +0 path delay     40170
    ptp4l[103.440]: master offset  646991985 s0 freq      +0 path delay     40170
    ptp4l[104.440]: master offset  646960655 s0 freq      +0 path delay     40170
    ptp4l[105.109]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[105.109]: foreign master not using PTP timescale
    ptp4l[105.441]: master offset  647005410 s0 freq      +0 path delay     40170
    ptp4l[105.574]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[105.574]: foreign master not using PTP timescale
    ptp4l[106.440]: master offset  646966945 s0 freq      +0 path delay     40170
    ptp4l[107.441]: master offset  647014015 s0 freq      +0 path delay     40170
    ptp4l[108.441]: master offset  646975750 s0 freq      +0 path delay     40170
    ptp4l[109.441]: master offset  647007760 s0 freq      +0 path delay     40170
    ptp4l[109.574]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[109.574]: foreign master not using PTP timescale
    ptp4l[110.441]: master offset  646976880 s0 freq      +0 path delay     40170
    ptp4l[111.441]: master offset  647023255 s0 freq      +0 path delay     40170
    ptp4l[111.766]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[111.766]: foreign master not using PTP timescale
    ptp4l[112.441]: master offset  646988370 s0 freq      +0 path delay     40170
    ptp4l[113.441]: master offset  647028620 s0 freq      +0 path delay     40170
    ptp4l[113.574]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[113.575]: foreign master not using PTP timescale
    ptp4l[114.441]: master offset  646993280 s0 freq      +0 path delay     40170
    ptp4l[115.441]: master offset  647013145 s0 freq      +0 path delay     40170
    ptp4l[116.441]: master offset  647002865 s0 freq      +0 path delay     40170
    ptp4l[117.441]: master offset  647025890 s0 freq      +0 path delay     40170
    ptp4l[117.574]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[117.575]: foreign master not using PTP timescale
    ptp4l[117.806]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[117.806]: foreign master not using PTP timescale
    ptp4l[118.442]: master offset  647004630 s1 freq   +2734 path de[  118.449577] systemd-journald[161.
    lay     40170
    ptp4l[119.442]: master offset      81731 s2 freq  +10988 path delay     40170
    ptp4l[119.442]: port 1: UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED
    ptp4l[120.442]: master offset       -150 s2 freq   +2800 path delay     40170
    ptp4l[121.442]: master offset      36468 s2 freq   +6498 path delay     40170
    ptp4l[121.575]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[121.575]: foreign master not using PTP timescale
    ptp4l[122.442]: master offset        391 s2 freq   +2891 path delay     40170
    ptp4l[123.442]: master offset      28299 s2 freq   +5710 path delay     40170
    ptp4l[124.442]: master offset      -4617 s2 freq   +2414 path delay     40170
    ptp4l[125.443]: master offset      23888 s2 freq   +5288 path delay     40170
    ptp4l[125.575]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[125.575]: foreign master not using PTP timescale
    ptp4l[125.692]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[125.692]: foreign master not using PTP timescale
    ptp4l[126.443]: master offset      -1670 s2 freq   +2731 path delay     40170
    ptp4l[127.443]: master offset      44663 s2 freq   +7409 path delay     40170
    ptp4l[128.443]: master offset      15275 s2 freq   +4485 path delay     40170
    ptp4l[129.443]: master offset      16748 s2 freq   +4649 path delay     40170
    ptp4l[129.575]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[129.575]: foreign master not using PTP timescale
    ptp4l[130.443]: master offset      -4651 s2 freq   +2505 path delay     40170
    ptp4l[131.443]: master offset      33419 s2 freq   +6345 path delay     40170
    ptp4l[132.333]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[132.333]: foreign master not using PTP timescale
    ptp4l[132.443]: master offset      38015 s2 freq   +6843 path delay     40170
    ptp4l[133.443]: master offset      59206 s2 freq   +9021 path delay     40170
    ptp4l[133.575]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[133.576]: foreign master not using PTP timescale
    ptp4l[134.443]: master offset     -24584 s2 freq    +618 path delay     40170
    ptp4l[135.443]: master offset     -16662 s2 freq   +1393 path delay     40170
    ptp4l[136.443]: master offset     -11895 s2 freq   +1858 path delay     40170
    ptp4l[137.444]: master offset      -5128 s2 freq   +2529 path delay     40170
    ptp4l[137.576]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[137.576]: foreign master not using PTP timescale
    ptp4l[138.444]: master offset      31797 s2 freq   +6254 path delay     40170
    ptp4l[139.444]: master offset      24393 s2 freq   +5538 path delay     40170
    ptp4l[139.994]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[139.994]: foreign master not using PTP timescale
    ptp4l[140.444]: master offset     -20430 s2 freq   +1035 path delay     40170
    ptp4l[141.444]: master offset       2035 s2 freq   +3284 path delay     40170
    ptp4l[141.576]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[141.576]: foreign master not using PTP timescale
    ptp4l[142.444]: master offset      -9493 s2 freq   +2121 path delay     40170
    ptp4l[143.444]: master offset       5386 s2 freq   +3615 path delay     40170
    ptp4l[144.444]: master offset     -17690 s2 freq   +1289 path delay     40170
    ptp4l[145.444]: master offset      29851 s2 freq   +6073 path delay     40170
    ptp4l[145.576]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[145.576]: foreign master not using PTP timescale
    ptp4l[146.444]: master offset     -17876 s2 freq   +1283 path delay     40170
    ptp4l[147.445]: master offset      14026 s2 freq   +4487 path delay     40170
    ptp4l[147.785]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[147.785]: foreign master not using PTP timescale
    ptp4l[148.444]: master offset      -9596 s2 freq   +2115 path delay     40170
    ptp4l[149.445]: master offset     -13886 s2 freq   +1672 path delay     40170
    ptp4l[149.576]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[149.576]: foreign master not using PTP timescale
    ptp4l[150.445]: master offset      -7799 s2 freq   +2273 path delay     40170
    ptp4l[151.445]: master offset      27404 s2 freq   +5821 path delay     40170
    ptp4l[152.445]: master offset     -13831 s2 freq   +1683 path delay     40170
    ptp4l[153.445]: master offset      13670 s2 freq   +4447 path delay     40170
    ptp4l[153.576]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[153.576]: foreign master not using PTP timescale
    ptp4l[154.445]: master offset      -3623 s2 freq   +2714 path delay     40170
    ptp4l[154.481]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[154.481]: foreign master not using PTP timescale
    ptp4l[155.445]: master offset      -3462 s2 freq   +2727 path delay     40170
    ptp4l[156.445]: master offset       -330 s2 freq   +3040 path delay     40170
    ptp4l[157.445]: master offset      32611 s2 freq   +6367 path delay     40170
    ptp4l[157.576]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[157.576]: foreign master not using PTP timescale
    ptp4l[158.445]: master offset      -5760 s2 freq   +2524 path delay     40170
    ptp4l[159.446]: master offset       8180 s2 freq   +3926 path delay     40170
    ptp4l[160.446]: master offset      -6725 s2 freq   +2429 path delay     40170
    ptp4l[160.838]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[160.838]: foreign master not using PTP timescale
    ptp4l[161.446]: master offset        616 s2 freq   +3163 path delay     40170
    ptp4l[161.576]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[161.576]: foreign master not using PTP timescale
    ptp4l[162.446]: master offset      -1948 s2 freq   +2905 path delay     40170
    ptp4l[163.446]: master offset       8997 s2 freq   +4008 path delay     40170
    ptp4l[164.446]: master offset       -462 s2 freq   +3062 path delay     40170
    ptp4l[165.446]: master offset      -2819 s2 freq   +2824 path delay     40170
    ptp4l[165.576]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[165.577]: foreign master not using PTP timescale
    ptp4l[166.446]: master offset      -9147 s2 freq   +2182 path delay     40170
    ptp4l[167.446]: master offset       8850 s2 freq   +3990 path delay     40170
    ptp4l[168.396]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[168.396]: foreign master not using PTP timescale
    ptp4l[168.446]: master offset      -1305 s2 freq   +2973 path delay     40170
    ptp4l[169.447]: master offset      32726 s2 freq   +6409 path delay     40170
    ptp4l[169.577]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[169.577]: foreign master not using PTP timescale
    ptp4l[170.446]: master offset     -11217 s2 freq   +2004 path delay     40170
    ptp4l[171.447]: master offset      25533 s2 freq   +5704 path delay     40170
    ptp4l[172.447]: master offset        855 s2 freq   +3237 path delay     40170
    ptp4l[173.447]: master offset      -7753 s2 freq   +2369 path delay     40170
    ptp4l[173.577]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[173.577]: foreign master not using PTP timescale
    ptp4l[174.447]: master offset       1834 s2 freq   +3329 path delay     40170
    ptp4l[175.447]: master offset      30554 s2 freq   +6232 path delay     40170
    ptp4l[175.630]: selected best master clock 70ff76.fffe.1f3dc5
    ptp4l[175.630]: foreign master not using PTP timescale
    ptp4l[176.447]: master offset      -1577 s2 freq   +3017 path delay     40170
    ptp4l[177.447]: master offset      57339 s2 freq   +8966 path delay     40170
    ^Croot@am64xx-evm:~# 
    

    Is your end application going to be PTP hardware timestamping with HSR offloaded or will it be with PTP software timestamping? I'm asking this because while it appears PTP software timestamping with HSR offloaded has some functionality (with the issues we've observed). PTP hardware timestamping with HSR offloaded has more issues (at least from my trial testing).

    EVM1 Console
    root@am64xx-evm:~# ptp4l -P -2 -H -i eth1 -i eth2 -f gPTP.cfg --step_threshold=1 -m -q -p /dev/ptp2
    ptp4l[441.177]: selected /dev/ptp2 as PTP clock
    ptp4l[441.200]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[441.220]: port 2: INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[441.220]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
    [  442.206442] icssg-prueth icssg1-eth eth2: Invalid TX TS cookie 0x0
    ptp4l[442.202]: timed out while polling for tx timestamp
    ptp4l[442.208]: increasing tx_timestamp_timeout may correct this issue, but it is likely caused by g
    ptp4l[442.208]: port 1: send peer delay request failed
    ptp4l[442.208]: port 1: LISTENING to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)
    ptp4l[442.223]: timed out while polling for tx timestamp
    ptp4l[442.223]: increasing tx_timestamp_timeout may correct this issue, but it is likely caused by g
    ptp4l[442.223]: port 2: send peer delay request failed
    ptp4l[442.223]: port 2: LISTENING to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)
    ptp4l[458.238]: port 1: FAULTY to LISTENING on INIT_COMPLETE
    ptp4l[458.255]: port 2: FAULTY to LISTENING on INIT_COMPLETE
    ptp4l[459.239]: timed out while polling for tx timestamp
    ptp4l[459.239]: increasing tx_timestamp_timeout may correct this issue, but it is likely caused by g
    ptp4l[459.239]: port 1: send peer delay request failed
    ptp4l[459.239]: port 1: LISTENING to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)
    ptp4l[459.261]: timed out while polling for tx timestamp
    ptp4l[459.261]: increasing tx_timestamp_timeout may correct this issue, but it is likely caused by g
    ptp4l[459.261]: port 2: send peer delay request failed
    ptp4l[459.261]: port 2: LISTENING to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)
    
    EVM2 Console
    root@am64xx-evm:~# ptp4l -P -2 -H -i eth1 -i eth2 -f gPTP.cfg --step_threshold=1 -m -q -p /dev/ptp2
    ptp4l[430.461]: selected /dev/ptp2 as PTP clock
    ptp4l[430.478]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[430.488]: port 2: INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[430.488]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
    [  431.483956] icssg-prueth icssg1-eth eth2: Invalid TX TS cookie 0x0
    ptp4l[431.480]: timed out while polling for tx timestamp
    ptp4l[431.485]: increasing tx_timestamp_timeout may correct this issue, but it is likely caused by ag
    ptp4l[431.485]: port 1: send peer delay request failed
    ptp4l[431.485]: port 1: LISTENING to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)
    ptp4l[431.505]: timed out while polling for tx timestamp
    ptp4l[431.505]: increasing tx_timestamp_timeout may correct this issue, but it is likely caused by ag
    ptp4l[431.505]: port 2: send peer delay request failed
    ptp4l[431.505]: port 2: LISTENING to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)
    ptp4l[447.524]: port 1: FAULTY to LISTENING on INIT_COMPLETE
    ptp4l[447.544]: port 2: FAULTY to LISTENING on INIT_COMPLETE
    ptp4l[448.525]: timed out while polling for tx timestamp
    ptp4l[448.526]: increasing tx_timestamp_timeout may correct this issue, but it is likely caused by ag
    ptp4l[448.526]: port 1: send peer delay request failed
    ptp4l[448.526]: port 1: LISTENING to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)
    ptp4l[448.545]: timed out while polling for tx timestamp
    ptp4l[448.545]: increasing tx_timestamp_timeout may correct this issue, but it is likely caused by ag
    ptp4l[448.545]: port 2: send peer delay request failed
    ptp4l[448.545]: port 2: LISTENING to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)
    ptp4l[464.562]: port 1: FAULTY to LISTENING on INIT_COMPLETE
    ptp4l[464.582]: port 2: FAULTY to LISTENING on INIT_COMPLETE
    ptp4l[465.563]: timed out while polling for tx timestamp
    ptp4l[465.563]: increasing tx_timestamp_timeout may correct this issue, but it is likely caused by ag
    ptp4l[465.563]: port 1: send peer delay request failed
    ptp4l[465.563]: port 1: LISTENING to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)
    ptp4l[465.591]: timed out while polling for tx timestamp
    ptp4l[465.591]: increasing tx_timestamp_timeout may correct this issue, but it is likely caused by ag
    ptp4l[465.591]: port 2: send peer delay request failed
    ptp4l[465.591]: port 2: LISTENING to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)
    
    EVM3 Console
    oot@am64xx-evm:~# ptp4l -P -2 -H -i eth1 -i eth2 -f gPTP.cfg --step_threshold=1 -m -q -p /dev/ptp2
    ptp4l[446.612]: selected /dev/ptp2 as PTP clock
    ptp4l[446.636]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[446.656]: port 2: INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[446.656]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
    [  447.644457] icssg-prueth icssg1-eth eth2: Invalid TX TS cookie 0x0
    ptp4l[447.638]: timed out while polling for tx timestamp
    ptp4l[447.643]: increasing tx_timestamp_timeout may correct this issue, but it is likely caused by g
    ptp4l[447.643]: port 1: send peer delay request failed
    ptp4l[447.643]: port 1: LISTENING to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)
    ptp4l[447.662]: timed out while polling for tx timestamp
    ptp4l[447.662]: increasing tx_timestamp_timeout may correct this issue, but it is likely caused by g
    ptp4l[447.662]: port 2: send peer delay request failed
    ptp4l[447.662]: port 2: LISTENING to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)
    ptp4l[463.677]: port 1: FAULTY to LISTENING on INIT_COMPLETE
    ptp4l[463.697]: port 2: FAULTY to LISTENING on INIT_COMPLETE
    ptp4l[464.678]: timed out while polling for tx timestamp
    ptp4l[464.678]: increasing tx_timestamp_timeout may correct this issue, but it is likely caused by g
    ptp4l[464.678]: port 1: send peer delay request failed
    ptp4l[464.678]: port 1: LISTENING to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)
    ptp4l[464.698]: timed out while polling for tx timestamp
    ptp4l[464.698]: increasing tx_timestamp_timeout may correct this issue, but it is likely caused by g
    ptp4l[464.698]: port 2: send peer delay request failed
    ptp4l[464.698]: port 2: LISTENING to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)
    

    -Daolin