From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Sat, 11 Apr 2015 18:57:18 +0200 Subject: [U-Boot] [PATCHv3 13/17] arm: socfpga: spl: add board_init_f to SPL In-Reply-To: References: <1427752878-18426-1-git-send-email-dinguyen@opensource.altera.com> <201504030352.29038.marex@denx.de> Message-ID: <201504111857.18622.marex@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Tuesday, April 07, 2015 at 04:34:13 PM, Dinh Nguyen wrote: > On Fri, 3 Apr 2015, Marek Vasut wrote: > > On Tuesday, March 31, 2015 at 11:07:57 PM, Pavel Machek wrote: > > > Hi! > > > > > > On Mon 2015-03-30 17:01:14, dinguyen at opensource.altera.com wrote: > > > > From: Dinh Nguyen > > > > > > > > Remap SDRAM to 0x0, and clear OCRAM's ECC in board_init_f(). > > > > > > > > Signed-off-by: Dinh Nguyen > > > > Reviewed-by: Marek Vasut > > > > --- > > > > v3: Move the code from s_init to board_init_f > > > > --- > > > > > > > > arch/arm/cpu/armv7/socfpga/spl.c | 30 ++++++++++++++++++++++++++++++ > > > > 1 file changed, 30 insertions(+) > > > > > > > > diff --git a/arch/arm/cpu/armv7/socfpga/spl.c > > > > b/arch/arm/cpu/armv7/socfpga/spl.c index a008eac..f2d3f79 100644 > > > > --- a/arch/arm/cpu/armv7/socfpga/spl.c > > > > +++ b/arch/arm/cpu/armv7/socfpga/spl.c > > > > @@ -6,6 +6,7 @@ > > > > > > > > #include > > > > #include > > > > > > > > +#include > > > > > > > > #include > > > > #include > > > > #include > > > > > > > > @@ -19,6 +20,9 @@ > > > > > > > > DECLARE_GLOBAL_DATA_PTR; > > > > > > > > +static struct pl310_regs *const pl310 = > > > > + (struct pl310_regs *)CONFIG_SYS_PL310_BASE; > > > > + > > > > > > > > #define MAIN_VCO_BASE ( \ > > > > > > > > (CONFIG_HPS_MAINPLLGRP_VCO_DENOM << \ > > > > > > > > CLKMGR_MAINPLLGRP_VCO_DENOM_OFFSET) | \ > > > > > > > > @@ -44,6 +48,32 @@ DECLARE_GLOBAL_DATA_PTR; > > > > > > > > CLKMGR_SDRPLLGRP_VCO_NUMER_OFFSET) \ > > > > > > > > ) > > > > > > > > +void board_init_f(ulong dummy) > > > > +{ > > > > +#ifdef CONFIG_SPL_BUILD > > > > > > I don't get it. File is called spl.c, still it has ifdefs for > > > CONFIG_SPL_BUILD? > > > > Yeah, this shouldn't be here. In case spl.c would be compiled > > into regular u-boot build, this board_init_f symbol would colide > > with the board_init_f implemented by common/board_f.c > > Will fix in V4. > > > > > + struct socfpga_system_manager *sysmgr_regs = > > > > + (struct socfpga_system_manager *)SOCFPGA_SYSMGR_ADDRESS; > > > > + unsigned long reg; > > > > + /* > > > > + * First C code to run. Clear fake OCRAM ECC first as SBE > > > > + * and DBE might triggered during power on > > > > + */ > > > > + reg = readl(&sysmgr_regs->eccgrp_ocram); > > > > + if (reg & SYSMGR_ECC_OCRAM_SERR) > > > > + writel(SYSMGR_ECC_OCRAM_SERR | SYSMGR_ECC_OCRAM_EN, > > > > + &sysmgr_regs->eccgrp_ocram); > > > > + if (reg & SYSMGR_ECC_OCRAM_DERR) > > > > + writel(SYSMGR_ECC_OCRAM_DERR | SYSMGR_ECC_OCRAM_EN, > > > > + &sysmgr_regs->eccgrp_ocram); > > > > +#endif /* CONFIG_SPL_BUILD */ > > > > + > > > > + memset(__bss_start, 0, __bss_end - __bss_start); > > > > > > Add a comment below? > > > > > > /* Remap SDRAM to 0x0 */ > > I'll add to V4. Thanks!