|
@@ -22,10 +22,14 @@
|
|
|
|
|
|
#include <linux/mm.h>
|
|
|
#include <linux/init.h>
|
|
|
-#include <mach/hardware.h>
|
|
|
+#include <linux/err.h>
|
|
|
+
|
|
|
#include <asm/pgtable.h>
|
|
|
#include <asm/mach/map.h>
|
|
|
+#include <asm/hardware/cache-l2x0.h>
|
|
|
+
|
|
|
#include <mach/common.h>
|
|
|
+#include <mach/hardware.h>
|
|
|
|
|
|
/*!
|
|
|
* @file mm.c
|
|
@@ -62,3 +66,24 @@ void __init mxc_map_io(void)
|
|
|
{
|
|
|
iotable_init(mxc_io_desc, ARRAY_SIZE(mxc_io_desc));
|
|
|
}
|
|
|
+
|
|
|
+#ifdef CONFIG_CACHE_L2X0
|
|
|
+static int mxc_init_l2x0(void)
|
|
|
+{
|
|
|
+ void __iomem *l2x0_base;
|
|
|
+
|
|
|
+ l2x0_base = ioremap(L2CC_BASE_ADDR, 4096);
|
|
|
+ if (IS_ERR(l2x0_base)) {
|
|
|
+ printk(KERN_ERR "remapping L2 cache area failed with %ld\n",
|
|
|
+ PTR_ERR(l2x0_base));
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ l2x0_init(l2x0_base, 0x00030024, 0x00000000);
|
|
|
+
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
+arch_initcall(mxc_init_l2x0);
|
|
|
+#endif
|
|
|
+
|