1
0
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:
Park, Aiden
2019-08-03 08:31:11 +00:00
committed by Bin Meng
parent 19cad267d9
commit d8f6db4768
10 changed files with 342 additions and 0 deletions

View File

@@ -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

View 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

View 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

View 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

View 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;
}

View 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