Hi sir :
I works on TI8148 platform and use DVRRDK_02.08.00.10 to develop my custom board.
I am a little confuse about DMM module and my question is below.
I have check EVM board and find out that there are four 128x8 memory on DDR0 and four 128x8 memory on DDR1.
Therefore, the total memory space is 1GB.
When I trace the file "ddr_defs_ti814x.h", there are some definition below.
#define DDR_MEM_512M // For McFW default configuration of 512 MB
#ifdef DDR_MEM_512M
/*
* TI814X PG2.1 DMM LISA MAPPING
* 512 section
*/
#define PG2_1_DMM_LISA_MAP__0 0x80540300
#define PG2_1_DMM_LISA_MAP__1 0xA0540300
#define PG2_1_DMM_LISA_MAP__2 0x80540300
#define PG2_1_DMM_LISA_MAP__3 0xA0540300
#else
/*
* TI814X PG2.1 DMM LISA MAPPING
* 1G contiguous section with 128-byte interleaving
*/
#define PG2_1_DMM_LISA_MAP__0 0x0
#define PG2_1_DMM_LISA_MAP__1 0x0
#define PG2_1_DMM_LISA_MAP__2 0x0
#define PG2_1_DMM_LISA_MAP__3 0x80640300
#endif
I can understand definition above, but the file "ti8148_evm.h" shows definition below.
#define CONFIG_NR_DRAM_BANKS 2 /* we have 2 banks of DRAM */
#define PHYS_DRAM_1 0x80000000 /* DRAM Bank #1 */
#define PHYS_DRAM_1_SIZE 0x40000000 /* 1 GB */
#define PHYS_DRAM_2 0xC0000000 /* DRAM Bank #2 */
#define PHYS_DRAM_2_SIZE 0x40000000 /* 1 GB */
I wonder if the definition above is wrong, because there is 1GB memory space on evm board, am I right?
For my customer board, there are four 128x8 on DDR0, so I use Ti8148_single_emif_patch.zip to enable single EMIF.
And I modify the definition below.
/* SINGLE EMIF LISA MAP */
#define MIN_DMM_LISA_MAP__3 0x80500100
When I use SD card to boot the system on evm board, the u-boot works file, however, my kernel fails.
But when I change the definition below, the whole system works fine.(u-boot, kernel and file system)
#define MIN_DMM_LISA_MAP__3 0x80600100
Could anyone tell me what's wrong?
And I also test another case with two 128x8 memory device.
I modify the definition below.
#define DDR3_EMIF_SDRAM_CONFIG 0x61C051B2 //16bit data bus width
#define MIN_DMM_LISA_MAP__3 0x80400100
However the result is the same as four 128x8 memory device.
I have tried to solve this problem for a few weeks, please give me some suggestions!
Best regards,
Marcus