Hi John, thank you for your reply.

Yes, I have read your summery and followed the steps there, and also gone 
through the info in:
https://sourceforge.net/p/linuxptp/mailman/linuxptp-users/thread/034101d2d661%24ccba5120%24662ef360%24%40foresys.com/#msg35861379

I am using kernel 4.1.22-ltsi-RT and 4.1.33-ltsi with these patches: 
https://github.com/torvalds/linux/commit/19d857c9038e5c07db8f8cc02b5ad0cd0098714f
   

Did you have to do other changes on your 4.1.33-ltsi kernel than this? 

I have also tested with later kernel versions (4.18, 4.17 and 4.9 ltsi-RT), but 
they all generate various PTP related errors/issues in my system. 

BR
AD



> Sent: Thursday, October 18, 2018 at 4:05 PM
> From: "John Lemonovich" <john.lemonov...@foresys.com>
> To: "Arthur Dent" <arthurd...@cyberdude.com>, 
> linuxptp-users@lists.sourceforge.net
> Subject: RE: [Linuxptp-users] LinuxPTP on Cyclone V SoC
>
> Arthur,
> 
> 
> 
> Last year I was trying to get ptp working in an Arria10 SoC – and I 
> eventually got it all working pretty well.  Eventually I went on to get it 
> working with an Intel FPGA 10GbE MAC for the A10 as well.  The Cyclone V SoC 
> is very similar in that the HPS EMAC is actually the ST Micro MAC (stmmac), 
> which is supported by the Linux kernel and LinuxPTP for HW timestamping (see 
> table below).  I made a post for exactly all the steps to make it work in my 
> A10.  I was helped greatly by Ian Thompson and Hunter Olson, and they were 
> using the Cyclone V SoC.  My A10 setup with clocking was a little different 
> in the Qsys editor and in the device tree, than for the Cyclone V.
> 
> 
> 
> You can check out my summary here:
> 
> https://sourceforge.net/p/linuxptp/mailman/message/35861379/
> 
> 
> 
> 
> 
> Hope this helps,
> 
> 
> 
> 
> 
> John Lemonovich
> 
> 
> 
> 
> 
> 
> 
> 
> 
> From: Arthur Dent <arthurd...@cyberdude.com>
> Sent: Wednesday, October 17, 2018 3:31 PM
> To: linuxptp-users@lists.sourceforge.net
> Subject: [Linuxptp-users] LinuxPTP on Cyclone V SoC
> 
> 
> 
> Hello
> 
> I am trying to add PTP support on a Cyclone V SoC using the HPS EMAC1, but 
> have some problems making it work.
> The problems seem to be related to a wrong clock source to the PTP engine 
> and/or device tree issues. I am using:
> - Linux kernel 4.1.22 ltsi RT (real time) w/patches
> - LinuxPTP 2.0
> 
> Steps taken:
> 1: Compiling and installing linuxptp 2.0
> 2: In Quartus Qsys: The “Enable EMAC1 precision Time Protocol (PTP) FPGA 
> interface” box has been ticked, and this enables three PTP related signals:
> - emac_ptp_ref_clock: This clock has been routed through the FPGA to an IO 
> pin on the development board, and is connected to an external clock source.
> - ptp_pps_o: Routed through the FPGA to an IO pin on the development board 
> and is connected to a scope.
> - the trig signal is unused (connected to GND)
> 3: Updating the device tree:
> 
> gmac1: ethernet@ff702000 {
>    ........
>    clocks = <&emac1_clk &ext_clk_ptp_ref> ;
>    clock-names = "stmmaceth", "clk_ptp_ref";
>    .....
> }
> 
> Defining my external ptp clock source:
> ext_clk_ptp_ref: ext_clk_ptp_ref{
>    compatible = "fixed-clock";
>    #clock-cells = <0>;
>    clock-frequency = <25000000>; /* 25.00 MHz */
>    clock-output-names = "ext_clk_ptp_ref";
> };
> 
> 4: Running a Yocto Krogoth distribution with various version of the linux 
> kernel (4.18, 4.17, 4.9 ltsi-RT, and 4.1.22-ltsi-RT w/wo patches).
> 
> None of these kernel versions work as expected in my system.
> Kernel versions 4.17 and 4.18 do not seem to work at all, and I have ended 
> up using version 4.1.22.ltsi-RT (real time) kernel with the patches 
> recommended by "Hunter":
>  
> <https://github.com/torvalds/linux/commit/19d857c9038e5c07db8f8cc02b5ad0cd0098714f>
>  
> https://github.com/torvalds/linux/commit/19d857c9038e5c07db8f8cc02b5ad0cd0098714f
> ref "Adding LinuxPTP to Arria 10 SoC" email.
> 
> Output when running the "hwstamp_ctl -i eth0 -r 0 -t 1 " command:
>   Device driver does not have support for non-destructive SIOCGHWTSTAMP.
>   new settings:
>   tx_type 1
>   rx_filter 0
> With the 4.1.22.ltsi-RT kernel and the command above I do get a 1PPS pulse 
> each sec as long as my ext_clk_ptp_ref in the device tree is specified to be 
> 25MHz.
> However, the actual frequency of this signal can be anything so the PTP 
> engine does not seem to use my ext_clk_ptp_ref.
> 
> 
> The "ptp4l -m -q -i eth0 ptp4l" command is not working:
>    ptp4l[193.348]: selected /dev/ptp0 as PTP clock
>    ptp4l[193.388]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
>    ptp4l[193.389]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
>    ptp4l[200.843]: port 1: LISTENING to MASTER on 
> ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
>    ptp4l[200.843]: selected local clock 70b3d5.fffe.761bc5 as best master
>    ptp4l[200.843]: assuming the grand master role
>    ptp4l[201.844]: timed out while polling for tx timestamp
>    ptp4l[201.845]: increasing tx_timestamp_timeout may correct this issue, 
> but it is likely caused by a driver bug
>    ptp4l[201.845]: port 1: send sync failed
>    ptp4l[201.845]: port 1: MASTER to FAULTY on FAULT_DETECTED 
> (FT_UNSPECIFIED)
> 
> I have tried with various clocks sources (external and from the HPS) and 
> longer tx timestamp timeout setting, but without success.
> 
> 
> 
> Is there anyone who has managed to get this working on a Cyclone V SoC 
> platform and can share some insight into how to connect the PTP signal in 
> Qsys and necessary device tree mappings?
> 
> 
> Thanks,
> AD
> 
>


_______________________________________________
Linuxptp-users mailing list
Linuxptp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-users

Reply via email to