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.

Using PTP hardware in Linux on AM3359

Other Parts Discussed in Thread: DP83640

Hello,

While looking at current CPSW driver code in in Linux kernel, I have contacted TI engineers who maintain this driver and had been told the following:

On 10 May 2012 09:49, N, Mugunthan V <mugunthanvnm@ti.com> wrote:

> Ilya
>
> We don't have any immediate plans to implement PTP in AM335x as there is a
> hardware limitation
>
> The PLL that sources the PTP module doesn't support granular frequency
> change, so only offset adjustment can be achieved and frequency adjustment
> cannot be achieved.
>
> Please contact the developers through E2E forum; we will be monitoring the E2E forum.
>
> With regards
> Mugunthan V N

Is there anything at all what I could use the PTP module for or it's rather useless piece of silicon?

Kind Regards,

-- 

Ilya Dmitrichenko 

  • Ilya,

    There are two aspects of PTP based clock adjustment. One is frequency adjustment and second is offset adjustment.

    The frequency adjustment in some of TI devices enables a very fine grained control of the frequency and it can enable clock sync to within <100 ppb (part per billion). In other words, the clock on slave would differ from master by <100 ns every one second. It can get even better than that with higher frequency of PTP frames.

    The second method is via clock offset adjustment. In this method, the clock timer itself is overwritten every time there is an observed difference at the time of PTP clock correction. This can also yield very good performance.

    For AM335x, we cannot do the fine grained frequency adjustment (first method) but we can certainly do offset adjustments (second method).

    At present, we have performance data on AM387x (not AM335x) for a frequency adjustment scheme. We do not yet have data for offset correction based PTP implementation.

    So, in summary, AM335x can perform PTP using offset correction of the clock but we do not yet have an implementation ready to be distributed.

    Thanks,

    Maneesh

  • One alternative would be to use an external software controllable clock source that can be adjusted +/- a few hundred ppm with AM335x.

    Regards,
    Paul

  • I see. May be the PRU could be used for this purpose somehow or it'd be a bit too slow?
  • I am very interested in testing the PTP using offset correction of the clock on am335x evm board.

    Has it been implemented by now?

    Thanks,

    Kevin

  • Hi all,

    since the thread on PTP is older, I would like to get an update on the current status of the Linux Kernel based PTP clock adjustment implementation on the AM335x.

    AM335x:

    Is it still accurate that we can only do clock offset adjustment? Or can we now also do fine frequency adjustment?

    AM437x:

    Would this chip allow for both offset and frequency adjustment of the PTP clock?

     

    Thanks!

    --Gunter

     

     

  • Hi!
    Could you tell me whether I need extra connections on my board between AM335 and DP83640? I need to have IEEE 1588 in my aplication. I based on a BeagleBone black and I changed a PHY (now I have DP83640 on a MII interface). Do I need extra clocks or interrupts lines?
    Best Regards
    Pawel
  • We would need more detail about your use-case to make that determination. Could you describe how you wish to utilize PTP in your application?

  • Thank you for your answer. We build a device based on IEC 61850 standard and it is crucial. We use AM335x and Linux + DP83640 on MII. I think that a time synchronization accuracy in the milliseconds range is not sufficient. Please let me know if you need more information.

    Best regards
    Pawel
  • Pawel,
    I don't believe that this question can be answered here. While AM335x does support some features of IEEE1588v2, it would be up to a system designer to understand all the variables (and there are many) required to ensure suitability within a particular environment.

    I can say that from an AM335x HW perspective, our CPTS (Time Stamp) module has the ability to decode and interrupt on both Tx and Rx 1588 packets, but what happens afterward is the responsibility of SW as the CPTS HW has no direct control over the system clock.
  • HI!DK

    AM335x Starter Kit 1588v2 PPS output

    We're using 1588v2 with our AM335x Starter Kit (TMDSSK3354) and need to enable PPS output so we can measure accuracy.

    Questions:

    1) How can we enable PPS output so we can compare it against our grandmaster's PPS on a scope?

    2) Since both the AM335x MAC and the AR8031 PHY on the board are capable of timestamping, which one provides the timestamping in the current implementation as we are using it?

    We tried monitoring the PPS output pin of the AR8031, but saw no transition, so it seems either the PPS output isn't enabled by default or the board isn't using the AR8031 for timestamping.