AI-64 - remoteproc confusion

Hi Andrew,

Your post got me interested in this and I just happened to have downloaded the Ref Manual for J721E/TDA4VM . So I started going down the rabbit hole.

It appears remoteproc16 - remoteproc19 are the (4) R5F cores running in split mode on the main domain (two, 2-core clusters each running individually).

The single remoteproc15 (bus@28380000) appears to be the one from the cluster on “MCU island”

According to the Ref sheets, any cluster may be run optionally individually in “split” mode, or “lockstep” mode, where one core checks the other for errors. In which case the second is not available for other tasks.

This core mode configuration is done at boot time.

For the cluster on the MCU domain, lockstep or split mode is set at the CTRLMMR_MCUSEC_CLSTR0_CFG Register (Physical address 45A50040h)

If readonly bit 3 on this register is set, then the device is lockstep capable. By setting bit 0, the cores will go to lockstep mode.

The default value of bit zero is set by an e-fuse (couldn’t find what that default is)

Here is the interesting part however; the MCU domain is started directly and separately by the DMSC via MCU ROM code before the main domain and OS etc. even start!

So does this mean that the mode must be selected by generated MCU ROM code rather than Linux? I wonder if there will be a way to halt, reconfigure, and restart the MCU side after Linux is running?

I guess we will see. Pretty cool how much stuff is on this chip!

Cheers