Re: [Linuxptp-users] Adding LinuxPTP to Arria 10 SoC
PTP IEEE 1588 stack for Linux
Brought to you by:
rcochran
From: Ian T. <Ian...@pg...> - 2017-05-17 13:39:36
|
John We are running ptp4l on a Cyclone V SoC through the stmicro mac. Are you using that or the Altera triple-speed mac? The stmmac driver has a few quirks with Kernel 3.18 but things improve with later kernels >4.8. The driver doesn't use the correct system call for setting initial timings and ptp4l will do a re-initialize on certain fault conditions. We see missing delay request responses under heavy traffic loads and then will get a "glitch" in ptp times. Unfortunately, we can't move to the later kernels, as we don't believe the PCIe root port is configured correctly with 4.x kernels, which we need to work. Good Luck Ian T. From: John Lemonovich [mailto:joh...@fo...] Sent: Tuesday, May 16, 2017 10:44 AM To: lin...@li... Subject: [External] [Linuxptp-users] Adding LinuxPTP to Arria 10 SoC Hello, I am trying to add ptp support into my Altera Arria 10 SoC dev kit (Cortex-A9). Eventually I would like to use a 10G MAC with SGDMAs and SFP port, but for now I am trying to get it working using the ARM HPS Gb-EMAC and Micrel KSZ9031RN triple speed PHY . I have built Linux both using Yocto and also my own build from Altera's LTSI kernel and Buildroot/Busybox for filesystem. My question is how to add LinuxPTP to my embedded Linux and add driver bindings to the MAC, etc. so that I can run as an OC slave? I have downloaded the LinuxPTP source, and set my: ARCH=arm CROSS_COMPILE=CROSS_COMPILE=/localcad/skyfather/ArriaX/ltsi_4_1_33/gcc-linaro-5.4.1-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- And then I ran: make install which put the output files into usr/local/sbin and usr/local/man/man8 Can I just copy those directories to my embedded Linux FS and run them? BTW - When I run ethtool -T eth0 to check capabilities I get: Time stamping parameters for eth0: Capabilities: hardware-transmit (SOF_TIMESTAMPING_TX_HARDWARE) software-transmit (SOF_TIMESTAMPING_TX_SOFTWARE) hardware-receive (SOF_TIMESTAMPING_RX_HARDWARE) software-receive (SOF_TIMESTAMPING_RX_SOFTWARE) software-system-clock (SOF_TIMESTAMPING_SOFTWARE) 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) ptpv1-l4-event (HWTSTAMP_FILTER_PTP_V1_L4_EVENT) ptpv1-l4-sync (HWTSTAMP_FILTER_PTP_V1_L4_SYNC) ptpv1-l4-delay-req (HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ) ptpv2-l4-event (HWTSTAMP_FILTER_PTP_V2_L4_EVENT) ptpv2-l4-sync (HWTSTAMP_FILTER_PTP_V2_L4_SYNC) ptpv2-l4-delay-req (HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ) ptpv2-event (HWTSTAMP_FILTER_PTP_V2_EVENT) ptpv2-sync (HWTSTAMP_FILTER_PTP_V2_SYNC) ptpv2-delay-req (HWTSTAMP_FILTER_PTP_V2_DELAY_REQ) root@arria10:/# Thank you, John |