Tool/software: Linux
Hello,
I am working on a custom AM5728 board with less RAM than the EVM (256MB). I have been modifying the device tree to reallocate memory resources such as CMA and CMEM, but I am having difficulties designing a new memory map for my system without compromising any of the resources.
Part of the challenge is understanding why the different CMA and CMEM allocations were made for the EVM and how these can be safely modified for my board. I have been referencing SPRAC60 which outlines the Default PSDK Memory Map in Table 1, as follows:
Memory Section | Physical Address |
A15 Linux Kernel | 0x80000000 |
IPU2 CMA | 0x95800000 |
DSP1 CMA | 0x99000000 |
IPU1 CMA | 0x9D000000 |
DSP2 CMA | 0x9F000000 |
CMEM | 0xA0000000 |
On my system the valid physical memory range is from 0x80000000-0x8FFFFFFF this means the offsets and sizes of all of the CMA and CMEM allocations must be modified. Can anyone provide any guidance or information on how these allocations should be modified safely.
Specifically a few questions:
1) Can all of the above CMA and CMEM allocations be moved into the 0x80000000-0x8FFFFFFF range? I am aware of the Linux Kernel sitting at the lower address range (approximately 0x80000000-0x81000000) and the device tree and U-Boot image sitting in the higher address range (approximately 0x8F5FFFFF-0x8FFFFFFF), but is there anything else in the 0x80000000-0x8FFFFFFF range to be aware of?
2) How can I determine the required size for each of these CMA and CMEM allocations for my situation?
Thanks,
Chad