Part Number: AM4376
Tool/software: Linux
Hi SIr
We used LPDDR2 (EDB8132B4PB) for AM4376 and would like to optimize DDR timing by using CCS.
We found the CCS is waiting for LPDDR2 autoinitialization for a long time and cannot finish successfully
GEL modification
//========================================================================//
//********************************************************************************
//********************************************************************************
// LPDDR2 Initialization
//********************************************************************************
//********************************************************************************
#define LPDDR2_ADDRCTRL_WD0_IOCTRL_VALUE 0x00000000 //no pullup/down on addr/ctrl
#define LPDDR2_ADDRCTRL_WD1_IOCTRL_VALUE 0x00000000 //no pullup/down on addr/ctrl
#define LPDDR2_ADDRCTRL_IOCTRL_VALUE 0x00000294 //Slew rate: fast, Impedance: 44ohms, no pullup/down
#define LPDDR2_DATA0_IOCTRL_VALUE 0x20000294 //Slew rate: fast, Impedance: 44ohms, pullup on DQSn, pulldown on DQS
#define LPDDR2_DATA1_IOCTRL_VALUE 0x20000294 //Slew rate: fast, Impedance: 44ohms, pullup on DQSn, pulldown on DQS
#define LPDDR2_DATA2_IOCTRL_VALUE 0x20000294 //Slew rate: fast, Impedance: 44ohms, pullup on DQSn, pulldown on DQS
#define LPDDR2_DATA3_IOCTRL_VALUE 0x20000294 //Slew rate: fast, Impedance: 44ohms, pullup on DQSn, pulldown on DQS
//timings for 266MHz LPDDR2 (8Gb)
#define LPDDR2_PHY_CTRL 0x0E288006 //0x0E284006 //for 266MHz LPDDR2
#define LPDDR2_SDRAM_TIMING1 0xEA86B411 //0xEA86B411
#define LPDDR2_SDRAM_TIMING2 0x103A0E8A //0x103A0E8A
#define LPDDR2_SDRAM_TIMING3 0x5F6BA37F //0x0F6BA37F
//#define LPDDR2_SDRAM_CONFIG 0x808052BA //16-bit LPDDR2
#define LPDDR2_SDRAM_CONFIG 0x808012B3
#define LPDDR2_REF_CTRL 0x0000040D //266 * 3.9us = 0x40d
#define LPDDR2_ZQ_CONFIG 0x5007FA67 //0x50074BE4
//========================================================================//
SPRAC70A_AM437x_EMIF_Configuration_Tool_V21_Micron.xlsx
please advise.
