arm-trusted-firmware-mediatek: add ATF builds for MT7622
[openwrt/openwrt.git] / package / boot / arm-trusted-firmware-mediatek / Makefile
1 #
2 # Copyright (C) 2017 Hauke Mehrtens
3 # Copyright (C) 2020 Daniel Golle
4 #
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
7 #
8
9 include $(TOPDIR)/rules.mk
10
11 PKG_NAME:=arm-trusted-firmware-mediatek
12 PKG_RELEASE:=$(AUTORELEASE)
13
14 PKG_SOURCE_PROTO:=git
15 PKG_SOURCE_URL=https://github.com/mtk-openwrt/arm-trusted-firmware.git
16 PKG_SOURCE_DATE:=2020-11-09
17 PKG_SOURCE_VERSION:=03017334ccd8c0fac12e7db36749b95b9a7d745f
18 PKG_MIRROR_HASH:=b211b2f9143d4debc7ad8dc959cb606888af20af790855dd66c87e451b6a1bc7
19
20 PKG_LICENSE:=BSD-3-Clause
21 PKG_LICENSE_FILES:=docs/license.rst
22
23 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
24
25 include $(INCLUDE_DIR)/package.mk
26
27 define Download/mt7622-header-emmc
28 URL:=https://raw.githubusercontent.com/frank-w/BPI-R64-ATF/a36efa5f7435b8079479d13b562fedc0aa0d42f0
29 URL_FILE:=header_emmc.bin
30 FILE:=mt7622-header_emmc.bin
31 HASH:=0a09c55d90c5fc375c59468a4331555f77cbc3e1dd107ca83b5b8c9625f38d8c
32 endef
33
34 define Download/mt7622-header-sdmmc
35 URL:=https://raw.githubusercontent.com/frank-w/BPI-R64-ATF/a36efa5f7435b8079479d13b562fedc0aa0d42f0
36 URL_FILE:=header_sdmmc.bin
37 FILE:=mt7622-header_sdmmc.bin
38 HASH:=242908c04e25289d25ba9fab61a1930425af173051c43d275d1ac9877d6accb1
39 endef
40
41 define Package/arm-trusted-firmware-mt7622/Default
42 SECTION:=boot
43 CATEGORY:=Boot Loaders
44 TITLE:=ARM Trusted Firmware for MT7622
45 DEPENDS:=@TARGET_mediatek_mt7622
46 endef
47
48 define Package/arm-trusted-firmware-mt7622-nor
49 $(call Package/arm-trusted-firmware-mt7622/Default)
50 VARIANT:=nor
51 endef
52
53 define Package/arm-trusted-firmware-mt7622-snand
54 $(call Package/arm-trusted-firmware-mt7622/Default)
55 VARIANT:=snand
56 endef
57
58 define Package/arm-trusted-firmware-mt7622-emmc
59 $(call Package/arm-trusted-firmware-mt7622/Default)
60 VARIANT:=emmc
61 endef
62
63 define Package/arm-trusted-firmware-mt7622-sdmmc
64 $(call Package/arm-trusted-firmware-mt7622/Default)
65 VARIANT:=sdmmc
66 endef
67
68 export GCC_HONOUR_COPTS=s
69
70 MAKE_VARS = \
71 CROSS_COMPILE="$(TARGET_CROSS)"
72
73 MAKE_FLAGS += \
74 PLAT=mt7622 \
75 BOOT_DEVICE=$(BUILD_VARIANT) \
76 all
77
78 define Build/Prepare
79 $(call Build/Prepare/Default)
80 ifeq ($(BUILD_VARIANT),emmc)
81 $(eval $(call Download,mt7622-header-emmc))
82 endif
83 ifeq ($(BUILD_VARIANT),sdmmc)
84 $(eval $(call Download,mt7622-header-sdmmc))
85 endif
86 endef
87
88 define Build/InstallDev
89 $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
90 $(CP) $(PKG_BUILD_DIR)/build/mt7622/release/bl2.bin $(STAGING_DIR_IMAGE)/bl2-$(BUILD_VARIANT).bin
91 $(CP) $(PKG_BUILD_DIR)/build/mt7622/release/bl2.img $(STAGING_DIR_IMAGE)/bl2-$(BUILD_VARIANT).img
92 # bl31.bin turns out to be identical for all build variants
93 $(CP) $(PKG_BUILD_DIR)/build/mt7622/release/bl31.bin $(STAGING_DIR_IMAGE)/bl31.bin
94 ifeq ($(BUILD_VARIANT),emmc)
95 $(CP) $(DL_DIR)/mt7622-header_emmc.bin $(STAGING_DIR_IMAGE)/header-emmc.bin
96 endif
97 ifeq ($(BUILD_VARIANT),sdmmc)
98 $(CP) $(DL_DIR)/mt7622-header_sdmmc.bin $(STAGING_DIR_IMAGE)/header-sdmmc.bin
99 endif
100 endef
101
102 define Package/arm-trusted-firmware-mt7622-nor/install
103 endef
104 Package/arm-trusted-firmware-mt7622-snand/install = $(Package/arm-trusted-firmware-mt7622-nor/install)
105 Package/arm-trusted-firmware-mt7622-emmc/install = $(Package/arm-trusted-firmware-mt7622-nor/install)
106 Package/arm-trusted-firmware-mt7622-sdmmc/install = $(Package/arm-trusted-firmware-mt7622-nor/install)
107
108 $(eval $(call BuildPackage,arm-trusted-firmware-mt7622-nor))
109 $(eval $(call BuildPackage,arm-trusted-firmware-mt7622-snand))
110 $(eval $(call BuildPackage,arm-trusted-firmware-mt7622-emmc))
111 $(eval $(call BuildPackage,arm-trusted-firmware-mt7622-sdmmc))