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.

PSI-L connection between PRUs on AM654x idk.

Genius 9880 points

Hi,

Customer have inquiries regarding  AM654x, details below.

"
Board is connected to Windows via Code Composer. Pdk 7.3.0.54 is used. The board is initiated via the gel script and the ccsLoadDmsc\\am65xx\\launch.js script.

I am trying to send data between two PRUs for a switching environment(64-1522 byte). There are multiple ways to do that.
I would like to achieve a low latency and possible a high bandwidth.

My current approach is to use the global DDR memory or write to the internal DRAM memory of each PRU directly.
For this approach I must use one or multiple of the following methods: Interrupts, spinlock and/or (cylce memory addresses).


What I like to do is to connect two devices via PSI-L proxy interface directly. This is already done by the dual-ethernet firmware to arm host.
From the datasheet setup configuration is done via CFG_PROXY at address 31F78000h. I tried to test how to set up a connection, but I couldn't write to these registers.

I would like to cfg it directly from PRU. But I also tried to set them by a baremetal implementation from R5F and A53 using this simple C code:

int volatile * const ptr = (int *) 0x0031F78100; //0x45b02024 //0x31F78100
*ptr = 0x00004104;

I don't know if I must change any firewall settings. I tried to set them but was also not able to change them.


My question therefore are the following:
Latency and Bandwidth wise what can I expect by using the PSI-L approach?
How good are multiple transmission at the same time handled?

And lastly how can I connect a source with a destination?


A side question I have is access to local DRAM (64kbyte) on every ICSSG. Can it be accessed locally via a data movement accelerator?
As I could not determine a real speed improvement to just accessing DDR.

"

Thank you in advance.

Regards,
Maynard

  • Hi,

    May I know what is the intended end-application ? If you are trying to run a switch or MAC then please try the firmware + application provided in the SDK or Industrial Protocols. We are currently not supporting any PRU related questions which are outside the standard Switch/MAC/Protocol offering from TI.

    Regards

    Vineet

  • Hi Vineet,

    Thank you for your response. Below is the response from customer.

    "As stated, I am using the emac dual mac firmware from the RTOS pdk_am65xx_07_03_00_54. I would like to extend this firmware with switching capabilities and add a TSN protocol. The firmware already has some switching build in but only for a single ICSSG 2 port and am65x cut through support. As stated in the docs and how I understand the firmware.

    I would like to implement a switch between all three ICSSGs.

    For this I need to exchange data and a synced clock signal would be nice but is not necessary.

    For data exchange I would like to directly connect two PRUs via PSI-L. This is done in the dual mac firmware to exchange data between PRU and cortex a53. And from the datasheet connection between PRUs is also possible.
    The problem is that I don't understand how to set the cfg setting these connections up.

    How is this done in the emac test example so I can have a example to work with.
    As I read through the forum I found that ti want to support switching for am65x in the future/end of this year so there could be already a solution to my problem or it can be relevant for them also.

    "

    Regards,
    Maynard

  • Hi,

    Ethernet switch connecting two ports of a single ICSSG is planned to be supported in SDK 8.1 (End of Nov 2021), it will also add support for TSN features like 802.1 Qbu and Qbv. I would suggest to wait for this release and then take a call.

    As stated, I am using the emac dual mac firmware from the RTOS pdk_am65xx_07_03_00_54. I would like to extend this firmware with switching capabilities and add a TSN protocol. The firmware already has some switching build in but only for a single ICSSG 2 port and am65x cut through support. As stated in the docs and how I understand the firmware.

    I would like to implement a switch between all three ICSSGs.

    This is a very custom requirement and TI cannot support it. As stated earlier, TI does not support in firmware customization. Customer will have to do it themselves or contact a 3P.

    Also note that there is no plan to make the MAC/switch firmware for ICSSG public at the moment. You may reach out directly to me over email in case of questions.

    Regards

    Vineet

  • Hi Vineet,

    Can I provide your email to customer or I will provide the customer email to you?

    Thank you.

    Regards,
    Maynard

  • Hi Maynard,

    Let's discuss this internally first, please reach out to me.

    Regards

    Vineet