Message ID | 20230703160149.2302949-1-dario.binacchi@amarulasolutions.com |
---|---|
State | Accepted |
Headers | show |
Series | [1/2] boot/u-boot: fix u-boot.stm32 creation on newer version | expand |
Dario Binacchi <dario.binacchi@amarulasolutions.com> writes: > As reported in commit [1] of the U-Boot project, the config.mk file has > been suppressed in order to use binman to manage FIT generation. > > The added configuration option allows the creation of the u-boot.stm32 > image for both recent versions of U-Boot, which use binman, and older > versions. > > [1] 5564b4cd4d5c69 ("stm32mp: add binman support for STM32MP15x") > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> > --- > boot/uboot/Config.in | 10 ++++++++++ > boot/uboot/uboot.mk | 2 ++ > configs/avenger96_defconfig | 1 + > configs/olimex_stmp157_olinuxino_lime_defconfig | 1 + > configs/stm32mp157a_dk1_defconfig | 1 + > configs/stm32mp157c_dk2_defconfig | 1 + > configs/stm32mp157c_odyssey_defconfig | 1 + > 7 files changed, 17 insertions(+) > > diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in > index 085397d03d0c..ab0aaf2939f9 100644 > --- a/boot/uboot/Config.in > +++ b/boot/uboot/Config.in > @@ -395,6 +395,16 @@ config BR2_TARGET_UBOOT_FORMAT_STM32 > bool "u-boot.stm32" > depends on BR2_arm > > +if BR2_TARGET_UBOOT_FORMAT_STM32 > +config BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY > + bool "Legacy build (u-boot.stm32 target)" > + help > + Select this option if you use U-Boot with version older than > + 2022.01), so that we use the old build target. Otherwise, > + binman application is called to create the stm32 binary > + format. > +endif > + > config BR2_TARGET_UBOOT_FORMAT_CUSTOM > bool "Custom (specify below)" > help > diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk > index 4eae8e95c373..0b4b355a6c34 100644 > --- a/boot/uboot/uboot.mk > +++ b/boot/uboot/uboot.mk > @@ -133,8 +133,10 @@ endif > > ifeq ($(BR2_TARGET_UBOOT_FORMAT_STM32),y) > UBOOT_BINS += u-boot.stm32 > +ifeq ($(BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY),y) > UBOOT_MAKE_TARGET += u-boot.stm32 > endif > +endif > > ifeq ($(BR2_TARGET_UBOOT_FORMAT_CUSTOM),y) > UBOOT_BINS += $(call qstrip,$(BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME)) > diff --git a/configs/avenger96_defconfig b/configs/avenger96_defconfig > index d2c1b9013ef2..1f8e7a50d1e7 100644 > --- a/configs/avenger96_defconfig > +++ b/configs/avenger96_defconfig > @@ -30,5 +30,6 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.07" > BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted" > # BR2_TARGET_UBOOT_FORMAT_BIN is not set > BR2_TARGET_UBOOT_FORMAT_STM32=y > +BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY=y > BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp15xx-dhcor-avenger96" > BR2_PACKAGE_HOST_GENIMAGE=y > diff --git a/configs/olimex_stmp157_olinuxino_lime_defconfig b/configs/olimex_stmp157_olinuxino_lime_defconfig > index 3b56fefeca1c..44ff706fb2c5 100644 > --- a/configs/olimex_stmp157_olinuxino_lime_defconfig > +++ b/configs/olimex_stmp157_olinuxino_lime_defconfig > @@ -41,6 +41,7 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="STM32-OLinuXino-LIME" > # BR2_TARGET_UBOOT_FORMAT_BIN is not set > BR2_TARGET_UBOOT_FORMAT_IMG=y > BR2_TARGET_UBOOT_FORMAT_STM32=y > +BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY=y > BR2_TARGET_UBOOT_SPL=y > BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl.stm32" > > diff --git a/configs/stm32mp157a_dk1_defconfig b/configs/stm32mp157a_dk1_defconfig > index a487ce989148..3b8fdea993ac 100644 > --- a/configs/stm32mp157a_dk1_defconfig > +++ b/configs/stm32mp157a_dk1_defconfig > @@ -40,6 +40,7 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" > BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted" > # BR2_TARGET_UBOOT_FORMAT_BIN is not set > BR2_TARGET_UBOOT_FORMAT_STM32=y > +BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY=y > BR2_TARGET_UBOOT_NEEDS_OPENSSL=y > BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp157a-dk1" > > diff --git a/configs/stm32mp157c_dk2_defconfig b/configs/stm32mp157c_dk2_defconfig > index f1f7baaa0806..8b83bfe44353 100644 > --- a/configs/stm32mp157c_dk2_defconfig > +++ b/configs/stm32mp157c_dk2_defconfig > @@ -40,6 +40,7 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" > BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted" > # BR2_TARGET_UBOOT_FORMAT_BIN is not set > BR2_TARGET_UBOOT_FORMAT_STM32=y > +BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY=y > BR2_TARGET_UBOOT_NEEDS_OPENSSL=y > BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp157c-dk2" > > diff --git a/configs/stm32mp157c_odyssey_defconfig b/configs/stm32mp157c_odyssey_defconfig > index 6b699830b171..15b9a63b3926 100644 > --- a/configs/stm32mp157c_odyssey_defconfig > +++ b/configs/stm32mp157c_odyssey_defconfig > @@ -29,6 +29,7 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted" > BR2_TARGET_UBOOT_NEEDS_DTC=y > # BR2_TARGET_UBOOT_FORMAT_BIN is not set > BR2_TARGET_UBOOT_FORMAT_STM32=y > +BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY=y > BR2_TARGET_UBOOT_NEEDS_OPENSSL=y > BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp157c-odyssey" > BR2_PACKAGE_HOST_GENIMAGE=y (Sorry for the folks receiving this email multiple times. My mailing list settings were incorrect and my replies were bouncing.) Thanks for this! I was messing with a new STM32MP157D over the weekend, tried using a newer uboot version, and failed because of this exact issue. I applied this series, successfully created an SD card image, booted my board with it, and it worked great. Here is the uboot version and my board info from uboot's startup: U-Boot 2023.04 (Jan 01 1980 - 00:00:00 +0000) CPU: STM32MP157DAC Rev.Z Model: STMicroelectronics STM32MP157A-DK1 Discovery Board Board: stm32mp1 in trusted - stm32image mode (st,stm32mp157a-dk1) Board: MB1272 Var3.0 Rev.C-03 Tested-by: David Reaver <me@davidreaver.com>
On Mon, 3 Jul 2023 18:01:48 +0200 Dario Binacchi <dario.binacchi@amarulasolutions.com> wrote: > As reported in commit [1] of the U-Boot project, the config.mk file has > been suppressed in order to use binman to manage FIT generation. > > The added configuration option allows the creation of the u-boot.stm32 > image for both recent versions of U-Boot, which use binman, and older > versions. > > [1] 5564b4cd4d5c69 ("stm32mp: add binman support for STM32MP15x") > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> > --- > boot/uboot/Config.in | 10 ++++++++++ > boot/uboot/uboot.mk | 2 ++ > configs/avenger96_defconfig | 1 + > configs/olimex_stmp157_olinuxino_lime_defconfig | 1 + > configs/stm32mp157a_dk1_defconfig | 1 + > configs/stm32mp157c_dk2_defconfig | 1 + > configs/stm32mp157c_odyssey_defconfig | 1 + > 7 files changed, 17 insertions(+) Applied to master, thanks! Thomas
diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in index 085397d03d0c..ab0aaf2939f9 100644 --- a/boot/uboot/Config.in +++ b/boot/uboot/Config.in @@ -395,6 +395,16 @@ config BR2_TARGET_UBOOT_FORMAT_STM32 bool "u-boot.stm32" depends on BR2_arm +if BR2_TARGET_UBOOT_FORMAT_STM32 +config BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY + bool "Legacy build (u-boot.stm32 target)" + help + Select this option if you use U-Boot with version older than + 2022.01), so that we use the old build target. Otherwise, + binman application is called to create the stm32 binary + format. +endif + config BR2_TARGET_UBOOT_FORMAT_CUSTOM bool "Custom (specify below)" help diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk index 4eae8e95c373..0b4b355a6c34 100644 --- a/boot/uboot/uboot.mk +++ b/boot/uboot/uboot.mk @@ -133,8 +133,10 @@ endif ifeq ($(BR2_TARGET_UBOOT_FORMAT_STM32),y) UBOOT_BINS += u-boot.stm32 +ifeq ($(BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY),y) UBOOT_MAKE_TARGET += u-boot.stm32 endif +endif ifeq ($(BR2_TARGET_UBOOT_FORMAT_CUSTOM),y) UBOOT_BINS += $(call qstrip,$(BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME)) diff --git a/configs/avenger96_defconfig b/configs/avenger96_defconfig index d2c1b9013ef2..1f8e7a50d1e7 100644 --- a/configs/avenger96_defconfig +++ b/configs/avenger96_defconfig @@ -30,5 +30,6 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted" # BR2_TARGET_UBOOT_FORMAT_BIN is not set BR2_TARGET_UBOOT_FORMAT_STM32=y +BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY=y BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp15xx-dhcor-avenger96" BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/olimex_stmp157_olinuxino_lime_defconfig b/configs/olimex_stmp157_olinuxino_lime_defconfig index 3b56fefeca1c..44ff706fb2c5 100644 --- a/configs/olimex_stmp157_olinuxino_lime_defconfig +++ b/configs/olimex_stmp157_olinuxino_lime_defconfig @@ -41,6 +41,7 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="STM32-OLinuXino-LIME" # BR2_TARGET_UBOOT_FORMAT_BIN is not set BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_FORMAT_STM32=y +BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl.stm32" diff --git a/configs/stm32mp157a_dk1_defconfig b/configs/stm32mp157a_dk1_defconfig index a487ce989148..3b8fdea993ac 100644 --- a/configs/stm32mp157a_dk1_defconfig +++ b/configs/stm32mp157a_dk1_defconfig @@ -40,6 +40,7 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted" # BR2_TARGET_UBOOT_FORMAT_BIN is not set BR2_TARGET_UBOOT_FORMAT_STM32=y +BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp157a-dk1" diff --git a/configs/stm32mp157c_dk2_defconfig b/configs/stm32mp157c_dk2_defconfig index f1f7baaa0806..8b83bfe44353 100644 --- a/configs/stm32mp157c_dk2_defconfig +++ b/configs/stm32mp157c_dk2_defconfig @@ -40,6 +40,7 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted" # BR2_TARGET_UBOOT_FORMAT_BIN is not set BR2_TARGET_UBOOT_FORMAT_STM32=y +BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp157c-dk2" diff --git a/configs/stm32mp157c_odyssey_defconfig b/configs/stm32mp157c_odyssey_defconfig index 6b699830b171..15b9a63b3926 100644 --- a/configs/stm32mp157c_odyssey_defconfig +++ b/configs/stm32mp157c_odyssey_defconfig @@ -29,6 +29,7 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted" BR2_TARGET_UBOOT_NEEDS_DTC=y # BR2_TARGET_UBOOT_FORMAT_BIN is not set BR2_TARGET_UBOOT_FORMAT_STM32=y +BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp157c-odyssey" BR2_PACKAGE_HOST_GENIMAGE=y
As reported in commit [1] of the U-Boot project, the config.mk file has been suppressed in order to use binman to manage FIT generation. The added configuration option allows the creation of the u-boot.stm32 image for both recent versions of U-Boot, which use binman, and older versions. [1] 5564b4cd4d5c69 ("stm32mp: add binman support for STM32MP15x") Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> --- boot/uboot/Config.in | 10 ++++++++++ boot/uboot/uboot.mk | 2 ++ configs/avenger96_defconfig | 1 + configs/olimex_stmp157_olinuxino_lime_defconfig | 1 + configs/stm32mp157a_dk1_defconfig | 1 + configs/stm32mp157c_dk2_defconfig | 1 + configs/stm32mp157c_odyssey_defconfig | 1 + 7 files changed, 17 insertions(+)