summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTianling Shen2023-06-25 15:41:35 +0000
committerHauke Mehrtens2023-06-25 20:52:15 +0000
commit186976c963f0b2484be81854b97c0d8ec6c6e7a7 (patch)
tree37d2aa079c8843bcc6c4af9a4c2d8763adf35e51
parent359638098742d7573ff422f6dc7125c89086072b (diff)
downloadopenwrt-186976c963f0b2484be81854b97c0d8ec6c6e7a7.tar.gz
arm-trusted-firmware-rockchip: add m0 gcc toolchain
rk3399 ATF requires arm toolchain to build the m0 pmu driver. As OpenWrt doesn't ship this toolchain so download the prebuilt one just like what we did in arm-trusted-firmware-mvebu. Fixes: 5d1cb52da062 ("arm-trusted-firmware-rockchip: Update to 2.9") Reported-by: Wurzer Juergen <wurzer.juergen@gmail.com> Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
-rw-r--r--package/boot/arm-trusted-firmware-rockchip/Makefile27
1 files changed, 27 insertions, 0 deletions
diff --git a/package/boot/arm-trusted-firmware-rockchip/Makefile b/package/boot/arm-trusted-firmware-rockchip/Makefile
index f5b9d6b16d..aaae4ce392 100644
--- a/package/boot/arm-trusted-firmware-rockchip/Makefile
+++ b/package/boot/arm-trusted-firmware-rockchip/Makefile
@@ -37,6 +37,33 @@ TFA_TARGETS:= \
rk3328 \
rk3399
+ifeq ($(BUILD_VARIANT),rk3399)
+ M0_GCC_NAME:=gcc-arm
+ M0_GCC_RELEASE:=11.2-2022.02
+ M0_GCC_VERSION:=$(HOST_ARCH)-arm-none-eabi
+ M0_GCC_SOURCE:=$(M0_GCC_NAME)-$(M0_GCC_RELEASE)-$(M0_GCC_VERSION).tar.xz
+
+ define Download/m0-gcc
+ FILE:=$(M0_GCC_SOURCE)
+ URL:=https://developer.arm.com/-/media/Files/downloads/gnu/$(M0_GCC_RELEASE)/binrel
+ ifeq ($(HOST_ARCH),aarch64)
+ HASH:=ef1d82e5894e3908cb7ed49c5485b5b95deefa32872f79c2b5f6f5447cabf55f
+ else
+ HASH:=8c5acd5ae567c0100245b0556941c237369f210bceb196edfe5a2e7532c60326
+ endif
+ endef
+
+ define Build/Prepare
+ $(eval $(call Download,m0-gcc))
+ $(call Build/Prepare/Default)
+
+ xzcat $(DL_DIR)/$(M0_GCC_SOURCE) | $(HOST_TAR) -C $(PKG_BUILD_DIR)/ $(TAR_OPTIONS)
+ endef
+
+ TFA_MAKE_FLAGS+= \
+ M0_CROSS_COMPILE=$(PKG_BUILD_DIR)/$(M0_GCC_NAME)-$(M0_GCC_RELEASE)-$(M0_GCC_VERSION)/bin/arm-none-eabi-
+endif
+
define Package/trusted-firmware-a/install
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
$(INSTALL_DATA) $(PKG_BUILD_DIR)/build/$(PLAT)/release/bl31/bl31.elf $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)_bl31.elf