summaryrefslogtreecommitdiff
path: root/meta-nuvoton/recipes-bsp/images
diff options
context:
space:
mode:
Diffstat (limited to 'meta-nuvoton/recipes-bsp/images')
-rw-r--r--meta-nuvoton/recipes-bsp/images/files/BootBlockAndHeader_EB.xml276
-rw-r--r--meta-nuvoton/recipes-bsp/images/files/UbootHeader_EB.xml194
-rw-r--r--meta-nuvoton/recipes-bsp/images/files/mergedBootBlockAndUboot.xml35
-rw-r--r--meta-nuvoton/recipes-bsp/images/npcm7xx-bingo-native_git.bb7
-rw-r--r--meta-nuvoton/recipes-bsp/images/npcm7xx-bootblock_10.09.05.bb22
-rw-r--r--meta-nuvoton/recipes-bsp/images/npcm7xx-bootblock_10.10.09.bb26
-rw-r--r--meta-nuvoton/recipes-bsp/images/npcm7xx-igps-native_02.01.12.bb25
-rw-r--r--meta-nuvoton/recipes-bsp/images/npcm7xx-igps/0001-Adjust-paths-for-use-with-Bitbake.patch145
8 files changed, 197 insertions, 533 deletions
diff --git a/meta-nuvoton/recipes-bsp/images/files/BootBlockAndHeader_EB.xml b/meta-nuvoton/recipes-bsp/images/files/BootBlockAndHeader_EB.xml
deleted file mode 100644
index 03deb3026..000000000
--- a/meta-nuvoton/recipes-bsp/images/files/BootBlockAndHeader_EB.xml
+++ /dev/null
@@ -1,276 +0,0 @@
-<!-- SPDX-License-Identifier: GPL-2.0
-#
-# Nuvoton IGPS: Image Generation And Programming Scripts For Poleg BMC
-#
-# Copyright (C) 2018 Nuvoton Technologies, All Rights Reserved
-#--------------------------------------------------------------------------->
-
-<?xml version="1.0" encoding="UTF-8"?>
-
-<Bin_Ecc_Map>
- <!-- BMC mandatory fields -->
- <ImageProperties>
- <BinSize>0</BinSize> <!-- If 0 the binary size will be calculated by the tool -->
- <PadValue>0xFF</PadValue> <!-- Byte value to pad the empty areas, default is 0 -->
- </ImageProperties>
-
- <BinField>
- <!-- BootBlock tag (0x50 0x07 0x55 0xAA 0x54 0x4F 0x4F 0x42) or
- uboot tag (0x55 0x42 0x4F 0x4F 0x54 0x42 0x4C 0x4B) -->
- <name>StartTag</name> <!-- name of field -->
- <config>
- <offset>0</offset>
- <size>0x8</size>
- </config>
- <content format='bytes'>0x50 0x07 0x55 0xAA 0x54 0x4F 0x4F 0x42</content> <!-- content the user should fill -->
- </BinField>
-
- <BinField>
- <!-- Code destination address, 32-bit aligned: for BootBlock should be 0xFFFD5E00 so code will run in 0xFFFD6000 as linked for -->
- <name>DestAddr</name> <!-- name of field -->
- <config>
- <offset>0x140</offset>
- <size>0x4</size>
- </config>
- <content format='32bit'>0xFFFD5E00</content> <!-- content the user should fill -->
- </BinField>
-
- <BinField>
- <!-- BootBlock or u-boot Code size -->
- <name>CodeSize</name> <!-- name of field -->
- <config>
- <offset>0x144</offset>
- <size>0x4</size>
- </config>
- <content format='FileSize'>Poleg_bootblock.bin</content> <!-- content the user should fill -->
- </BinField>
-
- <BinField>
- <!-- The BootBlock or u-boot binary file -->
- <name>Code</name> <!-- name of field -->
- <config>
- <offset>0x200</offset>
- <size format='FileSize'>Poleg_bootblock.bin</size> <!-- size in the header calculated by tool-->
- </config>
- <content format='FileContent'>Poleg_bootblock.bin</content> <!-- content the user should fill -->
- </BinField>
-
- <!-- BMC optional fields -->
- <BinField>
- <!-- Word contents copied by ROM code to FIU0 FIU_DRD_CFG register -->
- <name>FIU0_DRD_CFG_Set</name> <!-- name of field -->
- <config>
- <offset>0x108</offset>
- <size>0x4</size>
- </config>
- <content format='32bit'>0x030011BB</content> <!-- content the user should fill -->
- </BinField>
-
- <BinField>
- <!-- Defines the clock divide ratio from AHB to FIU0 clock -->
- <name>FIU_Clk_Divider</name> <!-- name of field -->
- <config>
- <offset>0x10C</offset>
- <size>0x1</size>
- </config>
- <content format='bytes'>4</content> <!-- content the user should fill -->
- </BinField>
-
- <BinField>
- <!-- Version (Major.Minor) -->
- <name>Version</name> <!-- name of field -->
- <config>
- <offset>0x148</offset>
- <size>0x4</size>
- </config>
- <content format='32bit'>0x0201</content> <!-- content the user should fill -->
- </BinField>
-
- <BinField>
- <!-- Board manufaturer ( Dell = 0, Nuvoton = 100, Google = 1, MS = 2) -->
- <name>BOARD_VENDOR</name> <!-- name of field -->
- <config>
- <offset>0x14C</offset>
- <size>0x4</size>
- </config>
- <content format='32bit'>100</content> <!--Board_manufacturer: Nuvoton-->
- </BinField>
- <BinField>
- <!-- Board type ( DRB = 0, SVB = 1, EB = 2,HORIZON = 3, SANDSTORM = 4, ROCKAWAY = 100 RunBMC = 10) -->
- <!-- WARNING: Currently this value is only printed to serial. Set BOARD_VENDOR to 1 get Dell specific customization. -->
- <name>BOARD_TYPE</name> <!-- name of field -->
- <config>
- <offset>0x150</offset>
- <size>0x4</size>
- </config>
- <content format='32bit'>0x02</content> <!--Board_type: EB-->
- </BinField>
-
- <!-- the next two fields are available since version 10.7.0 -->
- <BinField>
- <!-- supported values: 333,444,500,600,666,700,720,750,775,787,800,825,850,900,950,1000,1060 -->
- <name>MC_FREQ_IN_MHZ</name> <!-- name of field -->
- <config>
- <offset>0x11C</offset>
- <size>0x2</size>
- </config>
- <content format='32bit'>800</content>
- </BinField>
- <BinField>
- <!-- supporeted values: 333,500,600,666,700,720,750,800,825,850,900,950,1000,1060 -->
- <name>CPU_FREQ_IN_MHZ</name> <!-- name of field -->
- <config>
- <offset>0x154</offset>
- <size>0x2</size>
- </config>
- <content format='32bit'>800</content>
- </BinField>
-
- <BinField>
- <!-- MC_CONFIG.
- Bit 0: MC_DISABLE_CAPABILITY_INPUT_DQS_ENHANCE_TRAINING (0x01)
- Bit 1: MC_CAPABILITY_IGNORE_ECC_DEVICE (0x02) -->
- <name>MC_CONFIG</name> <!-- name of field -->
- <config>
- <offset>0x156</offset>
- <size>0x1</size>
- </config>
- <content format='32bit'>0x00</content>
- </BinField>
-
- <BinField>
- <!-- HOST_IF.
- 0xFF: LPC backward compatible
- 0x00: LPC.
- 0x01: eSPI
- 0x02: GPIOs TRIS. -->
- <name>HOST_IF</name> <!-- name of field -->
- <config>
- <offset>0x157</offset>
- <size>0x1</size>
- </config>
- <content format='32bit'>0x00</content>
- </BinField>
-
- <BinField>
- <!-- SECURITY_LEVEL_T.
- 0xFF: SECURITY_LEVEL_UNKNOWN: backward compatible
- 0x00: SECURITY_LEVEL_NONE.
- 0x01: SECURITY_LEVEL_STANDARD
- 0x02: SECURITY_LEVEL_NIST. (require BootBlock with NIST support) -->
- <name>SECURITY_LEVEL_T</name> <!-- name of field -->
- <config>
- <offset>0x15C</offset>
- <size>0x1</size>
- </config>
- <content format='32bit'>0xFF</content>
- </BinField>
-
- <BinField>
- <!-- Key revoke (bitwise). Set bit 0 to revoke key 0 etc. -->
- <name>SECURITY_REVOKE_KEYS</name> <!-- name of field -->
- <config>
- <offset>0x1D7</offset>
- <size>0x1</size>
- </config>
- <content format='bytes'>0x00</content>
- </BinField>
-
- <BinField>
- <!-- security log offset -->
- <name>SECURITY_LOG</name> <!-- name of field -->
- <config>
- <offset>0x1D8</offset>
- <size>0x4</size>
- </config>
- <content format='32bit'>0x090000</content>
- </BinField>
- <BinField>
- <!-- hole 0 size: used for NIST security. -->
- <name>SECURITY_LOG_SIZE</name> <!-- name of field -->
- <config>
- <offset>0x1DC</offset>
- <size>0x4</size>
- </config>
- <content format='32bit'>0x3000</content>
- </BinField>
-
-
- <BinField>
- <!-- hole 0: used for NIST security. -->
- <name>HOLE0</name> <!-- name of field -->
- <config>
- <offset>0x1E0</offset>
- <size>0x4</size>
- </config>
- <content format='32bit'>0x0A0000</content>
- </BinField>
- <BinField>
- <!-- hole 0 size: used for NIST security. -->
- <name>HOLE0_SIZE</name> <!-- name of field -->
- <config>
- <offset>0x1E4</offset>
- <size>0x4</size>
- </config>
- <content format='32bit'>0xF70000</content>
- </BinField>
-
- <BinField>
- <!-- hole 1: used for NIST security. -->
- <name>HOLE1</name> <!-- name of field -->
- <config>
- <offset>0x1E8</offset>
- <size>0x4</size>
- </config>
- <content format='32bit'>0</content>
- </BinField>
- <BinField>
- <!-- hole 1 size: used for NIST security. -->
- <name>HOLE1_SIZE</name> <!-- name of field -->
- <config>
- <offset>0x1EC</offset>
- <size>0x4</size>
- </config>
- <content format='32bit'>0</content>
- </BinField>
-
-
- <BinField>
- <!-- hole 2: used for NIST security. -->
- <name>HOLE2</name> <!-- name of field -->
- <config>
- <offset>0x1F0</offset>
- <size>0x4</size>
- </config>
- <content format='32bit'>0xFFFFFFFF</content>
- </BinField>
- <BinField>
- <!-- hole 2 size: used for NIST security. -->
- <name>HOLE2_SIZE</name> <!-- name of field -->
- <config>
- <offset>0x1F4</offset>
- <size>0x4</size>
- </config>
- <content format='32bit'>0</content>
- </BinField>
-
- <BinField>
- <!-- hole 3: used for NIST security. -->
- <name>HOLE3</name> <!-- name of field -->
- <config>
- <offset>0x1F8</offset>
- <size>0x4</size>
- </config>
- <content format='32bit'>0</content>
- </BinField>
- <BinField>
- <!-- hole 3 size: used for NIST security. -->
- <name>HOLE3_SIZE</name> <!-- name of field -->
- <config>
- <offset>0x1FC</offset>
- <size>0x4</size>
- </config>
- <content format='32bit'>0</content>
- </BinField>
-
-</Bin_Ecc_Map>
diff --git a/meta-nuvoton/recipes-bsp/images/files/UbootHeader_EB.xml b/meta-nuvoton/recipes-bsp/images/files/UbootHeader_EB.xml
deleted file mode 100644
index 2e648599b..000000000
--- a/meta-nuvoton/recipes-bsp/images/files/UbootHeader_EB.xml
+++ /dev/null
@@ -1,194 +0,0 @@
-<!-- SPDX-License-Identifier: GPL-2.0
-#
-# Nuvoton IGPS: Image Generation And Programming Scripts For Poleg BMC
-#
-# Copyright (C) 2018 Nuvoton Technologies, All Rights Reserved
-#--------------------------------------------------------------------------->
-
-<?xml version="1.0" encoding="UTF-8"?>
-
-<Bin_Ecc_Map>
- <!-- BMC mandatory fields -->
- <ImageProperties>
- <BinSize>0</BinSize> <!-- If 0 the binary size will be calculated by the tool -->
- <PadValue>0xFF</PadValue> <!-- Byte value to pad the empty areas, default is 0 -->
- </ImageProperties>
-
- <BinField>
- <!-- BootBlock tag (0x50 0x07 0x55 0xAA 0x54 0x4F 0x4F 0x42) or
- uboot tag (0x55 0x42 0x4F 0x4F 0x54 0x42 0x4C 0x4B) -->
- <name>StartTag</name> <!-- name of field -->
- <config>
- <offset>0</offset> <!-- offset in the header -->
- <size>0x8</size> <!-- size in the header -->
- </config>
- <content format='bytes'>0x55 0x42 0x4F 0x4F 0x54 0x42 0x4C 0x4B</content> <!-- content the user should fill -->
- </BinField>
-
- <BinField>
- <!-- Code destination address, 32-bit aligned: for u-boot should be 0x80005000 so code will run in 0x80005200 as linked for -->
- <name>DestAddr</name> <!-- name of field -->
- <config>
- <offset>0x140</offset> <!-- offset in the header -->
- <size>0x4</size> <!-- size in the header -->
- </config>
- <content format='32bit'>0x8000</content> <!-- content the user should fill -->
- </BinField>
-
- <BinField>
- <!-- BootBlock or u-boot Code size -->
- <name>CodeSize</name> <!-- name of field -->
- <config>
- <offset>0x144</offset> <!-- offset in the header -->
- <size>0x4</size> <!-- size in the header -->
- </config>
- <content format='FileSize'>u-boot.bin</content> <!-- content the user should fill -->
- </BinField>
-
- <BinField>
- <!-- The BootBlock or u-boot binary file -->
- <name>Code</name> <!-- name of field -->
- <config>
- <offset>0x200</offset> <!-- offset in the header -->
- <size format='FileSize'>u-boot.bin</size> <!-- size in the header calculated by tool-->
- </config>
- <content format='FileContent'>u-boot.bin</content> <!-- content the user should fill -->
- </BinField>
-
- <!-- BMC optional fields -->
- <BinField>
- <!-- Word contents copied by ROM code to FIU0 FIU_DRD_CFG register -->
- <name>FIU0_DRD_CFG_Set</name> <!-- name of field -->
- <config>
- <offset>0x108</offset> <!-- offset in the header -->
- <size>0x4</size> <!-- size in the header -->
- </config>
- <content format='32bit'>0x030111BC</content> <!-- content the user should fill 0x030032EB -->
- </BinField>
-
- <BinField>
- <!-- Defines the clock divide ratio from AHB to FIU0 clock -->
- <name>FIU0_Clk_Divider</name> <!-- name of field -->
- <config>
- <offset>0x10C</offset> <!-- offset in the header -->
- <size>0x1</size> <!-- size in the header -->
- </config>
- <content format='bytes'>0</content> <!-- content the user should fill -->
- </BinField>
-
- <BinField>
- <!-- Defines if FIU0 CS1 is enabled -->
- <name>fiu0_cs1_en</name> <!-- name of field -->
- <config>
- <offset>0x10D</offset> <!-- offset in the header -->
- <size>0x1</size> <!-- size in the header -->
- </config>
- <content format='bytes'>0x0</content> <!-- content the user should fill -->
- </BinField>
-
- <BinField>
- <!-- Defines if FIU0 CS2 is enabled -->
- <name>fiu0_cs2_en</name> <!-- name of field -->
- <config>
- <offset>0x10E</offset> <!-- offset in the header -->
- <size>0x1</size> <!-- size in the header -->
- </config>
- <content format='bytes'>0x0</content> <!-- content the user should fill -->
- </BinField>
-
- <BinField>
- <!-- Defines if FIU0 CS3 is enabled -->
- <name>fiu0_cs3_en</name> <!-- name of field -->
- <config>
- <offset>0x10F</offset> <!-- offset in the header -->
- <size>0x1</size> <!-- size in the header -->
- </config>
- <content format='bytes'>0x0</content> <!-- content the user should fill -->
- </BinField>
-
- <!-- BMC optional fields -->
- <BinField>
- <!-- Word contents copied by ROM code to FIU3 FIU_DRD_CFG register -->
- <name>FIU3_DRD_CFG_Set</name> <!-- name of field -->
- <config>
- <offset>0x110</offset> <!-- offset in the header -->
- <size>0x4</size> <!-- size in the header -->
- </config>
- <content format='32bit'>0x0</content> <!-- content the user should fill -->
- </BinField>
-
- <!-- BMC optional fields -->
- <BinField>
- <!-- Word contents copied by ROM code to FIU3 FIU_DRD_CFG register -->
- <name>FIU3_DWR_CFG_Set</name> <!-- name of field -->
- <config>
- <offset>0x114</offset> <!-- offset in the header -->
- <size>0x4</size> <!-- size in the header -->
- </config>
- <content format='32bit'>0x0</content> <!-- content the user should fill -->
- </BinField>
-
- <BinField>
- <!-- Defines the clock divide ratio from AHB to FIU3 clock -->
- <name>FIU3_Clk_Divider</name> <!-- name of field -->
- <config>
- <offset>0x118</offset> <!-- offset in the header -->
- <size>0x1</size> <!-- size in the header -->
- </config>
- <content format='bytes'>0x0</content> <!-- content the user should fill -->
- </BinField>
-
-
- <BinField>
- <!-- Defines if FIU3 CS1 is enabled -->
- <name>fiu3_cs1_en</name> <!-- name of field -->
- <config>
- <offset>0x119</offset> <!-- offset in the header -->
- <size>0x1</size> <!-- size in the header -->
- </config>
- <content format='bytes'>0x0</content> <!-- content the user should fill -->
- </BinField>
-
- <BinField>
- <!-- Defines if FIU3 CS2 is enabled -->
- <name>fiu3_cs2_en</name> <!-- name of field -->
- <config>
- <offset>0x11A</offset> <!-- offset in the header -->
- <size>0x1</size> <!-- size in the header -->
- </config>
- <content format='bytes'>0x0</content> <!-- content the user should fill -->
- </BinField>
-
- <BinField>
- <!-- Defines if FIU3 CS3 is enabled -->
- <name>fiu3_cs3_en</name> <!-- name of field -->
- <config>
- <offset>0x11B</offset> <!-- offset in the header -->
- <size>0x1</size> <!-- size in the header -->
- </config>
- <content format='bytes'>0x0</content> <!-- content the user should fill -->
- </BinField>
-
- <BinField>
- <!-- Version (Major.Minor) -->
- <name>Version</name> <!-- name of field -->
- <config>
- <offset>0x148</offset> <!-- offset in the header -->
- <size>0x4</size> <!-- size in the header -->
- </config>
- <content format='32bit'>0</content> <!-- content the user should fill -->
- </BinField>
-
- <!-- BMC optional fields -->
- <BinField>
- <!-- Word contents copied by BB code to FIU0 FIU_DWR_CFG register -->
- <name>FIU0_DWR_CFG_Set</name> <!-- name of field -->
- <config>
- <offset>0x14C</offset> <!-- offset in the header -->
- <size>0x4</size> <!-- size in the header -->
- </config>
- <content format='32bit'>0x03001102</content> <!-- content the user should fill -->
- </BinField>
-
-
-</Bin_Ecc_Map>
diff --git a/meta-nuvoton/recipes-bsp/images/files/mergedBootBlockAndUboot.xml b/meta-nuvoton/recipes-bsp/images/files/mergedBootBlockAndUboot.xml
deleted file mode 100644
index 03529dcac..000000000
--- a/meta-nuvoton/recipes-bsp/images/files/mergedBootBlockAndUboot.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<!-- SPDX-License-Identifier: GPL-2.0
-#
-# Nuvoton IGPS: Image Generation And Programming Scripts For Poleg BMC
-#
-# Copyright (C) 2018 Nuvoton Technologies, All Rights Reserved
-#--------------------------------------------------------------------------->
-
-<?xml version="1.0" encoding="UTF-8"?>
-
-<Bin_Ecc_Map>
- <!-- BMC mandatory fields -->
- <ImageProperties>
- <BinSize>0</BinSize> <!-- If 0 the binary size will be calculated by the tool -->
- <PadValue>0xFF</PadValue> <!-- Byte value to pad the empty areas, default is 0 -->
- </ImageProperties>
-
- <BinField>
- <name>BootBlock</name> <!-- name of field -->
- <config>
- <offset>0</offset> <!-- offset in the header -->
- <size format='FileSize'>Poleg_bootblock.bin.full</size> <!-- size in the header -->
- </config>
- <content format='FileContent'>Poleg_bootblock.bin.full</content> <!-- content the user should fill -->
- </BinField>
-
- <BinField>
- <name>u-boot</name> <!-- name of field -->
- <config>
- <offset format='FileSize' align='0x1000'>Poleg_bootblock.bin.full</offset> <!-- offset in the header -->
- <size format='FileSize'>u-boot.bin.full</size> <!-- size in the header -->
- </config>
- <content format='FileContent'>u-boot.bin.full</content> <!-- content the user should fill -->
- </BinField>
-
-</Bin_Ecc_Map>
diff --git a/meta-nuvoton/recipes-bsp/images/npcm7xx-bingo-native_git.bb b/meta-nuvoton/recipes-bsp/images/npcm7xx-bingo-native_git.bb
index 5ab1fc942..bff1c015e 100644
--- a/meta-nuvoton/recipes-bsp/images/npcm7xx-bingo-native_git.bb
+++ b/meta-nuvoton/recipes-bsp/images/npcm7xx-bingo-native_git.bb
@@ -3,14 +3,10 @@ DESCRIPTION = "XML-based binary image generator"
HOMEPAGE = "https://github.com/Nuvoton-Israel/bingo"
PR = "r1"
PV = "0.1+git${SRCPV}"
-LICENSE = "Apache-2.0"
+LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI += "git://github.com/Nuvoton-Israel/bingo"
-SRC_URI += "file://BootBlockAndHeader_EB.xml"
-SRC_URI += "file://UbootHeader_EB.xml"
-SRC_URI += "file://mergedBootBlockAndUboot.xml"
-
SRCREV = "4f102ff7851da9fd11965857edd1b3046c187b7a"
S = "${WORKDIR}/git"
@@ -19,7 +15,6 @@ do_install () {
install -d "${D}${bindir}"
install deliverables/linux/Release/bingo ${D}${bindir}
- install ${WORKDIR}/*.xml ${D}${bindir}
}
inherit native
diff --git a/meta-nuvoton/recipes-bsp/images/npcm7xx-bootblock_10.09.05.bb b/meta-nuvoton/recipes-bsp/images/npcm7xx-bootblock_10.09.05.bb
deleted file mode 100644
index 7c847f2ed..000000000
--- a/meta-nuvoton/recipes-bsp/images/npcm7xx-bootblock_10.09.05.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Primary bootloader for NPCM7XX (Poleg) devices"
-DESCRIPTION = "Primary bootloader for NPCM7XX (Poleg) devices"
-HOMEPAGE = "https://github.com/Nuvoton-Israel/npcm7xx-bootblock"
-LICENSE = "CLOSED"
-LIC_FILES_CHKSUM = ""
-
-SRCREV = "${PV}"
-FILENAME = "Poleg_bootblock.bin"
-
-SRC_URI = "git://github.com/Nuvoton-Israel/npcm7xx-bootblock;protocol=git"
-SRC_URI[md5sum] = "cf8daa5f4636ed1ff952618e435af028"
-
-S = "${WORKDIR}/git"
-
-inherit deploy
-
-do_deploy () {
- install -d ${DEPLOYDIR}
- install -m 644 ${FILENAME} ${DEPLOYDIR}/
-}
-
-addtask deploy before do_build after do_compile
diff --git a/meta-nuvoton/recipes-bsp/images/npcm7xx-bootblock_10.10.09.bb b/meta-nuvoton/recipes-bsp/images/npcm7xx-bootblock_10.10.09.bb
new file mode 100644
index 000000000..3f2178bff
--- /dev/null
+++ b/meta-nuvoton/recipes-bsp/images/npcm7xx-bootblock_10.10.09.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Primary bootloader for NPCM7XX (Poleg) devices"
+DESCRIPTION = "Primary bootloader for NPCM7XX (Poleg) devices"
+HOMEPAGE = "https://github.com/Nuvoton-Israel/npcm7xx-bootblock"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+FILENAME = "Poleg_bootblock.bin"
+
+S = "${WORKDIR}"
+
+SRCREV = "7bfef99f7a0354395519c4975f96d66cdda1fb67"
+SRC_URI = " \
+ https://raw.githubusercontent.com/Nuvoton-Israel/bootblock/${SRCREV}/LICENSE;name=lic \
+ https://github.com/Nuvoton-Israel/bootblock/releases/download/BootBlock_${PV}/Poleg_bootblock_basic.bin;downloadfilename=${FILENAME};name=bin \
+"
+
+SRC_URI[lic.md5sum] = "b234ee4d69f5fce4486a80fdaf4a4263"
+SRC_URI[bin.sha256sum] = "05f71da6ebb7798679fcffdcc928fbada8f941bd8e7a374ebc826131a0803e58"
+
+inherit deploy
+
+do_deploy () {
+ install -D -m 644 ${WORKDIR}/${FILENAME} ${DEPLOYDIR}/
+}
+
+addtask deploy before do_build after do_compile
diff --git a/meta-nuvoton/recipes-bsp/images/npcm7xx-igps-native_02.01.12.bb b/meta-nuvoton/recipes-bsp/images/npcm7xx-igps-native_02.01.12.bb
new file mode 100644
index 000000000..c04d92a0a
--- /dev/null
+++ b/meta-nuvoton/recipes-bsp/images/npcm7xx-igps-native_02.01.12.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Image Generation and Programming Scripts for NPCM7XX (Poleg) devices"
+DESCRIPTION = "Image Generation and Programming Scripts for NPCM7XX (Poleg) devices"
+HOMEPAGE = "https://github.com/Nuvoton-Israel/igps"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = " \
+ git://github.com/Nuvoton-Israel/igps \
+ file://0001-Adjust-paths-for-use-with-Bitbake.patch \
+"
+# tag IGPS_02.01.12
+SRCREV = "2fb1a3b0d61164ed1157e27889a4ec2292cbc760"
+
+S = "${WORKDIR}/git"
+
+DEST = "${D}${datadir}/${BPN}"
+
+do_install() {
+ install -d ${DEST}
+ install ImageGeneration/references/BootBlockAndHeader_${IGPS_MACHINE}.xml ${DEST}
+ install ImageGeneration/references/UbootHeader_${IGPS_MACHINE}.xml ${DEST}
+ install ImageGeneration/inputs/mergedBootBlockAndUboot.xml ${DEST}
+}
+
+inherit native
diff --git a/meta-nuvoton/recipes-bsp/images/npcm7xx-igps/0001-Adjust-paths-for-use-with-Bitbake.patch b/meta-nuvoton/recipes-bsp/images/npcm7xx-igps/0001-Adjust-paths-for-use-with-Bitbake.patch
new file mode 100644
index 000000000..118f19964
--- /dev/null
+++ b/meta-nuvoton/recipes-bsp/images/npcm7xx-igps/0001-Adjust-paths-for-use-with-Bitbake.patch
@@ -0,0 +1,145 @@
+From 215a2d9660a929beae8bc420239467fc9e135b4f Mon Sep 17 00:00:00 2001
+From: Benjamin Fair <benjaminfair@google.com>
+Date: Wed, 23 Oct 2019 14:23:08 -0700
+Subject: [PATCH] Adjust paths for use with Bitbake
+
+Signed-off-by: Benjamin Fair <benjaminfair@google.com>
+---
+ ImageGeneration/inputs/mergedBootBlockAndUboot.xml | 10 +++++-----
+ ImageGeneration/references/BootBlockAndHeader_EB.xml | 6 +++---
+ .../references/BootBlockAndHeader_RunBMC.xml | 6 +++---
+ ImageGeneration/references/UbootHeader_EB.xml | 6 +++---
+ ImageGeneration/references/UbootHeader_RunBMC.xml | 6 +++---
+ 5 files changed, 17 insertions(+), 17 deletions(-)
+
+diff --git a/ImageGeneration/inputs/mergedBootBlockAndUboot.xml b/ImageGeneration/inputs/mergedBootBlockAndUboot.xml
+index d832f96..f4c7756 100644
+--- a/ImageGeneration/inputs/mergedBootBlockAndUboot.xml
++++ b/ImageGeneration/inputs/mergedBootBlockAndUboot.xml
+@@ -18,18 +18,18 @@
+ <name>BootBlock</name> <!-- name of field -->
+ <config>
+ <offset>0</offset> <!-- offset in the header -->
+- <size format='FileSize'>output_binaries/BootBlockAndHeader.bin</size> <!-- size in the header -->
++ <size format='FileSize'>Poleg_bootblock.bin.full</size> <!-- size in the header -->
+ </config>
+- <content format='FileContent'>output_binaries/BootBlockAndHeader.bin</content> <!-- content the user should fill -->
++ <content format='FileContent'>Poleg_bootblock.bin.full</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <name>u-boot</name> <!-- name of field -->
+ <config>
+- <offset format='FileSize' align='0x1000'>output_binaries/BootBlockAndHeader.bin</offset> <!-- offset in the header -->
+- <size format='FileSize'>output_binaries/UbootAndHeader.bin</size> <!-- size in the header -->
++ <offset format='FileSize' align='0x1000'>Poleg_bootblock.bin.full</offset> <!-- offset in the header -->
++ <size format='FileSize'>u-boot.bin.full</size> <!-- size in the header -->
+ </config>
+- <content format='FileContent'>output_binaries/UbootAndHeader.bin</content> <!-- content the user should fill -->
++ <content format='FileContent'>u-boot.bin.full</content> <!-- content the user should fill -->
+ </BinField>
+
+ </Bin_Ecc_Map>
+diff --git a/ImageGeneration/references/BootBlockAndHeader_EB.xml b/ImageGeneration/references/BootBlockAndHeader_EB.xml
+index 775534f..157535d 100644
+--- a/ImageGeneration/references/BootBlockAndHeader_EB.xml
++++ b/ImageGeneration/references/BootBlockAndHeader_EB.xml
+@@ -42,7 +42,7 @@
+ <offset>0x144</offset>
+ <size>0x4</size>
+ </config>
+- <content format='FileSize'>inputs/Poleg_bootblock.bin</content> <!-- content the user should fill -->
++ <content format='FileSize'>Poleg_bootblock.bin</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+@@ -50,9 +50,9 @@
+ <name>Code</name> <!-- name of field -->
+ <config>
+ <offset>0x200</offset>
+- <size format='FileSize'>inputs/Poleg_bootblock.bin</size> <!-- size in the header calculated by tool-->
++ <size format='FileSize'>Poleg_bootblock.bin</size> <!-- size in the header calculated by tool-->
+ </config>
+- <content format='FileContent'>inputs/Poleg_bootblock.bin</content> <!-- content the user should fill -->
++ <content format='FileContent'>Poleg_bootblock.bin</content> <!-- content the user should fill -->
+ </BinField>
+
+ <!-- BMC optional fields -->
+diff --git a/ImageGeneration/references/BootBlockAndHeader_RunBMC.xml b/ImageGeneration/references/BootBlockAndHeader_RunBMC.xml
+index cc719e9..4d1e972 100644
+--- a/ImageGeneration/references/BootBlockAndHeader_RunBMC.xml
++++ b/ImageGeneration/references/BootBlockAndHeader_RunBMC.xml
+@@ -42,7 +42,7 @@
+ <offset>0x144</offset>
+ <size>0x4</size>
+ </config>
+- <content format='FileSize'>inputs/Poleg_bootblock.bin</content> <!-- content the user should fill -->
++ <content format='FileSize'>Poleg_bootblock.bin</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+@@ -50,9 +50,9 @@
+ <name>Code</name>
+ <config>
+ <offset>0x200</offset>
+- <size format='FileSize'>inputs/Poleg_bootblock.bin</size> <!-- size in the header calculated by tool-->
++ <size format='FileSize'>Poleg_bootblock.bin</size> <!-- size in the header calculated by tool-->
+ </config>
+- <content format='FileContent'>inputs/Poleg_bootblock.bin</content> <!-- content the user should fill -->
++ <content format='FileContent'>Poleg_bootblock.bin</content> <!-- content the user should fill -->
+ </BinField>
+
+ <!-- BMC optional fields -->
+diff --git a/ImageGeneration/references/UbootHeader_EB.xml b/ImageGeneration/references/UbootHeader_EB.xml
+index 1e72e22..475ec45 100644
+--- a/ImageGeneration/references/UbootHeader_EB.xml
++++ b/ImageGeneration/references/UbootHeader_EB.xml
+@@ -42,7 +42,7 @@
+ <offset>0x144</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>
+@@ -50,9 +50,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>
+
+ <!-- BMC optional fields -->
+diff --git a/ImageGeneration/references/UbootHeader_RunBMC.xml b/ImageGeneration/references/UbootHeader_RunBMC.xml
+index 7eb3076..481ed2f 100644
+--- a/ImageGeneration/references/UbootHeader_RunBMC.xml
++++ b/ImageGeneration/references/UbootHeader_RunBMC.xml
+@@ -42,7 +42,7 @@
+ <offset>0x144</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>
+@@ -50,9 +50,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>
+
+ <!-- BMC optional fields -->
+--
+2.24.0.rc0.303.g954a862665-goog
+