Message ID | 1324389212-9208-3-git-send-email-festevam@gmail.com |
---|---|
State | Accepted |
Commit | 5bcc6a8901020ce22a996ef438cfc7be7a0c3995 |
Headers | show |
> Let dram_init function be a common function, so that other mx28 boards > can reuse it. > > Signed-off-by: Fabio Estevam <fabio.estevam@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@gmail.com>
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
Let dram_init function be a common function, so that other mx28 boards can reuse it. Signed-off-by: Fabio Estevam <fabio.estevam@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(-)