Linux Remoteproc driver#
The Linux Remoteproc driver is the “standard” way that Linux initializes remote cores.
Case 1: Linux Remoteproc is used to initialize the remote cores#
In the default SPL boot usecase, Linux initializes the remote cores with the Linux remoteproc driver.
For more information about configuring the Linux devicetree nodes for the remote cores, refer to section How to allocate memory.
Linux can only initialize a remote core if the remote core’s firmware has a resource table. For more information about resource tables, refer to The resource table. For more information about creating a remote core project that Linux can load, refer to section Application Development on Remote Cores.
Case 2: The remote cores are initialized before Linux boot#
If the the remote core is enabled in the Linux devicetree, then the Linux Remoteproc driver will run, even if the remote cores were initialized before Linux boot.
If Linux RPMsg is enabled in the remote core’s firmware, then when the Linux Remoteproc driver is probed, it will “attach” to the remote cores. This allows the Linux RPMsg driver to enable RPMsg IPC between Linux and the remote core by initializing the RPMsg Virtio infrastructure.