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.

Linux/TDA2P-ACD: DDR Memory Configuration

Part Number: TDA2P-ACD

Tool/software: Linux

Hi,

We have tda2p custom board with 3GB DDR. 

The memory layout is:

EMIF1: MT41K1G8SN-125IT + MT41K512M16HA-125AIT x 2

EMIF2: MT41K256M8DA-107:K x 4

In the release notes for VSDK 03.05.00 stands VSDK Linux support on boards with > 2 GB RAM as a new feature. So my question is what should we configure to be able to use 3GB of RAM?

Regards,

Suzana

  • Hi Suzana,

    No configuration is needed. You may just want to remove the argument 'mem=1024M' from the uenv.txt file in your boot partition, and you will notice all 3GB available to Linux.

    Regards
    Shravan
  • Hi,

    As you suggested I removed 'mem=1024M' from uenv.txt and this is the output:

    I don't see 3GB available to Linux. Are you sure that additional configuration is not needed? From related posts to this topic I saw that some modifications of lisa registers as well as function "dram_init_banksize" inside "/board/ti/dra7xx/evm.c" are needed, and I don't see any changes of that kind in evm.c file.

    Regards,

    Suzana

  • Hi Suzana,

    You can see this post for your reference.




    Thanks
    Deepika

  • Hi,

    I resolved my issue. These are the changes I made:
    1. In  function "dram_init_banksize" in "/board/ti/dra7xx/evm.c" set the following:
    gd->bd->bi_dram[1].start = 0x200000000;
    gd->bd->bi_dram[1].size = 0x40000000;

    2. Used following setting of the LISA registers:
    static const struct dmm_lisa_map_regs lisa_map_dra7_2GB = {   
        .dmm_lisa_map_0 = 0x00000000,   
        .dmm_lisa_map_1 = 0x00000000,   
        .dmm_lisa_map_2 = 0x80740300,   
        .dmm_lisa_map_3 = 0xFF020100,   
        .is_ma_present = 0x1   
    };

    3. Commented out the following line of code inside "/arch/arm/cpu/armv7/omap-common/emif-common.c":
    setbits_le32(MA_PRIORITY, MA_HIMEM_INTERLEAVE_UN_MASK);

    Thanks,
    Suzana