Part Number: AM4376
Hi Sir
we used AM4376 with DDR3 H5TC4G63EFR for development.
We found the issue that system cannot go to suspend and resume successfully.
1. we do the DDR test and power on/off test. in the end , the DDR timing is ok for this customized board.
const struct emif_regs ddr3_emif_regs_400Mhz_xxboard = {
.sdram_config = 0x61A01332,
.ref_ctrl = 0x00000C30,
.sdram_tim1 = 0xE88AE523,
.sdram_tim2 = 0x266B7FDA,
.sdram_tim3 = 0x5F7F867F,
.read_idle_ctrl = 0x00050000,
.zq_config = 0x50077D33,
.temp_alert_config = 0x0,
.emif_ddr_phy_ctlr_1 = 0x00048008,
.emif_ddr_ext_phy_ctrl_1 = 0x00040100,
.emif_ddr_ext_phy_ctrl_2 = 0x0,
.emif_ddr_ext_phy_ctrl_3 = 0x0,
.emif_ddr_ext_phy_ctrl_4 = 0x0,
.emif_ddr_ext_phy_ctrl_5 = 0x0,
.emif_rd_wr_exec_thresh = 0x80000405,
.emif_prio_class_serv_map = 0x80000001,
.emif_connect_id_serv_1_map = 0x80000094,
.emif_connect_id_serv_2_map = 0x00000000,
.emif_cos_config = 0x000FFFFF
};
2. we use GPEVM DDR parameter and customized board can bringup. BTW it can do suspend and resume successfully.
const struct emif_regs ddr3_emif_regs_400Mhz = {
.sdram_config = 0x638413B2,
.ref_ctrl = 0x00000C30,
.sdram_tim1 = 0xEAAAD4DB,
.sdram_tim2 = 0x266B7FDA,
.sdram_tim3 = 0x107F8678,
.read_idle_ctrl = 0x00050000,
.zq_config = 0x50074BE4,
.temp_alert_config = 0x0,
.emif_ddr_phy_ctlr_1 = 0x0E004008,
.emif_ddr_ext_phy_ctrl_1 = 0x08020080,
.emif_ddr_ext_phy_ctrl_2 = 0x00400040,
.emif_ddr_ext_phy_ctrl_3 = 0x00400040,
.emif_ddr_ext_phy_ctrl_4 = 0x00400040,
.emif_ddr_ext_phy_ctrl_5 = 0x00400040,
.emif_rd_wr_lvl_rmp_win = 0x0,
.emif_rd_wr_lvl_rmp_ctl = 0x0,
.emif_rd_wr_lvl_ctl = 0x0,
.emif_rd_wr_exec_thresh = 0x80000405,
.emif_prio_class_serv_map = 0x80000001,
.emif_connect_id_serv_1_map = 0x80000094,
.emif_connect_id_serv_2_map = 0x00000000,
.emif_cos_config = 0x000FFFFF
};
3. we start to use GP-EVM DDR parameters and replace some parameters we adjusted for DDR3 H5TC4G63EFR
we found the MB can do suspend/resume successfully until we change emif_ddr_phy_ctlr_1 parameters from 0x0E004008 to 0x00048008.
in GP-EVM DDR parameter ->.emif_ddr_phy_ctlr_1 = 0x0E004008,
in Our adjsutmernt paramter -> .emif_ddr_phy_ctlr_1 = 0x00048008,
It is strange that we cannot adjust the parameter in excel file to be the same with GP-EVM setting for emif_ddr_phy_ctlr_1 = 0x0E004008,
Does TI have any suggestion why this register will cause suspend/resume function failed ?
BR
Yimin