a48a702019419c98a6514dcc57578e35e4ad7986
[openwrt/openwrt.git] / package / boot / arm-trusted-firmware-rockchip / Makefile
1 #
2 # Copyright (C) 2020 Sarah 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.13
11 PKG_RELEASE:=1
12
13 PKG_HASH:=afb5c408392fcec840bd30de9b02a236b0108142024f9853b542b596b0d894e3
14
15 PKG_MAINTAINER:=Sarah 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 define Trusted-Firmware-A/rk3576
37 BUILD_SUBTARGET:=armv8
38 PLAT:=rk3576
39 endef
40
41 define Trusted-Firmware-A/rk3588
42 BUILD_SUBTARGET:=armv8
43 PLAT:=rk3588
44 endef
45
46 TFA_TARGETS:= \
47 rk3328 \
48 rk3399 \
49 rk3576 \
50 rk3588
51
52 ifeq ($(BUILD_VARIANT),rk3399)
53 M0_GCC_NAME:=arm-gnu-toolchain
54 M0_GCC_RELEASE:=12.3.rel1
55 M0_GCC_VERSION:=$(HOST_ARCH)-arm-none-eabi
56 M0_GCC_SOURCE:=$(M0_GCC_NAME)-$(M0_GCC_RELEASE)-$(M0_GCC_VERSION).tar.xz
57
58 define Download/m0-gcc
59 FILE:=$(M0_GCC_SOURCE)
60 URL:=https://developer.arm.com/-/media/Files/downloads/gnu/$(M0_GCC_RELEASE)/binrel
61 ifeq ($(HOST_ARCH),aarch64)
62 HASH:=14c0487d5753f6071d24e568881f7c7e67f80dd83165dec5164b3731394af431
63 else
64 HASH:=12a2815644318ebcceaf84beabb665d0924b6e79e21048452c5331a56332b309
65 endif
66 endef
67
68 define Build/Prepare
69 $(eval $(call Download,m0-gcc))
70 $(call Build/Prepare/Default)
71
72 xzcat $(DL_DIR)/$(M0_GCC_SOURCE) | $(HOST_TAR) -C $(PKG_BUILD_DIR)/ $(TAR_OPTIONS)
73 endef
74
75 TFA_MAKE_FLAGS+= \
76 M0_CROSS_COMPILE=$(PKG_BUILD_DIR)/$(M0_GCC_NAME)-$(M0_GCC_RELEASE)-$(M0_GCC_VERSION)/bin/arm-none-eabi-
77 endif
78
79 define Package/trusted-firmware-a/install
80 $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
81 $(INSTALL_DATA) $(PKG_BUILD_DIR)/build/$(PLAT)/release/bl31/bl31.elf $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)_bl31.elf
82 endef
83
84 $(eval $(call BuildPackage/Trusted-Firmware-A))