From a3b55ae510e1af2fa401d0091fccb11af6bed799 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Tue, 2 Feb 2021 18:04:33 +0000 Subject: [PATCH] arm-trusted-firmware-mediatek: add ATF builds for MT7622 ATF bl2 comes in 4 variants for MT7622 depending on the boot media: * nor * snand * emmc * sdmmc Additional binary headers needed for emmc and sdmmc are downloaded as well and provided along with bl2*.bin and bl31.bin to allow building images including ATF for MT7622. Signed-off-by: Daniel Golle --- .../arm-trusted-firmware-mediatek/Makefile | 111 ++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 package/boot/arm-trusted-firmware-mediatek/Makefile diff --git a/package/boot/arm-trusted-firmware-mediatek/Makefile b/package/boot/arm-trusted-firmware-mediatek/Makefile new file mode 100644 index 0000000000..c886a4ccc7 --- /dev/null +++ b/package/boot/arm-trusted-firmware-mediatek/Makefile @@ -0,0 +1,111 @@ +# +# Copyright (C) 2017 Hauke Mehrtens +# Copyright (C) 2020 Daniel Golle +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=arm-trusted-firmware-mediatek +PKG_RELEASE:=$(AUTORELEASE) + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL=https://github.com/mtk-openwrt/arm-trusted-firmware.git +PKG_SOURCE_DATE:=2020-11-09 +PKG_SOURCE_VERSION:=03017334ccd8c0fac12e7db36749b95b9a7d745f +PKG_MIRROR_HASH:=b211b2f9143d4debc7ad8dc959cb606888af20af790855dd66c87e451b6a1bc7 + +PKG_LICENSE:=BSD-3-Clause +PKG_LICENSE_FILES:=docs/license.rst + +PKG_MAINTAINER:=Daniel Golle + +include $(INCLUDE_DIR)/package.mk + +define Download/mt7622-header-emmc + URL:=https://raw.githubusercontent.com/frank-w/BPI-R64-ATF/a36efa5f7435b8079479d13b562fedc0aa0d42f0 + URL_FILE:=header_emmc.bin + FILE:=mt7622-header_emmc.bin + HASH:=0a09c55d90c5fc375c59468a4331555f77cbc3e1dd107ca83b5b8c9625f38d8c +endef + +define Download/mt7622-header-sdmmc + URL:=https://raw.githubusercontent.com/frank-w/BPI-R64-ATF/a36efa5f7435b8079479d13b562fedc0aa0d42f0 + URL_FILE:=header_sdmmc.bin + FILE:=mt7622-header_sdmmc.bin + HASH:=242908c04e25289d25ba9fab61a1930425af173051c43d275d1ac9877d6accb1 +endef + +define Package/arm-trusted-firmware-mt7622/Default + SECTION:=boot + CATEGORY:=Boot Loaders + TITLE:=ARM Trusted Firmware for MT7622 + DEPENDS:=@TARGET_mediatek_mt7622 +endef + +define Package/arm-trusted-firmware-mt7622-nor + $(call Package/arm-trusted-firmware-mt7622/Default) + VARIANT:=nor +endef + +define Package/arm-trusted-firmware-mt7622-snand + $(call Package/arm-trusted-firmware-mt7622/Default) + VARIANT:=snand +endef + +define Package/arm-trusted-firmware-mt7622-emmc + $(call Package/arm-trusted-firmware-mt7622/Default) + VARIANT:=emmc +endef + +define Package/arm-trusted-firmware-mt7622-sdmmc + $(call Package/arm-trusted-firmware-mt7622/Default) + VARIANT:=sdmmc +endef + +export GCC_HONOUR_COPTS=s + +MAKE_VARS = \ + CROSS_COMPILE="$(TARGET_CROSS)" + +MAKE_FLAGS += \ + PLAT=mt7622 \ + BOOT_DEVICE=$(BUILD_VARIANT) \ + all + +define Build/Prepare + $(call Build/Prepare/Default) +ifeq ($(BUILD_VARIANT),emmc) + $(eval $(call Download,mt7622-header-emmc)) +endif +ifeq ($(BUILD_VARIANT),sdmmc) + $(eval $(call Download,mt7622-header-sdmmc)) +endif +endef + +define Build/InstallDev + $(INSTALL_DIR) $(STAGING_DIR_IMAGE) + $(CP) $(PKG_BUILD_DIR)/build/mt7622/release/bl2.bin $(STAGING_DIR_IMAGE)/bl2-$(BUILD_VARIANT).bin + $(CP) $(PKG_BUILD_DIR)/build/mt7622/release/bl2.img $(STAGING_DIR_IMAGE)/bl2-$(BUILD_VARIANT).img +# bl31.bin turns out to be identical for all build variants + $(CP) $(PKG_BUILD_DIR)/build/mt7622/release/bl31.bin $(STAGING_DIR_IMAGE)/bl31.bin +ifeq ($(BUILD_VARIANT),emmc) + $(CP) $(DL_DIR)/mt7622-header_emmc.bin $(STAGING_DIR_IMAGE)/header-emmc.bin +endif +ifeq ($(BUILD_VARIANT),sdmmc) + $(CP) $(DL_DIR)/mt7622-header_sdmmc.bin $(STAGING_DIR_IMAGE)/header-sdmmc.bin +endif +endef + +define Package/arm-trusted-firmware-mt7622-nor/install +endef +Package/arm-trusted-firmware-mt7622-snand/install = $(Package/arm-trusted-firmware-mt7622-nor/install) +Package/arm-trusted-firmware-mt7622-emmc/install = $(Package/arm-trusted-firmware-mt7622-nor/install) +Package/arm-trusted-firmware-mt7622-sdmmc/install = $(Package/arm-trusted-firmware-mt7622-nor/install) + +$(eval $(call BuildPackage,arm-trusted-firmware-mt7622-nor)) +$(eval $(call BuildPackage,arm-trusted-firmware-mt7622-snand)) +$(eval $(call BuildPackage,arm-trusted-firmware-mt7622-emmc)) +$(eval $(call BuildPackage,arm-trusted-firmware-mt7622-sdmmc)) -- 2.30.2