aboutsummaryrefslogtreecommitdiff
path: root/remoteproc/ethosu_remoteproc.c
AgeCommit message (Collapse)Author
2024-04-16Change remoteproc to map ROM as device memoryMikael Olsson
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>
2023-11-14Fix iomem pointer usage with rproc_mem_entry_initMikael Olsson
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>
2023-11-01Decrease log verbosity in the kernel modulesLedion Daja
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>
2023-10-06Fix C90 declaration order warning in remoteprocMikael Olsson
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>
2023-09-25Add resource table entry for address translationMikael Olsson
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>
2023-02-02Add rpmsg capabilities to remoteprocKristofer Jonsson
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
2022-05-19Add sentinel entry to dt array22.05-rc322.05-rc222.05Per Åstrand
Change-Id: Ic5d98c108593a16034c7dbc18043bbee13c31833
2022-04-27Adapt remoteproc module for more kernel versionsPer Åstrand
The .da_to_va has different signatures for different kernel versions. Add kernel version checks to pick the correct one. Change-Id: Ie25c496aa646119526867c91f244f9ad195860cd
2021-11-23linux_driver_stack: ethosu_remoteproc.c:122:14: error: initialization from ↵Nir Ekhauz
incompatible pointer type Change-Id: I50396299f4d9878bb0b43ea5acd06951e4df698e
2021-09-30Add Juno FPGA reset kernel modulePer Åstrand
Change-Id: I93708d609d77484770bd4cea9c4a7cf86361c5ea
2021-06-21Use remoteproc for controlling Ethos-U cpuPer Åstrand
Implement a remoteproc driver for controlling firmware loading and powering up and down of the CPU on a Ethos-U subsystem. Change-Id: I075d24c780b306aa8152c4a9e24a31df29574f9e