This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TI8148 DMM question

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