lede/package/boot/rockchip-rkbin/Makefile
aiamadeus 062dc20078 arm-trusted-firmware-rockchip: update to v2.12
Switch rk3588 to the mainline atf.
Fixes: #13211
2024-12-15 18:36:21 +08:00

130 lines
3.2 KiB
Makefile

# SPDX-License-Identifier: GPL-2.0-only
#
# Copyright (C) 2021-2023 ImmortalWrt.org
include $(TOPDIR)/rules.mk
PKG_NAME:=rkbin
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/rockchip-linux/rkbin.git
PKG_SOURCE_DATE:=2024-10-18
PKG_SOURCE_VERSION:=12660714c81be85350a4092542e2ff599aa5adcb
PKG_MIRROR_HASH:=30f8ba3ca250dac4c60d1b642e7b3436daf091ace67f600a3bfdd5983bfa98a6
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
include $(INCLUDE_DIR)/package.mk
define Build/rkbin/Target
$(eval $(call rkbin/Default,$(1)))
$(eval $(call rkbin/$(1),$(1)))
define Package/rkbin-$(1)
SECTION:=boot
CATEGORY:=Boot Loaders
TITLE:=Rockchip rkbin for $(1) SoCs
DEPENDS:=$(DEPENDS)
VARIANT:=$(1)
endef
define Package/rkbin-$(1)/install
$$(Package/rkbin/install)
endef
endef
define rkbin/rk3328
DEPENDS:=@TARGET_rockchip_armv8
ATF:=rk33/rk322xh_bl31_v1.49.elf
TPL:=rk33/rk3328_ddr_333MHz_v1.19.bin
SPL:=rk33/rk322xh_miniloader_v2.50.bin
endef
define rkbin/rk3399
DEPENDS:=@TARGET_rockchip_armv8
ATF:=rk33/rk3399_bl31_v1.36.elf
TPL:=rk33/rk3399_ddr_800MHz_v1.30.bin
SPL:=rk33/rk3399_miniloader_v1.30.bin
endef
define rkbin/rk3528
DEPENDS:=@TARGET_rockchip_armv8
ATF:=rk35/rk3528_bl31_v1.17.elf
TPL:=rk35/rk3528_ddr_1056MHz_v1.10.bin
endef
define rkbin/rk3566
DEPENDS:=@TARGET_rockchip_armv8
ATF:=rk35/rk3568_bl31_v1.44.elf
TPL:=rk35/rk3566_ddr_1056MHz_v1.23.bin
endef
define rkbin/rk3568
DEPENDS:=@TARGET_rockchip_armv8
ATF:=rk35/rk3568_bl31_v1.44.elf
TPL:=rk35/rk3568_ddr_1560MHz_v1.23.bin
endef
define rkbin/rk3576
DEPENDS:=@TARGET_rockchip_armv8
ATF:=rk35/rk3576_bl31_v1.12.elf
TPL:=rk35/rk3576_ddr_lp4_2112MHz_lp5_2736MHz_v1.08.bin
endef
define rkbin/rk3588
DEPENDS:=@TARGET_rockchip_armv8
ATF:=rk35/rk3588_bl31_v1.47.elf
TPL:=rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.18.bin
endef
VARIANTS:= \
rk3328 \
rk3399 \
rk3528 \
rk3566 \
rk3568 \
rk3576 \
rk3588
define Build/Compile
@echo Building idbLoader from Rockchip rkbin project...
ifneq ($(SPL),)
( \
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/$(TPL) \
$(BUILD_VARIANT)-idbloader.bin ; \
cat bin/$(SPL) >> $(BUILD_VARIANT)-idbloader.bin ; \
./tools/trust_merger --replace bl31.elf bin/$(ATF) trust.ini ; \
popd ; \
)
endif
endef
define BuildPackage/rkbin
$(foreach type,$(if $(DUMP),$(VARIANTS),$(BUILD_VARIANT)), \
$(eval $(call Build/rkbin/Target,$(type)))
)
$(eval $(call Build/DefaultTargets))
$(foreach type,$(if $(DUMP),$(VARIANTS),$(BUILD_VARIANT)), \
$(call BuildPackage,rkbin-$(type))
)
endef
define Package/rkbin/install
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
$(CP) $(PKG_BUILD_DIR)/bin/$(ATF) $(STAGING_DIR_IMAGE)/
$(CP) $(PKG_BUILD_DIR)/bin/$(TPL) $(STAGING_DIR_IMAGE)/
ifneq ($(SPL),)
$(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)/
endif
endef
$(eval $(call BuildPackage/rkbin))