arm-trusted-firmware-rockchip: switch to use trusted-firmware-a

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
Tianling Shen 2023-01-27 03:56:06 +08:00
parent e9c7bb39d6
commit c2bd26d420
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
4 changed files with 76 additions and 113 deletions

View File

@ -3,77 +3,88 @@
# Copyright (C) 2021-2023 ImmortalWrt.org
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/trusted-firmware-a.mk
PKG_NAME:=arm-trusted-firmware-rockchip
PKG_NAME:=rkbin
PKG_VERSION:=linux-5.10-gen-rkr3.5
PKG_RELEASE:=1
PKG_SOURCE:=rkbin-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL=https://gitlab.com/rk3588_linux/rk/rkbin/-/archive/$(PKG_VERSION)/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://gitlab.com/rk3588_linux/rk/rkbin/-/archive/$(PKG_VERSION)/
PKG_HASH:=012b0d7bdc269480f38ccc06d6f2e88fd794e05f2227184989aa9863279c90ca
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/rkbin-$(PKG_VERSION)
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
include $(INCLUDE_DIR)/package.mk
include ./atf-version.mk
define Package/arm-trusted-firmware-rockchip
SECTION:=boot
CATEGORY:=Boot Loaders
TITLE:=ARM Trusted Firmware for Rockchip
define Trusted-Firmware-A/Default
NAME:=Rockchip $(1)
BUILD_TARGET:=rockchip
endef
define Package/arm-trusted-firmware-rk3328
$(Package/arm-trusted-firmware-rockchip)
DEPENDS:=@TARGET_rockchip_armv8
VARIANT:=rk3328
define Trusted-Firmware-A/rk3328
BUILD_SUBTARGET:=armv8
ATF:=rk33/$(RK3328_ATF)
DDR:=rk33/$(RK3328_DDR)
LOADER:=rk33/$(RK3328_LOADER)
endef
define Package/arm-trusted-firmware-rk3399
$(Package/arm-trusted-firmware-rockchip)
DEPENDS:=@TARGET_rockchip_armv8
VARIANT:=rk3399
define Trusted-Firmware-A/rk3399
BUILD_SUBTARGET:=armv8
ATF:=rk33/$(RK3399_ATF)
DDR:=rk33/$(RK3399_DDR)
LOADER:=rk33/$(RK3399_LOADER)
endef
define Package/arm-trusted-firmware-rk3568
$(Package/arm-trusted-firmware-rockchip)
DEPENDS:=@TARGET_rockchip_armv8
VARIANT:=rk3568
define Trusted-Firmware-A/rk3568
BUILD_SUBTARGET:=armv8
ATF:=rk35/$(RK3568_ATF)
DDR:=rk35/$(RK3568_DDR)
endef
define Package/arm-trusted-firmware-rk3588
$(Package/arm-trusted-firmware-rockchip)
DEPENDS:=@TARGET_rockchip_armv8
VARIANT:=rk3588
define Trusted-Firmware-A/rk3588
BUILD_SUBTARGET:=armv8
ATF:=rk35/$(RK3588_ATF)
DDR:=rk35/$(RK3588_DDR)
endef
TFA_TARGETS:= \
rk3328 \
rk3399 \
rk3568 \
rk3588
define Build/Configure
$(SED) 's,$$$$(PKG_BUILD_DIR),$(PKG_BUILD_DIR),g' $(PKG_BUILD_DIR)/trust.ini
$(SED) 's,$$$$(VARIANT),$(BUILD_VARIANT),g' $(PKG_BUILD_DIR)/trust.ini
$(call Build/Configure/Default)
endef
define Build/Compile
$(CURDIR)/pack-firmware.sh build $(BUILD_VARIANT) '$(PKG_BUILD_DIR)'
# This comment is the workaround for "extraneous 'endif'" error
ifneq ($(filter rk33%,$(BUILD_VARIANT)),)
( \
pushd $(PKG_BUILD_DIR) ; \
./tools/mkimage -n $(BUILD_VARIANT) -T rksd -d bin/$(ATF_DIR)/$(DDR) \
$(BUILD_VARIANT)-idbloader.bin ; \
cat bin/$(ATF_DIR)/$(LOADER) >> $(BUILD_VARIANT)-idbloader.bin ; \
./tools/trust_merger --replace bl31.elf bin/$(ATF_DIR)/$(ATF) trust.ini ; \
popd ; \
)
endif
endef
define Build/InstallDev
$(CURDIR)/pack-firmware.sh install $(BUILD_VARIANT) '$(PKG_BUILD_DIR)' '$(STAGING_DIR_IMAGE)'
define Package/trusted-firmware-a/install
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
$(CP) $(PKG_BUILD_DIR)/bin/$(ATF_DIR)/$(ATF) $(STAGING_DIR_IMAGE)/
ifneq ($(filter rk33%,$(BUILD_VARIANT)),)
$(CP) $(PKG_BUILD_DIR)/tools/loaderimage $(STAGING_DIR_IMAGE)/
$(CP) $(PKG_BUILD_DIR)/$(BUILD_VARIANT)-idbloader.bin $(STAGING_DIR_IMAGE)/
$(CP) $(PKG_BUILD_DIR)/$(BUILD_VARIANT)-trust.bin $(STAGING_DIR_IMAGE)/
else ifneq ($(filter rk35%,$(BUILD_VARIANT)),)
$(CP) $(PKG_BUILD_DIR)/bin/$(ATF_DIR)/$(DDR) $(STAGING_DIR_IMAGE)/
endif
endef
define Package/arm-trusted-firmware-rk3328/install
endef
define Package/arm-trusted-firmware-rk3399/install
endef
define Package/arm-trusted-firmware-rk3568/install
endef
define Package/arm-trusted-firmware-rk3588/install
endef
$(eval $(call BuildPackage,arm-trusted-firmware-rk3328))
$(eval $(call BuildPackage,arm-trusted-firmware-rk3399))
$(eval $(call BuildPackage,arm-trusted-firmware-rk3568))
$(eval $(call BuildPackage,arm-trusted-firmware-rk3588))
$(eval $(call BuildPackage/Trusted-Firmware-A))

