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.

Linux/TMDSICE3359: PRU Ethernet usage questions

Part Number: TMDSICE3359

Tool/software: Linux

Hello,

We are evaluating the ICEv2 under TI linux-rt SDK environment. Finally we want to use both ethernet port in PRU mode.

But one port as standard ethernet protocol connect to linux network stack, while the other port to run a user defined protocol (ex: EtherCAT) which need TTS function. Now we have three questions:

1. Is it possible to use like this?

2. If its OK to use like this, will the data follow on the second port be disturbed by the first port incoming data?(Cause the data in/out on the second will be quite time critical)What should be consider to solve this problem?

3. Can I use the standard dual mac firmware coming with SDK and rewrite the high level driver in linux to achieve this?

Thank you very much!

  • Hello Bin,

    Summary: I would suggest running standard Ethernet on CPSW, and running EtherCAT on the PRUs. We do NOT support running standard Ethernet on one PRU, and a user-defined protocol on the other.

    Standard Ethernet on PRU:
    We provide Dual EMAC PRU Ethernet. That means the "default" PRU Ethernet expects you to have two Ethernet ports attached to the two PRUs. We do NOT support running standard Ethernet on one PRU, and running a different function on the other PRU.

    In Processor SDK 5.3 and later, we add the option to only have a single Ethernet port connected to one of the PRUs. However, we do NOT support using the non-Ethernet PRU for something else. That is because the PRU Ethernet may be using shared resources in the PRU-ICSS.

    In Processor SDKs 5.2 and earlier, you would be able to add single EMAC functionality by creating a dummy PHY, or potentially backporting the single EMAC support.

    See the post Single PRU Ethernet MII for more information.

    Industrial Ethernet Protocols on PRU:
    Take a look at the current Industrial Communication Protocols Supported on Sitara Processors.

    We also offer an ICSS_EMAC low-level driver (LLD). If you decide to develop your own communication protocol in userspace, you can use the ICSS_EMAC LLD to interact with the PRU Ethernet ports. Starting information is here.

    Regards,

    Nick

  • Thank you for your quick reply. I think I got  what you mean. One more question: from the HW manual of ICEv2 dev board, it said both of the Ethernet ports should run in same control mode(either both in CPSW or both in PRU). Can I still use this board to let two port run under different modes at the same time if I change the software and firmware configuration?

  • Hello Bin,

    I would expect that you could use one port for PRU and one port for CPSW as long as you made the appropriate changes to the device tree, etc. Keep in mind that TI has not tested that use case, so there could be a problem or two we did not expect.

    An additional note: It looks like CPSW can support Ethercat master with a third party stack. Take a look at our Acontis EtherCAT Master Stack Reference Design for an example.

    Regards,

    Nick