summaryrefslogtreecommitdiff
path: root/recipes/u-boot
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
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')
-rw-r--r--recipes/u-boot/files/omapzoom2/0001-OMAP3-set-L1NEON-bit-in-aux-control-register.patch40
-rw-r--r--recipes/u-boot/u-boot_git.bb16
2 files changed, 54 insertions, 2 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
+
diff --git a/recipes/u-boot/u-boot_git.bb b/recipes/u-boot/u-boot_git.bb
index 6273e044da..b34b8d13f8 100644
--- a/recipes/u-boot/u-boot_git.bb
+++ b/recipes/u-boot/u-boot_git.bb
@@ -79,8 +79,20 @@ SRC_URI_omapzoom = "git://www.sakoman.net/git/u-boot-omap3.git;branch=omap3-dev;
SRCREV_omapzoom = "d691b424f1f5bf7eea3a4131dfc578d272e8f335"
PV_omapzoom = "2009.01+${PR}+gitr${SRCREV}"
-SRCREV_omapzoom2 = "3672cd5c3b53d219d33345eebad4e25ad5bf6d52"
-PV_omapzoom2 = "2009.05+${PR}+gitr${SRCREV}"
+SRC_URI_omapzoom2 = "git://dev.omapzoom.org/pub/scm/bootloader/u-boot.git;branch=master;protocol=git \
+ file://0001-OMAP3-set-L1NEON-bit-in-aux-control-register.patch;patch=1"
+SRCREV_omapzoom2 = "78e778e0ea884306841c6499851a1e35177d81d0"
+PV_omapzoom2 = "1.1.4+${PR}+gitr${SRCREV}"
+PE_omapzoom2 = "1"
+
+do_compile_omapzoom2 () {
+ unset LDFLAGS
+ unset CFLAGS
+ unset CPPFLAGS
+ oe_runmake ${UBOOT_MACHINE}
+ oe_runmake all
+ oe_runmake tools
+}
SRC_URI_overo = "git://gitorious.org/u-boot-omap3/mainline.git;branch=omap3-dev;protocol=git \
file://fw-env.patch;patch=1 \