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.

Problem with configure DM8168 Use total 512M mem

Hi all:

I develop on DM8168 board,designed by our own, using dvrrdk3.50, and in my board i use 512M mem total , 2x256 M  ddr3 chip, 

My question is how to change the configure file to update Mem map,i followed mem map in /dvr_rdk/doc/"mem_map", rewrite the 512.bld file ,

generate env_512M_128M.sh , run make -s fsupdate cmd after complie, reset my kernel bootargs, and arm boot ok!

however when i run ./load.sh follow error appears:

VPSS_FVID2: contrl event 0x10080002 timeout
VPSS_SYSTEM: failed to get platform id
VPSS_SYSTEM: enter system deinit
VPSS_FVID2: enter delete.
VPSS_FVID2: delete event return 0 within 0 ms
VPSS_SHRBUF: free mem paddr 0x9ec01000 vaddr 0xd2c01000 size 4096
VPSS_SHRBUF: free mem paddr 0x9ec00000 vaddr 0xd2c00000 size 4096
VPSS_CORE : failed to init system
VPSS_FVID2: fvid2 deinit
VPSS_SHRBUF: sbuf deinit
vpss: probe of vpss failed with error -110
VPSS_CORE : failed to register ti81xx-vpss driver
insmod: error inserting './kermod/vpss.ko': -1 No such device

Can anyone tell me how to solve this problem then ?

the follow part is my bld file, env.sh etc:

---------------

In my design ,  i create my own bld named config_512M_128MLinux.bld

/*
 *  ======== config.bld ========
 *  Build configuration script for HDVPSS drivers
 */

/* load the required modules for the configuration */

var M3 = xdc.useModule('ti.targets.arm.elf.M3');
var C674 = xdc.useModule('ti.targets.elf.C674');

var buildReleaseConfig = true;

/* configure  the options for the M3 targets     */

/* M3 compiler directory path                    */
M3.rootDir = java.lang.System.getenv("CGTOOLS");

/* linker options */

M3.lnkOpts.suffix += " --zero_init=off ";
M3.lnkOpts.suffix += " --dynamic --retain=_Ipc_ResetVector";

/* compiler options                                */
M3.ccOpts.suffix += " --gcc -DTI_816X_BUILD -DPLATFORM_EVM_SI -DSYSLINK_BUILD_RTOS -DUSE_SYSLINK_NOTIFY=0 -DUTILS_ASSERT_ENABLE";

/* set default platform and list of all interested
 * platforms for M3
 */
M3.platforms = [
                        "ti.platforms.evmTI816X:core0",
                        "ti.platforms.evmTI816X:core1",
               ];

/* Select the default platform
 *
 * Making core1 as defualt core configuration to be used
 *  Core 0 ==    Ducati.M3.VIDEO
 *  Core 1 ==    Ducati.M3.VPS
 */
M3.platform = M3.platforms[1];

/* configure  the options for the C674 targets     */

/* C674 compiler directory path                    */
C674.rootDir = java.lang.System.getenv("CGTOOLS_DSP");

/* linker options */

C674.lnkOpts.suffix += " --zero_init=off ";
C674.lnkOpts.suffix += " --dynamic --retain=_Ipc_ResetVector";

/* compiler options                                */
C674.ccOpts.suffix += " -DTI_816X_BUILD -DPLATFORM_EVM_SI -DSYSLINK_BUILD_RTOS -DUSE_SYSLINK_NOTIFY=0";

C674.platforms = ["ti.platforms.evmTI816X:plat"];
C674.platform = C674.platforms[0];

/* list interested targets in Build.targets array  */
Build.targets = [
                    M3,
                    C674,
                ];

var KB=1024;
var MB=KB*KB;

var DDR3_ADDR;
var DDR3_SIZE;

var OCMC0_ADDR;
var OCMC1_ADDR;
var OCMC_SIZE;

var LINUX_ADDR;
var LINUX_SIZE;

var SR0_ADDR;
var SR0_SIZE;

var SR1_ADDR;
var SR1_SIZE;

var SR3_INTRADUCATI_IPC_ADDR;
var SR3_INTRADUCATI_IPC_SIZE;

var VIDEO_M3_CODE_ADDR;
var VIDEO_M3_CODE_SIZE;

var VIDEO_M3_DATA_ADDR;
var VIDEO_M3_DATA_SIZE;

var SR2_FRAME_BUFFER_ADDR;
var SR2_FRAME_BUFFER_SIZE;

var DSS_M3_CODE_ADDR;
var DSS_M3_CODE_SIZE;

var DSS_M3_DATA_ADDR;
var DSS_M3_DATA_SIZE;

var DSP_CODE_ADDR;
var DSP_CODE_SIZE;

var DSP_M3_DATA_ADDR;
var DSP_M3_DATA_SIZE;

var TILER_ADDR;
var TILER_SIZE;

var HDVPSS_DESC_ADDR;
var HDVPSS_DESC_SIZE;

var HDVPSS_SHARED_ADDR;
var HDVPSS_SHARED_SIZE;

var NOTIFY_SHARED_ADDR;
var NOTIFY_SHARED_SIZE;

var REMOTE_DEBUG_ADDR;
var REMOTE_DEBUG_SIZE;

DDR3_ADDR                  = 0x80000000;
DDR3_SIZE                  = 512*MB;

OCMC0_ADDR                 = 0x40300000;
OCMC1_ADDR                 = 0x40400000;
OCMC0_RUN_ADDR             = 0x00300000;
OCMC1_RUN_ADDR             = 0x00400000;
OCMC_SIZE                  = 256*KB;

