123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476 |
- #
- # Copyright (C) 2017 Hauke Mehrtens
- # Copyright (C) 2021-2023 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:=1
- PKG_SOURCE_PROTO:=git
- PKG_SOURCE_URL=https://github.com/mtk-openwrt/arm-trusted-firmware.git
- PKG_SOURCE_DATE:=2023-10-13
- PKG_SOURCE_VERSION:=0ea67d76ae8be127c91caa3fcdf449b1fe533175
- PKG_MIRROR_HASH:=22579fae08de942e0d5a420cfaa0b1d310dc9431e85b7e28a3c3ef08331a199d
- PKG_MAINTAINER:=Daniel Golle <[email protected]>
- include $(INCLUDE_DIR)/kernel.mk
- include $(INCLUDE_DIR)/trusted-firmware-a.mk
- include $(INCLUDE_DIR)/package.mk
- define Trusted-Firmware-A/Default
- BUILD_TARGET:=mediatek
- TFA_IMAGE:=bl2.img bl31.bin
- HIDDEN:=y
- BOOT_DEVICE:=
- DDR3_FLYBY:=
- DDR_TYPE:=
- NAND_TYPE:=
- BOARD_QFN:=
- DRAM_USE_COMB:=
- USE_UBI:=
- endef
- define Trusted-Firmware-A/mt7622-nor-1ddr
- NAME:=MediaTek MT7622 (SPI-NOR, 1x DDR3)
- BUILD_SUBTARGET:=mt7622
- PLAT:=mt7622
- BOOT_DEVICE:=nor
- endef
- define Trusted-Firmware-A/mt7622-nor-2ddr
- NAME:=MediaTek MT7622 (SPI-NOR, 2x DDR3)
- BUILD_SUBTARGET:=mt7622
- PLAT:=mt7622
- BOOT_DEVICE:=nor
- DDR3_FLYBY:=1
- endef
- define Trusted-Firmware-A/mt7622-snand-1ddr
- NAME:=MediaTek MT7622 (SPI-NAND, 1x DDR3)
- BUILD_SUBTARGET:=mt7622
- PLAT:=mt7622
- BOOT_DEVICE:=snand
- endef
- define Trusted-Firmware-A/mt7622-snand-ubi-1ddr
- NAME:=MediaTek MT7622 (SPI-NAND using UBI, 1x DDR3)
- BUILD_SUBTARGET:=mt7622
- PLAT:=mt7622
- BOOT_DEVICE:=snand
- USE_UBI:=1
- endef
- define Trusted-Firmware-A/mt7622-snand-2ddr
- NAME:=MediaTek MT7622 (SPI-NAND, 2x DDR3)
- BUILD_SUBTARGET:=mt7622
- PLAT:=mt7622
- BOOT_DEVICE:=snand
- DDR3_FLYBY:=1
- endef
- define Trusted-Firmware-A/mt7622-snand-ubi-2ddr
- NAME:=MediaTek MT7622 (SPI-NAND using UBI, 2x DDR3)
- BUILD_SUBTARGET:=mt7622
- PLAT:=mt7622
- BOOT_DEVICE:=snand
- DDR3_FLYBY:=1
- USE_UBI:=1
- endef
- define Trusted-Firmware-A/mt7622-emmc-1ddr
- NAME:=MediaTek MT7622 (eMMC, 1x DDR3)
- BUILD_SUBTARGET:=mt7622
- PLAT:=mt7622
- BOOT_DEVICE:=emmc
- endef
- define Trusted-Firmware-A/mt7622-emmc-2ddr
- NAME:=MediaTek MT7622 (eMMC, 2x DDR3)
- BUILD_SUBTARGET:=mt7622
- PLAT:=mt7622
- BOOT_DEVICE:=emmc
- DDR3_FLYBY:=1
- endef
- define Trusted-Firmware-A/mt7622-sdmmc-1ddr
- NAME:=MediaTek MT7622 (SD card, 1x DDR3)
- BUILD_SUBTARGET:=mt7622
- PLAT:=mt7622
- BOOT_DEVICE:=sdmmc
- endef
- define Trusted-Firmware-A/mt7622-sdmmc-2ddr
- NAME:=MediaTek MT7622 (SD card, 2x DDR3)
- BUILD_SUBTARGET:=mt7622
- PLAT:=mt7622
- BOOT_DEVICE:=sdmmc
- DDR3_FLYBY:=1
- endef
- define Trusted-Firmware-A/mt7981-emmc-ddr4
- NAME:=MediaTek MT7981 (eMMC, DDR4)
- BOOT_DEVICE:=emmc
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7981
- DDR_TYPE:=ddr4
- endef
- define Trusted-Firmware-A/mt7981-spim-nand-ddr4
- NAME:=MediaTek MT7981 (SPI-NAND via SPIM, DDR4)
- BOOT_DEVICE:=spim-nand
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7981
- DDR_TYPE:=ddr4
- endef
- define Trusted-Firmware-A/mt7981-nor-ddr3
- NAME:=MediaTek MT7981 (SPI-NOR, DDR3)
- BOOT_DEVICE:=nor
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7981
- DDR_TYPE:=ddr3
- endef
- define Trusted-Firmware-A/mt7981-emmc-ddr3
- NAME:=MediaTek MT7981 (eMMC, DDR3)
- BOOT_DEVICE:=emmc
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7981
- DDR_TYPE:=ddr3
- endef
- define Trusted-Firmware-A/mt7981-sdmmc-ddr3
- NAME:=MediaTek MT7981 (SD card, DDR3)
- BOOT_DEVICE:=sdmmc
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7981
- DDR_TYPE:=ddr3
- endef
- define Trusted-Firmware-A/mt7981-snand-ddr3
- NAME:=MediaTek MT7981 (SPI-NAND via SNFI, DDR3)
- BOOT_DEVICE:=snand
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7981
- DDR_TYPE:=ddr3
- endef
- define Trusted-Firmware-A/mt7981-spim-nand-ddr3
- NAME:=MediaTek MT7981 (SPI-NAND via SPIM, DDR3)
- BOOT_DEVICE:=spim-nand
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7981
- DDR_TYPE:=ddr3
- endef
- define Trusted-Firmware-A/mt7986-nor-ddr4
- NAME:=MediaTek MT7986 (SPI-NOR, DDR4)
- BOOT_DEVICE:=nor
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7986
- DDR_TYPE:=ddr4
- endef
- define Trusted-Firmware-A/mt7986-emmc-ddr4
- NAME:=MediaTek MT7986 (eMMC, DDR4)
- BOOT_DEVICE:=emmc
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7986
- DDR_TYPE:=ddr4
- endef
- define Trusted-Firmware-A/mt7986-sdmmc-ddr4
- NAME:=MediaTek MT7986 (SD card, DDR4)
- BOOT_DEVICE:=sdmmc
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7986
- DDR_TYPE:=ddr4
- endef
- define Trusted-Firmware-A/mt7986-snand-ddr4
- NAME:=MediaTek MT7986 (SPI-NAND via SNFI, DDR4)
- BOOT_DEVICE:=snand
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7986
- DDR_TYPE:=ddr4
- endef
- define Trusted-Firmware-A/mt7986-spim-nand-ddr4
- NAME:=MediaTek MT7986 (SPI-NAND via SPIM, DDR4)
- BOOT_DEVICE:=spim-nand
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7986
- DDR_TYPE:=ddr4
- NAND_TYPE:=spim:2k+64
- endef
- define Trusted-Firmware-A/mt7986-spim-nand-ubi-ddr4
- NAME:=MediaTek MT7986 (SPI-NAND via SPIM using UBI, DDR4)
- BOOT_DEVICE:=spim-nand
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7986
- DDR_TYPE:=ddr4
- NAND_TYPE:=spim:2k+64
- USE_UBI:=1
- endef
- define Trusted-Firmware-A/mt7986-spim-nand-4k-ddr4
- NAME:=MediaTek MT7986 (SPI-NAND via SPIM, DDR4)
- BOOT_DEVICE:=spim-nand
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7986
- DDR_TYPE:=ddr4
- NAND_TYPE:=spim:4k+256
- endef
- define Trusted-Firmware-A/mt7986-nor-ddr3
- NAME:=MediaTek MT7986 (SPI-NOR, DDR3)
- BOOT_DEVICE:=nor
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7986
- DDR_TYPE:=ddr3
- endef
- define Trusted-Firmware-A/mt7986-emmc-ddr3
- NAME:=MediaTek MT7986 (eMMC, DDR3)
- BOOT_DEVICE:=emmc
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7986
- DDR_TYPE:=ddr3
- endef
- define Trusted-Firmware-A/mt7986-sdmmc-ddr3
- NAME:=MediaTek MT7986 (SD card, DDR3)
- BOOT_DEVICE:=sdmmc
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7986
- DDR_TYPE:=ddr3
- endef
- define Trusted-Firmware-A/mt7986-snand-ddr3
- NAME:=MediaTek MT7986 (SPI-NAND via SNFI, DDR3)
- BOOT_DEVICE:=snand
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7986
- DDR_TYPE:=ddr3
- endef
- define Trusted-Firmware-A/mt7986-spim-nand-ddr3
- NAME:=MediaTek MT7986 (SPI-NAND via SPIM, DDR3)
- BOOT_DEVICE:=spim-nand
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7986
- DDR_TYPE:=ddr3
- endef
- define Trusted-Firmware-A/mt7988-nor-ddr3
- NAME:=MediaTek MT7988 (SPI-NOR, DDR3)
- BOOT_DEVICE:=nor
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7988
- DDR_TYPE:=ddr3
- endef
- define Trusted-Firmware-A/mt7988-emmc-ddr3
- NAME:=MediaTek MT7988 (eMMC, DDR3)
- BOOT_DEVICE:=emmc
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7988
- DDR_TYPE:=ddr3
- endef
- define Trusted-Firmware-A/mt7988-sdmmc-ddr3
- NAME:=MediaTek MT7988 (SD card, DDR3)
- BOOT_DEVICE:=sdmmc
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7988
- DDR_TYPE:=ddr3
- endef
- define Trusted-Firmware-A/mt7988-snand-ddr3
- NAME:=MediaTek MT7988 (SPI-NAND via SNFI, DDR3)
- BOOT_DEVICE:=snand
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7988
- DDR_TYPE:=ddr3
- endef
- define Trusted-Firmware-A/mt7988-spim-nand-ddr3
- NAME:=MediaTek MT7988 (SPI-NAND via SPIM, DDR3)
- BOOT_DEVICE:=spim-nand
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7988
- DDR_TYPE:=ddr3
- endef
- define Trusted-Firmware-A/mt7988-nor-ddr4
- NAME:=MediaTek MT7988 (SPI-NOR, DDR4)
- BOOT_DEVICE:=nor
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7988
- DDR_TYPE:=ddr4
- endef
- define Trusted-Firmware-A/mt7988-emmc-ddr4
- NAME:=MediaTek MT7988 (eMMC, DDR4)
- BOOT_DEVICE:=emmc
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7988
- DDR_TYPE:=ddr4
- endef
- define Trusted-Firmware-A/mt7988-sdmmc-ddr4
- NAME:=MediaTek MT7988 (SD card, DDR4)
- BOOT_DEVICE:=sdmmc
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7988
- DDR_TYPE:=ddr4
- endef
- define Trusted-Firmware-A/mt7988-snand-ddr4
- NAME:=MediaTek MT7988 (SPI-NAND via SNFI, DDR4)
- BOOT_DEVICE:=snand
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7988
- DDR_TYPE:=ddr4
- endef
- define Trusted-Firmware-A/mt7988-spim-nand-ddr4
- NAME:=MediaTek MT7988 (SPI-NAND via SPIM, DDR4)
- BOOT_DEVICE:=spim-nand
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7988
- DDR_TYPE:=ddr4
- endef
- define Trusted-Firmware-A/mt7988-nor-comb
- NAME:=MediaTek MT7988 (SPI-NOR)
- BOOT_DEVICE:=nor
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7988
- DRAM_USE_COMB:=1
- endef
- define Trusted-Firmware-A/mt7988-emmc-comb
- NAME:=MediaTek MT7988 (eMMC)
- BOOT_DEVICE:=emmc
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7988
- DRAM_USE_COMB:=1
- endef
- define Trusted-Firmware-A/mt7988-sdmmc-comb
- NAME:=MediaTek MT7988 (SD card)
- BOOT_DEVICE:=sdmmc
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7988
- DRAM_USE_COMB:=1
- endef
- define Trusted-Firmware-A/mt7988-snand-comb
- NAME:=MediaTek MT7988 (SPI-NAND via SNFI)
- BOOT_DEVICE:=snand
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7988
- DRAM_USE_COMB:=1
- endef
- define Trusted-Firmware-A/mt7988-snand-ubi-comb
- NAME:=MediaTek MT7988 (SPI-NAND via SNFI, UBI)
- BOOT_DEVICE:=snand
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7988
- DRAM_USE_COMB:=1
- USE_UBI:=1
- endef
- define Trusted-Firmware-A/mt7988-spim-nand-comb
- NAME:=MediaTek MT7988 (SPI-NAND via SPIM)
- BOOT_DEVICE:=spim-nand
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7988
- DRAM_USE_COMB:=1
- endef
- define Trusted-Firmware-A/mt7988-spim-nand-ubi-comb
- NAME:=MediaTek MT7988 (SPI-NAND via SPIM, UBI)
- BOOT_DEVICE:=spim-nand
- BUILD_SUBTARGET:=filogic
- PLAT:=mt7988
- DRAM_USE_COMB:=1
- USE_UBI:=1
- endef
- TFA_TARGETS:= \
- mt7622-nor-1ddr \
- mt7622-nor-2ddr \
- mt7622-snand-1ddr \
- mt7622-snand-ubi-1ddr \
- mt7622-snand-2ddr \
- mt7622-snand-ubi-2ddr \
- mt7622-emmc-1ddr \
- mt7622-emmc-2ddr \
- mt7622-sdmmc-1ddr \
- mt7622-sdmmc-2ddr \
- mt7981-emmc-ddr3 \
- mt7981-nor-ddr3 \
- mt7981-sdmmc-ddr3 \
- mt7981-snand-ddr3 \
- mt7981-spim-nand-ddr3 \
- mt7981-emmc-ddr4 \
- mt7981-spim-nand-ddr4 \
- mt7986-emmc-ddr3 \
- mt7986-nor-ddr3 \
- mt7986-sdmmc-ddr3 \
- mt7986-snand-ddr3 \
- mt7986-spim-nand-ddr3 \
- mt7986-emmc-ddr4 \
- mt7986-nor-ddr4 \
- mt7986-sdmmc-ddr4 \
- mt7986-snand-ddr4 \
- mt7986-spim-nand-ddr4 \
- mt7986-spim-nand-ubi-ddr4 \
- mt7986-spim-nand-4k-ddr4 \
- mt7988-emmc-ddr3 \
- mt7988-nor-ddr3 \
- mt7988-sdmmc-ddr3 \
- mt7988-snand-ddr3 \
- mt7988-spim-nand-ddr3 \
- mt7988-emmc-ddr4 \
- mt7988-nor-ddr4 \
- mt7988-sdmmc-ddr4 \
- mt7988-snand-ddr4 \
- mt7988-spim-nand-ddr4 \
- mt7988-emmc-comb \
- mt7988-nor-comb \
- mt7988-sdmmc-comb \
- mt7988-snand-comb \
- mt7988-snand-ubi-comb \
- mt7988-spim-nand-comb \
- mt7988-spim-nand-ubi-comb
- TFA_MAKE_FLAGS += \
- BOOT_DEVICE=$(BOOT_DEVICE) \
- USE_MKIMAGE=1 MKIMAGE=$(STAGING_DIR_HOST)/bin/mkimage \
- $(if $(findstring ddr4,$(DDR_TYPE)),DRAM_USE_DDR4=1) \
- $(if $(BOARD_QFN),BOARD_QFN=1,BOARD_BGA=1) \
- $(if $(NAND_TYPE),NAND_TYPE=$(NAND_TYPE)) \
- HAVE_DRAM_OBJ_FILE=yes \
- $(if $(DDR3_FLYBY),DDR3_FLYBY=1) \
- $(if $(DRAM_USE_COMB),DRAM_USE_COMB=1) \
- $(if $(USE_UBI),UBI=1 $(if $(findstring mt7622,$(PLAT)),OVERRIDE_UBI_START_ADDR=0x80000)) \
- all
- define Package/trusted-firmware-a/install
- $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
- $(INSTALL_DATA) $(PKG_BUILD_DIR)/build/$(PLAT)/release/bl2.img $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-bl2.img
- $(INSTALL_DATA) $(PKG_BUILD_DIR)/build/$(PLAT)/release/bl31.bin $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-bl31.bin
- endef
- $(eval $(call BuildPackage/Trusted-Firmware-A))
|