meta-nuvoton: add npcm8xx-igps recipe

IGPS 03.06.02 - Jul 24 2022
==============
- Restore Z1 XMLs.
- Bug fix ReplaceComponent.bat
- Add fiu clk dividers fields to Bootblock header xml.

- TIP FW: 0.3.9 L0 0.2.4 L1:
  - virtual flash bug fix: use memcy instead of tip_memcpy.
  - shared attestation hash is 512.
  - tip_mbx bug fixes.
  - tip_combo: return early if failed to find image.
  - init WD0RCR, 2, 3 before BMC starts.
  - check load and verify return status. if verify tip images fail in secure boot, restart.

- Bootblock: 0.2.2
  - Fix GMMAP value for 2GB and 512MB.
  - Add 3 FIU dividers to the the header (require IGPS 3.6.2 and above)
  - Bug fix: add support for ODT termination of zero (termination disabled).
  - Print pass\fail criteria for sweeps. Need to enable debug prints to use.

Signed-off-by: Tim Lee <timlee660101@gmail.com>
Change-Id: Ibd19031adf33d6a6ec5ada905490ba50c92e1948
diff --git a/meta-nuvoton/recipes-bsp/images/npcm8xx-igps-native_03.06.02.bb b/meta-nuvoton/recipes-bsp/images/npcm8xx-igps-native_03.06.02.bb
new file mode 100644
index 0000000..ffa0325
--- /dev/null
+++ b/meta-nuvoton/recipes-bsp/images/npcm8xx-igps-native_03.06.02.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Image Generation and Programming Scripts for NPCM8XX (Arbel) devices"
+DESCRIPTION = "Image Generation and Programming Scripts for NPCM8XX (Arbel) devices"
+HOMEPAGE = "https://github.com/Nuvoton-Israel/igps-npcm8xx"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = " \
+    git://github.com/Nuvoton-Israel/igps-npcm8xx;branch=main;protocol=https \
+    file://0001-Adjust-paths-for-use-with-Bitbake.patch \
+"
+
+# tag IGPS_03.06.02
+SRCREV = "6e6fbeb36a9a4652300560659fe695780b4ae71b"
+
+S = "${WORKDIR}/git"
+
+DEST = "${D}${datadir}/${BPN}"
+
+inherit deploy
+
+do_deploy () {
+	install -D -m 644 ${S}/py_scripts/ImageGeneration/output_binaries/Secure/Kmt_TipFwL0_Skmt_TipFwL1.bin ${DEPLOYDIR}/Kmt_TipFwL0_Skmt_TipFwL1.bin
+	install -D -m 644 ${S}/py_scripts/ImageGeneration/versions/arbel_a35_bootblock.0.2.2.bin ${DEPLOYDIR}/arbel_a35_bootblock.bin
+}
+
+addtask deploy before do_build after do_compile
+
+do_install() {
+	install -d ${DEST}
+	install py_scripts/ImageGeneration/references/BootBlockAndHeader_${DEVICE_GEN}_${IGPS_MACHINE}.xml ${DEST}
+	install py_scripts/ImageGeneration/references/UbootHeader_${DEVICE_GEN}.xml ${DEST}
+	install py_scripts/ImageGeneration/inputs/BL31_AndHeader.xml ${DEST}
+	install py_scripts/ImageGeneration/inputs/OpTeeAndHeader.xml ${DEST}
+}
+
+inherit native
diff --git a/meta-nuvoton/recipes-bsp/images/npcm8xx-igps/0001-Adjust-paths-for-use-with-Bitbake.patch b/meta-nuvoton/recipes-bsp/images/npcm8xx-igps/0001-Adjust-paths-for-use-with-Bitbake.patch
new file mode 100644
index 0000000..009df74
--- /dev/null
+++ b/meta-nuvoton/recipes-bsp/images/npcm8xx-igps/0001-Adjust-paths-for-use-with-Bitbake.patch
@@ -0,0 +1,220 @@
+From b76adadc995bbb10e2b990dcda6bc4ff68fe2788 Mon Sep 17 00:00:00 2001
+From: Tim Lee <timlee660101@gmail.com>
+Date: Thu, 28 Jul 2022 14:57:30 +0800
+Subject: [PATCH] Adjust paths for use with Bitbake
+
+Signed-off-by: Tim Lee <timlee660101@gmail.com>
+---
+ py_scripts/ImageGeneration/inputs/BL31_AndHeader.xml        | 6 +++---
+ py_scripts/ImageGeneration/inputs/OpTeeAndHeader.xml        | 6 +++---
+ .../ImageGeneration/references/BootBlockAndHeader_A1_EB.xml | 6 +++---
+ .../references/BootBlockAndHeader_A1_SVB.xml                | 6 +++---
+ .../ImageGeneration/references/BootBlockAndHeader_Z1_EB.xml | 6 +++---
+ .../references/BootBlockAndHeader_Z1_SVB.xml                | 6 +++---
+ py_scripts/ImageGeneration/references/UbootHeader_A1.xml    | 6 +++---
+ py_scripts/ImageGeneration/references/UbootHeader_Z1.xml    | 6 +++---
+ 8 files changed, 24 insertions(+), 24 deletions(-)
+
+diff --git a/py_scripts/ImageGeneration/inputs/BL31_AndHeader.xml b/py_scripts/ImageGeneration/inputs/BL31_AndHeader.xml
+index 9f5be3d..dc6a33a 100755
+--- a/py_scripts/ImageGeneration/inputs/BL31_AndHeader.xml
++++ b/py_scripts/ImageGeneration/inputs/BL31_AndHeader.xml
+@@ -52,7 +52,7 @@
+ 			<offset>0x1FC</offset>
+ 			<size>0x4</size>
+ 		</config>
+-		<content format='FileSize'>inputs/bl31.bin</content>	<!-- content the user should fill -->
++		<content format='FileSize'>bl31.bin</content>	<!-- content the user should fill -->
+ 	</BinField>
+ 
+ 	<BinField>
+@@ -60,9 +60,9 @@
+ 		<name>Code</name>
+ 		<config>
+ 			<offset>0x200</offset>
+-			<size format='FileSize'>inputs/bl31.bin</size>                 <!-- size in the header calculated by tool-->
++			<size format='FileSize'>bl31.bin</size>                 <!-- size in the header calculated by tool-->
+ 		</config>
+-		<content format='FileContent'>inputs/bl31.bin</content>  <!-- content the user should fill -->
++		<content format='FileContent'>bl31.bin</content>  <!-- content the user should fill -->
+ 	</BinField>
+ 
+ </Bin_Ecc_Map>
+diff --git a/py_scripts/ImageGeneration/inputs/OpTeeAndHeader.xml b/py_scripts/ImageGeneration/inputs/OpTeeAndHeader.xml
+index 5302604..043dc2c 100755
+--- a/py_scripts/ImageGeneration/inputs/OpTeeAndHeader.xml
++++ b/py_scripts/ImageGeneration/inputs/OpTeeAndHeader.xml
+@@ -52,7 +52,7 @@
+ 			<offset>0x1FC</offset>       
+ 			<size>0x4</size> 
+ 		</config>
+-		<content format='FileSize'>inputs/tee.bin</content>	<!-- content the user should fill -->
++		<content format='FileSize'>tee.bin</content>	<!-- content the user should fill -->
+ 	</BinField>
+ 	
+ 	<BinField>
+@@ -60,9 +60,9 @@
+ 		<name>Code</name>             
+ 		<config>
+ 			<offset>0x200</offset>       
+-			<size format='FileSize'>inputs/tee.bin</size>                 <!-- size in the header calculated by tool-->
++			<size format='FileSize'>tee.bin</size>                 <!-- size in the header calculated by tool-->
+ 		</config>
+-		<content format='FileContent'>inputs/tee.bin</content>  <!-- content the user should fill -->
++		<content format='FileContent'>tee.bin</content>  <!-- content the user should fill -->
+ 	</BinField>
+ 	
+ </Bin_Ecc_Map>
+diff --git a/py_scripts/ImageGeneration/references/BootBlockAndHeader_A1_EB.xml b/py_scripts/ImageGeneration/references/BootBlockAndHeader_A1_EB.xml
+index 0228373..ef5007a 100755
+--- a/py_scripts/ImageGeneration/references/BootBlockAndHeader_A1_EB.xml
++++ b/py_scripts/ImageGeneration/references/BootBlockAndHeader_A1_EB.xml
+@@ -545,7 +545,7 @@
+ 			<offset>0x1FC</offset>       
+ 			<size>0x4</size> 
+ 		</config>
+-		<content format='FileSize'>inputs/arbel_a35_bootblock.bin</content>	<!-- content the user should fill -->
++		<content format='FileSize'>arbel_a35_bootblock.bin</content>	<!-- content the user should fill -->
+ 	</BinField>
+ 	
+ 	<BinField>
+@@ -553,9 +553,9 @@
+ 		<name>Code</name>             
+ 		<config>
+ 			<offset>0x200</offset>       
+-			<size format='FileSize'>inputs/arbel_a35_bootblock.bin</size>                 <!-- size in the header calculated by tool-->
++			<size format='FileSize'>arbel_a35_bootblock.bin</size>                 <!-- size in the header calculated by tool-->
+ 		</config>
+-		<content format='FileContent'>inputs/arbel_a35_bootblock.bin</content>  <!-- content the user should fill -->
++		<content format='FileContent'>arbel_a35_bootblock.bin</content>  <!-- content the user should fill -->
+ 	</BinField>
+ 	
+ </Bin_Ecc_Map>
+diff --git a/py_scripts/ImageGeneration/references/BootBlockAndHeader_A1_SVB.xml b/py_scripts/ImageGeneration/references/BootBlockAndHeader_A1_SVB.xml
+index 1462cfb..772a167 100755
+--- a/py_scripts/ImageGeneration/references/BootBlockAndHeader_A1_SVB.xml
++++ b/py_scripts/ImageGeneration/references/BootBlockAndHeader_A1_SVB.xml
+@@ -547,7 +547,7 @@
+ 			<offset>0x1FC</offset>       
+ 			<size>0x4</size> 
+ 		</config>
+-		<content format='FileSize'>inputs/arbel_a35_bootblock.bin</content>	<!-- content the user should fill -->
++		<content format='FileSize'>arbel_a35_bootblock.bin</content>	<!-- content the user should fill -->
+ 	</BinField>
+ 	
+ 	<BinField>
+@@ -555,9 +555,9 @@
+ 		<name>Code</name>             
+ 		<config>
+ 			<offset>0x200</offset>       
+-			<size format='FileSize'>inputs/arbel_a35_bootblock.bin</size>                 <!-- size in the header calculated by tool-->
++			<size format='FileSize'>arbel_a35_bootblock.bin</size>                 <!-- size in the header calculated by tool-->
+ 		</config>
+-		<content format='FileContent'>inputs/arbel_a35_bootblock.bin</content>  <!-- content the user should fill -->
++		<content format='FileContent'>arbel_a35_bootblock.bin</content>  <!-- content the user should fill -->
+ 	</BinField>
+ 	
+ </Bin_Ecc_Map>
+diff --git a/py_scripts/ImageGeneration/references/BootBlockAndHeader_Z1_EB.xml b/py_scripts/ImageGeneration/references/BootBlockAndHeader_Z1_EB.xml
+index f75bf22..2a9f2be 100755
+--- a/py_scripts/ImageGeneration/references/BootBlockAndHeader_Z1_EB.xml
++++ b/py_scripts/ImageGeneration/references/BootBlockAndHeader_Z1_EB.xml
+@@ -547,7 +547,7 @@
+ 			<offset>0x1FC</offset>       
+ 			<size>0x4</size> 
+ 		</config>
+-		<content format='FileSize'>inputs/arbel_a35_bootblock.bin</content>	<!-- content the user should fill -->
++		<content format='FileSize'>arbel_a35_bootblock.bin</content>	<!-- content the user should fill -->
+ 	</BinField>
+ 	
+ 	<BinField>
+@@ -555,9 +555,9 @@
+ 		<name>Code</name>             
+ 		<config>
+ 			<offset>0x200</offset>       
+-			<size format='FileSize'>inputs/arbel_a35_bootblock.bin</size>                 <!-- size in the header calculated by tool-->
++			<size format='FileSize'>arbel_a35_bootblock.bin</size>                 <!-- size in the header calculated by tool-->
+ 		</config>
+-		<content format='FileContent'>inputs/arbel_a35_bootblock.bin</content>  <!-- content the user should fill -->
++		<content format='FileContent'>arbel_a35_bootblock.bin</content>  <!-- content the user should fill -->
+ 	</BinField>
+ 	
+ </Bin_Ecc_Map>
+diff --git a/py_scripts/ImageGeneration/references/BootBlockAndHeader_Z1_SVB.xml b/py_scripts/ImageGeneration/references/BootBlockAndHeader_Z1_SVB.xml
+index 5178ca9..1583c4d 100755
+--- a/py_scripts/ImageGeneration/references/BootBlockAndHeader_Z1_SVB.xml
++++ b/py_scripts/ImageGeneration/references/BootBlockAndHeader_Z1_SVB.xml
+@@ -546,7 +546,7 @@
+ 			<offset>0x1FC</offset>       
+ 			<size>0x4</size> 
+ 		</config>
+-		<content format='FileSize'>inputs/arbel_a35_bootblock.bin</content>	<!-- content the user should fill -->
++		<content format='FileSize'>arbel_a35_bootblock.bin</content>	<!-- content the user should fill -->
+ 	</BinField>
+ 	
+ 	<BinField>
+@@ -554,9 +554,9 @@
+ 		<name>Code</name>             
+ 		<config>
+ 			<offset>0x200</offset>       
+-			<size format='FileSize'>inputs/arbel_a35_bootblock.bin</size>                 <!-- size in the header calculated by tool-->
++			<size format='FileSize'>arbel_a35_bootblock.bin</size>                 <!-- size in the header calculated by tool-->
+ 		</config>
+-		<content format='FileContent'>inputs/arbel_a35_bootblock.bin</content>  <!-- content the user should fill -->
++		<content format='FileContent'>arbel_a35_bootblock.bin</content>  <!-- content the user should fill -->
+ 	</BinField>
+ 	
+ </Bin_Ecc_Map>
+diff --git a/py_scripts/ImageGeneration/references/UbootHeader_A1.xml b/py_scripts/ImageGeneration/references/UbootHeader_A1.xml
+index 54593db..bbfa015 100755
+--- a/py_scripts/ImageGeneration/references/UbootHeader_A1.xml
++++ b/py_scripts/ImageGeneration/references/UbootHeader_A1.xml
+@@ -176,7 +176,7 @@
+ 			<offset>0x1FC</offset>        <!-- offset in the header -->
+ 			<size>0x4</size>              <!-- size in the header -->
+ 		</config>
+-		<content format='FileSize'>inputs/u-boot.bin</content>	<!-- content the user should fill -->
++		<content format='FileSize'>u-boot.bin</content>	<!-- content the user should fill -->
+ 	</BinField>
+ 	
+ 	<BinField>
+@@ -184,9 +184,9 @@
+ 		<name>Code</name>             <!-- name of field -->
+ 		<config>
+ 			<offset>0x200</offset>        <!-- offset in the header -->
+-			<size format='FileSize'>inputs/u-boot.bin</size>                 <!-- size in the header calculated by tool-->
++			<size format='FileSize'>u-boot.bin</size>                 <!-- size in the header calculated by tool-->
+ 		</config>
+-		<content format='FileContent'>inputs/u-boot.bin</content>  <!-- content the user should fill -->
++		<content format='FileContent'>u-boot.bin</content>  <!-- content the user should fill -->
+ 	</BinField>	
+ 	
+ 	
+diff --git a/py_scripts/ImageGeneration/references/UbootHeader_Z1.xml b/py_scripts/ImageGeneration/references/UbootHeader_Z1.xml
+index 54593db..bbfa015 100755
+--- a/py_scripts/ImageGeneration/references/UbootHeader_Z1.xml
++++ b/py_scripts/ImageGeneration/references/UbootHeader_Z1.xml
+@@ -176,7 +176,7 @@
+ 			<offset>0x1FC</offset>        <!-- offset in the header -->
+ 			<size>0x4</size>              <!-- size in the header -->
+ 		</config>
+-		<content format='FileSize'>inputs/u-boot.bin</content>	<!-- content the user should fill -->
++		<content format='FileSize'>u-boot.bin</content>	<!-- content the user should fill -->
+ 	</BinField>
+ 	
+ 	<BinField>
+@@ -184,9 +184,9 @@
+ 		<name>Code</name>             <!-- name of field -->
+ 		<config>
+ 			<offset>0x200</offset>        <!-- offset in the header -->
+-			<size format='FileSize'>inputs/u-boot.bin</size>                 <!-- size in the header calculated by tool-->
++			<size format='FileSize'>u-boot.bin</size>                 <!-- size in the header calculated by tool-->
+ 		</config>
+-		<content format='FileContent'>inputs/u-boot.bin</content>  <!-- content the user should fill -->
++		<content format='FileContent'>u-boot.bin</content>  <!-- content the user should fill -->
+ 	</BinField>	
+ 	
+ 	
+-- 
+2.17.1
+
diff --git a/meta-phosphor/scripts/run-repotest b/meta-phosphor/scripts/run-repotest
index 9a3f0aa..0e6b06d 100755
--- a/meta-phosphor/scripts/run-repotest
+++ b/meta-phosphor/scripts/run-repotest
@@ -48,6 +48,7 @@
 meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/rwfs-clean-dev.patch
 meta-ingrasys/meta-zaius/recipes-bsp/u-boot/u-boot-aspeed/0001-board-aspeed-Add-reset_phy-for-Zaius.patch
 meta-nuvoton/recipes-bsp/images/npcm7xx-igps/0001-Adjust-paths-for-use-with-Bitbake.patch
+meta-nuvoton/recipes-bsp/images/npcm8xx-igps/0001-Adjust-paths-for-use-with-Bitbake.patch
 meta-yadro/meta-nicole/recipes-bsp/u-boot/files/0001-Add-system-reset-status-support.patch
 meta-yadro/meta-nicole/recipes-bsp/u-boot/files/0002-config-ast-common-set-fieldmode-to-true.patch
 meta-yadro/meta-nicole/recipes-bsp/u-boot/files/0003-aspeed-add-gpio-support.patch