summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorNishanth Menon <nm@ti.com>2015-07-27 16:26:05 -0500
committerTom Rini <trini@konsulko.com>2015-08-12 20:47:49 -0400
commita615d0be6a73fc48a22e5662608260fe9b9149ff (patch)
tree974a975412191f2f1a2872760304c1749044ca69 /README
parent3f394e70f0cc31a5d63d3650fd4f48e450ea16cd (diff)
downloadu-boot-imx-a615d0be6a73fc48a22e5662608260fe9b9149ff.zip
u-boot-imx-a615d0be6a73fc48a22e5662608260fe9b9149ff.tar.gz
u-boot-imx-a615d0be6a73fc48a22e5662608260fe9b9149ff.tar.bz2
ARM: Introduce erratum workaround for 801819
Add workaround for Cortex-A15 ARM erratum 801819 which says in summary that "A livelock can occur in the L2 cache arbitration that might prevent a snoop from completing. Under certain conditions this can cause the system to deadlock. " Recommended workaround is as follows: Do both of the following: 1) Do not use the write-back no-allocate memory type. 2) Do not issue write-back cacheable stores at any time when the cache is disabled (SCTLR.C=0) and the MMU is enabled (SCTLR.M=1). Because it is implementation defined whether cacheable stores update the cache when the cache is disabled it is not expected that any portable code will execute cacheable stores when the cache is disabled. For implementations of Cortex-A15 configured without the “L2 arbitration register slice” option (typically one or two core systems), you must also do the following: 3) Disable write-streaming in each CPU by setting ACTLR[28:25] = 0b1111 So, we provide an option to disable write streaming on OMAP5 and DRA7. It is a rare condition to occur and may be enabled selectively based on platform acceptance of risk. Applies to: A15 revisions r2p0, r2p1, r2p2, r2p3 or r2p4 and REVIDR[3] is set to 0. Note: certain unicore SoCs *might* not have REVIDR[3] not set, but might not meet the condition for the erratum to occur when they donot have ACP (Accelerator Coherency Port) hooked to ACE (AXI Coherency Extensions). Such SoCs will need the work around handled in the SoC specific manner, since there is no ARM generic manner to detect such configurations. Based on ARM errata Document revision 18.0 (22 Nov 2013) Suggested-by: Richard Woodruff <r-woodruff2@ti.com> Suggested-by: Brad Griffis <bgriffis@ti.com> Reviewed-by: Brad Griffis <bgriffis@ti.com> Signed-off-by: Nishanth Menon <nm@ti.com>
Diffstat (limited to 'README')
-rw-r--r--README1
1 files changed, 1 insertions, 0 deletions
diff --git a/README b/README
index 1bcb63c..95f2d9d 100644
--- a/README
+++ b/README
@@ -705,6 +705,7 @@ The following options need to be configured:
CONFIG_ARM_ERRATA_454179
CONFIG_ARM_ERRATA_621766
CONFIG_ARM_ERRATA_798870
+ CONFIG_ARM_ERRATA_801819
- Tegra SoC options:
CONFIG_TEGRA_SUPPORT_NON_SECURE