[PATCH v3 14/14] configs: synquacer: Enable EFI capsule update support

Masami Hiramatsu
2021-05-10T06:33:24Z

Enable EFI capsule update support. With the EFI capsule update,
you can update U-Boot, TF-A and OP-TEE. TF-A and OP-TEE are
usually combined as a FIP binary, but if the binary is bigger
than 480KB, you have to modify FIP header, split the OP-TEE
and stores the OP-TEE binary in the different place. This
configuration supports both cases.

Signed-off-by: Masami Hiramatsu <masami.hiramatsu@linaro.org>
---
Changes in v3:
- Fix a typo in dfu_alt_info.
---
configs/synquacer_developerbox_defconfig | 15 +++++++++++++++
include/configs/synquacer.h | 6 ++++++
2 files changed, 21 insertions(+)

diff --git a/configs/synquacer_developerbox_defconfig b/configs/synquacer_developerbox_defconfig
index de12587775..428c66fa58 100644
--- a/configs/synquacer_developerbox_defconfig
+++ b/configs/synquacer_developerbox_defconfig
@@ -92,3 +92,18 @@ CONFIG_DM_USB=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_PCI=y
CONFIG_USB_STORAGE=y
+CONFIG_EFI_RUNTIME_UPDATE_CAPSULE=y
+CONFIG_EFI_CAPSULE_ON_DISK=y
+CONFIG_EFI_CAPSULE_FIRMWARE_RAW=y
+CONFIG_EFI_CAPSULE_FIRMWARE_FIT=y
+CONFIG_CMD_EFIDEBUG=y
+CONFIG_CMD_DFU=y
+CONFIG_DFU_TFTP=y
+CONFIG_DFU_MTD=y
+CONFIG_DFU_RAM=y
+CONFIG_DFU_SF=y
+CONFIG_DFU_SF_PART=y
+CONFIG_FIT=y
+CONFIG_OF_LIBFDT=y
+CONFIG_CMD_NVEDIT_EFI=y
+CONFIG_CMD_ERASEENV=y
diff --git a/include/configs/synquacer.h b/include/configs/synquacer.h
index b2dd6d0f0f..f88fa21eff 100644
--- a/include/configs/synquacer.h
+++ b/include/configs/synquacer.h
@@ -58,6 +58,11 @@
/* Since U-Boot 64bit PCIe support is limited, disable 64bit MMIO support */
/* #define CONFIG_SYS_PCI_64BIT 1 */

+#define DEFAULT_DFU_ALT_INFO "dfu_alt_info=" \
+ "mtd nor1=u-boot.bin raw 200000 100000;" \
+ "fip.bin raw 180000 78000;" \
+ "optee.bin raw 500000 100000\0"
+
/* Distro boot settings */
#ifndef CONFIG_SPL_BUILD
#ifdef CONFIG_CMD_USB
@@ -101,6 +106,7 @@
"ramdisk_addr_r=0xa0000000\0" \
"scriptaddr=0x88000000\0" \
"pxefile_addr_r=0x88100000\0" \
+ DEFAULT_DFU_ALT_INFO \
BOOTENV

#endif /* __CONFIG_H */