There are 4x H5TC8G63AMR on the iMX6 Dual board to have 4GB DDR3 on CS0. I tried to boot to Linux kernel 3.0.35_4.1.0 but it failed after "highmem bounce pool size: 64 pages". Below are the steps to recreate the test result.
1. Use Mx6DQSDL DDR3 Script Aid V0.09.xlsx and DDR Stress Tester 1.03 to get the memory init values (see attached).
2. Update flash_header.S and board .h file to get new U-boot
3. Update phys = memblock_alloc_base(imx6q_gpu_pdata.reserved_mem_size, SZ_4K, SZ_2G); to get new kernel
4. Copy to SD card and boot.
Q1. Can CS0 support up to 4GB?
Q2. What's the PHYS_SDRAM_1_SIZE value? If I put 3840MB or above, boot process stops at Starting kernel... 2048MB~3839MB can only boot to "highmem bounce pool size: 64 pages"
Q3. What's the value to set in memblock_alloc_base()? I can boot to Ubuntu only when I set 2GB in uboot and SZ_2G in kernel board file.
Original Attachment has been moved to: AR6MXD_4GB.inc.txt.zip