--- /dev/null
+#
+# Copyright 2019 NXP
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=tfa-layerscape
+PKG_VERSION:=lsdk-1903
+PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://source.codeaurora.org/external/qoriq/qoriq-components/atf
+PKG_SOURCE_VERSION:=7e34aebe658c7c3439d2d68b0ce6b9776e8e6996
+PKG_MIRROR_HASH:=9cf0bc32fa589a0ee7c48c87898679e645341f29da1253d0ba5d2e82c6ea074d
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_BUILD_DEPENDS:=uboot-layerscape
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/tfa-layerscape/Config
+ define Package/tfa-$(1)
+ SECTION:=boot
+ CATEGORY:=Boot Loaders
+ TITLE:=$(2)
+ DEPENDS:=@TARGET_layerscape_armv8_64b +layerscape-rcw-$(1)
+ HIDDEN:=1
+ VARIANT:=$(1)
+ BIN_BL2:=$(3)
+ BIN_FIP:=$(4)
+ endef
+endef
+
+define Package/tfa-layerscape/Install
+ define Package/tfa-$(1)/install
+ $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
+ $(CP) $(PKG_BUILD_DIR)/$(BIN_BL2) $(STAGING_DIR_IMAGE)/$(1)-bl2.pbl
+ $(CP) $(PKG_BUILD_DIR)/$(BIN_FIP) $(STAGING_DIR_IMAGE)/$(1)-fip.bin
+ endef
+endef
+
+define Build/Compile
+ $(eval $(Package/tfa-layerscape/$(BUILD_VARIANT))) \
+ $(MAKE) -C $(PKG_BUILD_DIR) CROSS_COMPILE=$(TARGET_CROSS) \
+ fip pbl PLAT=$(PLAT) BOOT_MODE=$(BOOT_MODE) \
+ RCW=$(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-rcw.bin \
+ BL33=$(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-uboot.bin
+endef
+
+define Package/tfa-layerscape/ls1012ardb
+ TITLE:=NXP LS1012ARDB Trusted Firmware
+ PLAT:=ls1012ardb
+ BOOT_MODE:=qspi
+ BIN_BL2:=build/ls1012ardb/release/bl2_qspi.pbl
+ BIN_FIP:=build/ls1012ardb/release/fip.bin
+endef
+
+define Package/tfa-layerscape/ls1012afrwy
+ TITLE:=NXP LS1012AFRWY Trusted Firmware
+ PLAT:=ls1012afrwy
+ BOOT_MODE:=qspi
+ BIN_BL2:=build/ls1012afrwy/release/bl2_qspi.pbl
+ BIN_FIP:=build/ls1012afrwy/release/fip.bin
+endef
+
+define Package/tfa-layerscape/ls1043ardb
+ TITLE:=NXP LS1043ARDB Trusted Firmware
+ PLAT:=ls1043ardb
+ BOOT_MODE:=nor
+ BIN_BL2:=build/ls1043ardb/release/bl2_nor.pbl
+ BIN_FIP:=build/ls1043ardb/release/fip.bin
+endef
+
+define Package/tfa-layerscape/ls1043ardb-sdboot
+ TITLE:=NXP LS1043ARDB SD Boot Trusted Firmware
+ PLAT:=ls1043ardb
+ BOOT_MODE:=sd
+ BIN_BL2:=build/ls1043ardb/release/bl2_sd.pbl
+ BIN_FIP:=build/ls1043ardb/release/fip.bin
+endef
+
+define Package/tfa-layerscape/ls1046ardb
+ TITLE:=NXP LS1046ARDB Trusted Firmware
+ PLAT:=ls1046ardb
+ BOOT_MODE:=qspi
+ BIN_BL2:=build/ls1046ardb/release/bl2_qspi.pbl
+ BIN_FIP:=build/ls1046ardb/release/fip.bin
+endef
+
+define Package/tfa-layerscape/ls1046ardb-sdboot
+ TITLE:=NXP LS1046ARDB SD Boot Trusted Firmware
+ PLAT:=ls1046ardb
+ BOOT_MODE:=sd
+ BIN_BL2:=build/ls1046ardb/release/bl2_sd.pbl
+ BIN_FIP:=build/ls1046ardb/release/fip.bin
+endef
+
+define Package/tfa-layerscape/ls1088ardb
+ TITLE:=NXP LS1088ARDB Trusted Firmware
+ PLAT:=ls1088ardb
+ BOOT_MODE:=qspi
+ BIN_BL2:=build/ls1088ardb/release/bl2_qspi.pbl
+ BIN_FIP:=build/ls1088ardb/release/fip.bin
+endef
+
+define Package/tfa-layerscape/ls1088ardb-sdboot
+ TITLE:=NXP LS1088ARDB SD Boot Trusted Firmware
+ PLAT:=ls1088ardb
+ BOOT_MODE:=sd
+ BIN_BL2:=build/ls1088ardb/release/bl2_sd.pbl
+ BIN_FIP:=build/ls1088ardb/release/fip.bin
+endef
+
+define Package/tfa-layerscape/ls2088ardb
+ TITLE:=NXP LS2088ARDB Trusted Firmware
+ PLAT:=ls2088ardb
+ BOOT_MODE:=nor
+ BIN_BL2:=build/ls2088ardb/release/bl2_nor.pbl
+ BIN_FIP:=build/ls2088ardb/release/fip.bin
+endef
+
+TFAS := \
+ ls1012ardb \
+ ls1012afrwy \
+ ls1043ardb \
+ ls1043ardb-sdboot \
+ ls1046ardb \
+ ls1046ardb-sdboot \
+ ls1088ardb \
+ ls1088ardb-sdboot \
+ ls2088ardb
+
+$(foreach tfa,$(TFAS), \
+ $(eval $(Package/tfa-layerscape/$(tfa))) \
+ $(eval $(call Package/tfa-layerscape/Config,$(tfa),$(TITLE),$(BIN_BL2),$(BIN_FIP))) \
+ $(eval $(call Package/tfa-layerscape/Install,$(tfa))) \
+ $(eval $(call BuildPackage,tfa-$(tfa))) \
+)