[U-Boot] [PATCH v6 3/4] mx28: Let dram_init be common for mx28
Marek Vasut
marek.vasut at gmail.com
Tue Dec 20 14:57:31 CET 2011
> Let dram_init function be a common function, so that other mx28 boards
> can reuse it.
>
> Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>
> ---
> Changes since v5:
> - Change return value on dram_init()
> Changes since v4:
> - Call mx28_dram_init from m28evk.c
> Changes since v3:
> - Rename dram_init to mx28_dram_init
> arch/arm/cpu/arm926ejs/mx28/mx28.c | 21 +++++++++++++++++++++
> arch/arm/include/asm/arch-mx28/sys_proto.h | 2 ++
> board/denx/m28evk/m28evk.c | 18 +-----------------
> 3 files changed, 24 insertions(+), 17 deletions(-)
>
> diff --git a/arch/arm/cpu/arm926ejs/mx28/mx28.c
> b/arch/arm/cpu/arm926ejs/mx28/mx28.c index 79b4001..722efbf 100644
> --- a/arch/arm/cpu/arm926ejs/mx28/mx28.c
> +++ b/arch/arm/cpu/arm926ejs/mx28/mx28.c
> @@ -262,6 +262,27 @@ void mx28_get_mac_from_fuse(int dev_id, char *mac)
> }
> #endif
>
> +#define HW_DIGCTRL_SCRATCH0 0x8001c280
> +#define HW_DIGCTRL_SCRATCH1 0x8001c290
> +int mx28_dram_init(void)
> +{
> + uint32_t sz[2];
> +
> + sz[0] = readl(HW_DIGCTRL_SCRATCH0);
> + sz[1] = readl(HW_DIGCTRL_SCRATCH1);
> +
> + if (sz[0] != sz[1]) {
> + printf("MX28:\n"
> + "Error, the RAM size in HW_DIGCTRL_SCRATCH0 and\n"
> + "HW_DIGCTRL_SCRATCH1 is not the same. Please\n"
> + "verify these two registers contain valid RAM size!\n");
> + hang();
> + }
> +
> + gd->ram_size = sz[0];
> + return 0;
> +}
> +
> U_BOOT_CMD(
> clocks, CONFIG_SYS_MAXARGS, 1, do_mx28_showclocks,
> "display clocks",
> diff --git a/arch/arm/include/asm/arch-mx28/sys_proto.h
> b/arch/arm/include/asm/arch-mx28/sys_proto.h index be1f7db..f101494 100644
> --- a/arch/arm/include/asm/arch-mx28/sys_proto.h
> +++ b/arch/arm/include/asm/arch-mx28/sys_proto.h
> @@ -35,4 +35,6 @@ void mx28_common_spl_init(const iomux_cfg_t *iomux_setup,
> const unsigned int iomux_size);
> #endif
>
> +int mx28_dram_init(void);
> +
> #endif /* __MX28_H__ */
> diff --git a/board/denx/m28evk/m28evk.c b/board/denx/m28evk/m28evk.c
> index 005446a..53df476 100644
> --- a/board/denx/m28evk/m28evk.c
> +++ b/board/denx/m28evk/m28evk.c
> @@ -70,25 +70,9 @@ int board_init(void)
> return 0;
> }
>
> -#define HW_DIGCTRL_SCRATCH0 0x8001c280
> -#define HW_DIGCTRL_SCRATCH1 0x8001c290
> int dram_init(void)
> {
> - uint32_t sz[2];
> -
> - sz[0] = readl(HW_DIGCTRL_SCRATCH0);
> - sz[1] = readl(HW_DIGCTRL_SCRATCH1);
> -
> - if (sz[0] != sz[1]) {
> - printf("MX28:\n"
> - "Error, the RAM size in HW_DIGCTRL_SCRATCH0 and\n"
> - "HW_DIGCTRL_SCRATCH1 is not the same. Please\n"
> - "verify these two registers contain valid RAM size!\n");
> - hang();
> - }
> -
> - gd->ram_size = sz[0];
> - return 0;
> + return mx28_dram_init();
> }
>
> #ifdef CONFIG_CMD_MMC
Acked-by: Marek Vasut <marek.vasut at gmail.com>
More information about the U-Boot
mailing list