Hi!
On Mon 2015-03-30 17:01:14, dingu...@opensource.altera.com wrote:
> From: Dinh Nguyen <dingu...@opensource.altera.com>
> 
> Remap SDRAM to 0x0, and clear OCRAM's ECC in board_init_f().
> 
> Signed-off-by: Dinh Nguyen <dingu...@opensource.altera.com>
> Reviewed-by: Marek Vasut <ma...@denx.de>
> ---
> 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 <common.h>
>  #include <asm/io.h>
> +#include <asm/pl310.h>
>  #include <asm/u-boot.h>
>  #include <asm/utils.h>
>  #include <image.h>
> @@ -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?

> +     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 */
> +
> +     writel(0x1, &pl310->pl310_addr_filter_start);
> +



-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to