xref: /openbmc/u-boot/arch/arm/mach-exynos/soc.c (revision d6736689)
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * Copyright (c) 2010 Samsung Electronics.
4  * Minkyu Kang <mk7.kang@samsung.com>
5  */
6 
7 #include <common.h>
8 #include <asm/io.h>
9 #include <asm/system.h>
10 
11 #ifdef CONFIG_TARGET_ESPRESSO7420
12 /*
13  * Exynos7420 uses CPU0 of Cluster-1 as boot CPU. Due to this, branch_if_master
14  * fails to identify as the boot CPU as the master CPU. As temporary workaround,
15  * setup the slave CPU boot address as "_main".
16  */
17 extern void _main(void);
18 void *secondary_boot_addr = (void *)_main;
19 #endif /* CONFIG_TARGET_ESPRESSO7420 */
20 
21 void reset_cpu(ulong addr)
22 {
23 #ifdef CONFIG_CPU_V7A
24 	writel(0x1, samsung_get_base_swreset());
25 #endif
26 }
27 
28 #ifndef CONFIG_SYS_DCACHE_OFF
29 void enable_caches(void)
30 {
31 	/* Enable D-cache. I-cache is already enabled in start.S */
32 	dcache_enable();
33 }
34 #endif
35