L2_SRAM_ADDR               = 0x55024000;
L2_SRAM_SIZE               = 128*KB;
L2_SRAM_RUN_ADDR           = 0x20004000;

DUCATI_WB_WA_ADDR          = 0x20000000;

var TOTAL_MEM_SIZE             = 512*MB;

/* first 256MB */
LINUX_SIZE                 = 128*MB;
SR1_SIZE                   = 74*MB;
SR3_INTRADUCATI_IPC_SIZE   =          124*KB;
VIDEO_M3_CODE_SIZE         =  2*MB  + 512*KB;
VIDEO_M3_BSS_SIZE          = 10*MB  + 512*KB;
VIDEO_M3_DATA_SIZE         =  2*MB  + 512*KB;
DSS_M3_CODE_SIZE           =  1*MB  + 512*KB;
DSS_M3_BSS_SIZE            = 16*MB  + 512*KB;
DSS_M3_DATA_SIZE           =  5*MB  + 512*KB;
DSP_CODE_SIZE              =  1*MB;
DSP_DATA_SIZE              = 13*MB  + 900*KB;

/* second 256MB */
/* Tiler Buffers in the bottom 256MB */

TILER_SIZE                  = 128*MB; /* (128+128) - MUST be aligned on 128MB boundary */
SR2_FRAME_BUFFER_SIZE       = 106*MB - 256*KB;
SR0_SIZE                    = 15*MB;
VIDEO_M3_EXCEPTION_CTX_SIZE = 128*KB;
VPSS_M3_EXCEPTION_CTX_SIZE  = 128*KB;
HDVPSS_DESC_SIZE            = 2*MB;
HDVPSS_SHARED_SIZE          = 2*MB;
NOTIFY_SHARED_SIZE          = 2*MB;
REMOTE_DEBUG_SIZE           = 1*MB;


print ("Memory Map - 512M DDR, upto 128MB Linux");

print ("  0x80000000     +-------------------+");
print ("         ^       |                   |");
print ("         |       |  " + (LINUX_SIZE / MB) + " MB           | Linux");
print ("         |       |                   |");
print ("         |       +-------------------+");
print ("         |       |  " + (SR1_SIZE / MB) + "MB            | (SR1) Bitstream buffer");
print ("         |       |                   | Cached on A8. Cached on M3, although access by DMAs");
print ("         |       +-------------------+ ");
print ("         |       |   " + (SR3_INTRADUCATI_IPC_SIZE / KB) + " KB          | (SR3)InterDucati IPC ListMP .Cached on M3 ");
print ("         |       +-------------------+  ");          
print ("         +       |   " + (VIDEO_M3_CODE_SIZE / MB) + " MB          | Video M3 Code");
print ("       256 MB    +-------------------+");
print ("         +       |   " + (VIDEO_M3_BSS_SIZE / MB) + " MB         | Video M3 BSS");
print ("         |       +-------------------+");
print ("         |       |   " + (VIDEO_M3_DATA_SIZE / MB) + " MB          | Video  M3 Data");
print ("         |       +-------------------+");
print ("         |       |   " + (DSS_M3_CODE_SIZE/ MB) + " MB          | VPSS  M3 Code");
print ("         |       +-------------------+");
print ("         |       |   " + (DSS_M3_BSS_SIZE/ MB) + " MB         | VPSS  M3 BSS");
print ("         |       +-------------------+");
print ("         |       |   " + (DSS_M3_DATA_SIZE/ MB) + " MB          | VPSS  M3 Data");
print ("         |       +-------------------+");
print ("         |       |   " + ( DSP_CODE_SIZE / KB) + " KB          | DSP Code");
print ("         |       +-------------------+");
print ("         v       |   " + (DSP_DATA_SIZE / MB) + " MB         | DSP Data");
print ("  0x90000000     +-------------------+");
print ("         ^       |   " + (TILER_SIZE / MB) + " MB          | Tiled 8-bit + 16-bit region");
print ("         |       +-------------------+");
print ("         |       |  " + (SR2_FRAME_BUFFER_SIZE / MB) + " MB           | (SR2) Frame Buffer Region - <VPSS - Video M3 Frame Buf>");
print ("         |       +-------------------+  ");
print ("         +       |                   |");
print ("       256 MB    |  " + (SR0_SIZE / MB) + " MB         | (SR0) Syslink MsgQ/IPC List MP - <Non-cached on M3>");
print ("         +       +-------------------+");
print ("         |       |  " + (VIDEO_M3_EXCEPTION_CTX_SIZE / KB) + " KB           | Video M3 exception context");
print ("         |       +-------------------+  ");
print ("         |       |  " + (VPSS_M3_EXCEPTION_CTX_SIZE / KB) + "KB            | Vpss M3 exception context");
print ("         |       +-------------------+  ");
print ("         |       |  " + (HDVPSS_DESC_SIZE / MB) + " MB             | VPSS M3 - VPDMA Descriptor");
print ("         |       +-------------------+");
print ("         |       |  " + (HDVPSS_SHARED_SIZE / MB) + " MB             | VPSS M3 - FBDev Shared Memory");
print ("         |       +-------------------+");
print ("         |       |  " + (NOTIFY_SHARED_SIZE / MB) + " MB             | Host - VPSS M3 Notify(For FBDev)");
print ("         |       +-------------------+");
print ("         v       |  " + (REMOTE_DEBUG_SIZE / MB) + " MB             | Remote Debug Print");
print ("   0x9FFFFFFF    +-------------------+");





