mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-31 03:58:17 +00:00 
			
		
		
		
	Rename spl_board_init() to spl_soc_init(). SoC specific implementation should be separated from board specific implementation in order to be extended by board developers. Signed-off-by: Lukas Funke <lukas.funke@weidmueller.com> Acked-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/20240327121153.2455126-3-lukas.funke-oss@weidmueller.com Signed-off-by: Michal Simek <michal.simek@amd.com>
		
			
				
	
	
		
			90 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| // SPDX-License-Identifier: GPL-2.0+
 | |
| /*
 | |
|  * (C) Copyright 2014 - 2017 Xilinx, Inc. Michal Simek
 | |
|  */
 | |
| #include <debug_uart.h>
 | |
| #include <hang.h>
 | |
| #include <image.h>
 | |
| #include <init.h>
 | |
| #include <log.h>
 | |
| #include <spl.h>
 | |
| 
 | |
| #include <asm/io.h>
 | |
| #include <asm/spl.h>
 | |
| #include <asm/arch/hardware.h>
 | |
| #include <asm/arch/sys_proto.h>
 | |
| #include <asm/arch/ps7_init_gpl.h>
 | |
| 
 | |
| #if defined(CONFIG_DEBUG_UART_BOARD_INIT)
 | |
| void board_debug_uart_init(void)
 | |
| {
 | |
| 	ps7_init();
 | |
| }
 | |
| #endif
 | |
| 
 | |
| void board_init_f(ulong dummy)
 | |
| {
 | |
| #if !defined(CONFIG_DEBUG_UART_BOARD_INIT)
 | |
| 	ps7_init();
 | |
| #endif
 | |
| 
 | |
| 	arch_cpu_init();
 | |
| }
 | |
| 
 | |
| #ifdef CONFIG_SPL_SOC_INIT
 | |
| void spl_soc_init(void)
 | |
| {
 | |
| 	preloader_console_init();
 | |
| #if defined(CONFIG_ARCH_EARLY_INIT_R) && defined(CONFIG_SPL_FPGA)
 | |
| 	arch_early_init_r();
 | |
| #endif
 | |
| 	board_init();
 | |
| }
 | |
| #endif
 | |
| 
 | |
| u32 spl_boot_device(void)
 | |
| {
 | |
| 	u32 mode;
 | |
| 
 | |
| 	switch ((zynq_slcr_get_boot_mode()) & ZYNQ_BM_MASK) {
 | |
| #ifdef CONFIG_SPL_SPI
 | |
| 	case ZYNQ_BM_QSPI:
 | |
| 		mode = BOOT_DEVICE_SPI;
 | |
| 		break;
 | |
| #endif
 | |
| 	case ZYNQ_BM_NAND:
 | |
| 		mode = BOOT_DEVICE_NAND;
 | |
| 		break;
 | |
| 	case ZYNQ_BM_NOR:
 | |
| 		mode = BOOT_DEVICE_NOR;
 | |
| 		break;
 | |
| #ifdef CONFIG_SPL_MMC
 | |
| 	case ZYNQ_BM_SD:
 | |
| 		mode = BOOT_DEVICE_MMC1;
 | |
| 		break;
 | |
| #endif
 | |
| 	case ZYNQ_BM_JTAG:
 | |
| 		mode = BOOT_DEVICE_RAM;
 | |
| 		break;
 | |
| 	default:
 | |
| 		puts("Unsupported boot mode selected\n");
 | |
| 		hang();
 | |
| 	}
 | |
| 
 | |
| 	return mode;
 | |
| }
 | |
| 
 | |
| #ifdef CONFIG_SPL_OS_BOOT
 | |
| int spl_start_uboot(void)
 | |
| {
 | |
| 	/* boot linux */
 | |
| 	return 0;
 | |
| }
 | |
| #endif
 | |
| 
 | |
| void spl_board_prepare_for_boot(void)
 | |
| {
 | |
| 	ps7_post_config();
 | |
| 	debug("SPL bye\n");
 | |
| }
 |