diff options
Diffstat (limited to 'arch/arm/mach-u300/u300.c')
-rw-r--r-- | arch/arm/mach-u300/u300.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/arm/mach-u300/u300.c b/arch/arm/mach-u300/u300.c index d2a0b8847a18..bfcda9820888 100644 --- a/arch/arm/mach-u300/u300.c +++ b/arch/arm/mach-u300/u300.c | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <linux/sched.h> | 14 | #include <linux/sched.h> |
15 | #include <linux/interrupt.h> | 15 | #include <linux/interrupt.h> |
16 | #include <linux/ioport.h> | 16 | #include <linux/ioport.h> |
17 | #include <linux/memblock.h> | ||
17 | #include <linux/platform_device.h> | 18 | #include <linux/platform_device.h> |
18 | #include <linux/io.h> | 19 | #include <linux/io.h> |
19 | #include <mach/hardware.h> | 20 | #include <mach/hardware.h> |
@@ -22,6 +23,21 @@ | |||
22 | #include <asm/mach-types.h> | 23 | #include <asm/mach-types.h> |
23 | #include <asm/mach/arch.h> | 24 | #include <asm/mach/arch.h> |
24 | 25 | ||
26 | static void __init u300_reserve(void) | ||
27 | { | ||
28 | /* | ||
29 | * U300 - This platform family can share physical memory | ||
30 | * between two ARM cpus, one running Linux and the other | ||
31 | * running another OS. | ||
32 | */ | ||
33 | #ifdef CONFIG_MACH_U300_SINGLE_RAM | ||
34 | #if ((CONFIG_MACH_U300_ACCESS_MEM_SIZE & 1) == 1) && \ | ||
35 | CONFIG_MACH_U300_2MB_ALIGNMENT_FIX | ||
36 | memblock_reserve(PHYS_OFFSET, 0x00100000); | ||
37 | #endif | ||
38 | #endif | ||
39 | } | ||
40 | |||
25 | static void __init u300_init_machine(void) | 41 | static void __init u300_init_machine(void) |
26 | { | 42 | { |
27 | u300_init_devices(); | 43 | u300_init_devices(); |
@@ -49,6 +65,7 @@ MACHINE_START(U300, MACH_U300_STRING) | |||
49 | .io_pg_offst = ((U300_AHB_PER_VIRT_BASE) >> 18) & 0xfffc, | 65 | .io_pg_offst = ((U300_AHB_PER_VIRT_BASE) >> 18) & 0xfffc, |
50 | .boot_params = BOOT_PARAMS_OFFSET, | 66 | .boot_params = BOOT_PARAMS_OFFSET, |
51 | .map_io = u300_map_io, | 67 | .map_io = u300_map_io, |
68 | .reserve = u300_reserve, | ||
52 | .init_irq = u300_init_irq, | 69 | .init_irq = u300_init_irq, |
53 | .timer = &u300_timer, | 70 | .timer = &u300_timer, |
54 | .init_machine = u300_init_machine, | 71 | .init_machine = u300_init_machine, |