]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/arm/mach-realview/realview_pb1176.c
Merge branches 'alignment', 'fixes', 'l2c' (early part) and 'misc' into for-next
[karo-tx-linux.git] / arch / arm / mach-realview / realview_pb1176.c
index c5eade76461be3cf2faa4d6dffbb9becc7cbb872..aad9c5a40d47b2bb1e602a232226d2e5f98e91df 100644 (file)
@@ -32,6 +32,7 @@
 #include <linux/irqchip/arm-gic.h>
 #include <linux/platform_data/clk-realview.h>
 #include <linux/reboot.h>
+#include <linux/memblock.h>
 
 #include <mach/hardware.h>
 #include <asm/irq.h>
@@ -339,15 +340,12 @@ static void realview_pb1176_restart(enum reboot_mode mode, const char *cmd)
        dsb();
 }
 
-static void realview_pb1176_fixup(struct tag *tags, char **from,
-                                 struct meminfo *meminfo)
+static void realview_pb1176_fixup(struct tag *tags, char **from)
 {
        /*
         * RealView PB1176 only has 128MB of RAM mapped at 0.
         */
-       meminfo->bank[0].start = 0;
-       meminfo->bank[0].size = SZ_128M;
-       meminfo->nr_banks = 1;
+       memblock_add(0, SZ_128M);
 }
 
 static void __init realview_pb1176_init(void)
@@ -355,7 +353,13 @@ static void __init realview_pb1176_init(void)
        int i;
 
 #ifdef CONFIG_CACHE_L2X0
-       /* 128Kb (16Kb/way) 8-way associativity. evmon/parity/share enabled. */
+       /*
+        * The PL220 needs to be manually configured as the hardware
+        * doesn't report the correct sizes.
+        * 128kB (16kB/way), 8-way associativity, event monitor and
+        * parity enabled, ignore share bit, no force write allocate
+        * Bits:  .... ...0 0111 0011 0000 .... .... ....
+        */
        l2x0_init(__io_address(REALVIEW_PB1176_L220_BASE), 0x00730000, 0xfe000fff);
 #endif