Linuxptp-2 on MPC8315 board

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Linuxptp-2 on MPC8315 board

1,391 Views
gouravjain
Contributor IV

Hello All,

I'm trying to configure IEEE 1588 PTP on my board based on MPC8315 chipset.

Kernel version: 3.12

kernel have two related files,

1) gianfar.c

2)gainfar_ptp.c (kept some prints and getting while testing)

Modified dts file and did some kernel configuration,

dts file changes,

ptp_clock@24E00 {
         compatible = "fsl,etsec-ptp";
         reg = <0x24E00 0xB0>;
/*
interrupts = <12 0x8 13 0x8>;
interrupt-parent = < &ipic >;
*/
         interrupts = <12 0x8>;
         interrupt-parent = < &ipic >;
         fsl,tclk-period = <10>;
         fsl,tmr-prsc = <100>;
         fsl,tmr-add = <0x999999A4>;
         fsl,tmr-fiper1 = <0x3B9AC9F6>;
         fsl,tmr-fiper2 = <0x00018696>;
         fsl,max-adj = <659999998>;
};

Kernel configuration: 

      enabled following flags,

                  1) CONFIG_PPS

                  2) CONFIG_NETWORK_PHY_TIMESTAMPING

                  3) PTP_1588_CLOCK

I guess my kernel is configured now.

After that, I have cross compiled "linuxptp-2 " and try to run ptp4l application on board and getting following messages,

ethtool -T eth1
Time stamping parameters for eth1:
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)

1) My doubt is why software capabilities are missing here ?? How to add those ??

./ptp4l -S -i eth1 -H -m
ptp4l main
GJ: HW Timestamping
GJ: ptp_gianfar_adjfreq

ptp4l[423975.934]: selected /dev/ptp0 as PTP clock
GJ: EV_INIT_COMPLETE
ptp4l[423975.942]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
GJ: EV_INIT_COMPLETE
ptp4l[423975.944]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[423982.456]: port 1: LISTENING to MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
ptp4l[423982.456]: selected local clock 002488.fffe.003ca3 as best master
ptp4l[423982.456]: assuming the grand master role
GJ: TS_HARDWARE
ptp4l[423983.460]: missing timestamp on transmitted sync
ptp4l[423983.461]: port 1: MASTER to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)

2) Above, while running ptp4l in slave mode, why timestamp is missing and getting faulty message???

3) Whats the difference between ptp4l and ptpd application ???

Kindly advice me what went wrong and how to debug....

thanks,

Gourav

0 Kudos
1 Reply

1,032 Views
bpe
NXP Employee
NXP Employee

1) My doubt is why software capabilities are missing here ?? How to add those ??

[Platon] gianfar implements only HW-assisted timestamping.

2) Above, while running ptp4l in slave mode, why timestamp is missing and getting faulty message???

[Platon] As I have already informed you in this post, this has not been verified by NXP, so the suggestion is, attach a debugger and step through, to see what gets wrong.

3) Whats the difference between ptp4l and ptpd application ???

[Platon] ptp4l and ptpd are different implementations of a network clock. You can find more in their documentation:

PTPd Source Documentation 

The Linux PTP Project 

Hope this helps,

Platon

0 Kudos