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