From 3e9aa3205529c3838e8e92d65e748c27012cca88 Mon Sep 17 00:00:00 2001 From: Ben Stoltz Date: Tue, 4 Aug 2015 12:33:47 -0600 Subject: [PATCH] x86: Add EFI board code Add support for the efi-x86 board, which supports running U-Boot as an EFI 32-bit application. Signed-off-by: Ben Stoltz Signed-off-by: Simon Glass Reviewed-by: Bin Meng Tested-by: Bin Meng --- arch/x86/Kconfig | 1 + board/efi/Kconfig | 19 +++++++++++++++++++ board/efi/efi-x86/Kconfig | 15 +++++++++++++++ board/efi/efi-x86/MAINTAINERS | 6 ++++++ board/efi/efi-x86/Makefile | 7 +++++++ board/efi/efi-x86/efi.c | 18 ++++++++++++++++++ 6 files changed, 66 insertions(+) create mode 100644 board/efi/Kconfig create mode 100644 board/efi/efi-x86/Kconfig create mode 100644 board/efi/efi-x86/MAINTAINERS create mode 100644 board/efi/efi-x86/Makefile create mode 100644 board/efi/efi-x86/efi.c diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 7e6e89c..f124d58 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -27,6 +27,7 @@ endchoice # board-specific options below source "board/coreboot/Kconfig" +source "board/efi/Kconfig" source "board/emulation/Kconfig" source "board/google/Kconfig" source "board/intel/Kconfig" diff --git a/board/efi/Kconfig b/board/efi/Kconfig new file mode 100644 index 0000000..6f86a48 --- /dev/null +++ b/board/efi/Kconfig @@ -0,0 +1,19 @@ +if VENDOR_EFI + +choice + prompt "Mainboard model" + optional + +config TARGET_EFI + bool "efi" + help + This target is used for running U-Boot on top of EFI. In + this case EFI does the early initialisation, and U-Boot + takes over once the RAM, video and CPU are fully running. + U-Boot is loaded as an application from EFI. + +endchoice + +source "board/efi/efi-x86/Kconfig" + +endif diff --git a/board/efi/efi-x86/Kconfig b/board/efi/efi-x86/Kconfig new file mode 100644 index 0000000..fa609ba --- /dev/null +++ b/board/efi/efi-x86/Kconfig @@ -0,0 +1,15 @@ +if TARGET_EFI + +config SYS_BOARD + default "efi-x86" + +config SYS_VENDOR + default "efi" + +config SYS_SOC + default "efi" + +config SYS_CONFIG_NAME + default "efi-x86" + +endif diff --git a/board/efi/efi-x86/MAINTAINERS b/board/efi/efi-x86/MAINTAINERS new file mode 100644 index 0000000..a44c7c6 --- /dev/null +++ b/board/efi/efi-x86/MAINTAINERS @@ -0,0 +1,6 @@ +EFI-X86 BOARD +M: Simon Glass +S: Maintained +F: board/efi/efi-x86/ +F: include/configs/efi-x86.h +F: configs/efi-x86_defconfig diff --git a/board/efi/efi-x86/Makefile b/board/efi/efi-x86/Makefile new file mode 100644 index 0000000..9b1e0bd --- /dev/null +++ b/board/efi/efi-x86/Makefile @@ -0,0 +1,7 @@ +# +# Copyright (c) 2015 Google, Inc +# +# SPDX-License-Identifier: GPL-2.0+ +# + +obj-y += efi.o diff --git a/board/efi/efi-x86/efi.c b/board/efi/efi-x86/efi.c new file mode 100644 index 0000000..08958f9 --- /dev/null +++ b/board/efi/efi-x86/efi.c @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2015 Google, Inc + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include +#include + +int arch_early_init_r(void) +{ + return 0; +} + +void setup_pch_gpios(u16 gpiobase, const struct pch_gpio_map *gpio) +{ + return; +}