mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-06-05 22:31:36 +00:00
powerpc/8xxx: Add additional cycle to write-to-read turnaound for DDR3
When DDR data rate is higher than 1200MT/s or controller interleaving is enabled, additional cycle for write-to-read turnaround is needed to satisfy dynamic ODT timing. Signed-off-by: York Sun <yorksun@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
This commit is contained in:
parent
b1d67857af
commit
856e4b0d7f
2 changed files with 4 additions and 1 deletions
|
@ -236,9 +236,12 @@ static void set_timing_cfg_0(fsl_ddr_cfg_regs_t *ddr,
|
||||||
* tAXPD=1, need design to confirm.
|
* tAXPD=1, need design to confirm.
|
||||||
*/
|
*/
|
||||||
int tXP = max((get_memory_clk_period_ps() * 3), 7500); /* unit=ps */
|
int tXP = max((get_memory_clk_period_ps() * 3), 7500); /* unit=ps */
|
||||||
|
unsigned int data_rate = fsl_ddr_get_mem_data_rate();
|
||||||
tmrd_mclk = 4;
|
tmrd_mclk = 4;
|
||||||
/* set the turnaround time */
|
/* set the turnaround time */
|
||||||
trwt_mclk = 1;
|
trwt_mclk = 1;
|
||||||
|
if ((data_rate/1000000 > 1150) || (popts->memctl_interleaving))
|
||||||
|
twrt_mclk = 1;
|
||||||
|
|
||||||
if (popts->dynamic_power == 0) { /* powerdown is not used */
|
if (popts->dynamic_power == 0) { /* powerdown is not used */
|
||||||
act_pd_exit_mclk = 1;
|
act_pd_exit_mclk = 1;
|
||||||
|
|
|
@ -80,5 +80,5 @@ extern void check_interleaving_options(fsl_ddr_info_t *pinfo);
|
||||||
extern unsigned int mclk_to_picos(unsigned int mclk);
|
extern unsigned int mclk_to_picos(unsigned int mclk);
|
||||||
extern unsigned int get_memory_clk_period_ps(void);
|
extern unsigned int get_memory_clk_period_ps(void);
|
||||||
extern unsigned int picos_to_mclk(unsigned int picos);
|
extern unsigned int picos_to_mclk(unsigned int picos);
|
||||||
|
extern unsigned int fsl_ddr_get_mem_data_rate(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Reference in a new issue