summaryrefslogtreecommitdiff
path: root/arch/arm/lib/cache-cp15.c
diff options
context:
space:
mode:
authorAneesh V <aneesh@ti.com>2011-06-16 23:30:49 +0000
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2011-07-04 10:55:25 +0200
commitc2dd0d45540397704de9b13287417d21049d34c6 (patch)
tree1fa1e0a14c4061d1090596d227ea4f516d5e483a /arch/arm/lib/cache-cp15.c
parente47f2db5371047eb9bcd115fee084e6a8a92a239 (diff)
downloadu-boot-imx-c2dd0d45540397704de9b13287417d21049d34c6.zip
u-boot-imx-c2dd0d45540397704de9b13287417d21049d34c6.tar.gz
u-boot-imx-c2dd0d45540397704de9b13287417d21049d34c6.tar.bz2
armv7: integrate cache maintenance support
- Enable I-cache on bootup - Enable MMU and D-cache immediately after relocation - Do necessary initialization before enabling d-cache and MMU - Changes to cleanup_before_linux() - Make changes according to the new framework Signed-off-by: Aneesh V <aneesh@ti.com>
Diffstat (limited to 'arch/arm/lib/cache-cp15.c')
-rw-r--r--arch/arm/lib/cache-cp15.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm/lib/cache-cp15.c b/arch/arm/lib/cache-cp15.c
index ba73fb9..51831a9 100644
--- a/arch/arm/lib/cache-cp15.c
+++ b/arch/arm/lib/cache-cp15.c
@@ -34,6 +34,12 @@
DECLARE_GLOBAL_DATA_PTR;
+void __arm_init_before_mmu(void)
+{
+}
+void arm_init_before_mmu(void)
+ __attribute__((weak, alias("__arm_init_before_mmu")));
+
static void cp_delay (void)
{
volatile int i;
@@ -65,6 +71,7 @@ static inline void mmu_setup(void)
int i;
u32 reg;
+ arm_init_before_mmu();
/* Set up an identity-mapping for all 4GB, rw for everyone */
for (i = 0; i < 4096; i++)
page_table[i] = i << 20 | (3 << 10) | 0x12;