I've got a Xilinx ZCU102 with a macb driver from xilinx's 2017.3 branch
which has 4.9 linux kernel and PTP support).
I believe I've got the necessary bits built into the kernel (kernel options
shown below).

I'm trying to run as a slave, but it looks like its not working.  I'd
appreciate any and all advice, as I'm at wits end.

ptp4l  -i eth0 -m -s
ptp4l[13.741]: selected /dev/ptp0 as PTP clock
ptp4l[13.741]: driver changed our HWTSTAMP options
ptp4l[13.741]: tx_type 1 not 1
ptp4l[13.741]: rx_filter 1 not 12
ptp4l[13.742]: port 1: INITIALIZING to LISTENING on INITIALIZE
ptp4l[13.742]: port 0: INITIALIZING to LISTENING on INITIALIZE
ptp4l[21.640]: driver changed our HWTSTAMP options
ptp4l[21.640]: tx_type 1 not 1
ptp4l[21.640]: rx_filter 1 not 12
ptp4l[21.640]: selected best master clock 000a35.fffe.002201
ptp4l[29.520]: driver changed our HWTSTAMP options
ptp4l[29.520]: tx_type 1 not 1
ptp4l[29.520]: rx_filter 1 not 12
ptp4l[29.520]: selected best master clock 000a35.fffe.002201
ptp4l[29.688]: port 1: new foreign master 003064.fffe.1982cd-1
ptp4l[33.786]: selected best master clock 003064.fffe.1982cd
ptp4l[33.786]: port 1: LISTENING to UNCALIBRATED on RS_SLAVE
ptp4l[34.810]: master offset 651262704418 s0 freq +0 path delay 0
ptp4l[35.834]: master offset 649867375548 s0 freq +0 path delay 346072539
ptp4l[36.859]: master offset 648818118960 s0 freq +0 path delay 346072539
ptp4l[37.883]: master offset 647714697182 s0 freq +0 path delay 400129313
ptp4l[38.908]: master offset 646665287635 s0 freq +0 path delay 400129313
ptp4l[39.933]: master offset 645623541219 s0 freq +0 path delay 392486789
ptp4l[40.957]: master offset 644575797496 s0 freq +0 path delay 390867813
ptp4l[41.982]: master offset 643526460652 s0 freq +0 path delay 390867813


It's almost like timestamps aren't happening in the driver.



However, the driver appears to have all of the proper options:



# ethtool -T eth0
Time stamping parameters for eth0:
Capabilities:
hardware-transmit (SOF_TIMESTAMPING_TX_HARDWARE)
hardware-receive (SOF_TIMESTAMPING_RX_HARDWARE)
hardware-raw-clock (SOF_TIMESTAMPING_RAW_HARDWARE)
PTP Hardware Clock: 0
Hardware Transmit Timestamp Modes:
off (HWTSTAMP_TX_OFF)
on (HWTSTAMP_TX_ON)
Hardware Receive Filter Modes:
none (HWTSTAMP_FILTER_NONE)
all (HWTSTAMP_FILTER_ALL)



Here are my kernel options.


First, the easy ones:

CONFIG_NETWORK_PHY_TIMESTAMPING

CONFIG_PPS

CONFIG_PTP_1588_CLOCK



I've also found other variables online in various places that I felt need
to be set for this board:

CONFIG_DP83640_PHY (because it has this PHY onboard, the TI DP83640)



I've also been told I need to enable the Common Clock, so I've done that,
though there's nothing in the linuxptp documentation about that.

CONFIG_COMMON_CLK

CONFIG_COMMON_CLK_ZYNQMP



This next one had to do with common clock support in ARM reference designs,
but I don't know if the ultrazinq uses the SP810 system controller.  Better
to be safe than sorry, right?

CONFIG_CLK_SP810
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Linuxptp-users mailing list
Linuxptp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-users

Reply via email to