2 * Defines machines for CSR SiRFprimaII
4 * Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company.
6 * Licensed under GPLv2 or later.
9 #include <linux/init.h>
10 #include <linux/kernel.h>
11 #include <linux/irqchip.h>
12 #include <asm/sizes.h>
13 #include <asm/mach-types.h>
14 #include <asm/mach/arch.h>
16 #include <linux/of_platform.h>
19 static struct of_device_id sirfsoc_of_bus_ids[] __initdata = {
20 { .compatible = "simple-bus", },
24 void __init sirfsoc_mach_init(void)
26 of_platform_bus_probe(NULL, sirfsoc_of_bus_ids, NULL);
29 void __init sirfsoc_init_late(void)
34 static __init void sirfsoc_map_io(void)
40 #ifdef CONFIG_ARCH_PRIMA2
41 static const char *prima2_dt_match[] __initdata = {
46 DT_MACHINE_START(PRIMA2_DT, "Generic PRIMA2 (Flattened Device Tree)")
47 /* Maintainer: Barry Song <baohua.song@csr.com> */
48 .map_io = sirfsoc_map_io,
49 .init_irq = sirfsoc_of_irq_init,
50 .init_time = sirfsoc_prima2_timer_init,
51 #ifdef CONFIG_MULTI_IRQ_HANDLER
52 .handle_irq = sirfsoc_handle_irq,
54 .dma_zone_size = SZ_256M,
55 .init_machine = sirfsoc_mach_init,
56 .init_late = sirfsoc_init_late,
57 .dt_compat = prima2_dt_match,
58 .restart = sirfsoc_restart,
62 #ifdef CONFIG_ARCH_MARCO
63 static const char *marco_dt_match[] __initdata = {
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,