Thanks Aldo,
The link above refers to a config option, CONFIG_EFI_CAPSULE_FMP_HEADER. However the option doesn't seem to be referenced anywhere except a documentation file.
We built a u-boot image with debugging enabled (CONFIG_LOG_MAX_LEVEL) for our board based on the i.MX8MM EVK with the debug messages enabled. When attempting the capsule update, it prints out the below messages indicating that the support for the Firmware Management Protocol GUID is missing:
lib/efi_loader/efi_capsule.c:470-efi_update_capsule() Capsule[0] (guid:6dcbd5ed-e82d-4c44-bda1-7194199ad92a)
lib/efi_loader/efi_capsule.c:360-efi_capsule_update_firmware() EFI: Call: efi_locate_handle_buffer( BY_PROTOCOL, &efi_guid_firmware_management_protocol, NULL, &no_handles, (efi_handle_t **)&handles)
lib/efi_loader/efi_boottime.c:2476-efi_locate_handle_buffer() EFI: Entry efi_locate_handle_buffer(2, 86c77a67-0b97-4633-a187-49104d0685c7, 0000000000000000, 00000000bded19c0, 00000000bded19b8)
lib/efi_loader/efi_boottime.c:2498-efi_locate_handle_buffer() EFI: Exit: efi_locate_handle_buffer: 14
lib/efi_loader/efi_capsule.c:360-efi_capsule_update_firmware() EFI: 14 returned by efi_locate_handle_buffer( BY_PROTOCOL, &efi_guid_firmware_management_protocol, NULL, &no_handles, (efi_handle_t **)&handles)
lib/efi_loader/efi_capsule.c:485-efi_update_capsule() EFI: Exit: efi_update_capsule: 3
cmd/efidebug.c:75-do_efi_capsule_update() EFI: 3 returned by RT->update_capsule(&capsule, 1, 0)
Cannot handle a capsule at 0000000040480000common/command.c:582-cmd_call() Command failed, result=1
The line "EFI: Exit: efi_locate_handle_buffer: 14" indicates a return code of EFI_NOT_FOUND when attempting to locate handle buffer for the protocol.
I'd appreciate any suggestions about this error, and if it's related to the above config option.