diff options
author | Magnus Damm <damm@opensource.se> | 2012-05-16 15:45:25 +0900 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2012-05-18 00:14:02 +0200 |
commit | bd5a875d90c878be4d23f54ea565253734ae2377 (patch) | |
tree | 98cc3435486ab8b55374d24051b262c21600b95b /arch/arm/mach-shmobile/setup-emev2.c | |
parent | c050fb10c425cf189da5ca9b84e948ec2fc99049 (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.c | 24 |
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 9fff6233691..2a03a78abdd 100644 --- a/arch/arm/mach-shmobile/setup-emev2.c +++ b/arch/arm/mach-shmobile/setup-emev2.c @@ -34,6 +34,30 @@ #include <asm/mach/time.h> #include <asm/hardware/gic.h> +static struct map_desc emev2_io_desc[] __initdata = { +#ifdef CONFIG_SMP + /* 128K entity map for 0xe0100000 (SMU) */ + { + .virtual = 0xe0100000, + .pfn = __phys_to_pfn(0xe0100000), + .length = SZ_128K, + .type = MT_DEVICE + }, + /* 2M mapping for SCU + L2 controller */ + { + .virtual = 0xf0000000, + .pfn = __phys_to_pfn(0x1e000000), + .length = SZ_2M, + .type = MT_DEVICE + }, +#endif +}; + +void __init emev2_map_io(void) +{ + iotable_init(emev2_io_desc, ARRAY_SIZE(emev2_io_desc)); +} + /* UART */ static struct resource uart0_resources[] = { [0] = { |