diff options
author | Tom Rini <trini@konsulko.com> | 2018-06-18 12:59:46 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2018-06-18 12:59:46 -0400 |
commit | 378b29cbc6607ad8246b1381bc74ec62bdb19105 (patch) | |
tree | 18232d99d78af022062bdbe36f8253e41d017d4a /include | |
parent | 103c45fb0daab924308046454b4aaad4a09237c4 (diff) | |
parent | 0102023966558075e52758bd22ffd8f96b093a7e (diff) |
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.h | 32 | ||||
-rw-r--r-- | include/efi.h | 35 |
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) { |