a38x, a39x: add optional DRAM memory size limit for Linux boot
Due to LK3.10 power of 2 requirement of address decoding, and the fact
that mainline LK (3.18) does not have that requirement, added:
1. environment variable to control DRAM memory limit for Linux boot:
- 'limit_dram_size' = yes -> DRAM limited at 3GB
- 'limit_dram_size' = no -> DRAM not limited (up to internal IO@3.75GB)
2. L2 filter base alignment with DDR memory limit
Updated proper comments on DDR size limitations, while U-Boot prepares
DRAM information for Linux boot (in Device tree and memory tags):
- Bin_hdr prioritize IO memory space via L2 filtering @3.0GB, in order
to ensure 'hit' on internal registers IO access
(located at 0xd0000000 by default)
- Although U-Boot updates internal base @0xf1000000 (3.75GB), Address
decoding supports only windows size aligned to power of 2.
- If memory size reached 4GB, limit last CS size according to highest
power of 2. (when using 2x2GB, last CS will be limited to 1GB)
Change-Id: I32f8c952dcd8bc6b5ff63a0a17e632d635fee286
Signed-off-by: Omri Itach <omrii@marvell.com>
Reviewed-on: http://vgitil04.il.marvell.com:8080/18701
4 files changed