x86: Add EFI board code
authorBen Stoltz <stoltz@google.com>
Tue, 4 Aug 2015 18:33:47 +0000 (12:33 -0600)
committerSimon Glass <sjg@chromium.org>
Wed, 5 Aug 2015 14:44:06 +0000 (08:44 -0600)
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>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
arch/x86/Kconfig
board/efi/Kconfig [new file with mode: 0644]
board/efi/efi-x86/Kconfig [new file with mode: 0644]
board/efi/efi-x86/MAINTAINERS [new file with mode: 0644]
board/efi/efi-x86/Makefile [new file with mode: 0644]
board/efi/efi-x86/efi.c [new file with mode: 0644]

index 7e6e89c23176b1e10cbcfbece6bb9581adc2afc0..f124d58fde48b658ff958d5dfc157daabd4140f1 100644 (file)
@@ -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 (file)
index 0000000..6f86a48
--- /dev/null
@@ -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 (file)
index 0000000..fa609ba
--- /dev/null
@@ -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 (file)
index 0000000..a44c7c6
--- /dev/null
@@ -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
+F:     configs/efi-x86_defconfig
diff --git a/board/efi/efi-x86/Makefile b/board/efi/efi-x86/Makefile
new file mode 100644 (file)
index 0000000..9b1e0bd
--- /dev/null
@@ -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 (file)
index 0000000..08958f9
--- /dev/null
@@ -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;
+}