xref: /linux/arch/arm/mach-berlin/berlin.c (revision 8c749ce93ee69e789e46b3be98de9e0cbfcf8ed8)
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_late(void)
22 {
23 	platform_device_register_simple("cpufreq-dt", -1, NULL, 0);
24 }
25 
26 static const char * const berlin_dt_compat[] = {
27 	"marvell,berlin",
28 	NULL,
29 };
30 
31 DT_MACHINE_START(BERLIN_DT, "Marvell Berlin")
32 	.dt_compat	= berlin_dt_compat,
33 	.init_late	= berlin_init_late,
34 	/*
35 	 * with DT probing for L2CCs, berlin_init_machine can be removed.
36 	 * Note: 88DE3005 (Armada 1500-mini) uses pl310 l2cc
37 	 */
38 	.l2c_aux_val	= 0x30c00000,
39 	.l2c_aux_mask	= 0xfeffffff,
40 MACHINE_END
41