Background:
We’re using the DRA744 and are deviating from the DRA7x EVM in that we have 2x the DDR memory as in the previous post
System Memory:
EMIF1: 2 GB DDR3
EMIF2: 2 GB DDR3
Starting development point: TI BSP for android 6AJ1.3
omapedia.org/.../6AJ.1.3_Release_Notes
We have followed the points explained here:
Enable ARM LPAE support in the kernel
Configure the MPU Memory Adapter to enable high memory interleaving
Configure the MPU Memory Adapter/DMM LISA map sections
- we enabled "LPAE" support in kernel kconfig (it has to be disabled the TI_OMAP2 support)
- in u-boot (based on TI BSP for Android), we configured the MPU Memory Adapter to enable high memory interleaving
- we configured the LISA MAP :
const struct dmm_lisa_map_regs lisa_map_4G_x_2_x_2 = {
.dmm_lisa_map_0 = 0x0,
.dmm_lisa_map_1 = 0x0,
.dmm_lisa_map_2 = 0x80740300,
.dmm_lisa_map_3 = 0xFF020100,
.is_ma_present = 0x1
};
but we are facing a kernel block during boot with the following prints (visible only with early-printk enabled)
..
..
6cma: CMA: reserved 32 MiB at 9d000000
6cma: CMA: reserved 112 MiB at a8800000
Memory policy: ECC disabled, Data cache writealloc
It seems that the LPAE support in the kernel referenced by the 6AJ.1.3 needs something to patch to be really usable.
If we disabled the LPAE system starts with 2 GB RAM visible.
Is there a guide or a more specific setup to follow to test all the 4 GB RAM access starting from TI android BSP?
Thanks in advance
Paolo, Dario, Michele