boot/uboot: Add support for Rockchip binary blobs

Currently for some Rockchip SoCs binary blobs are needed, e.g., for
the RK3588 bl31 and tpl. These blobs are provided by Rockchip. This
patch adds U-Boot package options to use theses binaries, provided
by the rockchip-rkbin package, which is also introduced in this
patch series. The U-Boot package is modified so that it takes the
chosen binaries and automatically uses them during build.

Signed-off-by: Kilian Zinnecker <kilian.zinnecker@mail.de>
[yann.morin.1998@free.fr:
  - use already-qstripped variables from rockchip-rkbin
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
Kilian Zinnecker 2023-07-26 20:04:32 +02:00 committed by Yann E. MORIN
parent 8d1180aa48
commit 029296c748
2 changed files with 26 additions and 0 deletions

View File

@ -262,6 +262,15 @@ config BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE
This option makes sure that the i.MX firmwares are copied into
the U-Boot source directory.
config BR2_TARGET_UBOOT_NEEDS_ROCKCHIP_RKBIN
bool "U-Boot needs rockchip-rkbin"
depends on BR2_PACKAGE_ROCKCHIP_RKBIN
help
For some Rockchip SoCs U-Boot needs binary blobs from
Rockchip.
This option makes sure that the needed binary blobs are copied
into the U-Boot source directory.
menu "U-Boot binary format"
config BR2_TARGET_UBOOT_FORMAT_AIS

View File

@ -209,6 +209,23 @@ endef
UBOOT_PRE_BUILD_HOOKS += UBOOT_COPY_IMX_FW_FILES
endif
ifeq ($(BR2_TARGET_UBOOT_NEEDS_ROCKCHIP_RKBIN),y)
UBOOT_DEPENDENCIES += rockchip-rkbin
define UBOOT_INSTALL_UBOOT_ROCKCHIP_BIN
$(INSTALL) -D -m 0644 $(@D)/u-boot-rockchip.bin $(BINARIES_DIR)/u-boot-rockchip.bin
endef
UBOOT_POST_INSTALL_IMAGES_HOOKS += UBOOT_INSTALL_UBOOT_ROCKCHIP_BIN
ifneq ($(ROCKCHIP_RKBIN_BL31_FILENAME),)
UBOOT_MAKE_OPTS += BL31=$(BINARIES_DIR)/$(notdir $(ROCKCHIP_RKBIN_BL31_FILENAME))
endif
ifneq ($(ROCKCHIP_RKBIN_TPL_FILENAME),)
UBOOT_MAKE_OPTS += ROCKCHIP_TPL=$(BINARIES_DIR)/$(notdir $(ROCKCHIP_RKBIN_TPL_FILENAME))
endif
ifneq ($(ROCKCHIP_RKBIN_TEE_FILENAME),)
UBOOT_MAKE_OPTS += TEE=$(BINARIES_DIR)/$(notdir $(ROCKCHIP_RKBIN_TEE_FILENAME))
endif
endif
ifeq ($(BR2_TARGET_UBOOT_NEEDS_DTC),y)
UBOOT_DEPENDENCIES += host-dtc
UBOOT_MAKE_OPTS += DTC=$(HOST_DIR)/bin/dtc