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