
Many System on Chip(SoC) solutions are complex with multiple processors on the same die dedicated to either general purpose of specialized functions. Many examples do exist in today's SoCs from various vendors. Typical examples are micro controllers such as an ARM M3/M0 doing a offload of specific function such as event integration or power management or controlling camera etc.
Traditionally, the responsibility of loading up such a processor with a firmware and communication has been with a High Level Operating System(HLOS) such as Linux. However, there exists classes of products where Linux would need to expect services from such a processor or the delay of Linux and operating system being able to load up such a firmware is unacceptable.
The intent here is to introduce a simplified remoteproc framework which can then be used to provide basic services to these remote processors.
Series is based on: master 79c884d7e449 Merge git://git.denx.de/u-boot-x86
Changes in V2: - review comments from v1 incorporated - dm test included (patch #4 is new)
V1: http://lists.denx.de/pipermail/u-boot/2015-August/225085.html
Quick test log: http://pastebin.ubuntu.com/12212006/
Nishanth Menon (4): drivers: Introduce a simplified remoteproc framework remoteproc: Introduce a sandbox dummy driver sandbox: Introduce dummy remoteproc nodes test: Add basic tests for remoteproc
arch/sandbox/dts/test.dts | 13 + common/Kconfig | 5 + common/Makefile | 1 + common/cmd_remoteproc.c | 281 ++++++++++++ configs/sandbox_defconfig | 2 + doc/device-tree-bindings/remoteproc/remoteproc.txt | 14 + doc/driver-model/remoteproc-framework.txt | 168 ++++++++ drivers/Kconfig | 2 + drivers/Makefile | 1 + drivers/remoteproc/Kconfig | 24 ++ drivers/remoteproc/Makefile | 10 + drivers/remoteproc/rproc-uclass.c | 472 +++++++++++++++++++++ drivers/remoteproc/sandbox_testproc.c | 336 +++++++++++++++ include/dm/uclass-id.h | 1 + include/remoteproc.h | 102 +++++ test/dm/Makefile | 1 + test/dm/remoteproc.c | 67 +++ 17 files changed, 1500 insertions(+) create mode 100644 common/cmd_remoteproc.c create mode 100644 doc/device-tree-bindings/remoteproc/remoteproc.txt create mode 100644 doc/driver-model/remoteproc-framework.txt create mode 100644 drivers/remoteproc/Kconfig create mode 100644 drivers/remoteproc/Makefile create mode 100644 drivers/remoteproc/rproc-uclass.c create mode 100644 drivers/remoteproc/sandbox_testproc.c create mode 100644 include/remoteproc.h create mode 100644 test/dm/remoteproc.c