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.

AM62A7: time synchronize using GTC

Part Number: AM62A7

Tool/software:

Hello TI

We want to synchronize the time on A53 linux and R5 Core. How to do this using GTC, is there any sample or user guide?

Best Regards,

Liu Lizhao

  • Hello Liu,

    The fastest way to share time between A53 and the R5F core would be to send a pulse through the time sync router. However, we do not currently have a good example of using the time sync router on AM62Ax.

    How close do you need your Linux time and your R5F time to be? (within 10s of nanoseconds? Within a millisecond? etc)

    Regards,

    Nick

  • Hi Nick

    What is time sync router? Is it the GTC?

    Within a millisecond is enough for now.

    Best Regards,

    Liu Lizhao

  • Hello Liu,

    There are multiple different ways to send signals throughput the AM62Ax processor.

    If your customer needed the time difference to be on the order of 10s of nanoseconds, then the time sync router would be the best option. The time sync router is basically an interrupt router that allows the processor to send pulses (e.g., outputted from the GTC counter) to the rest of the processor cores to synchronize time. For more information about the time sync router, you can refer to this: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1243869/faq-am62-what-is-the-time-sync-router-for-how-do-i-use-it

    However, if the customer only needs accuracy within a millisecond, they could use other methods of communication between processor cores. For example, they could use IPC RPMsg to send the counter value between cores. RPMsg would be the lowest effort option to get working.

    This form of IPC is not super optimized for latency, but it DOES have much better latency performance after some patches that we are adding to Linux kernel 6.6. I can provide latency benchmarks for you if your customer might be interested in sending the time through that method.

    Regards,

    Nick

  • Hello Nick

    I just study the document about the time sync router. I still don't quit understand how to use this mechanism to synchronize the time on A core and R core. Could you explain more detail? And I notice that most the document are based on AM64. Is it also applicable to the AM62A7?

    For the IPC RPMsg, the processor sdk we use is 9.02.0.5, and the linux kernel version is 6.18. On which sdk version, will the kernel update to 6.6. How much of the improvement is there in latency?

    Best Regards,

    Liu Lizhao

  • Hello Liu,

    IPC RPMsg latencies 

    SDK 10.0 will be on Linux kernel 6.6. You can expect that SDK to release within the next month.

    You can find detailed latency measurements here:
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1388960/sk-am64b-rpmsg-between-a53-and-r5-performance-update/5328241#5328241 

    Kernel 6.6 WITHOUT the mailbox patches should have similar performance to SDK 9.2 & kernel 6.1.

    time sync router (TSR) concepts 

    Yes, the AM62Ax has a time sync router, just like AM64x. The specific inputs and outputs will be different, since this is a different processor. The Technical Reference Manual (TRM) will have some additional information - let me know if inputs and outputs are not clear and I can provide additional guidance.

    GTC has an output signal that goes into the TSR. So that signal can be routed through the TSR, to the Interrupt Aggregator, and through to the R5F. HOWEVER, I do not have an example for you of exactly how to configure that routing. The TSR itself is easy to program, but at this point in time I am not sure how to program the interrupt aggregator. So if IPC RPMsg will fill your design needs, that might be the easier solution to implement in the near term.

    Regards,

    Nick