Hi igor,
Thanks for the reply.
I didn't use the same kernel binary in both boards. what I meant to say is I used the same kernel version for both the boards.
But I configured the kernel with their respective configuration file for each board.
Sorry for not conveying it properly.
Yes I Tried this "DDR stress tool". But the issue is still there.
These are the steps I followed while trying to solve the issue. But it failed.
STEP 1
First updated the "register configuration" sheet in "Mx6DQSDL DDR3 Script Aid V0.10.xlsx" spreadsheet according to my DDR3 datasheet. The updated table is shown below.
This configuration is for imx6 solo. We are using 2 DDR3 (4Gb each) chips.
| | | | |
| | Device Information | |
| | Manufacturer: | Micron | |
| | Memory part number: | NT5CC256M16CP | |
| | Memory type: | DDR3-1600 | 1600 |
| | DRAM density (Gb) | 4 | |
| | DRAM Bus Width | 16 | |
| | Number of Banks | 8 | |
| | Number of ROW Addresses | 15 | |
| | Number of COLUMN Addresses | 10 | |
| | Page Size (K) | 2 | |
| | Self-Refresh Temperature (SRT) | Normal | |
| | tRCD=tRP=CL (ns) | 13.75 | |
| | tRC Min (ns) | 48.75 | |
| | tRAS Min (ns) | 35 | |
| | System Information | |
| | i.Mx Part | i.Mx6S | Rigel |
| | Bus Width | 32 | |
| | Density per chip select (Gb) | 8 | |
| | Number of Chip Selects used | 1 | If only one CS is used, that must be CS0. |
| | Total DRAM Density (Gb) | 8 | |
| | DRAM Clock Freq (MHz) | 400 | |
| | DRAM Clock Cycle Time (ns) | 2.5 | |
| | Address Mirror (for CS1) | Disable | |
| | SI Configuration | |
| | DRAM DSE Setting - DQ/DQM (ohm) | 48 | 40ohm is used in FSL reference design. |
| | DRAM DSE Setting - ADDR/CMD/CTL (ohm) | 48 | 40ohm is used in FSL reference design. |
| | DRAM DSE Setting - CK (ohm) | 48 | 40ohm is used in FSL reference design. |
| | DRAM DSE Setting - DQS (ohm) | 48 | 40ohm is used in FSL reference design. |
| | System ODT Setting (ohm) | 60 | |
| | | | |
| | | | |
| | | | |
STEP 2
After the step1 the spreadsheet "Mx6DQSDL DDR3 Script Aid V0.10.xlsx" upated its "RealView.inc" sheet according to the above table.
I ran the "Stress test tool V1.0.2" tool giving "RealView.inc" as input.
STEP 3
This tool did the calibration and produced some fine tuned values for the registers below.
*********************************************
MMDC_MPWLDECTRL0 ch0 after write level cal: 0x00550053
MMDC_MPWLDECTRL1 ch0 after write level cal: 0x0045004B
MMDC registers updated from calibration
Read DQS Gating calibration
MPDGCTRL0 PHY0 (0x021b083c) = 0x024C0248
MPDGCTRL1 PHY0 (0x021b0840) = 0x02300230
Read calibration
MPRDDLCTL PHY0 (0x021b0848) = 0x46484E4A
Write calibration
MPWRDLCTL PHY0 (0x021b0850) = 0x3A362E34
*********************************************
STEP 4
I updated these register with the above values in the uboot.cfg file (I have attached this file with this mail in the same name).
Built the uboot. Booted my custom board. Ran the system_idle.sh script in the kernel. It still getting hanged in the same point.
I also tried building the kernel with the "imx_v7_defconfig" (This is the file we use for configuring the kernel for sabresd) with the minimum required peripheral support. But still the same issue is there.
Can u please give me some suggestions to proceed ahead.