summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MAINTAINERS7
-rw-r--r--board/raspberrypi/rpi/MAINTAINERS2
-rw-r--r--doc/README.uefi19
-rw-r--r--doc/git-mailrc2
-rw-r--r--drivers/mmc/mmc.c3
-rw-r--r--include/configs/ti_armv7_common.h2
-rw-r--r--include/efi_api.h8
-rw-r--r--lib/efi_loader/efi_file.c4
-rw-r--r--lib/efi_selftest/efi_selftest_devicepath_util.c5
-rw-r--r--lib/time.c2
10 files changed, 37 insertions, 17 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 8a4c5d4eab..f9ee4281d9 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -439,6 +439,11 @@ DFU
M: Lukasz Majewski <lukma@denx.de>
S: Maintained
T: git git://git.denx.de/u-boot-dfu.git
+F: cmd/dfu.c
+F: cmd/usb_*.c
+F: common/dfu.c
+F: common/update.c
+F: common/usb_storage.c
F: drivers/dfu/
F: drivers/usb/gadget/
@@ -454,7 +459,7 @@ EFI PAYLOAD
M: Heinrich Schuchardt <xypron.glpk@gmx.de>
R: Alexander Graf <agraf@csgraf.de>
S: Maintained
-T: git git://github.com/agraf/u-boot.git
+T: git git://git.denx.de/u-boot-efi.git
F: doc/README.uefi
F: doc/README.iscsi
F: Documentation/efi.rst
diff --git a/board/raspberrypi/rpi/MAINTAINERS b/board/raspberrypi/rpi/MAINTAINERS
index cce1a7ad76..4f1b23efc8 100644
--- a/board/raspberrypi/rpi/MAINTAINERS
+++ b/board/raspberrypi/rpi/MAINTAINERS
@@ -1,5 +1,5 @@
RPI BOARD
-M: Alexander Graf <agraf@suse.de>
+M: Matthias Brugger <mbrugger@suse.com>
S: Maintained
F: board/raspberrypi/rpi/
F: include/configs/rpi.h
diff --git a/doc/README.uefi b/doc/README.uefi
index 0982fad92e..66b6abece5 100644
--- a/doc/README.uefi
+++ b/doc/README.uefi
@@ -12,6 +12,15 @@ the interaction of drivers and applications with the firmware. The API comprises
access to block storage, network, and console to name a few. The Linux kernel
and boot loaders like GRUB or the FreeBSD loader can be executed.
+## Development target
+
+The implementation of UEFI in U-Boot strives to reach the minimum requirements
+described in "Server Base Boot Requirements System Software on ARM Platforms -
+Version 1.1" [4].
+
+A full blown UEFI implementation would contradict the U-Boot design principle
+"keep it small".
+
## Building for UEFI
The UEFI standard supports only little-endian systems. The UEFI support can be
@@ -299,7 +308,7 @@ This driver is only available if U-Boot is configured with
CONFIG_BLK=y
CONFIG_PARTITIONS=y
-## TODOs as of U-Boot 2018.07
+## TODOs as of U-Boot 2019.04
* unimplemented or incompletely implemented boot services
* Exit - call unload function, unload applications only
@@ -308,16 +317,13 @@ This driver is only available if U-Boot is configured with
* unimplemented or incompletely implemented runtime services
* SetVariable() ignores attribute EFI_VARIABLE_APPEND_WRITE
- * GetNextVariableName is not implemented
* QueryVariableInfo is not implemented
* unimplemented events
* EVT_RUNTIME
* EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE
- * event groups
* data model
- * manage events in a linked list
* manage configuration tables in a linked list
* UEFI drivers
@@ -329,9 +335,14 @@ This driver is only available if U-Boot is configured with
* persistence
* runtime support
+* incompletely implemented protocols
+ * support version 0x00020000 of the EFI file protocol
+
## Links
* [1](http://uefi.org/specifications)
http://uefi.org/specifications - UEFI specifications
* [2](./driver-model/README.txt) doc/driver-model/README.txt - Driver model
* [3](./README.iscsi) doc/README.iscsi - iSCSI booting with U-Boot and iPXE
+* [4](https://developer.arm.com/docs/den0044/latest/server-base-boot-requirements-system-software-on-arm-platforms-version-11)
+ Server Base Boot Requirements System Software on ARM Platforms - Version 1.1
diff --git a/doc/git-mailrc b/doc/git-mailrc
index c2eee8c7d8..b75ebab02b 100644
--- a/doc/git-mailrc
+++ b/doc/git-mailrc
@@ -15,7 +15,7 @@ alias abiessmann Andreas Bießmann <andreas@biessmann.org>
alias abrodkin Alexey Brodkin <alexey.brodkin@synopsys.com>
alias afleming Andy Fleming <afleming@gmail.com>
alias ag Anatolij Gustschin <agust@denx.de>
-alias agraf Alexander Graf <agraf@suse.de>
+alias agraf Alexander Graf <agraf@csgraf.de>
alias alisonwang Alison Wang <alison.wang@nxp.com>
alias angelo_ts Angelo Dureghello <angelo@sysam.it>
alias bmeng Bin Meng <bmeng.cn@gmail.com>
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index 89b255daf4..456c1b4cc9 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -1892,8 +1892,7 @@ static int mmc_select_hs400(struct mmc *mmc)
}
/* Set back to HS */
- mmc_set_card_speed(mmc, MMC_HS, false);
- mmc_set_clock(mmc, mmc_mode2freq(mmc, MMC_HS), false);
+ mmc_set_card_speed(mmc, MMC_HS, true);
err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_BUS_WIDTH,
EXT_CSD_BUS_WIDTH_8 | EXT_CSD_DDR_FLAG);
diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h
index 1e2a62dd6f..828fb1b2a5 100644
--- a/include/configs/ti_armv7_common.h
+++ b/include/configs/ti_armv7_common.h
@@ -52,7 +52,7 @@
#define DEFAULT_FIT_TI_ARGS \
"boot_fit=0\0" \
- "fit_loadaddr=0x87000000\0" \
+ "fit_loadaddr=0x90000000\0" \
"fit_bootfile=fitImage\0" \
"update_to_fit=setenv loadaddr ${fit_loadaddr}; setenv bootfile ${fit_bootfile}\0" \
"loadfit=run args_mmc; bootm ${loadaddr}#${fdtfile};\0" \
diff --git a/include/efi_api.h b/include/efi_api.h
index ccf608653d..8647bfa662 100644
--- a/include/efi_api.h
+++ b/include/efi_api.h
@@ -1322,7 +1322,9 @@ struct efi_pxe {
#define EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID \
EFI_GUID(0x964e5b22, 0x6459, 0x11d2, \
0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b)
-#define EFI_FILE_PROTOCOL_REVISION 0x00010000
+#define EFI_FILE_PROTOCOL_REVISION 0x00010000
+#define EFI_FILE_PROTOCOL_REVISION2 0x00020000
+#define EFI_FILE_PROTOCOL_LATEST_REVISION EFI_FILE_PROTOCOL_REVISION2
struct efi_file_handle {
u64 rev;
@@ -1346,6 +1348,10 @@ struct efi_file_handle {
const efi_guid_t *info_type, efi_uintn_t buffer_size,
void *buffer);
efi_status_t (EFIAPI *flush)(struct efi_file_handle *file);
+ /*
+ * TODO: We currently only support EFI file protocol revision 0x00010000
+ * while UEFI specs 2.4 - 2.7 prescribe revision 0x00020000.
+ */
};
#define EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_REVISION 0x00010000
diff --git a/lib/efi_loader/efi_file.c b/lib/efi_loader/efi_file.c
index bc715218a1..0483403be0 100644
--- a/lib/efi_loader/efi_file.c
+++ b/lib/efi_loader/efi_file.c
@@ -628,6 +628,10 @@ static efi_status_t EFIAPI efi_file_flush(struct efi_file_handle *file)
}
static const struct efi_file_handle efi_file_handle_protocol = {
+ /*
+ * TODO: We currently only support EFI file protocol revision 0x00010000
+ * while UEFI specs 2.4 - 2.7 prescribe revision 0x00020000.
+ */
.rev = EFI_FILE_PROTOCOL_REVISION,
.open = efi_file_open,
.close = efi_file_close,
diff --git a/lib/efi_selftest/efi_selftest_devicepath_util.c b/lib/efi_selftest/efi_selftest_devicepath_util.c
index 5fef5cfccd..c846e057d3 100644
--- a/lib/efi_selftest/efi_selftest_devicepath_util.c
+++ b/lib/efi_selftest/efi_selftest_devicepath_util.c
@@ -256,11 +256,6 @@ static int execute(void)
efi_st_error("GetNextDevicePathInstance did not signal end\n");
return EFI_ST_FAILURE;
}
- ret = boottime->free_pool(dp2);
- if (ret != EFI_ST_SUCCESS) {
- efi_st_error("FreePool failed\n");
- return EFI_ST_FAILURE;
- }
/* Clean up */
ret = boottime->free_pool(dp2);
diff --git a/lib/time.c b/lib/time.c
index 3bf678a232..9c55da6f1b 100644
--- a/lib/time.c
+++ b/lib/time.c
@@ -56,7 +56,7 @@ ulong timer_get_boot_us(void)
extern unsigned long __weak timer_read_counter(void);
#endif
-#ifdef CONFIG_TIMER
+#if CONFIG_IS_ENABLED(TIMER)
ulong notrace get_tbclk(void)
{
if (!gd->timer) {