
We now have EFI support in U-Boot which worked out of the box on all systems that I tried it on so far. Except for the LS2080ARDB. With this patch set I can successfully boot grub2 and Linux from there on such a system - even using PXE.
This patch set depends on the efi-next queue and the efi runtime rename patch. For easy pulling, you can find the fully applied tree here:
https://github.com/agraf/u-boot.git ls2085-efi-support-v8
v3 -> v4:
- Add CONFIG_CMD_FS_GENERIC to defconfig - Move code into generic quiesce weak function - Exit device for real when going to Linux - Only apply DPL if we have something to apply - New: armv8: ls2080a: Declare spin tables as reserved for efi loader - New: efi_loader: Allow boards to implement get_time and reset_system - New: armv8: fsl-layerscape: Add support for efi_loader RTS reset - New: efi_loader: Declare secure memory as reserved - New: efi_loader: Allow bouncing for network
v4 -> v5:
- Drop patches that are in the efi queue already - efi_loader: Allow boards to implement get_time and reset_system - efi_loader: Allow bouncing for network - Remove manual ttbr / tcr copy - Regenerate page tables in EL2, getting us non-secured page tables - Add qspi board - Don't overwrite ethact - Use __efi_runtime tags - Use gd->arch.secure_ram
v5 -> v6:
- Move distro conversion to end of queue - use CONFIG_DISTRO_DEFAULTS - drop patch: "efi_loader: Declare secure memory as reserved"
v6 -> v7:
- Don't call efi_loader functions for SPL code - Add USB boot support
v7 -> v8:
- Put efi_add_runtime_mmio fix at beginning of queue - New patch: efi_loader: Disable PSCI reset for ls1043 and ls1046
Alexander Graf (8): efi_loader: Disable PSCI reset for ls1043 and ls1046 efi_loader: Fix efi_add_runtime_mmio definition ls2080: Exit dpaa only right before exiting U-Boot efi_loader: AArch64: Run EFI payloads in EL2 if U-Boot runs in EL3 ls2080ardb: Reserve DP-DDR RAM armv8: ls2080a: Declare spin tables as reserved for efi loader armv8: fsl-layerscape: Add support for efi_loader RTS reset ls2080ardb: Convert to distro boot
Kconfig | 1 + arch/arm/cpu/armv8/Kconfig | 3 ++- arch/arm/cpu/armv8/fsl-layerscape/cpu.c | 33 +++++++++++++++++++++++++++++++-- arch/arm/cpu/armv8/fsl-layerscape/fdt.c | 6 ++++++ arch/arm/include/asm/u-boot-arm.h | 1 + arch/arm/lib/bootm.c | 7 +++++++ board/freescale/ls2080a/ls2080a.c | 6 +++++- board/freescale/ls2080aqds/ls2080aqds.c | 11 +++++------ board/freescale/ls2080ardb/ls2080ardb.c | 20 ++++++++++++++------ cmd/bootefi.c | 11 +++++++++++ drivers/net/fsl-mc/mc.c | 24 ++++++++++++++++++++++-- include/configs/ls2080ardb.h | 26 +++++++++++++++++++++++++- include/efi_loader.h | 2 +- lib/efi_loader/efi_boottime.c | 2 ++ 14 files changed, 133 insertions(+), 20 deletions(-)