/* first 256MB */
LINUX_ADDR                 = DDR3_ADDR;
SR1_ADDR                   = LINUX_ADDR                         + LINUX_SIZE;
SR3_INTRADUCATI_IPC_ADDR   = SR1_ADDR                         + SR1_SIZE;
VIDEO_M3_CODE_ADDR         = SR3_INTRADUCATI_IPC_ADDR         + SR3_INTRADUCATI_IPC_SIZE;
VIDEO_M3_DATA_ADDR         = VIDEO_M3_CODE_ADDR                 + VIDEO_M3_CODE_SIZE;
VIDEO_M3_BSS_ADDR          = VIDEO_M3_DATA_ADDR                 + VIDEO_M3_DATA_SIZE;
VIDEO_M3_BSS_MAPPED_ADDR   = (VIDEO_M3_BSS_ADDR - DDR3_ADDR) + DUCATI_WB_WA_ADDR;
DSS_M3_CODE_ADDR           = VIDEO_M3_BSS_ADDR                 + VIDEO_M3_BSS_SIZE;
DSS_M3_DATA_ADDR           = DSS_M3_CODE_ADDR                 + DSS_M3_CODE_SIZE;
DSS_M3_BSS_ADDR            = DSS_M3_DATA_ADDR                 + DSS_M3_DATA_SIZE;
DSS_M3_BSS_MAPPED_ADDR     = (DSS_M3_BSS_ADDR - DDR3_ADDR)     + DUCATI_WB_WA_ADDR;
DSP_CODE_ADDR              = DSS_M3_BSS_ADDR                 + DSS_M3_BSS_SIZE;
DSP_DATA_ADDR              = DSP_CODE_ADDR                     + DSP_CODE_SIZE;

/* second 256MB */
/* Tiler Buffers in the bottom 512MB */
TILER_ADDR                  = DDR3_ADDR                        + DDR3_SIZE/2;
SR2_FRAME_BUFFER_ADDR       = TILER_ADDR                    + TILER_SIZE;
VIDEO_M3_EXCEPTION_CTX_ADDR = SR2_FRAME_BUFFER_ADDR            + SR2_FRAME_BUFFER_SIZE;
VPSS_M3_EXCEPTION_CTX_ADDR  = VIDEO_M3_EXCEPTION_CTX_ADDR    + VIDEO_M3_EXCEPTION_CTX_SIZE;
HDVPSS_DESC_ADDR            = VPSS_M3_EXCEPTION_CTX_ADDR    + VPSS_M3_EXCEPTION_CTX_SIZE;
HDVPSS_SHARED_ADDR          = HDVPSS_DESC_ADDR                + HDVPSS_DESC_SIZE;
NOTIFY_SHARED_ADDR          = HDVPSS_SHARED_ADDR            + HDVPSS_SHARED_SIZE;
REMOTE_DEBUG_ADDR           = NOTIFY_SHARED_ADDR            + NOTIFY_SHARED_SIZE;
SR0_ADDR                    = REMOTE_DEBUG_ADDR                + REMOTE_DEBUG_SIZE;

if ((DSP_DATA_ADDR + DSP_DATA_SIZE) > TILER_ADDR)
{
  throw xdc.$$XDCException("MEMORY_MAP OVERFLOW ERROR ",
                           "\nRegion End: " + "0x" + java.lang.Long.toHexString(TILER_ADDR) +
                           "\nActual End: " + "0x" + java.lang.Long.toHexString(DSP_DATA_ADDR + DSP_DATA_SIZE ));
}

if ((SR0_ADDR + SR0_SIZE) > DDR3_ADDR + DDR3_SIZE)
{
  throw xdc.$$XDCException("MEMORY_MAP OVERFLOW ERROR ",
                           "\nRegion End: " + "0x" + java.lang.Long.toHexString(DDR3_ADDR + DDR3_SIZE) +
                           "\nActual End: " + "0x" + java.lang.Long.toHexString(SR0_ADDR + SR0_SIZE)
                          );
}

