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
18static void __init sirfsoc_init_late(void)
19{
20	sirfsoc_pm_init();
21}
22
23#ifdef CONFIG_ARCH_ATLAS6
24static const char *const atlas6_dt_match[] __initconst = {
25	"sirf,atlas6",
26	NULL
27};
28
29DT_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,
35MACHINE_END
36#endif
37
38#ifdef CONFIG_ARCH_PRIMA2
39static const char *const prima2_dt_match[] __initconst = {
40	"sirf,prima2",
41	NULL
42};
43
44DT_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,
51MACHINE_END
52#endif
53
54#ifdef CONFIG_ARCH_ATLAS7
55static const char *const atlas7_dt_match[] __initconst = {
56	"sirf,atlas7",
57	NULL
58};
59
60DT_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,
64MACHINE_END
65#endif
66