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.

TMS320DM8127: DDR3 (MT41K256M16TW-107) u-boot booting issues?

Part Number: TMS320DM8127

Hi sir,

We are using dm8127 custom board through the reference of DM8127-CSK evm module.

In the evm module DDR3 (MT41K256M16TW ) 2-chip selects & 4 modules used default.

in our custom board DDR3 (same IC) 1-Chip select & 2 module(Lower & Higher data) used.

While booting it is hanging in u-boot

below it is hang.

gc - clustnum: 72516, startsect: 74752
Size: 284349, got: 284349
Jumping to U-Boot
loaded - jumping to U-Boot...image entry point: 0x80800000
initcall: 80821e78
initcall: 80825004


U-Boot 2016.05 (Jan 18 2023 - 14:27:26 +0530)

initcall: 8080ba84
U-Boot code: 80800000 -> 8083BC80 BSS: -> 808709D0
initcall: 8080b8a8
initcall: 8080bacc
I2C: ready
initcall: 8080bab4
DRAM: initcall: 80800b60
initcall: 8080bd20
Monitor len: 000709D0
Ram size: 40000000
Ram top: C0000000
initcall: 8080b8d0
initcall: 8080ba2c
TLB table from bfff0000 to bfff4000
initcall: 8080bc4c
initcall: 8080b9e0
Reserving 450k for U-Boot at: bff7f000
initcall: 8080b9b4
Reserving 1152k for malloc() at: bfe5f000
initcall: 8080bbe8
Reserving 80 Bytes for Board Info at: bfe5efb0
initcall: 8080bc54
initcall: 8080b980
Reserving 184 Bytes for Global Data at: bfe5eef8
initcall: 8080b914
Reserving 12864 Bytes for FDT at: bfe5bcb8
initcall: 8080bc3c
initcall: 8080bd9c
initcall: 8080bcf8
initcall: 8080bc70

RAM Configuration:
Bank #0: 80000000 1 GiB

DRAM: 1 GiB
initcall: 8080b8f8
New Stack Pointer is: bfe5bc90
initcall: 8080bba4
initcall: 8080bb34
Relocation Offset is: 3f77f000
Relocating to bff7f000, new gd at bfe5eef8, sp at bfe5bc90

after this not booting any thing.

changes in u-boot:

1.dm8127.dts

memory {
device_type = "memory";
reg = <0x80000000 0x40000000>; /* 1 GB */
};

2.sys_proto.h

#ifdef CONFIG_OMAP_COMMON
#define TI_ARMV7_DRAM_ADDR_SPACE_START 0x80000000
#define TI_ARMV7_DRAM_ADDR_SPACE_END 0x9FFFFFFF 

3.u-boot/board/ti/dm8127/evm.c

static const struct dmm_lisa_map_regs evm_lisa_map_regs = {
.dmm_lisa_map_0 = 0x80600100,
.dmm_lisa_map_1 = 0x80600100,
.dmm_lisa_map_2 = 0x0,
.dmm_lisa_map_3 = 0x0,
.is_ma_present = 0x1
};

void sdram_init(void)
{
config_dmm(&evm_lisa_map_regs);

#ifdef CONFIG_TI814X_EVM_DDR3
config_ddr(0, NULL, &evm_ddr3_phy0_data[0], &evm_ddr3_cctrl_data,
&evm_ddr3_emif0_regs, 0);
// config_ddr(1, NULL, &evm_ddr3_phy1_data[0], &evm_ddr3_cctrl_data,
// &evm_ddr3_emif1_regs, 1); //cispl
#else
config_ddr(0, NULL, &evm_ddr2_data, &evm_ddr2_cctrl_data,
&evm_ddr2_emif0_regs, 0);
// config_ddr(0, NULL, &evm_ddr2_data, &evm_ddr2_cctrl_data,
// &evm_ddr2_emif1_regs, 1); //cispl
#endif
}

4. 3.u-boot/arch/arm/cpu/armv7/am33xx/board.c


