Usualy we can not ensure only to use transparent clock switches. Therefor we setup the fix option -P to the commandline to enable the P2P mechanism in ptp4l.
The following options are highly depending on the usecase so we remove them for the defaults. path_trace_enabled follow_up_info tx_timestamp_timeout With all other options were simple defaults the whole config can be removed. We also add some service files to start the ptp4l service on specific devices. In case the ptp4l daemon is configured we add the option to install the phc2sys daemon to adjust the system time by ptp. Signed-off-by: Michael Grzeschik <m.grzesc...@pengutronix.de> --- projectroot/etc/gPTP.conf | 28 ---------------------- projectroot/usr/lib/systemd/system/phc2sys.service | 10 ++++++++ projectroot/usr/lib/systemd/system/ptp4l@.service | 12 ++++++++++ rules/linuxptp.in | 17 +++++++++++++ rules/linuxptp.make | 20 ++++++++++++++-- 5 files changed, 57 insertions(+), 30 deletions(-) delete mode 100644 projectroot/etc/gPTP.conf create mode 100644 projectroot/usr/lib/systemd/system/phc2sys.service create mode 100644 projectroot/usr/lib/systemd/system/ptp4l@.service diff --git a/projectroot/etc/gPTP.conf b/projectroot/etc/gPTP.conf deleted file mode 100644 index 5bbbaf288..000000000 --- a/projectroot/etc/gPTP.conf +++ /dev/null @@ -1,28 +0,0 @@ -[global] -# -# Run time options -# -assume_two_step 1 -logging_level 6 -path_trace_enabled 1 -follow_up_info 1 -tx_timestamp_timeout 40 -use_syslog 1 -verbose 0 -summary_interval 0 -# -# Transport options -# -transportSpecific 0x1 -ptp_dst_mac 01:80:C2:00:00:0E -p2p_dst_mac 01:80:C2:00:00:0E -uds_address /var/run/ptp4l -# -# Default interface options -# -network_transport L2 -delay_mechanism P2P -time_stamping hardware - -[eth0] - diff --git a/projectroot/usr/lib/systemd/system/phc2sys.service b/projectroot/usr/lib/systemd/system/phc2sys.service new file mode 100644 index 000000000..eb8e57037 --- /dev/null +++ b/projectroot/usr/lib/systemd/system/phc2sys.service @@ -0,0 +1,10 @@ +[Unit] +Description=Precision Time Protocol system clock synchronization +Wants=ptp4l@.service + +[Service] +ExecStart=/usr/sbin/phc2sys -a -r -r +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/projectroot/usr/lib/systemd/system/ptp4l@.service b/projectroot/usr/lib/systemd/system/ptp4l@.service new file mode 100644 index 000000000..7cd00dc45 --- /dev/null +++ b/projectroot/usr/lib/systemd/system/ptp4l@.service @@ -0,0 +1,12 @@ +[Unit] +Description=Precision Time Protocol (PTP) service +BindsTo = sys-subsystem-net-devices-%i.device +After = sys-subsystem-net-devices-%i.device + +[Service] +Type=simple +ExecStart=/usr/sbin/ptp4l -P -i %i +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/rules/linuxptp.in b/rules/linuxptp.in index 641d844c7..6d1177667 100644 --- a/rules/linuxptp.in +++ b/rules/linuxptp.in @@ -7,3 +7,20 @@ config LINUXPTP The Linux PTP project implements the Precision Time protocol (PTP), standardized as IEEE1588. +if LINUXPTP + +config LINUXPTP_SYSTEMD_SERVICE + bool "install ptp4l and phc2sys systemd service files" + default y + +config LINUXPTP_SYSTEMD_SERVICE_PTP4L_INTF + string "Enable ptp4l systemd service file for this interface" + default "eth0" + depends on LINUXPTP_SYSTEMD_SERVICE + +config LINUXPTP_PHC2SYS_SYSTEMD_SERVICE + bool "Enable phc2sys systemd service file" + default y + depends on LINUXPTP_SYSTEMD_SERVICE + +endif diff --git a/rules/linuxptp.make b/rules/linuxptp.make index 59cbb5123..e7ef5507d 100644 --- a/rules/linuxptp.make +++ b/rules/linuxptp.make @@ -17,8 +17,8 @@ PACKAGES-$(PTXCONF_LINUXPTP) += linuxptp # # Paths and names # -LINUXPTP_VERSION := 1.6 -LINUXPTP_MD5 := 6aa15d83f5a35f1fd076ba9adc4e7285 +LINUXPTP_VERSION := 1.8 +LINUXPTP_MD5 := 5688cdfe57932273e1dbf35b3b97b9a0 LINUXPTP := linuxptp-$(LINUXPTP_VERSION) LINUXPTP_SUFFIX := tgz LINUXPTP_URL := $(call ptx/mirror, SF, linuxptp/$(LINUXPTP).$(LINUXPTP_SUFFIX)) @@ -64,8 +64,24 @@ $(STATEDIR)/linuxptp.targetinstall: @$(call install_copy, linuxptp, 0, 0, 0755, -, /usr/sbin/phc2sys) @$(call install_copy, linuxptp, 0, 0, 0755, -, /usr/sbin/pmc) @$(call install_copy, linuxptp, 0, 0, 0755, -, /usr/sbin/hwstamp_ctl) + @$(call install_copy, linuxptp, 0, 0, 0755, -, /usr/sbin/phc_ctl) + @$(call install_copy, linuxptp, 0, 0, 0755, -, /usr/sbin/timemaster) + @$(call install_alternative, linuxptp, 0, 0, 0644, /etc/gPTP.conf) +ifdef PTXCONF_LINUXPTP_SYSTEMD_SERVICE + @$(call install_alternative, linuxptp, 0, 0, 0644, /usr/lib/systemd/system/ptp4l@.service) + @$(call install_alternative, linuxptp, 0, 0, 0644, /usr/lib/systemd/system/phc2sys.service) +ifneq ($(PTXCONF_LINUXPTP_SYSTEMD_SERVICE_PTP4L_INTF),"") + @$(call install_link, linuxptp, ../ptp4l@.service, \ + /usr/lib/systemd/system/multi-user.target.wants/ptp4l@$(PTXCONF_LINUXPTP_SYSTEMD_SERVICE_PTP4L_INTF).service) +endif +ifdef PTXCONF_LINUXPTP_PHC2SYS_SYSTEMD_SERVICE + @$(call install_link, linuxptp, ../phc2sys.service, \ + /usr/lib/systemd/system/multi-user.target.wants/phc2sys.service) +endif +endif + @$(call install_finish, linuxptp) @$(call touch) -- 2.11.0 _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de