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.

Can Memory Map on DM814X be allocated to 256MB of total 512MB

Other Parts Discussed in Thread: DM8107

Dear Experts,

Version: DVRRDK3.5 / DM8148 / Custom Board.

We want to use 512MB DDR in DM8148 Platform.

DM81xx_DVR_RDK_Memory_Map.pdf says that Linux memory allocated can be 128M in 512MB build.

128MB is too small to us.

Can we adjust Linux Memory to 192MB or 256MB ??

Anyone can provide the reference memory map in DVRRDK 3.5 ? ~

Our minimum request: 2*720p video encode  + 2*48KHZ*2channel audio encode + gstreamer application

thx ~

HB

  • You can modify

    /dvr_rdk/mcfw/src_bios6/cfg/ti814x/config_512M.bld

    1.

    Reduce

    var SR2_FRAME_BUFFER_SIZE      = 112*MB;

    to

    var SR2_FRAME_BUFFER_SIZE      = 48*MB;

    and add a new segment

    var LINUX_MEM2_SIZE = 64*MB;

     

    2.

    Make sure SR0 now starts at end of LINUX_MEM2 instead of SR2.

    var SR2_FRAME_BUFFER_ADDR       = TILER_ADDR                    + TILER_SIZE;

    var LINUX_MEM2_ADDR =  SR2_FRAME_BUFFER_ADDR         + SR2_FRAME_BUFFER_SIZE;

    var SR0_ADDR                    = LINUX_MEM2_ADDR + LINUX_MEM2_SIZE;

    3. Check in the generated map file the address of LINUX_MEM2 SEGMENT and use that as additional Linux memory by specifying the memory segment in your kernel bootargs as

    mem=128M@0x80000000 mem=64M@<LINUX_MEM2_SEGMENT_START_ADDRESS>

    Refer PSP documentation for details of kernel bootargs.

     

    Above assumes 48M is sufficient for your usecase. If it is not sufficient nothing can be done to increase Linux memory allocation.

  • Dear Badri,

    Thanks a lot ~

    I have one more question ~

    If I just want to use only one DDR controller to reduce power consumption, the memory map config bld file is same as you said ??

    Or where can I find this bld files to use only one DDR controller with 512MB DDR ?

    How to modify uboot/kernel to support one DDR controller ??  (One DDR controller to access two 256MB 16bits DDR3, total 512MB size)

    By the way, if I need to issue a new request about this question, please let me know ~ thx ~

    HB


  • You can use the same memory map files. Refer the 8107 uboot DMM LISA settings that is part of the DVR RDK release for how to use a single EMIF interface.

  • Dear Bardri,

    8107 uboot DMM LISA ?  Do you mean DM8107 uboot source code ?

    Where can I find it  ?

    for example: dvrrdk3.5\ti_tools\linux_lsp\uboot\u-boot-dvr-rdk\arch\arm\include\asm\arch-ti81xx\ddr_defs_ti814x.h or ddr_defs_ti816x.h.

    I can't find ddr_defs_ti810x.h file ~

    HB

  • ddr_defs_ti814x.h has  options for 8107 under #ifdef 813x define.

  • Dear Badri,

    Sorry ~ I checked uboot of dvrrdk 1.09/ 2.8/ 3.5 and ezsdk ~

    I can't find #ifdef 813x define ~

    Could you plz provide the code or identify the code segment of attached file: 1588.ddr_defs_ti814x.h https://dl.dropboxusercontent.com/u/27415803/ddr_defs_ti814x.h

    thx ~

    HB

  • Refer config_ti814x_ddr() in board/ti/8148/evm.c. Check the code section under DDR_MEM_512M  (DDR_MEM_512M is enabled for 814x builds in DVR RDK).

    You will have to modify the values written to DMM_LISA_MAP__x. In existing code, it uses values 0x80540300 / 0xA0540300 to represent 512MB interleave mode.

    Refer description of DMM_LISA_MAP_x in TRM to get the values as per your requirement.

  • Hello,

    I have used the optimization suggested here and reduced SR2 to 100K !!!

    Yet, it all works..........

    So I don't understand how is it that I can reduce SR2 to almost 0 ?

    Any idea ?

    Regards,

    Ran