#ifdef CONFIG_SPL_BUILD
void board_init_f(ulong dummy)
{
//board_early_init_f();
//sdram_init();

//early_system_init();
board_early_init_f();
debug("==print from arch/arm/mach-omap2==\n");
sdram_init();
debug("==print from arch/arm/mach-omap2, after sdram_init==\n");
/* dram_init must store complete ramsize in gd->ram_size */
gd->ram_size = get_ram_size(
(void *)CONFIG_SYS_SDRAM_BASE,CONFIG_MAX_RAM_BANK_SIZE);
}
#endif

Reference of:https://e2e.ti.com/support/processors-group/processors/f/processors-forum/671313/am3358-ddr3-memory-issue-with-mt41k256m16tw-107

modified but no use?

Any changes required in the code side, Could you give me some suggestions.

Thanking you,

Regards,

Ramachandra

  • Hi sir,

    now it's working in baremetal in u-boot it's not worked.

    The refrence of IPNC_RDK(TI814x_ES_2x_evm_A8_ddr3.gel) loaded it's worked in ccs baremetal code but it's problem in u-boot.

    if ddr problem is there any thing hang in u-boot or sd-card booting issue?

    1.dm8127.dts

    memory {
    device_type = "memory";
    reg = <0x80000000 0x40000000>; /* 1 GB */
    };

    2.sys_proto.h

    #ifdef CONFIG_OMAP_COMMON
    #define TI_ARMV7_DRAM_ADDR_SPACE_START 0x80000000
    #define TI_ARMV7_DRAM_ADDR_SPACE_END 0xBFFFFFFF 

    3.u-boot/board/ti/dm8127/evm.c

    static const struct dmm_lisa_map_regs evm_lisa_map_regs = {
    .dmm_lisa_map_0 = 0x0,
    .dmm_lisa_map_1 = 0x0,
    .dmm_lisa_map_2 = 0x80600100,
    .dmm_lisa_map_3 = 0xFF020100,
    .is_ma_present = 0x1

    But no use it's hangs in 

    Jumping to U-Boot
    loaded - jumping to U-Boot...image entry point: 0x80800000
    initcall: 80821e78
    initcall: 80825004


    U-Boot 2016.05 (Jan 19 2023 - 18:49:03 +0530)

    initcall: 8080ba84
    U-Boot code: 80800000 -> 8083BC80 BSS: -> 808709D0
    initcall: 8080b8a8
    initcall: 8080bacc
    I2C: ready
    initcall: 8080bab4
    DRAM: initcall: 80800b60
    initcall: 8080bd20
    Monitor len: 000709D0
    Ram size: 40000000
    Ram top: C0000000
    initcall: 8080b8d0
    initcall: 8080ba2c
    TLB table from bfff0000 to bfff4000
    initcall: 8080bc4c
    initcall: 8080b9e0
    Reserving 450k for U-Boot at: bff7f000
    initcall: 8080b9b4
    Reserving 1152k for malloc() at: bfe5f000
    initcall: 8080bbe8
    Reserving 80 Bytes for Board Info at: bfe5efb0
    initcall: 8080bc54
    initcall: 8080b980
    Reserving 184 Bytes for Global Data at: bfe5eef8
    initcall: 8080b914
    Reserving 12864 Bytes for FDT at: bfe5bcb8
    initcall: 8080bc3c
    initcall: 8080bd9c
    initcall: 8080bcf8
    initcall: 8080bc70

    RAM Configuration:
    Bank #0: 80000000 1 GiB

    DRAM: 1 GiB
    initcall: 8080b8f8
    New Stack Pointer is: bfe5bc90
    initcall: 8080bba4
    initcall: 8080bb34
    Relocation Offset is: 3f77f000
    Relocating to bff7f000, new gd at bfe5eef8, sp at bfe5bc90

    It will hang?

    Please could let me know ,

    thanking you,

    Regards,

    Ramachandra

  • hi sir,

    As per the 0020.AM335x_EMIF_Configuration_Tool_v3.xlsx file i modified sdram configuration then it's worked but in linux kernel it's hang.