aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-shmobile/setup-emev2.c
diff options
context:
space:
mode:
authorMagnus Damm <damm@opensource.se>2012-05-16 02:45:25 -0400
committerRafael J. Wysocki <rjw@sisk.pl>2012-05-17 18:14:02 -0400
commitbd5a875d90c878be4d23f54ea565253734ae2377 (patch)
tree98cc3435486ab8b55374d24051b262c21600b95b /arch/arm/mach-shmobile/setup-emev2.c
parentc050fb10c425cf189da5ca9b84e948ec2fc99049 (diff)
mach-shmobile: Emma Mobile EV2 SMP support V3
This is V3 of Emma Mobile EV2 SMP support. At this point only the most basic form of SMP operation is supported. TWD and CPU Hotplug support is excluded. Tied to both the Emma Mobile EV2 and the KZM9D board due to the need to switch on board in platsmp.c and the newly introduced need for static mappings. The static mappings are needed to allow hardware acces early during boot when SMP is initialized. This early requirement forces us to also map in the SMU registers. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'arch/arm/mach-shmobile/setup-emev2.c')
-rw-r--r--arch/arm/mach-shmobile/setup-emev2.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/setup-emev2.c b/arch/arm/mach-shmobile/setup-emev2.c
index 9fff62336911..2a03a78abddd 100644
--- a/arch/arm/mach-shmobile/setup-emev2.c
+++ b/arch/arm/mach-shmobile/setup-emev2.c
@@ -34,6 +34,30 @@
34#include <asm/mach/time.h> 34#include <asm/mach/time.h>
35#include <asm/hardware/gic.h> 35#include <asm/hardware/gic.h>
36 36
37static struct map_desc emev2_io_desc[] __initdata = {
38#ifdef CONFIG_SMP
39 /* 128K entity map for 0xe0100000 (SMU) */
40 {
41 .virtual = 0xe0100000,
42 .pfn = __phys_to_pfn(0xe0100000),
43 .length = SZ_128K,
44 .type = MT_DEVICE
45 },
46 /* 2M mapping for SCU + L2 controller */
47 {
48 .virtual = 0xf0000000,
49 .pfn = __phys_to_pfn(0x1e000000),
50 .length = SZ_2M,
51 .type = MT_DEVICE
52 },
53#endif
54};
55
56void __init emev2_map_io(void)
57{
58 iotable_init(emev2_io_desc, ARRAY_SIZE(emev2_io_desc));
59}
60
37/* UART */ 61/* UART */
38static struct resource uart0_resources[] = { 62static struct resource uart0_resources[] = {
39 [0] = { 63 [0] = {