Build.platformTable["ti.platforms.evmTI816X:core1"] =
{
    externalMemoryMap:
    [
        ["DDR3_RAM", {
            comment: "DDR3_RAM",
            name: "DDR3_RAM",
            base: DDR3_ADDR,
            len:  DDR3_SIZE
        }],
        ["OCMC1_RAM", {
            comment: "OCMC1_RAM",
            name: "OCMC1_RAM",
            base: OCMC1_ADDR,
            len:  OCMC_SIZE
        }],
        ["VIDEO_M3_BSS_MAPPED_MEM", {
            comment : "VIDEO_M3_BSS_MAPPED_MEM",
            name    : "VIDEO_M3_BSS_MAPPED_MEM",
            base    : VIDEO_M3_BSS_MAPPED_ADDR,
            len     : VIDEO_M3_BSS_SIZE
        }],
        ["DSS_M3_BSS_MAPPED_MEM", {
            comment : "DSS_M3_BSS_MAPPED_MEM",
            name    : "DSS_M3_BSS_MAPPED_MEM",
            base    : DSS_M3_BSS_MAPPED_ADDR,
            len     : DSS_M3_BSS_SIZE
        }],
    ],
    customMemoryMap:
    [
        ["LINUX_MEM", {
            comment : "LINUX_MEM",
            name    : "LINUX_MEM",
            base    : LINUX_ADDR,
            len     : LINUX_SIZE
        }],
        ["SR1", {
            comment : "SR1",
            name    : "SR1",
            base    : SR1_ADDR,
            len     : SR1_SIZE
        }],
        ["SR3_INTRADUCATI_IPC", {
            comment : "SR3_INTRADUCATI_IPC",
            name    : "SR3_INTRADUCATI_IPC",
            base    : SR3_INTRADUCATI_IPC_ADDR,
            len     : SR3_INTRADUCATI_IPC_SIZE
        }],
        ["VIDEO_M3_CODE_MEM", {
            comment : "VIDEO_M3_CODE_MEM",
            name    : "VIDEO_M3_CODE_MEM",
            base    : VIDEO_M3_CODE_ADDR,
            len     : VIDEO_M3_CODE_SIZE
        }],
        ["VIDEO_M3_DATA_MEM", {
            comment : "VIDEO_M3_DATA_MEM",
            name    : "VIDEO_M3_DATA_MEM",
            base    : VIDEO_M3_DATA_ADDR,
            len     : VIDEO_M3_DATA_SIZE
        }],
        ["VIDEO_M3_BSS_MEM", {
            comment : "VIDEO_M3_BSS_MEM",
            name    : "VIDEO_M3_BSS_MEM",
            base    : VIDEO_M3_BSS_ADDR,
            len     : VIDEO_M3_BSS_SIZE
        }],
        ["VIDEO_M3_BSS_MAPPED_MEM", {
            comment : "VIDEO_M3_BSS_MAPPED_MEM",
            name    : "VIDEO_M3_BSS_MAPPED_MEM",
            base    : VIDEO_M3_BSS_MAPPED_ADDR,
            len     : VIDEO_M3_BSS_SIZE
        }],
        ["DSS_M3_CODE_MEM", {
            comment : "DSS_M3_CODE_MEM",
            name    : "DSS_M3_CODE_MEM",
            base    : DSS_M3_CODE_ADDR,
            len     : DSS_M3_CODE_SIZE
        }],
        ["DDR3_M3", {
            comment : "DDR3_M3",
            name    : "DDR3_M3",
            base    : DSS_M3_DATA_ADDR,
            len     : DSS_M3_DATA_SIZE
        }],
        ["DSS_M3_BSS_MEM", {
            comment : "DSS_M3_BSS_MEM",
            name    : "DSS_M3_BSS_MEM",
            base    : DSS_M3_BSS_ADDR,
            len     : DSS_M3_BSS_SIZE
        }],
        ["DSS_M3_BSS_MAPPED_MEM", {
            comment : "DSS_M3_BSS_MAPPED_MEM",
            name    : "DSS_M3_BSS_MAPPED_MEM",
            base    : DSS_M3_BSS_MAPPED_ADDR,
            len     : DSS_M3_BSS_SIZE
        }],
        ["DSP_CODE_MEM", {
            comment : "DSP_CODE_MEM",
            name    : "DSP_CODE_MEM",
            base    : DSP_CODE_ADDR,
            len     : DSP_CODE_SIZE
        }],
        ["DSP_DATA_MEM", {
            comment : "DSP_DATA_MEM",
            name    : "DSP_DATA_MEM",
            base    : DSP_DATA_ADDR,
            len     : DSP_DATA_SIZE
        }],
        ["TILER_MEM", {
            comment : "TILER_MEM",
            name    : "TILER_MEM",
            base    : TILER_ADDR,
            len     : TILER_SIZE
        }],
        ["SR2_FRAME_BUFFER_MEM", {
            comment : "SR2_FRAME_BUFFER_MEM",
            name    : "SR2_FRAME_BUFFER_MEM",
            base    : SR2_FRAME_BUFFER_ADDR,
            len     : SR2_FRAME_BUFFER_SIZE
        }],
        ["SR0", {
            comment : "SR0",
            name    : "SR0",
            base    : SR0_ADDR,
            len     : SR0_SIZE
        }],
        ["VIDEO_M3_EXCEPTION_CTX", {
            comment : "VIDEO_M3_EXCEPTION_CTX",
            name    : "VIDEO_M3_EXCEPTION_CTX",
            base    : VIDEO_M3_EXCEPTION_CTX_ADDR,
            len     : VIDEO_M3_EXCEPTION_CTX_SIZE
        }],
        ["VPSS_M3_EXCEPTION_CTX", {
            comment : "VPSS_M3_EXCEPTION_CTX",
            name    : "VPSS_M3_EXCEPTION_CTX",
            base    : VPSS_M3_EXCEPTION_CTX_ADDR,
            len     : VPSS_M3_EXCEPTION_CTX_SIZE
        }],
        ["HDVPSS_DESC_MEM", {
            comment : "HDVPSS_DESC_MEM",
            name    : "HDVPSS_DESC_MEM",
            base    : HDVPSS_DESC_ADDR,
            len     : HDVPSS_DESC_SIZE
        }],
        ["HDVPSS_SHARED_MEM", {
            comment : "HDVPSS_SHARED_MEM",
            name    : "HDVPSS_SHARED_MEM",
            base    : HDVPSS_SHARED_ADDR,
            len     : HDVPSS_SHARED_SIZE
        }],
        ["HOST_VPSS_NOTIFYMEM", {
            comment : "HOST_VPSS_NOTIFYMEM",
            name    : "HOST_VPSS_NOTIFYMEM",
            base    : NOTIFY_SHARED_ADDR,
            len     : NOTIFY_SHARED_SIZE
        }],
        ["REMOTE_DEBUG_MEM", {
            comment : "REMOTE_DEBUG_MEM",
            name    : "REMOTE_DEBUG_MEM",
            base    : REMOTE_DEBUG_ADDR,
            len     : REMOTE_DEBUG_SIZE
        }],
        ["L2_ROM", {
            comment: "L2_ROM",
            name: "L2_ROM",
            base: 0x00000000,
            len:  0x00004000
        }],
        ["OCMC1_RAM", {
            comment: "OCMC1_RAM",
            name: "OCMC1_RAM",
            base: OCMC1_ADDR,
            len:  OCMC_SIZE
        }],
        ["OCMC1_RAM_MAPPED", {
            comment: "OCMC1_RAM",
            name: "OCMC1_RAM_MAPPED",
            base: OCMC1_RUN_ADDR,
            len:  OCMC_SIZE
        }],
    ]
};

