lede/package/boot/arm-trusted-firmware-rockchip-vendor/Makefile

96 lines
2.3 KiB
Makefile

# SPDX-License-Identifier: GPL-2.0-only
#
# Copyright (C) 2021-2023 ImmortalWrt.org
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/trusted-firmware-a.mk
PKG_NAME:=rkbin
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://gitlab.com/rk3588_linux/rk/rkbin.git
PKG_SOURCE_DATE:=2023-08-04
PKG_SOURCE_VERSION:=1a417bbf7d05c3491ee9613be12a9905fbb8ccb7
PKG_MIRROR_HASH:=5ca2f3b759759ed7c5be70e7ec5e1f0c8d82b6db8265e83f637a55b2b3d61fe5
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
include $(INCLUDE_DIR)/package.mk
include ./atf-version.mk
define Trusted-Firmware-A/Default
NAME:=Rockchip $(1)
BUILD_TARGET:=rockchip
endef
define Trusted-Firmware-A/rk3328
ATF:=rk33/$(RK3328_ATF)
DDR:=rk33/$(RK3328_DDR)
LOADER:=rk33/$(RK3328_LOADER)
endef
define Trusted-Firmware-A/rk3399
ATF:=rk33/$(RK3399_ATF)
DDR:=rk33/$(RK3399_DDR)
LOADER:=rk33/$(RK3399_LOADER)
endef
define Trusted-Firmware-A/rk3528
ATF:=rk35/$(RK3528_ATF)
DDR:=rk35/$(RK3528_DDR)
endef
define Trusted-Firmware-A/rk3566
ATF:=rk35/$(RK3568_ATF)
DDR:=rk35/$(RK3566_DDR)
endef
define Trusted-Firmware-A/rk3568
ATF:=rk35/$(RK3568_ATF)
DDR:=rk35/$(RK3568_DDR)
endef
define Trusted-Firmware-A/rk3588
ATF:=rk35/$(RK3588_ATF)
DDR:=rk35/$(RK3588_DDR)
endef
TFA_TARGETS:= \
rk3328 \
rk3399 \
rk3528 \
rk3566 \
rk3568 \
rk3588
define Build/Compile
# This comment is the workaround for "extraneous 'endif'" error
ifneq ($(LOADER),)
( \
pushd $(PKG_BUILD_DIR) ; \
$(SED) 's,$$$$(PKG_BUILD_DIR),$(PKG_BUILD_DIR),g' trust.ini ; \
$(SED) 's,$$$$(VARIANT),$(BUILD_VARIANT),g' trust.ini ; \
./tools/mkimage -n $(BUILD_VARIANT) -T rksd -d bin/$(DDR) \
$(BUILD_VARIANT)-idbloader.bin ; \
cat bin/$(LOADER) >> $(BUILD_VARIANT)-idbloader.bin ; \
./tools/trust_merger --replace bl31.elf bin/$(ATF) trust.ini ; \
popd ; \
)
endif
endef
define Package/trusted-firmware-a/install
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
$(CP) $(PKG_BUILD_DIR)/bin/$(ATF) $(STAGING_DIR_IMAGE)/
ifneq ($(LOADER),)
$(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
$(CP) $(PKG_BUILD_DIR)/bin/$(DDR) $(STAGING_DIR_IMAGE)/
endif
endef
$(eval $(call BuildPackage/Trusted-Firmware-A))