]>
Commit | Line | Data |
---|---|---|
9d242745 MS |
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> | |
9d242745 MS |
12 | #include <asm/io.h> |
13 | #include <asm/u-boot.h> | |
14 | ||
15 | DECLARE_GLOBAL_DATA_PTR; | |
16 | ||
17 | bool boot_linux; | |
18 | ||
19 | u32 spl_boot_device(void) | |
20 | { | |
21 | return BOOT_DEVICE_NOR; | |
22 | } | |
23 | ||
24 | /* Board initialization after bss clearance */ | |
25 | void spl_board_init(void) | |
26 | { | |
9d242745 MS |
27 | /* enable console uart printing */ |
28 | preloader_console_init(); | |
29 | } | |
30 | ||
31 | #ifdef CONFIG_SPL_OS_BOOT | |
5bf5250e | 32 | void __noreturn jump_to_image_linux(struct spl_image_info *spl_image) |
9d242745 | 33 | { |
5bf5250e | 34 | debug("Entering kernel arg pointer: 0x%p\n", spl_image->arg); |
9d242745 MS |
35 | typedef void (*image_entry_arg_t)(char *, ulong, ulong) |
36 | __attribute__ ((noreturn)); | |
37 | image_entry_arg_t image_entry = | |
ca12e65c | 38 | (image_entry_arg_t)spl_image->entry_point; |
9d242745 | 39 | |
5bf5250e | 40 | image_entry(NULL, 0, (ulong)spl_image->arg); |
9d242745 MS |
41 | } |
42 | #endif /* CONFIG_SPL_OS_BOOT */ | |
43 | ||
44 | int spl_start_uboot(void) | |
45 | { | |
46 | #ifdef CONFIG_SPL_OS_BOOT | |
47 | if (boot_linux) | |
48 | return 0; | |
49 | #endif | |
50 | ||
51 | return 1; | |
52 | } |