summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAKASHI Takahiro <takahiro.akashi@linaro.org>2020-11-30 12:12:12 +0300
committerHeinrich Schuchardt <xypron.glpk@gmx.de>2020-12-03 23:22:50 +0300
commitf27c20148511b476b688bddf7c2322c98d9e0be2 (patch)
treee86735b26770d030fa4d2812870b9c3f72367413 /include
parent8d99026f06978ddf2ed72ccaed6cd3ad0887e4e5 (diff)
downloadu-boot-f27c20148511b476b688bddf7c2322c98d9e0be2.tar.xz
efi_loader: add firmware management protocol for FIT image
In this commit, a very simple firmware management protocol driver is implemented. It will take a common FIT image firmware in a capsule file and apply the data using dfu backend storage drivers via update_fit() interface. So "dfu_alt_info" variable should be properly set to specify a device and location to be updated. Please read README.dfu. Fit image is a common file format for firmware update on U-Boot, and this protocol works neatly just as a wrapper for one. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Diffstat (limited to 'include')
-rw-r--r--include/efi_api.h4
-rw-r--r--include/efi_loader.h2
2 files changed, 6 insertions, 0 deletions
diff --git a/include/efi_api.h b/include/efi_api.h
index 5d2f7bbbe3..d6751f6ad2 100644
--- a/include/efi_api.h
+++ b/include/efi_api.h
@@ -1853,6 +1853,10 @@ struct efi_signature_list {
EFI_GUID(0x86c77a67, 0x0b97, 0x4633, 0xa1, 0x87, \
0x49, 0x10, 0x4d, 0x06, 0x85, 0xc7)
+#define EFI_FIRMWARE_IMAGE_TYPE_UBOOT_FIT_GUID \
+ EFI_GUID(0xae13ff2d, 0x9ad4, 0x4e25, 0x9a, 0xc8, \
+ 0x6d, 0x80, 0xb3, 0xb2, 0x21, 0x47)
+
#define IMAGE_ATTRIBUTE_IMAGE_UPDATABLE 0x0000000000000001
#define IMAGE_ATTRIBUTE_RESET_REQUIRED 0x0000000000000002
#define IMAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED 0x0000000000000004
diff --git a/include/efi_loader.h b/include/efi_loader.h
index ed5a49b520..d592a0e680 100644
--- a/include/efi_loader.h
+++ b/include/efi_loader.h
@@ -816,6 +816,8 @@ void efi_memcpy_runtime(void *dest, const void *src, size_t n);
/* commonly used helper function */
u16 *efi_create_indexed_name(u16 *buffer, const char *name, unsigned int index);
+extern const struct efi_firmware_management_protocol efi_fmp_fit;
+
/* Capsule update */
efi_status_t EFIAPI efi_update_capsule(
struct efi_capsule_header **capsule_header_array,