diff mbox

[U-Boot,v2,29/47] x86: Add EFI board code

Message ID 1438356724-6561-30-git-send-email-sjg@chromium.org
State Superseded
Delegated to: Simon Glass
Headers show

Commit Message

Simon Glass July 31, 2015, 3:31 p.m. UTC
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>
---

Changes in v2:
- Drop unnecessary SYS_CAR_ADDR/SIZE Kconfig options
- Fix text alignment in Kconfig files

 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

Comments

Bin Meng Aug. 4, 2015, 5:12 a.m. UTC | #1
On Fri, Jul 31, 2015 at 11:31 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>
> ---
>
> Changes in v2:
> - Drop unnecessary SYS_CAR_ADDR/SIZE Kconfig options
> - Fix text alignment in Kconfig files
>
>  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 <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
> 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;
> +}
> --

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
diff mbox

Patch

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