Hello,
We have an OMAP4430 board in production and we change the sdram to elpida EDBA164B1PB-1D-F. This ddr Is 16G bit and max freq is 400Mhz .
How to configure the xloader 、uboot and kernel ?
1. In the xloader , we use correct DDR struct in /cpu/omap4/sdram_elpida.c ,
const struct ddr_regs ddr_regs_elpida4G_400mhz_2cs = {
.tim1 = 0x10eb0662,
.tim2 = 0x20370dd2,
.tim3 = 0x00b1c33f,
.phy_ctrl_1 = 049FF408,
.ref_ctrl = 0x00000618,
.config_init = 0x80800eb9,
.config_final = 0x80801ab9,
.zq_config = 0xd00b3215,
.mr1 = 0x83,
.mr2 = 0x4
};
2. In the u-boot , if we use bootarg : mem=2040M , system can enter Android 4AJ.1.1 ; if we use bootarg : mem=2G , system can't .
3. In the kernel , we modify the EMIF setting in the board file /arch/arm/mach-omap2/board-xxx.c :
static __initdata struct emif_device_details emif_devices_2g = {
.cs0_device = &lpddr2_elpida_4G_S4_dev,
.cs1_device = &lpddr2_elpida_4G_S4_dev
};
4. If we use bootarg : mem=2040M , system can enter Android 4AJ.1.1 . But when we run a memory test : allocate 200 MB memory , we have a kernel panic .
Many thanks in advance for any hint or advice.