diff --git a/package/boot/arm-trusted-firmware-rockchip/Makefile b/package/boot/arm-trusted-firmware-rockchip/Makefile index f318095561..aa619920eb 100644 --- a/package/boot/arm-trusted-firmware-rockchip/Makefile +++ b/package/boot/arm-trusted-firmware-rockchip/Makefile @@ -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 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)) diff --git a/package/boot/arm-trusted-firmware-rockchip/atf-version.mk b/package/boot/arm-trusted-firmware-rockchip/atf-version.mk new file mode 100644 index 0000000000..de18afb0ed --- /dev/null +++ b/package/boot/arm-trusted-firmware-rockchip/atf-version.mk @@ -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 diff --git a/package/boot/arm-trusted-firmware-rockchip/pack-firmware.sh b/package/boot/arm-trusted-firmware-rockchip/pack-firmware.sh deleted file mode 100755 index 64762c4fc9..0000000000 --- a/package/boot/arm-trusted-firmware-rockchip/pack-firmware.sh +++ /dev/null @@ -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 diff --git a/package/boot/uboot-rockchip/Makefile b/package/boot/uboot-rockchip/Makefile index 7cb043d5ec..7f612133ac 100644 --- a/package/boot/uboot-rockchip/Makefile +++ b/package/boot/uboot-rockchip/Makefile @@ -14,6 +14,7 @@ PKG_MAINTAINER:=Tobias Maedel 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