summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2018-06-18 19:59:46 +0300
committerTom Rini <trini@konsulko.com>2018-06-18 19:59:46 +0300
commit378b29cbc6607ad8246b1381bc74ec62bdb19105 (patch)
tree18232d99d78af022062bdbe36f8253e41d017d4a /include
parent103c45fb0daab924308046454b4aaad4a09237c4 (diff)
parent0102023966558075e52758bd22ffd8f96b093a7e (diff)
downloadu-boot-378b29cbc6607ad8246b1381bc74ec62bdb19105.tar.xz
Merge git://git.denx.de/u-boot-x86
Diffstat (limited to 'include')
-rw-r--r--include/configs/efi-x86_app.h (renamed from include/configs/efi-x86.h)0
-rw-r--r--include/configs/efi-x86_payload.h32
-rw-r--r--include/efi.h35
3 files changed, 67 insertions, 0 deletions
diff --git a/include/configs/efi-x86.h b/include/configs/efi-x86_app.h
index 33418cfbec..33418cfbec 100644
--- a/include/configs/efi-x86.h
+++ b/include/configs/efi-x86_app.h
diff --git a/include/configs/efi-x86_payload.h b/include/configs/efi-x86_payload.h
new file mode 100644
index 0000000000..9c62fd24b8
--- /dev/null
+++ b/include/configs/efi-x86_payload.h
@@ -0,0 +1,32 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com>
+ */
+
+/*
+ * board/config.h - configuration options, board specific
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+#include <configs/x86-common.h>
+
+#define CONFIG_SYS_MONITOR_LEN (1 << 20)
+
+#define CONFIG_STD_DEVICES_SETTINGS "stdin=serial,i8042-kbd\0" \
+ "stdout=serial,vidconsole\0" \
+ "stderr=serial,vidconsole\0"
+
+/* ATA/IDE support */
+#define CONFIG_SYS_IDE_MAXBUS 2
+#define CONFIG_SYS_IDE_MAXDEVICE 4
+#define CONFIG_SYS_ATA_BASE_ADDR 0
+#define CONFIG_SYS_ATA_DATA_OFFSET 0
+#define CONFIG_SYS_ATA_REG_OFFSET 0
+#define CONFIG_SYS_ATA_ALT_OFFSET 0
+#define CONFIG_SYS_ATA_IDE0_OFFSET 0x1f0
+#define CONFIG_SYS_ATA_IDE1_OFFSET 0x170
+#define CONFIG_ATAPI
+
+#endif /* __CONFIG_H */
diff --git a/include/efi.h b/include/efi.h
index e30a3c51c6..2448dde3fe 100644
--- a/include/efi.h
+++ b/include/efi.h
@@ -241,6 +241,7 @@ struct efi_open_protocol_info_entry {
enum efi_entry_t {
EFIET_END, /* Signals this is the last (empty) entry */
EFIET_MEMORY_MAP,
+ EFIET_GOP_MODE,
/* Number of entries */
EFIET_MEMORY_COUNT,
@@ -297,6 +298,40 @@ struct efi_entry_memmap {
struct efi_mem_desc desc[];
};
+/**
+ * struct efi_entry_gopmode - a GOP mode table passed to U-Boot
+ *
+ * @fb_base: EFI's framebuffer base address
+ * @fb_size: EFI's framebuffer size
+ * @info_size: GOP mode info structure size
+ * @info: Start address of the GOP mode info structure
+ */
+struct efi_entry_gopmode {
+ efi_physical_addr_t fb_base;
+ /*
+ * Not like the ones in 'struct efi_gop_mode' which are 'unsigned
+ * long', @fb_size and @info_size have to be 'u64' here. As the EFI
+ * stub codes may have different bit size from the U-Boot payload,
+ * using 'long' will cause mismatch between the producer (stub) and
+ * the consumer (payload).
+ */
+ u64 fb_size;
+ u64 info_size;
+ /*
+ * We cannot directly use 'struct efi_gop_mode_info info[]' here as
+ * it causes compiler to complain: array type has incomplete element
+ * type 'struct efi_gop_mode_info'.
+ */
+ struct /* efi_gop_mode_info */ {
+ u32 version;
+ u32 width;
+ u32 height;
+ u32 pixel_format;
+ u32 pixel_bitmask[4];
+ u32 pixels_per_scanline;
+ } info[];
+};
+
static inline struct efi_mem_desc *efi_get_next_mem_desc(
struct efi_entry_memmap *map, struct efi_mem_desc *desc)
{