From: Sjur Brændeland
This is the initial stab on the remoteproc driver for ST-Ericsson modems.
Please let me know what you think.
For kicking to work I need to declare what IDs I'm currently using, so I
iterate over the rproc->notifyids to find the IDs.
A sysfs file is introduced for switching on/off the modem, as modem
start-up must be controlled from user space.
As mentioned before I need the firmware to be allocated first in the shared
memory are. So in order to reserve space for firmware at the start of the
memory region, I had to allocate dma memory before calling
and then releasing it afterward.
I do not yet have an implementation of the stemod_kick module available. It
might take a while before this is upstreamed. The stemod_kick functions are
looked up dynamically so this is not a build issue.
The platform device is not yet upstreamed either. But it should be pretty
it basically just provides the shared memory area to the driver.
I also included one fix in this patch-set. It doesn't seems like carveout
non-iommu is working correctly. I added a simple patch for this.
Let me know what you think, and how to proceed for this fix.
Sjur Brændeland (4):
remoteproc: Bugfix assign device address to carveout (noiommu)
remoteproc: Add custom STE-modem firmware loader.
remoteproc: Add API (header file) for kicking STE modems
remoteproc: Add driver for STE Modem
drivers/remoteproc/Kconfig | 10 +
drivers/remoteproc/Makefile | 3 +
drivers/remoteproc/remoteproc_core.c | 4 +
drivers/remoteproc/remoteproc_internal.h | 1 +
drivers/remoteproc/remoteproc_ste_modem_loader.c | 179 ++++++++++++
drivers/remoteproc/ste_modem_rproc.c | 333
drivers/remoteproc/stemod_kick.h | 113 ++++++++
7 files changed, 643 insertions(+), 0 deletions(-)
create mode 100644 drivers/remoteproc/remoteproc_ste_modem_loader.c
create mode 100644 drivers/remoteproc/ste_modem_rproc.c
create mode 100644 drivers/remoteproc/stemod_kick.h