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/clocksource.h>
10 #include <linux/init.h>
11 #include <linux/kernel.h>
12 #include <linux/irqchip.h>
13 #include <asm/sizes.h>
14 #include <asm/mach-types.h>
15 #include <asm/mach/arch.h>
17 #include <linux/of_platform.h>
20 static struct of_device_id sirfsoc_of_bus_ids[] __initdata = {
21 { .compatible = "simple-bus", },
25 void __init sirfsoc_mach_init(void)
27 of_platform_bus_probe(NULL, sirfsoc_of_bus_ids, NULL);
30 void __init sirfsoc_init_late(void)
35 static __init void sirfsoc_init_time(void)
37 /* initialize clocking early, we want to set the OS timer */
38 sirfsoc_of_clk_init();
39 clocksource_of_init();
42 static __init void sirfsoc_map_io(void)
48 #ifdef CONFIG_ARCH_ATLAS6
49 static const char *atlas6_dt_match[] __initdata = {
54 DT_MACHINE_START(ATLAS6_DT, "Generic ATLAS6 (Flattened Device Tree)")
55 /* Maintainer: Barry Song <baohua.song@csr.com> */
57 .map_io = sirfsoc_map_io,
58 .init_irq = irqchip_init,
59 .init_time = sirfsoc_init_time,
60 .init_machine = sirfsoc_mach_init,
61 .init_late = sirfsoc_init_late,
62 .dt_compat = atlas6_dt_match,
63 .restart = sirfsoc_restart,
67 #ifdef CONFIG_ARCH_PRIMA2
68 static const char *prima2_dt_match[] __initdata = {
73 DT_MACHINE_START(PRIMA2_DT, "Generic PRIMA2 (Flattened Device Tree)")
74 /* Maintainer: Barry Song <baohua.song@csr.com> */
76 .map_io = sirfsoc_map_io,
77 .init_irq = irqchip_init,
78 .init_time = sirfsoc_init_time,
79 .dma_zone_size = SZ_256M,
80 .init_machine = sirfsoc_mach_init,
81 .init_late = sirfsoc_init_late,
82 .dt_compat = prima2_dt_match,
83 .restart = sirfsoc_restart,
87 #ifdef CONFIG_ARCH_MARCO
88 static const char *marco_dt_match[] __initdata = {
93 DT_MACHINE_START(MARCO_DT, "Generic MARCO (Flattened Device Tree)")
94 /* Maintainer: Barry Song <baohua.song@csr.com> */
95 .smp = smp_ops(sirfsoc_smp_ops),
96 .map_io = sirfsoc_map_io,
97 .init_irq = irqchip_init,
98 .init_time = sirfsoc_init_time,
99 .init_machine = sirfsoc_mach_init,
100 .init_late = sirfsoc_init_late,
101 .dt_compat = marco_dt_match,
102 .restart = sirfsoc_restart,