diff options
-rw-r--r-- | conf/machine/omapzoom2.conf | 2 | ||||
-rw-r--r-- | recipes/u-boot/files/omapzoom2/0001-OMAP3-set-L1NEON-bit-in-aux-control-register.patch | 40 | ||||
-rw-r--r-- | recipes/u-boot/u-boot_git.bb | 16 |
3 files changed, 55 insertions, 3 deletions
diff --git a/conf/machine/omapzoom2.conf b/conf/machine/omapzoom2.conf index 749339faea..7152dc1789 100644 --- a/conf/machine/omapzoom2.conf +++ b/conf/machine/omapzoom2.conf @@ -29,7 +29,7 @@ KERNEL_IMAGETYPE = "uImage" UBOOT_ENTRYPOINT = "0x80008000" UBOOT_LOADADDRESS = "0x80008000" -UBOOT_MACHINE = "omap3_zoom2_config" +UBOOT_MACHINE = "omap3430zoom2_config" # do ubiattach /dev/ubi_ctrl -m 4 # From dmesg: 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 \ |