Build.platformTable["ti.platforms.evmTI816X:core0"] =
{
    externalMemoryMap:
    [
        ["DDR3_RAM", {
            comment: "DDR3_RAM",
            name: "DDR3_RAM",
            base: DDR3_ADDR,
            len:  DDR3_SIZE
        }],
        ["OCMC0_RAM", {
            comment: "OCMC0_RAM",
            name: "OCMC0_RAM",
            base: OCMC0_ADDR,
            len:  OCMC_SIZE
        }],
        ["VIDEO_M3_BSS_MAPPED_MEM", {
            comment : "VIDEO_M3_BSS_MAPPED_MEM",
            name    : "VIDEO_M3_BSS_MAPPED_MEM",
            base    : VIDEO_M3_BSS_MAPPED_ADDR,
            len     : VIDEO_M3_BSS_SIZE
        }],
        ["DSS_M3_BSS_MAPPED_MEM", {
            comment : "DSS_M3_BSS_MAPPED_MEM",
            name    : "DSS_M3_BSS_MAPPED_MEM",
            base    : DSS_M3_BSS_MAPPED_ADDR,
            len     : DSS_M3_BSS_SIZE
        }],
        ["L2_SRAM", {
            comment: "L2_SRAM",
            name: "L2_SRAM",
            base: L2_SRAM_ADDR,
            len:  L2_SRAM_SIZE
        }],
        ["L2_SRAM_RUN", {
            comment: "L2_SRAM_RUN",
            name: "L2_SRAM_RUN",
            base: L2_SRAM_RUN_ADDR,
            len:  L2_SRAM_SIZE
        }],
    ],
    customMemoryMap:
    [
        ["LINUX_MEM", {
            comment : "LINUX_MEM",
            name    : "LINUX_MEM",
            base    : LINUX_ADDR,
            len     : LINUX_SIZE
        }],
        ["SR1", {
            comment : "SR1",
            name    : "SR1",
            base    : SR1_ADDR,
            len     : SR1_SIZE
        }],
        ["SR3_INTRADUCATI_IPC", {
            comment : "SR3_INTRADUCATI_IPC",
            name    : "SR3_INTRADUCATI_IPC",
            base    : SR3_INTRADUCATI_IPC_ADDR,
            len     : SR3_INTRADUCATI_IPC_SIZE
        }],
        ["VIDEO_M3_CODE_MEM", {
            comment : "VIDEO_M3_CODE_MEM",
            name    : "VIDEO_M3_CODE_MEM",
            base    : VIDEO_M3_CODE_ADDR,
            len     : VIDEO_M3_CODE_SIZE
        }],
        ["DDR_M3", {
            comment : "DDR3_M3",
            name    : "DDR3_M3",
            base    : VIDEO_M3_DATA_ADDR,
            len     : VIDEO_M3_DATA_SIZE
        }],
        ["VIDEO_M3_BSS_MEM", {
            comment : "VIDEO_M3_BSS_MEM",
            name    : "VIDEO_M3_BSS_MEM",
            base    : VIDEO_M3_BSS_ADDR,
            len     : VIDEO_M3_BSS_SIZE
        }],
        ["VIDEO_M3_BSS_MAPPED_MEM", {
            comment : "VIDEO_M3_BSS_MAPPED_MEM",
            name    : "VIDEO_M3_BSS_MAPPED_MEM",
            base    : VIDEO_M3_BSS_MAPPED_ADDR,
            len     : VIDEO_M3_BSS_SIZE
        }],
        ["DSS_M3_CODE_MEM", {
            comment : "DSS_M3_CODE_MEM",
            name    : "DSS_M3_CODE_MEM",
            base    : DSS_M3_CODE_ADDR,
            len     : DSS_M3_CODE_SIZE
        }],
        ["DSS_M3_BSS_MEM", {
            comment : "DSS_M3_BSS_MEM",
            name    : "DSS_M3_BSS_MEM",
            base    : DSS_M3_BSS_ADDR,
            len     : DSS_M3_BSS_SIZE
        }],
        ["DSS_M3_BSS_MAPPED_MEM", {
            comment : "DSS_M3_BSS_MAPPED_MEM",
            name    : "DSS_M3_BSS_MAPPED_MEM",
            base    : DSS_M3_BSS_MAPPED_ADDR,
            len     : DSS_M3_BSS_SIZE
        }],
        ["DSS_M3_DATA_MEM", {
            comment : "DSS_M3_DATA_MEM",
            name    : "DSS_M3_DATA_MEM",
            base    : DSS_M3_DATA_ADDR,
            len     : DSS_M3_DATA_SIZE
        }],
        ["DSP_CODE_MEM", {
            comment : "DSP_CODE_MEM",
            name    : "DSP_CODE_MEM",
            base    : DSP_CODE_ADDR,
            len     : DSP_CODE_SIZE
        }],
        ["DSP_DATA_MEM", {
            comment : "DSP_DATA_MEM",
            name    : "DSP_DATA_MEM",
            base    : DSP_DATA_ADDR,
            len     : DSP_DATA_SIZE
        }],
        ["TILER_MEM", {
            comment : "TILER_MEM",
            name    : "TILER_MEM",
            base    : TILER_ADDR,
            len     : TILER_SIZE
        }],
        ["SR2_FRAME_BUFFER_MEM", {
            comment : "SR2_FRAME_BUFFER_MEM",
            name    : "SR2_FRAME_BUFFER_MEM",
            base    : SR2_FRAME_BUFFER_ADDR,
            len     : SR2_FRAME_BUFFER_SIZE
        }],
        ["SR0", {
            comment : "SR0",
            name    : "SR0",
            base    : SR0_ADDR,
            len     : SR0_SIZE
        }],
        ["VIDEO_M3_EXCEPTION_CTX", {
            comment : "VIDEO_M3_EXCEPTION_CTX",
            name    : "VIDEO_M3_EXCEPTION_CTX",
            base    : VIDEO_M3_EXCEPTION_CTX_ADDR,
            len     : VIDEO_M3_EXCEPTION_CTX_SIZE
        }],
        ["VPSS_M3_EXCEPTION_CTX", {
            comment : "VPSS_M3_EXCEPTION_CTX",
            name    : "VPSS_M3_EXCEPTION_CTX",
            base    : VPSS_M3_EXCEPTION_CTX_ADDR,
            len     : VPSS_M3_EXCEPTION_CTX_SIZE
        }],
        ["HDVPSS_DESC_MEM", {
            comment : "HDVPSS_DESC_MEM",
            name    : "HDVPSS_DESC_MEM",
            base    : HDVPSS_DESC_ADDR,
            len     : HDVPSS_DESC_SIZE
        }],
        ["HDVPSS_SHARED_MEM", {
            comment : "HDVPSS_SHARED_MEM",
            name    : "HDVPSS_SHARED_MEM",
            base    : HDVPSS_SHARED_ADDR,
            len     : HDVPSS_SHARED_SIZE
        }],
        ["HOST_VPSS_NOTIFYMEM", {
            comment : "HOST_VPSS_NOTIFYMEM",
            name    : "HOST_VPSS_NOTIFYMEM",
            base    : NOTIFY_SHARED_ADDR,
            len     : NOTIFY_SHARED_SIZE
        }],
        ["REMOTE_DEBUG_MEM", {
            comment : "REMOTE_DEBUG_MEM",
            name    : "REMOTE_DEBUG_MEM",
            base    : REMOTE_DEBUG_ADDR,
            len     : REMOTE_DEBUG_SIZE
        }],
        ["L2_SRAM", {
            comment: "L2_SRAM",
            name: "L2_SRAM",
            base: L2_SRAM_ADDR,
            len:  L2_SRAM_SIZE
        }],
        ["L2_SRAM_RUN", {
            comment: "L2_SRAM_RUN",
            name: "L2_SRAM_RUN",
            base: L2_SRAM_RUN_ADDR,
            len:  L2_SRAM_SIZE
        }],
        ["L2_ROM", {
            comment: "L2_ROM",
            name: "L2_ROM",
            base: 0x00000000,
            len:  0x00004000
        }],
        ["OCMC0_RAM", {
            comment: "OCMC0_RAM",
            name: "OCMC0_RAM",
            base: OCMC0_ADDR,
            len:  OCMC_SIZE
        }],
        ["OCMC0_RAM_MAPPED", {
            comment: "OCMC0_RAM",
            name: "OCMC0_RAM_MAPPED",
            base: OCMC0_RUN_ADDR,
            len:  OCMC_SIZE
        }],
    ]
};

