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/DRA722: DRA722: The problem to modify DDR size

Part Number: DRA722

Tool/software: Linux

Dear Sir,

On our custom board, customer would like to change DDR size from 1G to 512M. I have tried to configure DDR in bootloader and kernel, but still cannot boot up successfully.

our modification as below:

1. arch/arm/boot/dts/dra72-evm.dtb

memory {
		device_type = "memory";
		reg = <0x0 0x80000000 0x0 0x40000000>; /* 1024 MB */
	};

And I tried to modify reg to "reg = <0x0 0x80000000 0x0 0x20000000>;"

2. board/ti/dra7xx/evm.c

const struct emif_regs j6e_emif_2_regs_ddr3_532_mhz_1cs_dra_es1 = {

    .sdram_config_init = 0x61862B32,			
    .sdram_config = 0x61862B32,				
    .sdram_config2 = 0x00000000,					
    .ref_ctrl = 0x0000514D,					
    .ref_ctrl_final = 0x0000144A,					
    .sdram_tim1 = 0xCEF3781C,					
    .sdram_tim2 = 0x30B37FE3,					
    .sdram_tim3 = 0x407F8AD8,					
    .read_idle_ctrl = 0x00050000,					
    .zq_config = 0x5007190B,					
    .temp_alert_config = 0x00000000,			
    .emif_ddr_phy_ctlr_1_init = 0x0E24400E,					
    .emif_ddr_phy_ctlr_1 = 0x0E24400E,		
    .emif_ddr_ext_phy_ctrl_1        = 0x10040100,
    .emif_ddr_ext_phy_ctrl_2        = 0x00910091,
.emif_ddr_ext_phy_ctrl_3 = 0x00950095,
.emif_ddr_ext_phy_ctrl_4 = 0x009B009B, .emif_ddr_ext_phy_ctrl_5 = 0x009E009E, .emif_rd_wr_lvl_rmp_win = 0x00000000, .emif_rd_wr_lvl_rmp_ctl = 0x00000000, .emif_rd_wr_lvl_ctl = 0x00000000, .emif_rd_wr_exec_thresh = 0x00000305 };
I have tried to modify .sdram_config_init from "0x61862B32" to "0x61851AB2" and sdram_config from "0x61862B32" to "0x61851AB2"

const struct dmm_lisa_map_regs j6e_lisa_map_4G_x_1_x_2 = {
	.dmm_lisa_map_0 = 0x0,
	.dmm_lisa_map_1 = 0x0,
	.dmm_lisa_map_2 = 0x80600100,
	.dmm_lisa_map_3 = 0xFF020100,
	.is_ma_present	= 0x1
};
Modified .dmm_lisa_map_2 from "0x80600100" to "0x80500100"

After modifying above configure, The boot flow hang on "starting kernel" and no any message output

console log
==================================================
U-Boot SPL 2016.05 (Dec 19 2017 - 19:31:09)
DRA722-GP ES1.0
*** Warning - bad CRC, using default environment

Trying to boot from MMC2_2
spl: falcon_args_file not set in environment, falling back to default
reading args
spl_load_image_fat_os: error reading image args, err - -1
reading u-boot.img
reading u-boot.img


U-Boot 2016.05 (Dec 19 2017 - 19:31:09 +0800)

CPU  : DRA722-GP ES1.0
Board: DRA72x EVM REV 
I2C:   ready
DRAM:  512 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Warning - bad CRC, using default environment

Warning: fastboot.board_rev: unknown board revision
GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
ERROR: cannot find partition: 'userdata'

at arch/arm/cpu/armv7/omap-common/utils.c:195/mmc_get_part_size()
Warning: fastboot.userdata_size: unable to calc
Net:   <ethaddr> not set. Validating first E-fuse MAC
Could not get PHY for cpsw: addr 3
cpsw
Hit any key to stop autoboot:  0 
J6E ...
switch to partitions #0, OK
mmc1(part 0) is current device
SD/MMC found on device 1
4168320 bytes read in 203 ms (19.6 MiB/s)
106553 bytes read in 13 ms (7.8 MiB/s)
Booting from mmc1 ...
Kernel image @ 0x82000000 [ 0x000000 - 0x3f9a80 ]
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Loading Device Tree to 8ffe2000, end 8ffff038 ... OK

Starting kernel ...
==================================================

Could you provide some direction to debug further?

Thanks for your support.

Best Regards,

Bowei Ren