xref: /openbmc/linux/arch/arm/mach-berlin/berlin.c (revision 84d517f3)
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
40