Build.platformTable["ti.platforms.evmTI816X:plat"] =
{
    externalMemoryMap:
    [
        ["DDR3_RAM", {
            comment: "DDR3_RAM",
            name: "DDR3_RAM",
            base: DDR3_ADDR,
            len:  DDR3_SIZE
        }],
        ["OCMC0_RAM", {
            comment: "OCMC0_RAM",
            name: "OCMC0_RAM",
            base: OCMC0_ADDR,
            len:  OCMC_SIZE
        }],
        ["OCMC1_RAM", {
            comment: "OCMC1_RAM",
            name: "OCMC1_RAM",
            base: OCMC1_ADDR,
            len:  OCMC_SIZE
        }],
    ],
    customMemoryMap:
    [
        ["LINUX_MEM", {
            comment : "LINUX_MEM",
            name    : "LINUX_MEM",
            base    : LINUX_ADDR,
            len     : LINUX_SIZE
        }],
        ["SR1", {
            comment : "SR1",
            name    : "SR1",
            base    : SR1_ADDR,
            len     : SR1_SIZE
        }],
        ["SR3_INTRADUCATI_IPC", {
            comment : "SR3_INTRADUCATI_IPC",
            name    : "SR3_INTRADUCATI_IPC",
            base    : SR3_INTRADUCATI_IPC_ADDR,
            len     : SR3_INTRADUCATI_IPC_SIZE
        }],
        ["VIDEO_M3_CODE_MEM", {
            comment : "VIDEO_M3_CODE_MEM",
            name    : "VIDEO_M3_CODE_MEM",
            base    : VIDEO_M3_CODE_ADDR,
            len     : VIDEO_M3_CODE_SIZE
        }],
        ["VIDEO_M3_DATA_MEM", {
            comment : "VIDEO_M3_DATA_MEM",
            name    : "VIDEO_M3_DATA_MEM",
            base    : VIDEO_M3_DATA_ADDR,
            len     : VIDEO_M3_DATA_SIZE
        }],
        ["VIDEO_M3_BSS_MEM", {
            comment : "VIDEO_M3_BSS_MEM",
            name    : "VIDEO_M3_BSS_MEM",
            base    : VIDEO_M3_BSS_ADDR,
            len     : VIDEO_M3_BSS_SIZE
        }],
        ["DSS_M3_CODE_MEM", {
            comment : "DSS_M3_CODE_MEM",
            name    : "DSS_M3_CODE_MEM",
            base    : DSS_M3_CODE_ADDR,
            len     : DSS_M3_CODE_SIZE
        }],
        ["DSS_M3_DATA_MEM", {
            comment : "DSS_M3_DATA_MEM",
            name    : "DSS_M3_DATA_MEM",
            base    : DSS_M3_DATA_ADDR,
            len     : DSS_M3_DATA_SIZE
        }],
        ["DSS_M3_BSS_MEM", {
            comment : "DSS_M3_BSS_MEM",
            name    : "DSS_M3_BSS_MEM",
            base    : DSS_M3_BSS_ADDR,
            len     : DSS_M3_BSS_SIZE
        }],
        ["DSP_CODE_MEM", {
            comment : "DSP_CODE_MEM",
            name    : "DSP_CODE_MEM",
            base    : DSP_CODE_ADDR,
            len     : DSP_CODE_SIZE
        }],
        ["DSP_DATA_MEM", {
            comment : "DDR3_DSP",
            name    : "DDR3_DSP",
            base    : DSP_DATA_ADDR,
            len     : DSP_DATA_SIZE
        }],
        ["TILER_MEM", {
            comment : "TILER_MEM",
            name    : "TILER_MEM",
            base    : TILER_ADDR,
            len     : TILER_SIZE
        }],
        ["SR2_FRAME_BUFFER_MEM", {
            comment : "SR2_FRAME_BUFFER_MEM",
            name    : "SR2_FRAME_BUFFER_MEM",
            base    : SR2_FRAME_BUFFER_ADDR,
            len     : SR2_FRAME_BUFFER_SIZE
        }],
        ["SR0", {
            comment : "SR0",
            name    : "SR0",
            base    : SR0_ADDR,
            len     : SR0_SIZE
        }],
        ["VIDEO_M3_EXCEPTION_CTX", {
            comment : "VIDEO_M3_EXCEPTION_CTX",
            name    : "VIDEO_M3_EXCEPTION_CTX",
            base    : VIDEO_M3_EXCEPTION_CTX_ADDR,
            len     : VIDEO_M3_EXCEPTION_CTX_SIZE
        }],
        ["VPSS_M3_EXCEPTION_CTX", {
            comment : "VPSS_M3_EXCEPTION_CTX",
            name    : "VPSS_M3_EXCEPTION_CTX",
            base    : VPSS_M3_EXCEPTION_CTX_ADDR,
            len     : VPSS_M3_EXCEPTION_CTX_SIZE
        }],
        ["HDVPSS_DESC_MEM", {
            comment : "HDVPSS_DESC_MEM",
            name    : "HDVPSS_DESC_MEM",
            base    : HDVPSS_DESC_ADDR,
            len     : HDVPSS_DESC_SIZE
        }],
        ["HDVPSS_SHARED_MEM", {
            comment : "HDVPSS_SHARED_MEM",
            name    : "HDVPSS_SHARED_MEM",
            base    : HDVPSS_SHARED_ADDR,
            len     : HDVPSS_SHARED_SIZE
        }],
        ["HOST_VPSS_NOTIFYMEM", {
            comment : "HOST_VPSS_NOTIFYMEM",
            name    : "HOST_VPSS_NOTIFYMEM",
            base    : NOTIFY_SHARED_ADDR,
            len     : NOTIFY_SHARED_SIZE
        }],
        ["REMOTE_DEBUG_MEM", {
            comment : "REMOTE_DEBUG_MEM",
            name    : "REMOTE_DEBUG_MEM",
            base    : REMOTE_DEBUG_ADDR,
            len     : REMOTE_DEBUG_SIZE
        }],
        ["OCMC0_RAM", {
            comment: "OCMC0_RAM",
            name: "OCMC0_RAM",
            base: OCMC0_ADDR,
            len:  OCMC_SIZE
        }],
        ["OCMC1_RAM", {
            comment: "OCMC1_RAM",
            name: "OCMC1_RAM",
            base: OCMC1_ADDR,
            len:  OCMC_SIZE
        }],
        ["DSP_L2_RAM", {
            comment: "DSP_L2_RAM",
            name: "DSP_L2_RAM",
            base: 0x10800000,
            len:  0x00020000
        }],
    ],
    l1PMode: "32k",
    l1DMode: "32k",
    l2Mode:  "128k"
};

