ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/package/firmware/layerscape/fman-ucode/Makefile b/package/firmware/layerscape/fman-ucode/Makefile
new file mode 100644
index 0000000..3dc1bfc
--- /dev/null
+++ b/package/firmware/layerscape/fman-ucode/Makefile
@@ -0,0 +1,41 @@
+#
+# Copyright (C) 2016 Jiang Yutang <jiangyutang1978@gmail.com>
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=fman-ucode
+PKG_VERSION:=6.6.3.1.0.0
+PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/nxp-qoriq/qoriq-fm-ucode
+PKG_SOURCE_VERSION:=lf-6.6.3-1.0.0
+PKG_MIRROR_HASH:=6bb9dd8ae0ac7b2ba0e5bc5e0590732167844a1b2c9316fbdcdd04e600785b0c
+
+PKG_FLAGS:=nonshared
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/layerscape-fman
+  SECTION:=firmware
+  CATEGORY:=Firmware
+  TITLE:=NXP FMan ucode
+  DEPENDS:=@TARGET_layerscape
+endef
+
+define Build/Compile
+endef
+
+define Build/InstallDev
+	$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
+	$(CP) $(PKG_BUILD_DIR)/fsl_fman_ucode_ls1043_r1.1_106_4_18.bin \
+		$(STAGING_DIR_IMAGE)/fsl_ls1043a-rdb-fman.bin
+	$(CP) $(PKG_BUILD_DIR)/fsl_fman_ucode_ls1046_r1.0_106_4_18.bin \
+		$(STAGING_DIR_IMAGE)/fsl_ls1046a-rdb-fman.bin
+endef
+
+$(eval $(call BuildPackage,layerscape-fman))
diff --git a/package/firmware/layerscape/ls-ddr-phy/Makefile b/package/firmware/layerscape/ls-ddr-phy/Makefile
new file mode 100644
index 0000000..ce39ea7
--- /dev/null
+++ b/package/firmware/layerscape/ls-ddr-phy/Makefile
@@ -0,0 +1,52 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+# Copyright 2020 NXP
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=ls-ddr-phy
+PKG_VERSION:=6.6.3.1.0.0
+PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/NXP/ddr-phy-binary.git
+PKG_SOURCE_VERSION:=lf-6.6.3-1.0.0
+PKG_MIRROR_HASH:=7a1a35b3060adba875c507be3a5c800fa0c461103aaeb8eb0eab11f1f4b8139f
+PKG_BUILD_DEPENDS:=tfa-layerscape/host
+
+PKG_LICENSE:=EULA
+PKG_LICENSE_FILES:=NXP-Binary-EULA.txt
+
+PKG_FLAGS:=nonshared
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/layerscape-ddr-phy
+  SECTION:=firmware
+  CATEGORY:=Firmware
+  TITLE:=NXP Layerscape DDR PHY firmware
+  DEPENDS:=@TARGET_layerscape
+endef
+
+define Build/Compile
+	cd $(PKG_BUILD_DIR)/lx2160a/ && \
+	fiptool-layerscape create \
+		--ddr-immem-udimm-1d ddr4_pmu_train_imem.bin \
+		--ddr-immem-udimm-2d ddr4_2d_pmu_train_imem.bin \
+		--ddr-dmmem-udimm-1d ddr4_pmu_train_dmem.bin \
+		--ddr-dmmem-udimm-2d ddr4_2d_pmu_train_dmem.bin \
+		--ddr-immem-rdimm-1d ddr4_rdimm_pmu_train_imem.bin \
+		--ddr-immem-rdimm-2d ddr4_rdimm2d_pmu_train_imem.bin \
+		--ddr-dmmem-rdimm-1d ddr4_rdimm_pmu_train_dmem.bin \
+		--ddr-dmmem-rdimm-2d ddr4_rdimm2d_pmu_train_dmem.bin \
+		fip_ddr_all.bin
+endef
+
+define Build/InstallDev
+	$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
+	$(CP) $(PKG_BUILD_DIR)/lx2160a/fip_ddr_all.bin \
+		$(STAGING_DIR_IMAGE)/fsl_lx2160a-rdb-fip_ddr_all.bin
+endef
+
+$(eval $(call BuildPackage,layerscape-ddr-phy))
diff --git a/package/firmware/layerscape/ls-dpl/Makefile b/package/firmware/layerscape/ls-dpl/Makefile
new file mode 100644
index 0000000..058fe54
--- /dev/null
+++ b/package/firmware/layerscape/ls-dpl/Makefile
@@ -0,0 +1,51 @@
+#
+# Copyright 2017 NXP
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=ls-dpl
+PKG_VERSION:=10.38.0
+PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/nxp-qoriq/mc-utils
+PKG_SOURCE_VERSION:=mc_release_10.38.0
+PKG_MIRROR_HASH:=9ada83ac4cc259cdf2ea2ebfc2328292f7dace701bfac2b5514749bd9f8315f0
+
+PKG_FLAGS:=nonshared
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/kernel.mk
+
+define Package/layerscape-dpl
+  SECTION:=firmware
+  CATEGORY:=Firmware
+  TITLE:=NXP DPL firmware
+  DEPENDS:=@TARGET_layerscape
+endef
+
+MAKE_PATH:=config
+MAKE_VARS+= \
+	PATH=$(LINUX_DIR)/scripts/dtc:$(PATH)
+
+define Build/InstallDev
+	$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
+	$(CP) $(PKG_BUILD_DIR)/config/ls1088a/LS1088A-RDB/dpl-eth.0x1D_0x0D.dtb \
+		$(STAGING_DIR_IMAGE)/fsl_ls1088a-rdb-dpl.dtb
+	$(CP) $(PKG_BUILD_DIR)/config/ls1088a/LS1088A-RDB/dpc.0x1D-0x0D.dtb \
+		$(STAGING_DIR_IMAGE)/fsl_ls1088a-rdb-dpc.dtb
+	$(CP) $(PKG_BUILD_DIR)/config/ls2088a/LS2088A-RDB/dpl-eth.0x2A_0x41.dtb \
+		$(STAGING_DIR_IMAGE)/fsl_ls2088a-rdb-dpl.dtb
+	$(CP) $(PKG_BUILD_DIR)/config/ls2088a/LS2088A-RDB/dpc.0x2A_0x41.dtb \
+		$(STAGING_DIR_IMAGE)/fsl_ls2088a-rdb-dpc.dtb
+	$(CP) $(PKG_BUILD_DIR)/config/lx2160a/LX2160A-RDB/dpl-eth.19.dtb \
+		$(STAGING_DIR_IMAGE)/fsl_lx2160a-rdb-dpl.dtb
+	$(CP) $(PKG_BUILD_DIR)/config/lx2160a/LX2160A-RDB/dpc-usxgmii.dtb \
+		$(STAGING_DIR_IMAGE)/fsl_lx2160a-rdb-dpc.dtb
+endef
+
+$(eval $(call BuildPackage,layerscape-dpl))
diff --git a/package/firmware/layerscape/ls-mc/Makefile b/package/firmware/layerscape/ls-mc/Makefile
new file mode 100644
index 0000000..4d01a53
--- /dev/null
+++ b/package/firmware/layerscape/ls-mc/Makefile
@@ -0,0 +1,43 @@
+#
+# Copyright 2017 NXP
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=ls-mc
+PKG_VERSION:=10.38.0
+PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/NXP/qoriq-mc-binary.git
+PKG_SOURCE_VERSION:=mc_release_10.38.0
+PKG_MIRROR_HASH:=4bd0eab4b600d6dee67b4c5b32624a92fd84e6c93f506e46a4fe52217e2d1593
+
+PKG_FLAGS:=nonshared
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/layerscape-mc
+  SECTION:=firmware
+  CATEGORY:=Firmware
+  TITLE:=NXP MC firmware
+  DEPENDS:=@TARGET_layerscape
+endef
+
+define Build/Compile
+endef
+
+define Build/InstallDev
+	$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
+	$(CP) $(PKG_BUILD_DIR)/ls1088a/mc_ls1088a_$(PKG_VERSION).itb \
+		$(STAGING_DIR_IMAGE)/fsl_ls1088a-rdb-mc.itb
+	$(CP) $(PKG_BUILD_DIR)/ls2088a/mc_ls2088a_$(PKG_VERSION).itb \
+		$(STAGING_DIR_IMAGE)/fsl_ls2088a-rdb-mc.itb
+	$(CP) $(PKG_BUILD_DIR)/lx216xa/mc_lx2160a_$(PKG_VERSION).itb \
+		$(STAGING_DIR_IMAGE)/fsl_lx2160a-rdb-mc.itb
+endef
+
+$(eval $(call BuildPackage,layerscape-mc))
diff --git a/package/firmware/layerscape/ls-rcw/Makefile b/package/firmware/layerscape/ls-rcw/Makefile
new file mode 100644
index 0000000..98ffe3c
--- /dev/null
+++ b/package/firmware/layerscape/ls-rcw/Makefile
@@ -0,0 +1,73 @@
+#
+# Copyright (C) 2016 Jiang Yutang <jiangyutang1978@gmail.com>
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=ls-rcw
+PKG_VERSION:=6.6.3.1.0.0
+PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/nxp-qoriq/rcw
+PKG_SOURCE_VERSION:=lf-6.6.3-1.0.0
+PKG_MIRROR_HASH:=da45ce99a0ff85375673fa8c05110c3bda36dedca4ac66190809328f79878a0a
+
+PKG_FLAGS:=nonshared
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/layerscape-rcw
+  SECTION:=firmware
+  CATEGORY:=Firmware
+  TITLE:=NXP Layerscape RCW binaries
+  DEPENDS:=@TARGET_layerscape
+endef
+
+BOARDS := \
+  ls1012a-rdb \
+  ls1012a-frdm \
+  ls1012a-frwy-sdboot \
+  ls1028a-rdb \
+  ls1028a-rdb-sdboot \
+  ls1043a-rdb \
+  ls1043a-rdb-sdboot \
+  ls1046a-frwy \
+  ls1046a-frwy-sdboot \
+  ls1046a-rdb \
+  ls1046a-rdb-sdboot \
+  ls1088a-rdb \
+  ls1088a-rdb-sdboot \
+  ls2088a-rdb \
+  lx2160a-rdb \
+  lx2160a-rdb-sdboot \
+  ls1021a-twr
+
+RCW_ls1012a-rdb         :=ls1012ardb/R_SPNH_3508/rcw_1000_default.bin
+RCW_ls1012a-frdm        :=ls1012afrdm/N_SSNP_3305/rcw_800.bin
+RCW_ls1012a-frwy-sdboot :=ls1012afrwy/N_SSNP_3305/rcw_1000_default.bin
+RCW_ls1028a-rdb         :=ls1028ardb/R_SQPP_0x85bb/rcw_1300.bin
+RCW_ls1028a-rdb-sdboot  :=ls1028ardb/R_SQPP_0x85bb/rcw_1500_sdboot.bin
+RCW_ls1043a-rdb         :=ls1043ardb/RR_FQPP_1455/rcw_1600.bin
+RCW_ls1043a-rdb-sdboot  :=ls1043ardb/RR_FQPP_1455/rcw_1600_sdboot.bin
+RCW_ls1046a-frwy        :=ls1046afrwy/NN_NNQNNPNP_3040_0506/rcw_1600_qspiboot.bin
+RCW_ls1046a-frwy-sdboot :=ls1046afrwy/NN_NNQNNPNP_3040_0506/rcw_1600_sdboot.bin
+RCW_ls1046a-rdb         :=ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_qspiboot.bin
+RCW_ls1046a-rdb-sdboot  :=ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_sdboot.bin
+RCW_ls1088a-rdb         :=ls1088ardb/FCQQQQQQQQ_PPP_H_0x1d_0x0d/rcw_1600_qspi.bin
+RCW_ls1088a-rdb-sdboot  :=ls1088ardb/FCQQQQQQQQ_PPP_H_0x1d_0x0d/rcw_1600_sd.bin
+RCW_ls2088a-rdb         :=ls2088ardb/FFFFFFFF_PP_HH_0x2a_0x41/rcw_1800.bin
+RCW_lx2160a-rdb         :=lx2160ardb_rev2/XGGFF_PP_HHHH_RR_19_5_2/rcw_2000_700_2900_19_5_2.bin
+RCW_lx2160a-rdb-sdboot  :=lx2160ardb_rev2/XGGFF_PP_HHHH_RR_19_5_2/rcw_2000_700_2900_19_5_2.bin
+RCW_ls1021a-twr         :=ls1021atwr/SSR_PNS_30/rcw_1200.bin
+
+define Build/InstallDev
+	$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
+	$(foreach board,$(BOARDS), \
+		$(CP) $(PKG_BUILD_DIR)/$(RCW_$(board)) $(STAGING_DIR_IMAGE)/fsl_$(board)-rcw.bin;)
+endef
+
+$(eval $(call BuildPackage,layerscape-rcw))
diff --git a/package/firmware/layerscape/ls-rcw/patches/0002-fix_rcw_for_ls1012a-frdm.patch b/package/firmware/layerscape/ls-rcw/patches/0002-fix_rcw_for_ls1012a-frdm.patch
new file mode 100644
index 0000000..66b4df9
--- /dev/null
+++ b/package/firmware/layerscape/ls-rcw/patches/0002-fix_rcw_for_ls1012a-frdm.patch
@@ -0,0 +1,13 @@
+--- a/ls1012afrdm/N_SSNP_3305/rcw_800.rcw
++++ b/ls1012afrdm/N_SSNP_3305/rcw_800.rcw
+@@ -41,8 +41,8 @@ EC1_EXT_SAI2_RX=1
+ EC1_BASE=0
+ UART1_BASE=1
+ SDHC1_BASE=1
+-SDHC2_BASE_DAT321=1
+-SDHC2_BASE_BASE=1
++SDHC2_BASE_DAT321=3
++SDHC2_BASE_BASE=3
+ UART2_BASE_DATA=1
+ EMI1_BASE=1
+ CLK_OUT_BASE=1
diff --git a/package/firmware/layerscape/ppfe-firmware/Makefile b/package/firmware/layerscape/ppfe-firmware/Makefile
new file mode 100644
index 0000000..2b0c5f3
--- /dev/null
+++ b/package/firmware/layerscape/ppfe-firmware/Makefile
@@ -0,0 +1,52 @@
+#
+# Copyright (C) 2016 Jiang Yutang <jiangyutang1978@gmail.com>
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=ppfe
+PKG_VERSION:=6.6.3.1.0.0
+PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/nxp-qoriq/qoriq-engine-pfe-bin
+PKG_SOURCE_VERSION:=lf-6.6.3-1.0.0
+PKG_MIRROR_HASH:=836da0d1ace6c5896c434940b5f06ae9ddcb871959e9f5aa3df75d67e39aec41
+
+PKG_FLAGS:=nonshared
+
+include $(INCLUDE_DIR)/package.mk
+
+RSTRIP:=:
+STRIP:=:
+
+define Package/layerscape-ppfe
+  SECTION:=firmware
+  CATEGORY:=Firmware
+  TITLE:=NXP Layerscape PPFE firmware
+  DEPENDS:=@TARGET_layerscape
+  CONFIG_FW:=ls1012a/u-boot/pfe_fw_sbl.itb
+  CONFIG_BIN1:=ls1012a/slow_path/ppfe_class_ls1012a.elf
+  CONFIG_BIN2:=ls1012a/slow_path/ppfe_tmu_ls1012a.elf
+  CONFIG_LIC:=NXP-Binary-EULA.txt
+endef
+
+define Build/Compile
+endef
+
+define Package/layerscape-ppfe/install
+	$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
+	$(INSTALL_DATA) $(PKG_BUILD_DIR)/$(CONFIG_FW) \
+		$(STAGING_DIR_IMAGE)/pfe.itb
+	$(INSTALL_DIR) $(1)/lib/firmware/
+	$(INSTALL_DATA) \
+		$(PKG_BUILD_DIR)/$(CONFIG_BIN1) \
+		$(PKG_BUILD_DIR)/$(CONFIG_BIN2) \
+		$(PKG_BUILD_DIR)/$(CONFIG_LIC) \
+		$(1)/lib/firmware/
+endef
+
+$(eval $(call BuildPackage,layerscape-ppfe))