Remoteproc: DRA7xx: Use FW_RSC_ADDR_ANY for vrings in IPU resource table Mark the vring device addresses as FW_RSC_ADDR_ANY, so that Linux kernel knows it needs to update these to the actual dynamically allocated memory locations. The virtqueue driver itself will poll for the completion status of this update. Signed-off-by: Tero Kristo <t-kristo@ti.com>
Remoteproc: DRA7xx: Adjust entries to fix carveout allocation failures If the linux device tree uses DMA pools for carving out memory for the slave cores, the DMA pools uses the next power of 2 page order fitting the requested size (eg: 6 MB gets attempted to be allocated using 8 MB and at 8 MB alignments), and this may result in allocation failures if the overall DMA pool size does not have enough room to support the different RSC_CARVEOUT aligned size. This adjustment of the entries are updated carefully to make sure the allocation does not fail due to this alignment. The 1 MB IPC_DATA carveout entry is placed immediately after the vdev resource so that the image carveouts are always aligned on an even 2 MB boundary. Signed-off-by: Sam Nelson <sam.nelson@ti.com> Signed-off-by: Suman Anna <s-anna@ti.com>
Remoteproc: DRA7xx: Drop invalid MEM_IOBUFS devmem entry The MEM_IOBUFS DEVMEM entry of size 90 MB was a left-over from OMAP4/OMAP5 code, and this was used to map a static carveout of the same size at 0xBA300000 address into the DSP and IPU MMUs. This region is fully owned by the Linux kernel on DRA7xx/AM57xx SoCs, so it should not be mapped into the IPU and DSP memory space. Drop these invalid entries from both the IPU & DSP resource tables. Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Sam Nelson <sam.nelson@ti.com>
DRA7xx: Adjust carveout sizes and addresses The starting addresses for the resource table carveouts have been adjusted in line with the changes on the host OS side. The IPU2 size has been decreased, and the starting addresses of the vrings have been reshuffled. The linker memory map has also been adjusted for IPU2. No memory map changes were made to IPU1 and DSP1 processors even though the host-side can support a little bit more larger footprint images - the current memory maps for these processors is a minimal memory map. Signed-off-by: Suman Anna <s-anna@ti.com>
Remoteproc: DRA7xx: Cleanup references to OMAP5 OMAP5 has it own resource table files, so clean up any references to OMAP5 from the DRA7xx resource table files. Signed-off-by: Suman Anna <s-anna@ti.com>
Remoteproc: DRA7xx: Remove MPU mapping from resource table The L4_PER mapping entry is split into three individual L4_PERx entries. This is done to remove any mappings for the MPU-relevant address spaces into the slave processor MMUs. Signed-off-by: Suman Anna <s-anna@ti.com>
Vayu: Tests: Add support for IPU1 and DSP2 - Resource Table: Vring physical addresses are made unique depending on VAYU core, and need to match CMA base addresses; given both DSP and IPU have IOMMU's, the device addresses otherwise remain the same. - Adjust test image memory maps to fit in 6MB footprint for initial testing. - Add support to build tests for IPU1 and DSP2 platform instances. Signed-off-by: G Anthony <a0783926@ti.com> [s-anna@ti.com: add dsp2 and ipu1 build targets] Signed-off-by: Suman Anna <s-anna@ti.com> Vayu: Tests: Adjust memory maps for IPU1 and DSP2 Retain the memory map for IPU2 while creating a newer memory map for IPU1. Also fix some of the other sizes. Signed-off-by: Suman Anna <s-anna@ti.com>
Revert "Resources: Define memory region type for carveout entries" This reverts commit 7c6349ba5dddddf10e082d7180ef422505623928 (from omapzoom.org sysbios-rpmsg repo), so that we do not need the hack on the kernel-side for the expected reserved field. Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: G Anthony <a0783926@ti.com>
RemoteProc: rework resource_table definition/usage Introduce the resource_table struct (defined in Linux) and rework the device/core-specific resource tables to derive from that struct (rather than redefine the struct themselves. No functional difference, but this provides a better framework and example for end users when they (soon!) are enabled to define their own resource_table-based structs.
BIOS IPC: Vayu - Update AMMU and MMU Configuration In the 16_eng release, the mailbox virtual address changed to 0x60000000 block. This was previously where the TILER addresses were mapped. As a consequence, the TILER mappings needed to be moved, and the AMMU config as well as the resource table needed to be updated to reflect the changes. Also, as a result of the move, the VRING virtual addresses for the IPU have changed. TILER VA: Moved from 0x60000000 to 0xA0000000 Peripherals and VRING: Moved from 0xA0000000 to 0x60000000 Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
Add Vayu Family Support for IPU2 (SMP) and DSP1 Add support for HOST->IPU2 and HOST->DSP1 support for Vayu.