1 /*
2  * Defines machines for CSR SiRFprimaII
3  *
4  * Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company.
5  *
6  * Licensed under GPLv2 or later.
7  */
8 
9 #include <linux/init.h>
10 #include <linux/kernel.h>
11 #include <asm/sizes.h>
12 #include <asm/mach-types.h>
13 #include <asm/mach/arch.h>
14 #include <linux/of.h>
15 #include <linux/of_platform.h>
16 #include "common.h"
17 
sirfsoc_init_late(void)18 static void __init __maybe_unused sirfsoc_init_late(void)
19 {
20 	sirfsoc_pm_init();
21 }
22 
23 #ifdef CONFIG_ARCH_ATLAS6
24 static const char *const atlas6_dt_match[] __initconst = {
25 	"sirf,atlas6",
26 	NULL
27 };
28 
29 DT_MACHINE_START(ATLAS6_DT, "Generic ATLAS6 (Flattened Device Tree)")
30 	/* Maintainer: Barry Song <baohua.song@csr.com> */
31 	.l2c_aux_val	= 0,
32 	.l2c_aux_mask	= ~0,
33 	.init_late	= sirfsoc_init_late,
34 	.dt_compat      = atlas6_dt_match,
35 MACHINE_END
36 #endif
37 
38 #ifdef CONFIG_ARCH_PRIMA2
39 static const char *const prima2_dt_match[] __initconst = {
40 	"sirf,prima2",
41 	NULL
42 };
43 
44 DT_MACHINE_START(PRIMA2_DT, "Generic PRIMA2 (Flattened Device Tree)")
45 	/* Maintainer: Barry Song <baohua.song@csr.com> */
46 	.l2c_aux_val	= 0,
47 	.l2c_aux_mask	= ~0,
48 	.dma_zone_size	= SZ_256M,
49 	.init_late	= sirfsoc_init_late,
50 	.dt_compat      = prima2_dt_match,
51 MACHINE_END
52 #endif
53 
54 #ifdef CONFIG_ARCH_ATLAS7
55 static const char *const atlas7_dt_match[] __initconst = {
56 	"sirf,atlas7",
57 	NULL
58 };
59 
60 DT_MACHINE_START(ATLAS7_DT, "Generic ATLAS7 (Flattened Device Tree)")
61 	/* Maintainer: Barry Song <baohua.song@csr.com> */
62 	.smp            = smp_ops(sirfsoc_smp_ops),
63 	.dt_compat      = atlas7_dt_match,
64 MACHINE_END
65 #endif
66