[PATCH 2/2] remoteproc: add support to handle internal memories
From: Suman Anna <hidden>
Date: 2014-09-15 19:40:14
Also in:
linux-omap, lkml
Hi Ohad,
On Tue, Jul 29, 2014 at 10:33 PM, Suman Anna [off-list ref] wrote:quoted
We currently have two usecases. The primary usecase is the WkupM3 processor on TI Sitara AM335x/AM437x SoCs used for suspend/resume management. This series is a dependency for the WkupM3 remoteproc driver that Dave posted [1]. More details are in section 8.1.4.6 of the AM335x TRM [2]. The program/data sections for this processor all _needs_ to be in the two internal memory RAMS (16K Unified RAM and 8K Data RAM), and there is no MMU for this processor. The current RSC_CARVEOUT and RSC_DEVMEM do not fit to describe this type of memory (we neither allocate memory through dma api nor do we need to map these into an MMU).Thanks for the details. Can we define a CMA block for these regions, and then just use carveout resource entries instead of the ioremap approach?
I am looking at refreshing these patches, and found that I missed responding to this message. These processors need to use their internal RAM for loading, which is not for generic usage by the kernel, so defining a CMA block for this memory doesn't make sense.
This may require some changes in remoteproc which we'll need to think about, but it sounds like it may fit the problem better instead of forcing ioremap to provide a regular pointer (we're supposed to use ioremaped memory only with memory primitives such as readl/writel/..).
Will it suffice to replace the memcpy() with memcpy_toio()? regards Suman