[U-Boot] [PATCH v2 2/2] Kconfig: Add u-boot.itb BUILD_TARGET for Rockchip

Add u-boot.itb BUILD_TARGET for Rockchip platform when SPL_LOAD_FIT is being used. This can get rid of building itb explicitly with 'make u-boot.itb' all required images will now build just by make.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com --- Changes for v2: - build target type 'u-boot.itb' when SPL_LOAD_FIT being used
Kconfig | 2 +- board/rockchip/evb_rk3399/README | 1 - board/theobroma-systems/lion_rk3368/README | 9 ++------- board/theobroma-systems/puma_rk3399/README | 1 - board/vamrs/rock960_rk3399/README | 1 - 5 files changed, 3 insertions(+), 11 deletions(-)
diff --git a/Kconfig b/Kconfig index 15b79259a8..cf175ef33f 100644 --- a/Kconfig +++ b/Kconfig @@ -229,7 +229,7 @@ config BUILD_TARGET default "u-boot-with-spl.sfp" if ARCH_SOCFPGA default "u-boot-spl.kwb" if ARCH_MVEBU && SPL_BUILD default "u-boot-elf.srec" if RCAR_GEN3 - default "u-boot.itb" if SPL_LOAD_FIT && ARCH_SUNXI + default "u-boot.itb" if SPL_LOAD_FIT && (ARCH_ROCKCHIP || ARCH_SUNXI) help Some SoCs need special image types (e.g. U-Boot binary with a special header) as build targets. By defining diff --git a/board/rockchip/evb_rk3399/README b/board/rockchip/evb_rk3399/README index 8321467046..c388f269c1 100644 --- a/board/rockchip/evb_rk3399/README +++ b/board/rockchip/evb_rk3399/README @@ -58,7 +58,6 @@ Compile the U-Boot for firefly-rk3399, use below instead:
make firefly-rk3399_defconfig make
- > make u-boot.itb
Get spl/u-boot-spl.bin and u-boot.itb in this step.
diff --git a/board/theobroma-systems/lion_rk3368/README b/board/theobroma-systems/lion_rk3368/README index 83e4332984..241d4d9ec8 100644 --- a/board/theobroma-systems/lion_rk3368/README +++ b/board/theobroma-systems/lion_rk3368/README @@ -14,18 +14,13 @@ Configure U-Boot
cd ../u-boot make lion-rk3368_defconfig
-Build the TPL/SPL stage -======================= +Build the TPL/SPL, U-Boot proper and a FIT image including the ATF +==================================================================
make CROSS_COMPILE=aarch64-unknown-elf- ARCH=arm tools/mkimage -n rk3368 -T rksd -d tpl/u-boot-tpl.bin spl-3368.img cat spl/u-boot-spl-dtb.bin >> spl-3368.img
-Build the full U-Boot and a FIT image including the ATF -======================================================= - - > make CROSS_COMPILE=aarch64-unknown-elf- ARCH=arm u-boot.itb - Flash the image ===============
diff --git a/board/theobroma-systems/puma_rk3399/README b/board/theobroma-systems/puma_rk3399/README index f67dfb451f..c06c9650b8 100644 --- a/board/theobroma-systems/puma_rk3399/README +++ b/board/theobroma-systems/puma_rk3399/README @@ -60,7 +60,6 @@ Creating a SPL image for SD-Card/eMMC Creating a SPL image for SPI-NOR
tools/mkimage -n rk3399 -T rkspi -d spl/u-boot-spl.bin spl_nor.img
Create the FIT image containing U-Boot proper, ATF, M0 Firmware, devicetree - > make CROSS_COMPILE=aarch64-linux-gnu- u-boot.itb
Flash the image =============== diff --git a/board/vamrs/rock960_rk3399/README b/board/vamrs/rock960_rk3399/README index d14399090e..c5c675c4ea 100644 --- a/board/vamrs/rock960_rk3399/README +++ b/board/vamrs/rock960_rk3399/README @@ -61,7 +61,6 @@ Compile the U-Boot
export CROSS_COMPILE=aarch64-linux-gnu- make rock960-rk3399_defconfig make
- > make u-boot.itb
Compile the rkdeveloptool =========================

On Fri, Jan 18, 2019 at 12:53:41PM +0530, Jagan Teki wrote:
Add u-boot.itb BUILD_TARGET for Rockchip platform when SPL_LOAD_FIT is being used. This can get rid of building itb explicitly with 'make u-boot.itb' all required images will now build just by make.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com
So, we have a problem. Two actually, but the first is easily fixed. The first is that in travis, we need python-pyelftools in order for the python script to run. The second and harder problem is seen here: https://travis-ci.org/trini/u-boot/jobs/487680727 where we need to adapt the script to return a success error code and scream at the end user that the resulting binary is not valid. We have this on all the other aarch64 platforms that have a default build target that requires BL31, etc, and need it on rockchip with this patch.
I'd also really appreciate if someone could look at the N different wrappers and see if we can't get something more common as it looks like that for example between i.MX8 and Rockchip we have a lot of common ground (make a FIT) and then just a binary modification at the end for rockchip?

On Sat, Feb 2, 2019 at 9:05 AM Tom Rini trini@konsulko.com wrote:
On Fri, Jan 18, 2019 at 12:53:41PM +0530, Jagan Teki wrote:
Add u-boot.itb BUILD_TARGET for Rockchip platform when SPL_LOAD_FIT is being used. This can get rid of building itb explicitly with 'make u-boot.itb' all required images will now build just by make.
Signed-off-by: Jagan Teki jagan@amarulasolutions.com
So, we have a problem. Two actually, but the first is easily fixed. The first is that in travis, we need python-pyelftools in order for the
This seems bit crazy, I have included python-pyelftools in packages seems like travis host cann't find the package, may be some dependency but as per as I know it has dependency with python.
python script to run. The second and harder problem is seen here: https://travis-ci.org/trini/u-boot/jobs/487680727 where we need to adapt the script to return a success error code and scream at the end user that the resulting binary is not valid. We have this on all the other aarch64 platforms that have a default build target that requires BL31, etc, and need it on rockchip with this patch.
I'd also really appreciate if someone could look at the N different wrappers and see if we can't get something more common as it looks like that for example between i.MX8 and Rockchip we have a lot of common ground (make a FIT) and then just a binary modification at the end for rockchip?
Yes, thought off, will send few changes wrt this support.
participants (2)
-
Jagan Teki
-
Tom Rini