Other Parts Discussed in Thread: AM62P, AM625
Tool/software:
is sharing display between A53 running linux and M4 or R5F possible in AM625-Q1. If yes, please share some referances.
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.
Hello Sai,
No. AM62Px is the only processor in the AM62 family that supports display sharing. More details are in the AM62Px SDK docs here:
https://software-dl.ti.com/processor-sdk-linux/esd/AM62PX/11_00_09_04/exports/docs/linux/How_to_Guides/Target/How_to_enable_display_sharing_between_remotecore_and_Linux.html
Regards,
Nick
It is given in AM62x MCU SDK that display sharing is supported. Please check again. May be the docs should be corrected.
Also, please share what difference between AM625 and AM62P made that possible on AM62P.
Hello Sai,
I am reassigning your thread to another team member to comment on whether we support display sharing between different cores on AM62x (and if it is supported, whether we have any templates for you to follow).
We do use the same repository to generate the SDK docs for AM62x and AM62Px, so it is possible that this is a documentation bug where some of the AM62Px info is getting generated in the AM62x documentation build. If that is the case, we will file a bug to get the documentation fixed.
Feel free to ping the thread if you do not get a response within a couple of business days.
Regards,
Nick
Hi Sai,
This indeed is a documentation bug and display sharing is only supported on AM62P within AM62 family. AM62P has R5F instead of M4 in MCU domain leading to some SW architectural differences due to which we cannot support this on AM62x.
Hi Divyanshu,
I see that there is a R5F MCU acting as device manager in AM625 and the firmware for R5F is being loaded from linux. I have tried IPC RP ECHO example from MCU+ SDK and understood that we can run code in R5F too. So, I'm curious to know what else is missing in AM625 to have this limitation.
Hello Sai,
Let's back up for a minute and talk about some basic concepts.
In general, a single peripheral ONLY supports being controlled by a single software instance
For more information, please refer to the AM62x academy:
Multicore > peripherals
https://dev.ti.com/tirex/explore/node?node=A__AZAVEddCL5eFK1WrnKz45Q__AM62-ACADEMY__uiYMDcq__LATEST
But why though?
There is a hardware limitation here, along with software limitations. In general, each peripheral was only designed to be controlled by a single software "master". That means we only have one set of configuration registers, one FIFO for sending data in and out, etc. So for most peripherals on most processors, there is no way for both Linux and an MCU+ core to read and write to the same peripheral without overwriting each other's settings and data.
Some peripherals and peripheral interfaces ARE designed to interact with multiple software instances. The DDR interface is one example - that hardware was specifically designed to allow for multiple processor cores to access the same interface at the same time. But what about EMMC memory? That interface can only be controlled by one software instance at the same time. So either Linux can use the EMMC, or an MCU+ core can access the EMMC, but not both.
Ok, let's talk about display
The display interface on the AM62x actually has a different circuit design internally than the display interface on the AM62Px. The AM62Px display circuitry actually has multiple video pipelines / overlays / etc that allow one software instance to read/write to one pipeline, and the other software instance to read/write to the other pipeline. So the two software instances are not overwriting each other's data.
The AM62x does NOT have that design. Only one software instance can read & write to it at the same time.
Now let's talk about software support
Even if we are just talking about the DM R5F controlling the display interface... there is no software support for that on AM62x.
AM62Px: DSS supported for R5F: https://software-dl.ti.com/mcu-plus-sdk/esd/AM62PX/11_00_00_16/exports/docs/api_guide_am62px/RELEASE_NOTES_11_00_00_PAGE.html
AM62x: DSS is NOT supported for R5F: https://software-dl.ti.com/mcu-plus-sdk/esd/AM62X/11_01_00_16/exports/docs/api_guide_am62x/RELEASE_NOTES_11_01_00_PAGE.html
Are there other options that TI does NOT support?
There are several other things you could do on AM62x to get something similar to work. However, TI has NOT tested any parts of this implementation. TI does NOT support any of these implementations. If you decide to try any of this out, you are on your own. We will not answer any questions or help you debug.
Linux would need to be the display master. Theoretically you could send the display data that you want to come from the DM R5F to Linux through some IPC method, then a Linux application could combine the DM R5F image with the Linux image, then Linux could send the image to the DSS interface.
Regards,
Nick