|
@@ -1747,9 +1747,17 @@ static void set_ddr_sdram_clk_cntl(fsl_ddr_cfg_regs_t *ddr,
|
|
|
const memctl_options_t *popts)
|
|
|
{
|
|
|
unsigned int clk_adjust; /* Clock adjust */
|
|
|
+ unsigned int ss_en = 0; /* Source synchronous enable */
|
|
|
|
|
|
+#if defined(CONFIG_MPC8541) || defined(CONFIG_MPC8555)
|
|
|
+ /* Per FSL Application Note: AN2805 */
|
|
|
+ ss_en = 1;
|
|
|
+#endif
|
|
|
clk_adjust = popts->clk_adjust;
|
|
|
- ddr->ddr_sdram_clk_cntl = (clk_adjust & 0xF) << 23;
|
|
|
+ ddr->ddr_sdram_clk_cntl = (0
|
|
|
+ | ((ss_en & 0x1) << 31)
|
|
|
+ | ((clk_adjust & 0xF) << 23)
|
|
|
+ );
|
|
|
debug("FSLDDR: clk_cntl = 0x%08x\n", ddr->ddr_sdram_clk_cntl);
|
|
|
}
|
|
|
|