This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DP83640 rx timestamp is not working

Other Parts Discussed in Thread: DP83640

Hello,

I am using meinberg (M600/GPS PTP(option)) as a PTP master and DP83640 as a PTP client.

I configured DP83640 to receive PTP timestamp as shown below:

PTP_RXCFG0 = 0x0FE5

PTP_RXCFG2 = 0x0000

PTP_RXCFG0 = 0x2FE5

PTP_RXCFG2 = 0x0000

PTP_RXCFG0 = 0x0FE5

PTP_RXCFG1 = 0x00F8

PTP_RXCFG3 = 0x0C00

PTP_RXCFG4 = 0x0000

PTP_RXHASH = 0x0000

 

Inside an endless loop, I am polling the PTP status register (PTP_STS) for some incoming receive timestamp. When some timestamp are received, I read the receive timestamp register (PTP_RXTS) as shown below.

 

PTP_RXTS = 0x4ED8

PTP_RXTS = 0x61AA

PTP_RXTS = 0x01AA

PTP_RXTS = 0x0000

PTP_RXTS = 0x3894

PTP_RXTS = 0x00E8

 

I would like to know why the MSB word of the seconds field is returning zeros? And the last reading is reporting 0x00E8, should I expect 0x0001, see capture. I am missing something in the setup or doing something wrong?

 

Thanks in advance,

Dulciane.

 

I post a wireshark capture from the PTP server.

PTPCapture.zip
  • Dulciane,

    We will review this and get back to you.

    Patrick

  • Hi Patrick,

    let me give more update what i am having experienced.
    1 - Looking into the forum, I also having similar behavior as posted below.
    http://e2e.ti.com/support/interface/ethernet/f/903/t/309102.aspx

    2 - I noticed that the PTP_RXCFG1 was not properly configured. it should be 0xF800 instead of 0x00F8. But when I did that, there is not notification at all about received timestamp. The phy is not receiving the ptp packet correctly? 

    3 - I tried to use insertion and phy status frame to get the timestamp and seems that nothing is being send to the MAC.

    is it possible to setup a conference call to straight this out?
    this is a phone number in NY: (516) 334-0870 ext. 207


    Thanks,
    Dulce.

  • Dulce,

    Let's try to simplify the debug and focus the effort on a single mechanism for getting the receive timestamp.  Since you had some initial success reading timestamps from the registers, I would suggest we continue with that approach. 

    When you configured PTP_RXCFG1 for 0xF800, you mention there was no notification of received timestamps.  Could you explain that in more detail?  For example, were you still continuously polling the PTP_RXTS register or were you using interrupts? 

    With the device configured as you had it before, including setting PTP_RXCFG1 to 0xF800, and receiving PTP Message, could you dump out the PTP registers on register pages 4, 5, and 6?  I would like to confirm this as well.

    Patrick

  • I came across a problem. The ptp status register Receive Timestamp Ready bit is always 0. linux 3 above dp83640.c if (on)
    cfg0 = PSF_EVNT_EN | PSF_RXTS_EN | PSF_TXTS_EN | ENDIAN_FLAG;

    I have make it off. What happens ? And how about changing geting the rx timestamp from phy status frame and how to do? Is there any demos?