Hi,
We have got a custom board whose design is based on IMX6Q/IMX6DL reference design but differing in memory technology (shifted from DDR3 to LPDDR2) So we have edited u-boot accordingly, but we are unable to boot in the new board.
1. We have used only 512 MB of LPDDR2 where as reference board is 1GB or 2GB (Dual lite or Quad). for this we have made
int dram_init(void)
{
gd->ram_size = (phys_size_t)(CONFIG_DDR_MB/2) * 1024 * 1024; //CONFIG_DDR_MB is define as 1024
return 0;
}
2. Reference board is either Quad or Duallite. But our processor is IMX6 Dual processor. In software what files need to be modified.
3.Since our memory is LPDDR2 (512 MB, 2x32) we have edited following files : ddr_setup.cfg and 800mhz_4x128mx16.cfg and edited all the values that we have got from lpddr2 script aid and memory stress test (Please find the attached)
and after compiling the u-boot (bash build_u-boot.sh) and copying the u-boot.imx is not displaying any messages and if we are doing the same for refrence board, then we are getting following messages:
U-Boot 2014.01 (Nov 13 2015 - 00:45:12)
CPU: Freescale i.MX6DL rev1.1 at 792 MHz
Reset cause: POR
Board: Wandboard
I2C: ready
DRAM: 1 GiB
MMC: FSL_SDHC: 0, FSL_SDHC: 1
*** Warning - bad CRC, using default environment
No panel detected: default to HDMI
Display: HDMI (1024x768)
In: serial
Out: serial
Err: serial
Net: FEC [PRIME]
Hit any key to stop autoboot: 0
mmc0 is current device
So why boot messages are not coming for our customized board. are we missing/unedited/not modified some files????
Original Attachment has been moved to: ddr-setup.cfg.zip
Original Attachment has been moved to: 800mhz_4x128mx16.cfg.zip
Hi,
Where to check the correctness of DCD for DDRs. We have got this u-boot from BSP 3.10.53.
For DDR3 to LPDDR2 We are not having following values in LPDDR2 script aid:
DATA 4, MX6_MMDC_P0_MDASP,
DATA 4, MX6_MMDC_P0_MPDGCTRL0,
DATA 4, MX6_MMDC_P0_MPDGCTRL1,
DATA 4, MX6_MMDC_P1_MPDGCTRL0,
DATA 4, MX6_MMDC_P1_MPDGCTRL1,
DATA 4, MX6_MMDC_P0_MPWLDECTRL0,
DATA 4, MX6_MMDC_P0_MPWLDECTRL1,
DATA 4, MX6_MMDC_P1_MPWLDECTRL0,
DATA 4, MX6_MMDC_P1_MPWLDECTRL1,
Hi Srinivasa
at this point it is useful to attach jtag and check where processor jumped,
registers SRC_SBMR1,2 for boot settings. Check memory with jtag by read/write
patterns to different memory locations. Also one can try to run uboot with jtag
imx6, arm, and linux - tips and tricks: Inexpensive JTAG on the imx6 solo: U-Boot Launch and Debug
Best regards
igor
Hi Srinivasa
Did you use the right DCD initialization
for your DDRs ?
Also if you are using mainline u-boot please
use the more recent version.
Hope this helps
Sinan Akman