]> Pileus Git - ~andy/linux/blob - arch/arm/mach-berlin/berlin.c
ARM: add initial support for Marvell Berlin SoCs
[~andy/linux] / arch / arm / mach-berlin / berlin.c
1 /*
2  * Device Tree support for Marvell Berlin SoCs.
3  *
4  * Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
5  *
6  * based on GPL'ed 2.6 kernel sources
7  *  (c) Marvell International Ltd.
8  *
9  * This file is licensed under the terms of the GNU General Public
10  * License version 2.  This program is licensed "as is" without any
11  * warranty of any kind, whether express or implied.
12  */
13
14 #include <linux/init.h>
15 #include <linux/io.h>
16 #include <linux/kernel.h>
17 #include <linux/of_platform.h>
18 #include <asm/hardware/cache-l2x0.h>
19 #include <asm/mach/arch.h>
20
21 static void __init berlin_init_machine(void)
22 {
23         /*
24          * with DT probing for L2CCs, berlin_init_machine can be removed.
25          * Note: 88DE3005 (Armada 1500-mini) uses pl310 l2cc
26          */
27         l2x0_of_init(0x70c00000, 0xfeffffff);
28         of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
29 }
30
31 static const char * const berlin_dt_compat[] = {
32         "marvell,berlin",
33         NULL,
34 };
35
36 DT_MACHINE_START(BERLIN_DT, "Marvell Berlin")
37         .dt_compat      = berlin_dt_compat,
38         .init_machine   = berlin_init_machine,
39 MACHINE_END