diff options
-rw-r--r-- | MAINTAINERS | 7 | ||||
-rw-r--r-- | board/raspberrypi/rpi/MAINTAINERS | 2 | ||||
-rw-r--r-- | doc/README.uefi | 19 | ||||
-rw-r--r-- | doc/git-mailrc | 2 | ||||
-rw-r--r-- | drivers/mmc/mmc.c | 3 | ||||
-rw-r--r-- | include/configs/ti_armv7_common.h | 2 | ||||
-rw-r--r-- | include/efi_api.h | 8 | ||||
-rw-r--r-- | lib/efi_loader/efi_file.c | 4 | ||||
-rw-r--r-- | lib/efi_selftest/efi_selftest_devicepath_util.c | 5 | ||||
-rw-r--r-- | lib/time.c | 2 |
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) { |