Merge branches 'alignment', 'fixes', 'l2c' (early part) and 'misc' into for-next
This commit is contained in:
@@ -31,6 +31,7 @@
|
||||
#include <linux/amba/mmci.h>
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/mtd/physmap.h>
|
||||
#include <linux/memblock.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
#include <asm/irq.h>
|
||||
@@ -370,19 +371,15 @@ void __init realview_timer_init(unsigned int timer_irq)
|
||||
/*
|
||||
* Setup the memory banks.
|
||||
*/
|
||||
void realview_fixup(struct tag *tags, char **from, struct meminfo *meminfo)
|
||||
void realview_fixup(struct tag *tags, char **from)
|
||||
{
|
||||
/*
|
||||
* Most RealView platforms have 512MB contiguous RAM at 0x70000000.
|
||||
* Half of this is mirrored at 0.
|
||||
*/
|
||||
#ifdef CONFIG_REALVIEW_HIGH_PHYS_OFFSET
|
||||
meminfo->bank[0].start = 0x70000000;
|
||||
meminfo->bank[0].size = SZ_512M;
|
||||
meminfo->nr_banks = 1;
|
||||
memblock_add(0x70000000, SZ_512M);
|
||||
#else
|
||||
meminfo->bank[0].start = 0;
|
||||
meminfo->bank[0].size = SZ_256M;
|
||||
meminfo->nr_banks = 1;
|
||||
memblock_add(0, SZ_256M);
|
||||
#endif
|
||||
}
|
||||
|
@@ -51,8 +51,7 @@ extern int realview_flash_register(struct resource *res, u32 num);
|
||||
extern int realview_eth_register(const char *name, struct resource *res);
|
||||
extern int realview_usb_register(struct resource *res);
|
||||
extern void realview_init_early(void);
|
||||
extern void realview_fixup(struct tag *tags, char **from,
|
||||
struct meminfo *meminfo);
|
||||
extern void realview_fixup(struct tag *tags, char **from);
|
||||
|
||||
extern struct smp_operations realview_smp_ops;
|
||||
extern void realview_cpu_die(unsigned int cpu);
|
||||
|
@@ -442,8 +442,13 @@ static void __init realview_eb_init(void)
|
||||
realview_eb11mp_fixup();
|
||||
|
||||
#ifdef CONFIG_CACHE_L2X0
|
||||
/* 1MB (128KB/way), 8-way associativity, evmon/parity/share enabled
|
||||
* Bits: .... ...0 0111 1001 0000 .... .... .... */
|
||||
/*
|
||||
* The PL220 needs to be manually configured as the hardware
|
||||
* doesn't report the correct sizes.
|
||||
* 1MB (128KB/way), 8-way associativity, event monitor and
|
||||
* parity enabled, ignore share bit, no force write allocate
|
||||
* Bits: .... ...0 0111 1001 0000 .... .... ....
|
||||
*/
|
||||
l2x0_init(__io_address(REALVIEW_EB11MP_L220_BASE), 0x00790000, 0xfe000fff);
|
||||
#endif
|
||||
platform_device_register(&pmu_device);
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -337,8 +337,13 @@ static void __init realview_pb11mp_init(void)
|
||||
int i;
|
||||
|
||||
#ifdef CONFIG_CACHE_L2X0
|
||||
/* 1MB (128KB/way), 8-way associativity, evmon/parity/share enabled
|
||||
* Bits: .... ...0 0111 1001 0000 .... .... .... */
|
||||
/*
|
||||
* The PL220 needs to be manually configured as the hardware
|
||||
* doesn't report the correct sizes.
|
||||
* 1MB (128KB/way), 8-way associativity, event monitor and
|
||||
* parity enabled, ignore share bit, no force write allocate
|
||||
* Bits: .... ...0 0111 1001 0000 .... .... ....
|
||||
*/
|
||||
l2x0_init(__io_address(REALVIEW_TC11MP_L220_BASE), 0x00790000, 0xfe000fff);
|
||||
#endif
|
||||
|
||||
|
@@ -29,6 +29,7 @@
|
||||
#include <linux/irqchip/arm-gic.h>
|
||||
#include <linux/platform_data/clk-realview.h>
|
||||
#include <linux/reboot.h>
|
||||
#include <linux/memblock.h>
|
||||
|
||||
#include <asm/irq.h>
|
||||
#include <asm/mach-types.h>
|
||||
@@ -325,23 +326,19 @@ static void __init realview_pbx_timer_init(void)
|
||||
realview_pbx_twd_init();
|
||||
}
|
||||
|
||||
static void realview_pbx_fixup(struct tag *tags, char **from,
|
||||
struct meminfo *meminfo)
|
||||
static void realview_pbx_fixup(struct tag *tags, char **from)
|
||||
{
|
||||
#ifdef CONFIG_SPARSEMEM
|
||||
/*
|
||||
* Memory configuration with SPARSEMEM enabled on RealView PBX (see
|
||||
* asm/mach/memory.h for more information).
|
||||
*/
|
||||
meminfo->bank[0].start = 0;
|
||||
meminfo->bank[0].size = SZ_256M;
|
||||
meminfo->bank[1].start = 0x20000000;
|
||||
meminfo->bank[1].size = SZ_512M;
|
||||
meminfo->bank[2].start = 0x80000000;
|
||||
meminfo->bank[2].size = SZ_256M;
|
||||
meminfo->nr_banks = 3;
|
||||
|
||||
memblock_add(0, SZ_256M);
|
||||
memblock_add(0x20000000, SZ_512M);
|
||||
memblock_add(0x80000000, SZ_256M);
|
||||
#else
|
||||
realview_fixup(tags, from, meminfo);
|
||||
realview_fixup(tags, from);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -370,8 +367,8 @@ static void __init realview_pbx_init(void)
|
||||
__io_address(REALVIEW_PBX_TILE_L220_BASE);
|
||||
|
||||
/* set RAM latencies to 1 cycle for eASIC */
|
||||
writel(0, l2x0_base + L2X0_TAG_LATENCY_CTRL);
|
||||
writel(0, l2x0_base + L2X0_DATA_LATENCY_CTRL);
|
||||
writel(0, l2x0_base + L310_TAG_LATENCY_CTRL);
|
||||
writel(0, l2x0_base + L310_DATA_LATENCY_CTRL);
|
||||
|
||||
/* 16KB way size, 8-way associativity, parity disabled
|
||||
* Bits: .. 0 0 0 0 1 00 1 0 1 001 0 000 0 .... .... .... */
|
||||
|
Reference in New Issue
Block a user