mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 08:42:12 +02:00
board: intel: Add new slimbootloader board
Add slimbootloader board to run U-boot as a Slim Bootloader payload - Add new board/intel/slimbootloader directory with minimum codes - Add slimbootloader configuration files - Add doc/board/intel/slimbootloader.rst Signed-off-by: Aiden Park <aiden.park@intel.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com> [bmeng: add slimbootloader board MAINTAINERS file] Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
@@ -73,6 +73,19 @@ config TARGET_MINNOWMAX
|
||||
Note that PCIE_ECAM_BASE is set up by the FSP so the value used
|
||||
by U-Boot matches that value.
|
||||
|
||||
config TARGET_SLIMBOOTLOADER
|
||||
bool "slimbootloader"
|
||||
help
|
||||
This target is used for running U-Boot on top of Slim Bootloader
|
||||
boot firmware as a payload. Slim Bootloader does memory initialization
|
||||
and silicon initialization, and it passes necessary information in
|
||||
HOB (Hand Off Block) to a payload. The payload consumes HOB data
|
||||
which is generated by Slim Bootloader for its driver initialization.
|
||||
Slim Bootloader consumes FSP and its HOB, but FSP HOB is cleared
|
||||
Before launching a payload. Instead, Slim Bootloader generates its
|
||||
HOB data such as memory info, serial port info and so on.
|
||||
Refer to doc/board/intel/slimbootloader.rst for the details.
|
||||
|
||||
endchoice
|
||||
|
||||
source "board/intel/bayleybay/Kconfig"
|
||||
@@ -82,5 +95,6 @@ source "board/intel/crownbay/Kconfig"
|
||||
source "board/intel/edison/Kconfig"
|
||||
source "board/intel/galileo/Kconfig"
|
||||
source "board/intel/minnowmax/Kconfig"
|
||||
source "board/intel/slimbootloader/Kconfig"
|
||||
|
||||
endif
|
||||
|
28
board/intel/slimbootloader/Kconfig
Normal file
28
board/intel/slimbootloader/Kconfig
Normal file
@@ -0,0 +1,28 @@
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
# Copyright (C) 2019 Intel Corporation <www.intel.com>
|
||||
|
||||
if TARGET_SLIMBOOTLOADER
|
||||
|
||||
config SYS_BOARD
|
||||
default "slimbootloader"
|
||||
|
||||
config SYS_VENDOR
|
||||
default "intel"
|
||||
|
||||
config SYS_SOC
|
||||
default "slimbootloader"
|
||||
|
||||
config SYS_CONFIG_NAME
|
||||
default "slimbootloader"
|
||||
|
||||
config SYS_TEXT_BASE
|
||||
default 0x00100000
|
||||
|
||||
config BOARD_SPECIFIC_OPTIONS
|
||||
def_bool y
|
||||
select SYS_SLIMBOOTLOADER
|
||||
select USB_STORAGE
|
||||
select USB_KEYBOARD
|
||||
|
||||
endif
|
6
board/intel/slimbootloader/MAINTAINERS
Normal file
6
board/intel/slimbootloader/MAINTAINERS
Normal file
@@ -0,0 +1,6 @@
|
||||
Intel Slim Bootloader Payload
|
||||
M: Aiden Park <aiden.park@intel.com>
|
||||
S: Maintained
|
||||
F: board/intel/slimbootloader
|
||||
F: include/configs/slimbootloader.h
|
||||
F: configs/slimbootloader_defconfig
|
5
board/intel/slimbootloader/Makefile
Normal file
5
board/intel/slimbootloader/Makefile
Normal file
@@ -0,0 +1,5 @@
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
# Copyright (C) 2019 Intel Corporation <www.intel.com>
|
||||
|
||||
obj-y += start.o slimbootloader.o
|
21
board/intel/slimbootloader/slimbootloader.c
Normal file
21
board/intel/slimbootloader/slimbootloader.c
Normal file
@@ -0,0 +1,21 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* Copyright (C) 2019 Intel Corporation <www.intel.com>
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
|
||||
int board_early_init_r(void)
|
||||
{
|
||||
/*
|
||||
* Make sure PCI bus is enumerated so that peripherals on the PCI bus
|
||||
* can be discovered by their drivers.
|
||||
*
|
||||
* Slim Bootloader has already done PCI bus enumeration before loading
|
||||
* U-Boot, so U-Boot needs to preserve PCI configuration.
|
||||
* Therefore, '# CONFIG_PCI_PNP is not set' is included in defconfig.
|
||||
*/
|
||||
pci_init();
|
||||
|
||||
return 0;
|
||||
}
|
9
board/intel/slimbootloader/start.S
Normal file
9
board/intel/slimbootloader/start.S
Normal file
@@ -0,0 +1,9 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
/*
|
||||
* Copyright (C) 2019 Intel Corporation <www.intel.com>
|
||||
*/
|
||||
|
||||
/* board early initialization */
|
||||
.globl early_board_init
|
||||
early_board_init:
|
||||
jmp early_board_init_ret
|
Reference in New Issue
Block a user