[U-Boot] [RFC] ARM: omap3: Add option to disable errata workarounds.

Albert ARIBAUD albert.u.boot at aribaud.net
Tue Jul 9 11:10:40 CEST 2013


Hi Andreas,

On Tue, 09 Jul 2013 10:08:10 +0200, Andreas Naumann <dev at andin.de>
wrote:

> Hi,
> 
> It seems that all three ARM errata workarounds done in omap3 board-init 
> (#454179 #430973 #621766) are solved/not longer needed e.g. in the 
> AM/DM37xx chips. Other people have noticed this:
> http://e2e.ti.com/support/arm/sitara_arm/f/791/t/254742.aspx
> 
> When still applying them (especcially #430973), lots of segmentations 
> faults and other strange stuff begin to appear.
> So as a simple solution I propose adding a config option to remove these 
> workarounds for boards/silicon that dont need them. Is this sensible or 
> should there be more automatism?
> 
> 
> regards,
> Andreas
> 
> 
> PS. Does anybody have the "ARM Core Cortex-A8 (AT400/AT401) errata" 
> document to make sure my assumption above holds true?
> 
> 
> 
> ---
>   arch/arm/cpu/armv7/omap3/board.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/arch/arm/cpu/armv7/omap3/board.c 
> b/arch/arm/cpu/armv7/omap3/board.c
> index b72fadc..84045d8 100644
> --- a/arch/arm/cpu/armv7/omap3/board.c
> +++ b/arch/arm/cpu/armv7/omap3/board.c
> @@ -236,8 +236,10 @@ void s_init(void)
> 
>   	try_unlock_memory();
> 
> +#ifndef CONFIG_SYS_DISABLE_CORTEXA8_ERRATA_WORKAROUNDS
>   	/* Errata workarounds */
>   	omap3_setup_aux_cr();
> +#endif
> 
>   #ifndef CONFIG_SYS_L2CACHE_OFF
>   	/* Invalidate L2-cache from secure mode */

Two remarks:

1. I would prefer the option to be the other way around, i.e. forcing
the inclusion of the workaround when defined rather than when not
defined; e.g. CONFIG_SYS_CORTEXA8_WORK_AROUND_ERRATA

2. (if applicable) I would prefer erratum-specific options, e.g.
CONFIG_SYS_CORTEXA8_WORK_AROUND_ERRATUM_430973 -- ok, "ERRATA" will be
fine too; what I want is easing the search for errata by number.

Amicalement,
-- 
Albert.


More information about the U-Boot mailing list