arm-trusted-firmware-rockchip: add m0 gcc toolchain
[openwrt/openwrt.git] / package / boot / arm-trusted-firmware-rockchip / Makefile
1 #
2 # Copyright (C) 2020 Tobias Maedel <openwrt@tbspace.de>
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_VERSION:=2.9
11 PKG_RELEASE:=1
12
13 PKG_HASH:=76a66a1de0c01aeb83dfc7b72b51173fe62c6e51d6fca17cc562393117bed08b
14
15 PKG_MAINTAINER:=Tobias Maedel <openwrt@tbspace.de>
16
17 include $(INCLUDE_DIR)/kernel.mk
18 include $(INCLUDE_DIR)/trusted-firmware-a.mk
19 include $(INCLUDE_DIR)/package.mk
20
21 define Trusted-Firmware-A/Default
22 NAME:=Rockchip $(1) SoCs
23 BUILD_TARGET:=rockchip
24 endef
25
26 define Trusted-Firmware-A/rk3328
27 BUILD_SUBTARGET:=armv8
28 PLAT=rk3328
29 endef
30
31 define Trusted-Firmware-A/rk3399
32 BUILD_SUBTARGET:=armv8
33 PLAT:=rk3399
34 endef
35
36 TFA_TARGETS:= \
37 rk3328 \
38 rk3399
39
40 ifeq ($(BUILD_VARIANT),rk3399)
41 M0_GCC_NAME:=gcc-arm
42 M0_GCC_RELEASE:=11.2-2022.02
43 M0_GCC_VERSION:=$(HOST_ARCH)-arm-none-eabi
44 M0_GCC_SOURCE:=$(M0_GCC_NAME)-$(M0_GCC_RELEASE)-$(M0_GCC_VERSION).tar.xz
45
46 define Download/m0-gcc
47 FILE:=$(M0_GCC_SOURCE)
48 URL:=https://developer.arm.com/-/media/Files/downloads/gnu/$(M0_GCC_RELEASE)/binrel
49 ifeq ($(HOST_ARCH),aarch64)
50 HASH:=ef1d82e5894e3908cb7ed49c5485b5b95deefa32872f79c2b5f6f5447cabf55f
51 else
52 HASH:=8c5acd5ae567c0100245b0556941c237369f210bceb196edfe5a2e7532c60326
53 endif
54 endef
55
56 define Build/Prepare
57 $(eval $(call Download,m0-gcc))
58 $(call Build/Prepare/Default)
59
60 xzcat $(DL_DIR)/$(M0_GCC_SOURCE) | $(HOST_TAR) -C $(PKG_BUILD_DIR)/ $(TAR_OPTIONS)
61 endef
62
63 TFA_MAKE_FLAGS+= \
64 M0_CROSS_COMPILE=$(PKG_BUILD_DIR)/$(M0_GCC_NAME)-$(M0_GCC_RELEASE)-$(M0_GCC_VERSION)/bin/arm-none-eabi-
65 endif
66
67 define Package/trusted-firmware-a/install
68 $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
69 $(INSTALL_DATA) $(PKG_BUILD_DIR)/build/$(PLAT)/release/bl31/bl31.elf $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)_bl31.elf
70 endef
71
72 $(eval $(call BuildPackage/Trusted-Firmware-A))