[PATCH v8 05/13] stm32mp1: dk2: Add image information for capsule updates

Yann Gautier yann.gautier at foss.st.com
Thu Aug 18 10:05:15 CEST 2022


On 8/17/22 14:43, Sughosh Ganu wrote:
> Enabling capsule update functionality on the platform requires
> populating information on the images that are to be updated using the
> functionality. Do so for the DK2 board.
> 
> Signed-off-by: Sughosh Ganu <sughosh.ganu at linaro.org>
> Reviewed-by: Patrick Delaunay <patrick.delaunay at foss.st.com>
> Reviewed-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
> ---
> Changes since V7: None
> 
>   board/st/stm32mp1/stm32mp1.c       | 23 +++++++++++++++++++++++
>   include/configs/stm32mp15_common.h |  4 ++++
>   2 files changed, 27 insertions(+)
> 
> diff --git a/board/st/stm32mp1/stm32mp1.c b/board/st/stm32mp1/stm32mp1.c
> index 9496890d16..0fda8f150d 100644
> --- a/board/st/stm32mp1/stm32mp1.c
> +++ b/board/st/stm32mp1/stm32mp1.c
> @@ -11,6 +11,7 @@
>   #include <clk.h>
>   #include <config.h>
>   #include <dm.h>
> +#include <efi_loader.h>
>   #include <env.h>
>   #include <env_internal.h>
>   #include <fdt_simplefb.h>
> @@ -87,6 +88,16 @@
>   #define USB_START_LOW_THRESHOLD_UV	1230000
>   #define USB_START_HIGH_THRESHOLD_UV	2150000
>   
> +#if CONFIG_IS_ENABLED(EFI_HAVE_CAPSULE_SUPPORT)
> +struct efi_fw_image fw_images[1];
> +
> +struct efi_capsule_update_info update_info = {
> +	.images = fw_images,
> +};
> +
> +u8 num_image_type_guids = ARRAY_SIZE(fw_images);
> +#endif /* EFI_HAVE_CAPSULE_SUPPORT */
> +
>   int board_early_init_f(void)
>   {
>   	/* nothing to do, only used in SPL */
> @@ -670,6 +681,18 @@ int board_init(void)
>   
>   	setup_led(LEDST_ON);
>   
> +#if CONFIG_IS_ENABLED(EFI_HAVE_CAPSULE_SUPPORT)
> +	if (board_is_stm32mp15x_dk2()) {
> +		efi_guid_t image_type_guid = STM32MP15_DK2_FIP_IMAGE_GUID;
> +		guidcpy(&fw_images[0].image_type_id, &image_type_guid);
> +		fw_images[0].fw_name = u"STM32MP15-DK2-FIP";
> +		/*
> +		 * For FWU multi bank update, the image
> +		 * index will be computed at runtime
> +		 */
> +		fw_images[0].image_index = 0;
> +	}
> +#endif
>   	return 0;
>   }
>   
> diff --git a/include/configs/stm32mp15_common.h b/include/configs/stm32mp15_common.h
> index c5412ffeb3..6ab10d8ce5 100644
> --- a/include/configs/stm32mp15_common.h
> +++ b/include/configs/stm32mp15_common.h
> @@ -34,6 +34,10 @@
>   #define CONFIG_SERVERIP                 192.168.1.1
>   #endif
>   

Hi Sugosh,

Sorry for the late review.

> +#define STM32MP15_DK2_FIP_IMAGE_GUID \
Although this is now only supported on this STM32MP15_DK2 board, I don't 
think this macro should be tight to the board name, as it may be used 
for other STM32MP boards. I'd just use STM32MP_FIP_IMAGE_GUID.
This should be the same for the fw_images[0].fw_name.


Best regards,
Yann

> +	EFI_GUID(0x19d5df83, 0x11b0, 0x457b, 0xbe, 0x2c, \
> +		 0x75, 0x59, 0xc1, 0x31, 0x42, 0xa5)
> +
>   /*****************************************************************************/
>   #ifdef CONFIG_DISTRO_DEFAULTS
>   /*****************************************************************************/



More information about the U-Boot mailing list