var addrFileGenerated = false;
if (addrFileGenerated == false)
{
    xdc.loadCapsule("genaddrinfo.xs").GenAddrFile();
    addrFileGenerated = true;
}
------------------------------------

and my env_512M_128M.sh like follows:

#!/bin/sh                                                                    
#RDK_LINUX_MEM:                                                              
#The amount of memory allocated to linux.                                    
#The kernel bootargs mem= parameter should match this value.                 
export RDK_LINUX_MEM="128M"
#The start address of kernel NOTIFY_MEM                                      

#The kernel bootargs notifyk.vpssm3_sva= parameter should match this value.  
export NOTIFYK_VPSSM3_SVA_ADDR="0x9ee00000"

#The start address of REMOTE_DEBUG_ADDR section                              
#The address of REMOTE_DEBUG_MEM in the slave executables should match this  
export REMOTE_DEBUG_ADDR="0x9f000000"

#The start address of HDVPSS_SHARED_MEM section                              
#The address of HDVPSS_SHARED_MEM in the slave executables should match this
export HDVPSS_SHARED_MEM="0x9ec00000"

#The size of HDVPSS_SHARED_MEM section                              
export HDVPSS_SHARED_SIZE="2097152"

#Kernel base address (physical address)                             
export RDK_LINUX_BASE_ADDR="0x80000000"

