
Hi Simon,
On Wed, Jul 22, 2015 at 11:49 PM, Simon Glass sjg@chromium.org wrote:
From: Ben Stoltz stoltz@google.com
Add support for the efi-x86 board, which supports running U-Boot as an EFI 32-bit application.
Signed-off-by: Ben Stoltz stoltz@google.com Signed-off-by: Simon Glass sjg@chromium.org
arch/x86/Kconfig | 1 + board/efi/Kconfig | 19 +++++++++++++++++++ board/efi/efi-x86/Kconfig | 27 +++++++++++++++++++++++++++ board/efi/efi-x86/MAINTAINERS | 6 ++++++ board/efi/efi-x86/Makefile | 7 +++++++ board/efi/efi-x86/efi.c | 18 ++++++++++++++++++ 6 files changed, 78 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..330eb65 --- /dev/null +++ b/board/efi/efi-x86/Kconfig @@ -0,0 +1,27 @@ +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"
'default' is not aligned/indented correctly with others
+config SYS_CAR_ADDR
hex "Board specific Cache-As-RAM (CAR) address"
default 0x01920000
help
This option specifies the board specific Cache-As-RAM (CAR) address.
+config SYS_CAR_SIZE
hex "Board specific Cache-As-RAM (CAR) size"
default 0x4000
help
This option specifies the board specific Cache-As-RAM (CAR) size.
I don't think the above two options are needed for EFI APP.
+endif diff --git a/board/efi/efi-x86/MAINTAINERS b/board/efi/efi-x86/MAINTAINERS new file mode 100644 index 0000000..755247c --- /dev/null +++ b/board/efi/efi-x86/MAINTAINERS @@ -0,0 +1,6 @@ +EFI-X86 BOARD +M: Simon Glass sjg@chromium.org +S: Maintained +F: board/efi/efi-x86/ +F: include/configs/efi-x86.h
'include..' is not aligned/indented corretly with other lines.
+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 <common.h> +#include <asm/gpio.h>
+int arch_early_init_r(void) +{
return 0;
+}
+void setup_pch_gpios(u16 gpiobase, const struct pch_gpio_map *gpio) +{
return;
+}
Regards, Bin