1 /* 2 * (C) Copyright 2013 - 2014 Xilinx, Inc 3 * 4 * Michal Simek <michal.simek@xilinx.com> 5 * 6 * SPDX-License-Identifier: GPL-2.0+ 7 */ 8 9 #include <common.h> 10 #include <image.h> 11 #include <spl.h> 12 #include <asm/io.h> 13 #include <asm/u-boot.h> 14 15 bool boot_linux; 16 17 u32 spl_boot_device(void) 18 { 19 return BOOT_DEVICE_NOR; 20 } 21 22 /* Board initialization after bss clearance */ 23 void spl_board_init(void) 24 { 25 /* enable console uart printing */ 26 preloader_console_init(); 27 } 28 29 #ifdef CONFIG_SPL_OS_BOOT 30 void __noreturn jump_to_image_linux(struct spl_image_info *spl_image) 31 { 32 debug("Entering kernel arg pointer: 0x%p\n", spl_image->arg); 33 typedef void (*image_entry_arg_t)(char *, ulong, ulong) 34 __attribute__ ((noreturn)); 35 image_entry_arg_t image_entry = 36 (image_entry_arg_t)spl_image->entry_point; 37 38 image_entry(NULL, 0, (ulong)spl_image->arg); 39 } 40 #endif /* CONFIG_SPL_OS_BOOT */ 41 42 int spl_start_uboot(void) 43 { 44 #ifdef CONFIG_SPL_OS_BOOT 45 if (boot_linux) 46 return 0; 47 #endif 48 49 return 1; 50 } 51