diff options
author | York Sun <yorksun@freescale.com> | 2013-06-25 11:37:48 -0700 |
---|---|---|
committer | York Sun <yorksun@freescale.com> | 2013-08-09 12:41:39 -0700 |
commit | c63e137014cf148bc1d234128941dccee3d519ae (patch) | |
tree | afb69c22c33459d14a174973083e2a70e5f49ea7 /arch/powerpc/include | |
parent | b61e06156660579ea6e248abd2506ebdd85e7a14 (diff) |
powerpc/mpc8xxx: Add memory reset control
JEDEC spec requires the clocks to be stable before deasserting reset
signal for RDIMMs. Clocks start when any chip select is enabled and
clock control register is set. This patch also adds the interface to
toggle memory reset signal if needed by the boards.
Signed-off-by: York Sun <yorksun@freescale.com>
Diffstat (limited to 'arch/powerpc/include')
-rw-r--r-- | arch/powerpc/include/asm/fsl_ddr_sdram.h | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/fsl_ddr_sdram.h b/arch/powerpc/include/asm/fsl_ddr_sdram.h index bac22fcd1d..f4eec82d5d 100644 --- a/arch/powerpc/include/asm/fsl_ddr_sdram.h +++ b/arch/powerpc/include/asm/fsl_ddr_sdram.h @@ -331,9 +331,31 @@ extern phys_size_t fsl_ddr_sdram(void); extern phys_size_t fsl_ddr_sdram_size(void); extern int fsl_use_spd(void); extern void fsl_ddr_set_memctl_regs(const fsl_ddr_cfg_regs_t *regs, - unsigned int ctrl_num); + unsigned int ctrl_num, int step); u32 fsl_ddr_get_intl3r(void); +static void __board_assert_mem_reset(void) +{ +} + +static void __board_deassert_mem_reset(void) +{ +} + +void board_assert_mem_reset(void) + __attribute__((weak, alias("__board_assert_mem_reset"))); + +void board_deassert_mem_reset(void) + __attribute__((weak, alias("__board_deassert_mem_reset"))); + +static int __board_need_mem_reset(void) +{ + return 0; +} + +int board_need_mem_reset(void) + __attribute__((weak, alias("__board_need_mem_reset"))); + /* * The 85xx boards have a common prototype for fixed_sdram so put the * declaration here. |