---------------------------------------------------------------------------

In env.mk

for xdc, i update like follow

#
# XDC specific ENV variables
#
# XDC Config.bld file (required for configuro); Derives from top-level hdvpss_PATH
ifeq ($(PLATFORM),ti816x-evm)
    ifeq ($(DDR_MEM),DDR_MEM_2048M)
      CONFIG_BLD_XDC_m3     = $(dvr_rdk_PATH)/mcfw/src_bios6/cfg/ti816x/config_2G.bld
      CONFIG_BLD_XDC_c674   = $(dvr_rdk_PATH)/mcfw/src_bios6/cfg/ti816x/config_2G.bld
    else
    ifeq ($(DDR_MEM), DDR_MEM_512M)
      CONFIG_BLD_XDC_m3     = $(dvr_rdk_PATH)/mcfw/src_bios6/cfg/ti816x/config_512M_128MLinux.bld
      CONFIG_BLD_XDC_c674   = $(dvr_rdk_PATH)/mcfw/src_bios6/cfg/ti816x/config_512M_128MLinux.bld
    else
        ifeq ($(LINUX_MEM),LINUX_MEM_256M)
          CONFIG_BLD_XDC_m3     = $(dvr_rdk_PATH)/mcfw/src_bios6/cfg/ti816x/config_1G_256MLinux.bld
          CONFIG_BLD_XDC_c674   = $(dvr_rdk_PATH)/mcfw/src_bios6/cfg/ti816x/config_1G_256MLinux.bld
        else
          CONFIG_BLD_XDC_m3     = $(dvr_rdk_PATH)/mcfw/src_bios6/cfg/ti816x/config_1G_128MLinux.bld
          CONFIG_BLD_XDC_c674   = $(dvr_rdk_PATH)/mcfw/src_bios6/cfg/ti816x/config_1G_128MLinux.bld
        endif
    endif
    endif
endif

---------------------

And i set uboot bootargs

'mem=128M console=ttyO2,115200n8 debug root=/dev/nfs rw nfsroot=192.168.1.220:/root/nfs_target/rfs_816x ip=dhcp vram=20M notifyk.vpssm3_sva=0x9EE00000 ddr_mem=512M'

----------------------------------------------------

  • The memory map changes are wrong. Refer the 814x for 512MB memory map configuration and exactly follow the same configuration. The reason you are seeing the issue is because the following memory segments have to be uncached :

    1. SR0

    2. REMOTE_DEBUG

    3. HDVPSS NOTIFY

    4. HDVPSS DESCRIPTOR.

    When these segements are placed in 0x8000_0000 to 0xA000_0000 address range as in your case it will become cached and firmware will not work.

    For 512M you need 2 memory segments in DDR one starting at 0x8000_0000 and another starting at 0xA000_0000.

    For this you need to manipulate the DMM LISA setting. Refer this link for example DMM LISA setting:

    http://processors.wiki.ti.com/index.php/EZSDK_Memory_Map#Changing_Memory_Map_For_512MB_DM816x_Board

  • Hi Badri,

    Can you perhaps assist, I have similar problem, however I want to run on only 256MB of DDR3 on a single EMIF, EMIF 0.

    Regards,

    Johan

  • Are you using 816x. Are you using DVR RDK or ezSDK on 816x.

  • Hi Bardi,

    Thanks for the prompt response, I am using the ezSDK with u-boot-2010.06-psp04.04.00.01.

    I am new to your tools and have found it very dificult to find my way arround.

    Our board is using only 256MByte of DDR3 running at 1333MHz. Some assistance / guidance to getting u-boot configured, we will only be using a 8GB SD card, as well as the kernel build for our board.

    Regards,

  • Hi Bardi,

    Are you able to assist or can you recommend someone that can assist. I have made some progress but the documentation is really not very helpful.

    Regards,

    Johan Kruger

  • Hi Badri,

    Any news or help perhaps ?

    Regards,

    Johan Kruger

  • For 256MB single EMIF configuration you will have to set the DMM_LISA mapping such that the same physical memory is mapped for DMM address 0x8000_0000 to 0x9000_0000 and 0xA000_0000. This configuration is in the  uboot.

    The 816x TRM has detailed examples on how to configure the LISA settings for different memory layout.

    You would then have to recompile the M3 and c674 fimrwares with the new memory map and use them.

    Also kernel bootargs for notifyk.vpssm3_sva according to the new memory map.

    Changing memory map and rebuilding firmware depends on the SDK you use. I work on DVR RDK and am not familiar with how to do this on ezSDK.

    I see you have started a new thread. That is best as ezSDK experts will be able to provide correct guidance

  • Much appreciated, would be helpful if there was a well documented HOWTO guide.

    Question I have as well is the integration of the Micrel KSZ9031 into u-boot and the kernel, do you know if that is available or git'able.

    Hope that someone on ezSDK answers quickly.

    Regards,

  • Hi Badri,

    Have had no reply to my post on ezSDK, I am in quite a tight spot at the moment, so please help.

    Regards,

    Johan

  • Hi Badri,

    Just want to let you know that I did manage to get u-boot operational as well as being able to boot the kernel, have some issues with USB over-current messages but I will fix that in the kernel. Thanks for your assistance in this regard, I am really not impressed with the documentation and the number of hours I had to spend on finding related links and info, this should really have been readily provided by Ti in a howto etc. Configuration of the DDR clock frequency as well as the SW Leveling Seed values are a breeze, accept that CCSv5 is still a mission to get working reliably, regarding the rest of the required changes, EMIF/LISA the documentation is really only available in the forum pages... Not good.

    Regards,

    Johan Kruger