summaryrefslogtreecommitdiff
path: root/recipes/u-boot/files
diff options
context:
space:
mode:
authorGraeme Gregory <dp@xora.org.uk>2010-02-10 11:58:39 +0000
committerGraeme Gregory <dp@xora.org.uk>2010-02-10 11:58:39 +0000
commit52faa35123abc4215e7e086d47985801b3789292 (patch)
treeb4b096258a19bf45da36e9c108a7e73841ffba58 /recipes/u-boot/files
parent798fe719221070bac2b5bd7318e8240404e8d0ff (diff)
u-boot_git.bb : add actual omapzoom2 u-boot from TI tree.
This is the TI maintained u-boot for the zoom2. Also added is koens patch to make sure NEON code does not deadlock.
Diffstat (limited to 'recipes/u-boot/files')
-rw-r--r--recipes/u-boot/files/omapzoom2/0001-OMAP3-set-L1NEON-bit-in-aux-control-register.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/recipes/u-boot/files/omapzoom2/0001-OMAP3-set-L1NEON-bit-in-aux-control-register.patch b/recipes/u-boot/files/omapzoom2/0001-OMAP3-set-L1NEON-bit-in-aux-control-register.patch
new file mode 100644
index 0000000000..84822a717c
--- /dev/null
+++ b/recipes/u-boot/files/omapzoom2/0001-OMAP3-set-L1NEON-bit-in-aux-control-register.patch
@@ -0,0 +1,40 @@
+From fe048d0b6db98744888ba79b6b6551d822e19edd Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Mon, 25 Jan 2010 14:31:01 +0100
+Subject: [PATCH] OMAP3: set L1NEON bit in aux control register
+
+This is required to work around ARM erratum 621766, affecting
+Cortex-A8 r1p0-3:
+
+ When a sequence of Neon load instructions is intermixed with several
+ branches, some of which are mispredicted, it is possible for the
+ processor to deadlock due to Neon loads on the speculative path not
+ being properly flushed from the Neon load queue.
+
+Also enable ASA like recent upstream u-boots do.
+
+Based on a patch from Mans Rullgard: http://www.mail-archive.com/u-boot@lists.denx.de/msg04879.html
+---
+ cpu/omap3/cpu.c | 6 ++++--
+ 1 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/cpu/omap3/cpu.c b/cpu/omap3/cpu.c
+index 54c0ecf..0f3882a 100644
+--- a/cpu/omap3/cpu.c
++++ b/cpu/omap3/cpu.c
+@@ -252,8 +252,10 @@ void setup_auxcr(int device_type, int boot_type)
+ /* r12 = AUXCR Write function and r0 value */
+ __asm__ __volatile__("mov r12, #0x3");
+ __asm__ __volatile__("mrc p15, 0, r0, c1, c0, 1");
+- /* Enabling IBE. ASA is disabled following recommendation from ARM */
+- __asm__ __volatile__("orr r0, r0, #0x40");
++ /* Enabling ASA */
++ __asm__ __volatile__("orr r0, r0, #0x10");
++ /* Enable L1NEON */
++ __asm__ __volatile__("orr r0, r0, #1<<5");
+ /* SMI instruction to call ROM Code API */
+ __asm__ __volatile__(".word 0xE1600070");
+
+--
+1.6.5
+