drivers: Introduce a simplified remoteproc frameworkMany System on Chip(SoC) solutions are complex with multiple processorson the same die dedicated to either general purpose of specializedfuncti
drivers: Introduce a simplified remoteproc frameworkMany System on Chip(SoC) solutions are complex with multiple processorson the same die dedicated to either general purpose of specializedfunctions. Many examples do exist in today's SoCs from various vendors.Typical examples are micro controllers such as an ARM M3/M0 doing aoffload of specific function such as event integration or powermanagement or controlling camera etc.Traditionally, the responsibility of loading up such a processor with afirmware and communication has been with a High Level OperatingSystem(HLOS) such as Linux. However, there exists classes of productswhere Linux would need to expect services from such a processor or thedelay of Linux and operating system being able to load up such afirmware is unacceptable.To address these needs, we need some minimal capability to load such asystem and ensure it is started prior to an Operating System(Linux orany other) is started up.NOTE: This is NOT meant to be a solve-all solution, instead, it tries toaddress certain class of SoCs and products that need such a solution.A very simple model is introduced here as part of the initial supportthat supports microcontrollers with internal memory (no MMU, noexecution from external memory, or specific image format needs). Thisbasic framework can then (hopefully) be extensible to other complex SoCprocessor support as need be.Reviewed-by: Simon Glass <sjg@chromium.org>Signed-off-by: Nishanth Menon <nm@ti.com>Acked-by: Simon Glass <sjg@chromium.org>
show more ...