diff options
Diffstat (limited to 'arch/arm/mach-prima2/common.c')
| -rw-r--r-- | arch/arm/mach-prima2/common.c | 61 |
1 files changed, 44 insertions, 17 deletions
diff --git a/arch/arm/mach-prima2/common.c b/arch/arm/mach-prima2/common.c index f25a5419463..a860ea27e8a 100644 --- a/arch/arm/mach-prima2/common.c +++ b/arch/arm/mach-prima2/common.c @@ -15,36 +15,63 @@ #include <linux/of_platform.h> #include "common.h" -static struct of_device_id sirfsoc_of_bus_ids[] __initdata = { - { .compatible = "simple-bus", }, - {}, -}; - -void __init sirfsoc_mach_init(void) +static void __init sirfsoc_init_late(void) { - of_platform_bus_probe(NULL, sirfsoc_of_bus_ids, NULL); + sirfsoc_pm_init(); } -void __init sirfsoc_init_late(void) +static __init void sirfsoc_map_io(void) { - sirfsoc_pm_init(); + sirfsoc_map_lluart(); + sirfsoc_map_scu(); } +#ifdef CONFIG_ARCH_ATLAS6 +static const char *atlas6_dt_match[] __initconst = { + "sirf,atlas6", + NULL +}; + +DT_MACHINE_START(ATLAS6_DT, "Generic ATLAS6 (Flattened Device Tree)") + /* Maintainer: Barry Song <baohua.song@csr.com> */ + .l2c_aux_val = 0, + .l2c_aux_mask = ~0, + .map_io = sirfsoc_map_io, + .init_late = sirfsoc_init_late, + .dt_compat = atlas6_dt_match, +MACHINE_END +#endif + #ifdef CONFIG_ARCH_PRIMA2 -static const char *prima2_dt_match[] __initdata = { - "sirf,prima2", - NULL +static const char *prima2_dt_match[] __initconst = { + "sirf,prima2", + NULL }; DT_MACHINE_START(PRIMA2_DT, "Generic PRIMA2 (Flattened Device Tree)") /* Maintainer: Barry Song <baohua.song@csr.com> */ - .map_io = sirfsoc_map_lluart, - .init_irq = sirfsoc_of_irq_init, - .timer = &sirfsoc_timer, + .l2c_aux_val = 0, + .l2c_aux_mask = ~0, + .map_io = sirfsoc_map_io, .dma_zone_size = SZ_256M, - .init_machine = sirfsoc_mach_init, .init_late = sirfsoc_init_late, .dt_compat = prima2_dt_match, - .restart = sirfsoc_restart, +MACHINE_END +#endif + +#ifdef CONFIG_ARCH_MARCO +static const char *marco_dt_match[] __initconst = { + "sirf,marco", + NULL +}; + +DT_MACHINE_START(MARCO_DT, "Generic MARCO (Flattened Device Tree)") + /* Maintainer: Barry Song <baohua.song@csr.com> */ + .l2c_aux_val = 0, + .l2c_aux_mask = ~0, + .smp = smp_ops(sirfsoc_smp_ops), + .map_io = sirfsoc_map_io, + .init_late = sirfsoc_init_late, + .dt_compat = marco_dt_match, MACHINE_END #endif |