View File

@ -0,0 +1,13 @@
RK3328_ATF:=rk322xh_bl31_v1.49.elf
RK3328_DDR:=rk3328_ddr_333MHz_v1.19.bin
RK3328_LOADER:=rk322xh_miniloader_v2.50.bin
RK3399_ATF:=rk3399_bl31_v1.35.elf
RK3399_DDR:=rk3399_ddr_800MHz_v1.28.bin
RK3399_LOADER:=rk3399_miniloader_v1.26.bin
RK3568_ATF:=rk3568_bl31_v1.28.elf
RK3568_DDR:=rk3568_ddr_1560MHz_v1.15.bin
RK3588_ATF:=rk3588_bl31_v1.32.elf
RK3588_DDR:=rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.09.bin

View File

@ -1,62 +0,0 @@
#!/bin/bash
# Copyright (C) 2021-2023 ImmortalWrt.org
set -e
ACTION="$1"
VARIANT="$2"
PKG_BUILD_DIR="$3"
STAGING_DIR_IMAGE="$4"
case "$VARIANT" in
"rk3328")
ATF="rk33/rk322xh_bl31_v1.49.elf"
DDR="rk33/rk3328_ddr_333MHz_v1.19.bin"
LOADER="rk33/rk322xh_miniloader_v2.50.bin"
;;
"rk3399")
ATF="rk33/rk3399_bl31_v1.35.elf"
DDR="rk33/rk3399_ddr_800MHz_v1.28.bin"
LOADER="rk33/rk3399_miniloader_v1.26.bin"
;;
"rk3568")
ATF="rk35/rk3568_bl31_v1.28.elf"
DDR="rk35/rk3568_ddr_1560MHz_v1.15.bin"
;;
"rk3588")
ATF="rk35/rk3588_bl31_v1.32.elf"
DDR="rk35/rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.09.bin"
;;
*)
echo -e "Unsupported platform: $VARIANT."
exit 1
;;
esac
set -x
if [ "$ACTION" == "build" ]; then
case "$VARIANT" in
rk33*)
"$PKG_BUILD_DIR"/tools/mkimage -n "$VARIANT" -T "rksd" -d "$PKG_BUILD_DIR/bin/$DDR" "$PKG_BUILD_DIR/$VARIANT-idbloader.bin"
cat "$PKG_BUILD_DIR/bin/$LOADER" >> "$PKG_BUILD_DIR/$VARIANT-idbloader.bin"
"$PKG_BUILD_DIR/tools/trust_merger" --replace "bl31.elf" "$PKG_BUILD_DIR/bin/$ATF" "$PKG_BUILD_DIR/trust.ini"
;;
esac
elif [ "$ACTION" == "install" ]; then
mkdir -p "$STAGING_DIR_IMAGE"
cp -fp "$PKG_BUILD_DIR/bin/$ATF" "$STAGING_DIR_IMAGE"/
case "$VARIANT" in
rk33*)
cp -fp "$PKG_BUILD_DIR/tools/loaderimage" "$STAGING_DIR_IMAGE"/
cp -fp "$PKG_BUILD_DIR/$VARIANT-idbloader.bin" "$STAGING_DIR_IMAGE"/
cp -fp "$PKG_BUILD_DIR/$VARIANT-trust.bin" "$STAGING_DIR_IMAGE"/
;;
rk35*)
cp -fp "$PKG_BUILD_DIR/bin/$DDR" "$STAGING_DIR_IMAGE"/
;;
esac
else
echo -e "Unknown operation: $ACTION."
exit 1
fi
set +x

