Age | Commit message (Collapse) | Author |
|
The ROM is memory attached to the remote processor and should be mapped
as device memory rather than normal memory to ensure memory transactions
are handled correctly. To ensure this, the remoteproc driver will now
map the ROM as device memory.
Change-Id: I1b5f1dcd7af06bb9e1656f653d65813f7af424c3
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
|
|
The carveout memory is being mapped with one of the ioremap functions
that returns a iomem pointer and should normally only be passed to
functions that request iomem pointers because they shouldn't be
dereferenced.
Currently, the iomem pointer is passed to rproc_mem_entry_init that is
expecting a normal pointer and Sparse is generating a warnings about
this. However, rproc_mem_entry_init won't dereference the pointer and
can handle any pointer type so the iomem attribute is cast away when
setting up the mem entry and the io_mem flag is set to indicate a iomem
pointer.
To ensure that the mapping is correctly managed, the mapping and
unmapping is now handled with the callback functions for
rproc_mem_entry_init instead of holding onto the mapping forever.
Change-Id: I511a9a16f110a23490141dd3db943244e0f978e2
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
|
|
Changed several logs level from info to dbg and removed redundant or
uninformative logging in order to reduce verbosity of the kernel
modules.
Change-Id: Ie9ff7f3ae6478007ea58547380b3ddfef5d280b4
Signed-off-by: Ledion Daja <ledion.daja@arm.com>
|
|
A "declaration-after-statement" warning is generated when building the
remoteproc driver because C90 doesn't allow variables to be declared
after a statement in a scope.
To resolve this, the order of the variables at the start of the
problematic scope have been reordered to comply with C90.
Change-Id: Id7fec564858168fd71cd10af9c99340691484b89
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
|
|
To avoid having to use a hardcoded memory map to translate between the
Linux physical addresses to device addresses in the firmware, a new
entry type has been added to the resource table that allows the NPU
remoteproc driver to provide the memory map to the firmware.
With this change, the device tree layout has been changed to wrap the
ethosu-rproc node with an ethosu parent node that represents the NPU
subsystem. This makes it possible to use the APIs provided by the Linux
kernel to perform address translation etc.
The "ethosu,dma-ranges" property has been removed from ethosu-proc
because the ethosu parent node provides information for how to translate
between the Linux Kernel physical addresses and device addresses with a
"dma-ranges" property.
Change-Id: I48719ee808a5e9391c5a3e967042d26dd92d5026
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
|
|
Tie in mbox and reset driver and add support for virtio carveouts.
Also move the reserved mem for device mem to the remoteproc node.
Change-Id: I7e8878d32ae7c02d5b43198e45652e77f8ff79ca
|
|
Change-Id: Ic5d98c108593a16034c7dbc18043bbee13c31833
|
|
The .da_to_va has different signatures for different kernel versions.
Add kernel version checks to pick the correct one.
Change-Id: Ie25c496aa646119526867c91f244f9ad195860cd
|
|
incompatible pointer type
Change-Id: I50396299f4d9878bb0b43ea5acd06951e4df698e
|
|
Change-Id: I93708d609d77484770bd4cea9c4a7cf86361c5ea
|
|
Implement a remoteproc driver for controlling firmware loading and
powering up and down of the CPU on a Ethos-U subsystem.
Change-Id: I075d24c780b306aa8152c4a9e24a31df29574f9e
|