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

Sughosh Ganu sughosh.ganu at linaro.org
Thu Aug 18 14:06:33 CEST 2022


hi Yann,

On Thu, 18 Aug 2022 at 13:35, Yann Gautier <yann.gautier at foss.st.com> wrote:
>
> 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.

The idea of this GUID is to identify or associate an image with a
platform. Will the FIP image be common across multiple STM32MP
platforms? If we use a common GUID that might be shared across
multiple ST boards, it would be possible to flash an image generated
for the ev1 board on the dk2 board. However, you would know better
about ST platforms. So I can change this as per your suggestion.
Thanks.

-sughosh

>
>
> 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