diff options
Diffstat (limited to 'arch/arm/mach-u300')
-rw-r--r-- | arch/arm/mach-u300/clock.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-u300/u300.c | 17 |
2 files changed, 23 insertions, 0 deletions
diff --git a/arch/arm/mach-u300/clock.c b/arch/arm/mach-u300/clock.c index 5af71d5ba665..5d12d547789e 100644 --- a/arch/arm/mach-u300/clock.c +++ b/arch/arm/mach-u300/clock.c | |||
@@ -1212,6 +1212,8 @@ static struct clk ppm_clk = { | |||
1212 | }; | 1212 | }; |
1213 | #endif | 1213 | #endif |
1214 | 1214 | ||
1215 | static struct clk dummy_apb_pclk; | ||
1216 | |||
1215 | #define DEF_LOOKUP(devid, clkref) \ | 1217 | #define DEF_LOOKUP(devid, clkref) \ |
1216 | { \ | 1218 | { \ |
1217 | .dev_id = devid, \ | 1219 | .dev_id = devid, \ |
@@ -1223,6 +1225,10 @@ static struct clk ppm_clk = { | |||
1223 | * look up through clockdevice. | 1225 | * look up through clockdevice. |
1224 | */ | 1226 | */ |
1225 | static struct clk_lookup lookups[] = { | 1227 | static struct clk_lookup lookups[] = { |
1228 | { | ||
1229 | .con_id = "apb_pclk", | ||
1230 | .clk = &dummy_apb_pclk, | ||
1231 | }, | ||
1226 | /* Connected directly to the AMBA bus */ | 1232 | /* Connected directly to the AMBA bus */ |
1227 | DEF_LOOKUP("amba", &amba_clk), | 1233 | DEF_LOOKUP("amba", &amba_clk), |
1228 | DEF_LOOKUP("cpu", &cpu_clk), | 1234 | DEF_LOOKUP("cpu", &cpu_clk), |
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, |