summaryrefslogtreecommitdiffstats
path: root/board
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2009-02-20 18:22:41 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2009-02-20 18:30:42 +0100
commite983361aed49e29625712aadfb0fae36cb670a12 (patch)
treece9a584cc7c6a47b669014d6c41f3c61dd16b105 /board
parentb48ad93f8ebb98f499c17163f1a20517f33d9d11 (diff)
downloadbarebox-e983361aed49e29625712aadfb0fae36cb670a12.tar.gz
barebox-e983361aed49e29625712aadfb0fae36cb670a12.tar.xz
pcm043: add some startup code from Eboot
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'board')
-rw-r--r--board/pcm043/lowlevel_init.S9
1 files changed, 9 insertions, 0 deletions
diff --git a/board/pcm043/lowlevel_init.S b/board/pcm043/lowlevel_init.S
index b176432dc0..6f64ecfbb0 100644
--- a/board/pcm043/lowlevel_init.S
+++ b/board/pcm043/lowlevel_init.S
@@ -63,6 +63,7 @@ board_init_lowlevel:
mrc 15, 0, r0, c1, c0, 1
orr r0, r0, #7
+// orr r0, r0, #(1 << 31) /* disable hit under miss (Errata 364296) */
mcr 15, 0, r0, c1, c0, 1
orr r1, r1, #(1<<11) /* Flow prediction (Z) */
@@ -74,6 +75,14 @@ board_init_lowlevel:
mov r0, #0
mcr 15, 0, r0, c15, c2, 4
+ /*
+ * Branch predicition is now enabled. Flush the BTAC to ensure a valid
+ * starting point. Don't flush BTAC while it is disabled to avoid
+ * ARM1136 erratum 408023.
+ */
+ mov r0, #0
+ mcr p15, 0, r0, c7, c5, 6 /* flush entire BTAC */
+
mov r0, #0
mcr 15, 0, r0, c7, c7, 0 /* invalidate I cache and D cache */
mcr 15, 0, r0, c8, c7, 0 /* invalidate TLBs */