View File

@ -14,6 +14,7 @@ PKG_MAINTAINER:=Tobias Maedel <openwrt@tbspace.de>
include $(INCLUDE_DIR)/u-boot.mk
include $(INCLUDE_DIR)/package.mk
include ../arm-trusted-firmware-rockchip/atf-version.mk
define U-Boot/Default
BUILD_TARGET:=rockchip
@ -26,8 +27,8 @@ endef
define U-Boot/Default/rk3328
BUILD_SUBTARGET:=armv8
DEPENDS:=+PACKAGE_u-boot-$(1):arm-trusted-firmware-rk3328
ATF:=rk322xh_bl31_v1.49.elf
DEPENDS:=+PACKAGE_u-boot-$(1):trusted-firmware-a-rk3328
ATF:=$(RK3328_ATF)
endef
define U-Boot/nanopi-r2c-rk3328
@ -63,8 +64,8 @@ endef
define U-Boot/Default/rk3399
BUILD_SUBTARGET:=armv8
DEPENDS:=+PACKAGE_u-boot-$(1):arm-trusted-firmware-rk3399
ATF:=rk3399_bl31_v1.35.elf
DEPENDS:=+PACKAGE_u-boot-$(1):trusted-firmware-a-rk3399
ATF:=$(RK3399_ATF)
endef
define U-Boot/nanopi-r4s-rk3399
@ -100,9 +101,9 @@ endef
define U-Boot/Default/rk3568
BUILD_SUBTARGET:=armv8
DEPENDS:=+PACKAGE_u-boot-$(1):arm-trusted-firmware-rk3568
ATF:=rk3568_bl31_v1.28.elf
DDR:=rk3568_ddr_1560MHz_v1.15.bin
DEPENDS:=+PACKAGE_u-boot-$(1):trusted-firmware-a-rk3568
ATF:=$(RK3568_ATF)
DDR:=$(RK3568_DDR)
endef
define U-Boot/fastrhino-r66s-rk3568