mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-11-04 05:50:17 +00:00 
			
		
		
		
	Remove the custom low-level initialization function and reuse the default low-level initialization function. But this requires the ARMV8_MULTIENTRY config option to be enabled for Exynos7420. On Exynos7420, the boot CPU belongs to the second cluster and so with ARMV8_MULTIENTRY config option enabled, the 'branch_if_master' macro fails to detect the CPU as boot CPU. As a temporary workaround the CPU_RELEASE_ADDR is set to point to '_main'. Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Alison Wang <alison.wang@nxp.com> Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> Reviewed-by: Alison Wang <alison.wang@nxp.com> Reviewed-by: York Sun <york.sun@nxp.com>
		
			
				
	
	
		
			36 lines
		
	
	
		
			800 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			800 B
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * Copyright (c) 2010 Samsung Electronics.
 | 
						|
 * Minkyu Kang <mk7.kang@samsung.com>
 | 
						|
 *
 | 
						|
 * SPDX-License-Identifier:	GPL-2.0+
 | 
						|
 */
 | 
						|
 | 
						|
#include <common.h>
 | 
						|
#include <asm/io.h>
 | 
						|
#include <asm/system.h>
 | 
						|
 | 
						|
#ifdef CONFIG_TARGET_ESPRESSO7420
 | 
						|
/*
 | 
						|
 * Exynos7420 uses CPU0 of Cluster-1 as boot CPU. Due to this, branch_if_master
 | 
						|
 * fails to identify as the boot CPU as the master CPU. As temporary workaround,
 | 
						|
 * setup the slave CPU boot address as "_main".
 | 
						|
 */
 | 
						|
extern void _main(void);
 | 
						|
void *secondary_boot_addr = (void *)_main;
 | 
						|
#endif /* CONFIG_TARGET_ESPRESSO7420 */
 | 
						|
 | 
						|
void reset_cpu(ulong addr)
 | 
						|
{
 | 
						|
#ifdef CONFIG_CPU_V7
 | 
						|
	writel(0x1, samsung_get_base_swreset());
 | 
						|
#endif
 | 
						|
}
 | 
						|
 | 
						|
#ifndef CONFIG_SYS_DCACHE_OFF
 | 
						|
void enable_caches(void)
 | 
						|
{
 | 
						|
	/* Enable D-cache. I-cache is already enabled in start.S */
 | 
						|
	dcache_enable();
 | 
						|
}
 | 
						|
#endif
 |