diff options
Diffstat (limited to 'arch/arm/mach-prima2/common.c')
-rw-r--r-- | arch/arm/mach-prima2/common.c | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/arch/arm/mach-prima2/common.c b/arch/arm/mach-prima2/common.c index f25a54194639..2d57aa479a7b 100644 --- a/arch/arm/mach-prima2/common.c +++ b/arch/arm/mach-prima2/common.c | |||
@@ -8,6 +8,7 @@ | |||
8 | 8 | ||
9 | #include <linux/init.h> | 9 | #include <linux/init.h> |
10 | #include <linux/kernel.h> | 10 | #include <linux/kernel.h> |
11 | #include <linux/irqchip.h> | ||
11 | #include <asm/sizes.h> | 12 | #include <asm/sizes.h> |
12 | #include <asm/mach-types.h> | 13 | #include <asm/mach-types.h> |
13 | #include <asm/mach/arch.h> | 14 | #include <asm/mach/arch.h> |
@@ -30,6 +31,12 @@ void __init sirfsoc_init_late(void) | |||
30 | sirfsoc_pm_init(); | 31 | sirfsoc_pm_init(); |
31 | } | 32 | } |
32 | 33 | ||
34 | static __init void sirfsoc_map_io(void) | ||
35 | { | ||
36 | sirfsoc_map_lluart(); | ||
37 | sirfsoc_map_scu(); | ||
38 | } | ||
39 | |||
33 | #ifdef CONFIG_ARCH_PRIMA2 | 40 | #ifdef CONFIG_ARCH_PRIMA2 |
34 | static const char *prima2_dt_match[] __initdata = { | 41 | static const char *prima2_dt_match[] __initdata = { |
35 | "sirf,prima2", | 42 | "sirf,prima2", |
@@ -38,9 +45,12 @@ static const char *prima2_dt_match[] __initdata = { | |||
38 | 45 | ||
39 | DT_MACHINE_START(PRIMA2_DT, "Generic PRIMA2 (Flattened Device Tree)") | 46 | DT_MACHINE_START(PRIMA2_DT, "Generic PRIMA2 (Flattened Device Tree)") |
40 | /* Maintainer: Barry Song <baohua.song@csr.com> */ | 47 | /* Maintainer: Barry Song <baohua.song@csr.com> */ |
41 | .map_io = sirfsoc_map_lluart, | 48 | .map_io = sirfsoc_map_io, |
42 | .init_irq = sirfsoc_of_irq_init, | 49 | .init_irq = sirfsoc_of_irq_init, |
43 | .timer = &sirfsoc_timer, | 50 | .init_time = sirfsoc_prima2_timer_init, |
51 | #ifdef CONFIG_MULTI_IRQ_HANDLER | ||
52 | .handle_irq = sirfsoc_handle_irq, | ||
53 | #endif | ||
44 | .dma_zone_size = SZ_256M, | 54 | .dma_zone_size = SZ_256M, |
45 | .init_machine = sirfsoc_mach_init, | 55 | .init_machine = sirfsoc_mach_init, |
46 | .init_late = sirfsoc_init_late, | 56 | .init_late = sirfsoc_init_late, |
@@ -48,3 +58,22 @@ DT_MACHINE_START(PRIMA2_DT, "Generic PRIMA2 (Flattened Device Tree)") | |||
48 | .restart = sirfsoc_restart, | 58 | .restart = sirfsoc_restart, |
49 | MACHINE_END | 59 | MACHINE_END |
50 | #endif | 60 | #endif |
61 | |||
62 | #ifdef CONFIG_ARCH_MARCO | ||
63 | static const char *marco_dt_match[] __initdata = { | ||
64 | "sirf,marco", | ||
65 | NULL | ||
66 | }; | ||
67 | |||
68 | DT_MACHINE_START(MARCO_DT, "Generic MARCO (Flattened Device Tree)") | ||
69 | /* Maintainer: Barry Song <baohua.song@csr.com> */ | ||
70 | .smp = smp_ops(sirfsoc_smp_ops), | ||
71 | .map_io = sirfsoc_map_io, | ||
72 | .init_irq = irqchip_init, | ||
73 | .init_time = sirfsoc_marco_timer_init, | ||
74 | .init_machine = sirfsoc_mach_init, | ||
75 | .init_late = sirfsoc_init_late, | ||
76 | .dt_compat = marco_dt_match, | ||
77 | .restart = sirfsoc_restart, | ||
78 | MACHINE_END | ||
79 | #endif | ||