public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Igor Grinberg <grinberg@compulab.co.il>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] omap3: ARM Cortex-A8 errata workarounds config option
Date: Sun, 22 Feb 2015 14:06:39 +0200	[thread overview]
Message-ID: <54E9C64F.1010303@compulab.co.il> (raw)
In-Reply-To: <1424604994-31875-1-git-send-email-contact@paulk.fr>

Hi Paul,

On 02/22/15 13:36, Paul Kocialkowski wrote:
> Workarounds applied in omap3_setup_aux_cr are only necessary for ARM core
> revisions prior to r3p2 (such as OMAP35xx but apparently not OMAP36xx and
> DM37xx)

If this is true, I can see some (potential) problems with the patch.
Please, check out my thoughts on this below.

> and require similar workarounds in the kernel, or it will cause numerous
> segmentation faults. This allows (when the option is not used) properly booting
> kernels that do not include the workaround.
> 
> Follow-up to the discussion from July 2013:
> http://lists.denx.de/pipermail/u-boot/2013-July/158377.html
> 
> Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
> ---
>  README                             | 8 ++++++++
>  arch/arm/cpu/armv7/omap3/board.c   | 2 ++
>  include/configs/am3517_crane.h     | 2 ++
>  include/configs/am3517_evm.h       | 2 ++
>  include/configs/cm_t35.h           | 2 ++
>  include/configs/cm_t3517.h         | 2 ++
>  include/configs/dig297.h           | 2 ++
>  include/configs/mcx.h              | 2 ++
>  include/configs/nokia_rx51.h       | 2 ++
>  include/configs/omap3_evm_common.h | 2 ++
>  include/configs/omap3_logic.h      | 2 ++
>  include/configs/omap3_mvblx.h      | 2 ++
>  include/configs/omap3_pandora.h    | 2 ++
>  include/configs/omap3_sdp3430.h    | 2 ++
>  include/configs/omap3_zoom1.h      | 2 ++
>  include/configs/tam3517-common.h   | 2 ++
>  include/configs/tao3530.h          | 2 ++
>  include/configs/ti_omap3_common.h  | 2 ++
>  include/configs/tricorder.h        | 2 ++
>  19 files changed, 44 insertions(+)
> 
> diff --git a/README b/README
> index ba57dc5..a39420d 100644
> --- a/README
> +++ b/README
> @@ -621,6 +621,14 @@ The following options need to be configured:
>  		exists, unlike the similar options in the Linux kernel. Do not
>  		set these options unless they apply!
>  
> +		CONFIG_SYS_ARM_CORTEXA8_ERRATA
> +
> +		Enables workarounds for ARM Cortex-A8 errata 454179, 430973
> +		and 621766. This is only necessary for ARM core revisions prior
> +		to r3p2. Enabling those workarounds requires to enable the same
> +		workarounds in the kernel, or it will cause multiple
> +		segmentation faults. This is currently only effective on OMAP3.
> +
>  - Driver Model
>  		Driver model is a new framework for devices in U-Boot
>  		introduced in early 2014. U-Boot is being progressively
> diff --git a/arch/arm/cpu/armv7/omap3/board.c b/arch/arm/cpu/armv7/omap3/board.c
> index 90d6ae7..813f35b 100644
> --- a/arch/arm/cpu/armv7/omap3/board.c
> +++ b/arch/arm/cpu/armv7/omap3/board.c
> @@ -246,8 +246,10 @@ void s_init(void)
>  
>  	try_unlock_memory();
>  
> +#ifdef CONFIG_SYS_ARM_CORTEXA8_ERRATA
>  	/* Errata workarounds */
>  	omap3_setup_aux_cr();

Can we have the revision dynamically checked instead of/along with
introducing a config option?
We have boards, OMAP3 based, which are supported by the same board file
and the same config file, see below.

> +#endif
>  
>  #ifndef CONFIG_SYS_L2CACHE_OFF
>  	/* Invalidate L2-cache from secure mode */

[...]

> diff --git a/include/configs/cm_t35.h b/include/configs/cm_t35.h
> index b2a9f35..150b419 100644
> --- a/include/configs/cm_t35.h
> +++ b/include/configs/cm_t35.h
> @@ -38,6 +38,8 @@
>  #define CONFIG_DISPLAY_CPUINFO
>  #define CONFIG_DISPLAY_BOARDINFO
>  
> +#define CONFIG_SYS_ARM_CORTEXA8_ERRATA

This config file is used for both cm-t35 and cm-t3730.
cm-t35 has OMAP3530, but cm-t3730 has DM3730. 
The same U-Boot binary is used for both boards.

> +
>  /* Clock Defines */
>  #define V_OSCK			26000000	/* Clock output from T2 */
>  #define V_SCLK			(V_OSCK >> 1)

[...]

-- 
Regards,
Igor.

  reply	other threads:[~2015-02-22 12:06 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-22 11:36 [U-Boot] [PATCH] omap3: ARM Cortex-A8 errata workarounds config option Paul Kocialkowski
2015-02-22 12:06 ` Igor Grinberg [this message]
2015-02-22 15:45   ` Paul Kocialkowski
2015-02-22 15:55     ` Paul Kocialkowski
2015-02-22 16:02     ` Paul Kocialkowski
2015-02-22 16:42       ` [U-Boot] [PATCH v2] omap3: Variant and revision checks for ARM Cortex-A8 errata workarounds Paul Kocialkowski
2015-02-23 11:09         ` Igor Grinberg
2015-02-23 15:07           ` Paul Kocialkowski
2015-02-23 19:16             ` [U-Boot] [PATCH] " Paul Kocialkowski
2015-02-23 22:21               ` Tom Rini
2015-02-23 22:43                 ` Nishanth Menon
2015-02-24 12:02                   ` Paul Kocialkowski
2015-02-24 15:22                     ` Nishanth Menon
2015-02-24 16:09                       ` Paul Kocialkowski
2015-02-24 23:02                         ` Nishanth Menon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54E9C64F.1010303@compulab.co.il \
    --to=grinberg@compulab.co.il \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox