s7: support onboot sign [1/1]

PD#SWPL-171076

Problem:
Samsung need split ddr out of bl2

Solution:
add on boot sign support

Verify:
local

Change-Id: I2bda8cd1662a115344e6195ede0ff69ee58aaae8
Signed-off-by: Zhongfu Luo <zhongfu.luo@amlogic.com>
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
diff --git a/s7/bin/gen-bl3x-blobs.sh b/s7/bin/gen-bl3x-blobs.sh
index a174c39..0e1f23c 100755
--- a/s7/bin/gen-bl3x-blobs.sh
+++ b/s7/bin/gen-bl3x-blobs.sh
@@ -9,7 +9,10 @@
 
 EXEC_BASEDIR=$(dirname $(readlink -f $0))
 ACPU_IMAGETOOL=${EXEC_BASEDIR}/../binary-tool/acpu-imagetool
-
+if [ "onboot" == "$7" ]; then
+    ACPU_IMAGETOOL=${EXEC_BASEDIR}/../binary-tool/acpu-imagetool-onboot
+    EXT_SUFFIX=".bl1ext"
+fi
 BASEDIR_TOP=$(readlink -f ${EXEC_BASEDIR}/..)
 
 #
@@ -26,17 +29,17 @@
 KEY_TYPE=$5
 SOC=$6
 
-BASEDIR_AESKEY_PROT_BL2="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC}/chipset/bl2/aes/${CHIPSET_NAME}"
-BASEDIR_RSAKEY_LVLX_BL2="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC}/chipset/bl2/rsa/${CHIPSET_NAME}"
+BASEDIR_AESKEY_PROT_BL2="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC}/chipset/bl2/aes/${CHIPSET_NAME}${EXT_SUFFIX}"
+BASEDIR_RSAKEY_LVLX_BL2="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC}/chipset/bl2/rsa/${CHIPSET_NAME}${EXT_SUFFIX}"
 
-BASEDIR_AESKEY_PROT_BL31="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC}/chipset/bl31/aes/${CHIPSET_NAME}"
-BASEDIR_RSAKEY_LVLX_BL31="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC}/chipset/bl31/rsa/${CHIPSET_NAME}"
+BASEDIR_AESKEY_PROT_BL31="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC}/chipset/bl31/aes/${CHIPSET_NAME}${EXT_SUFFIX}"
+BASEDIR_RSAKEY_LVLX_BL31="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC}/chipset/bl31/rsa/${CHIPSET_NAME}${EXT_SUFFIX}"
 
-BASEDIR_AESKEY_PROT_BL32="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC}/chipset/bl32/aes/${CHIPSET_NAME}"
-BASEDIR_RSAKEY_LVLX_BL32="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC}/chipset/bl32/rsa/${CHIPSET_NAME}"
+BASEDIR_AESKEY_PROT_BL32="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC}/chipset/bl32/aes/${CHIPSET_NAME}${EXT_SUFFIX}"
+BASEDIR_RSAKEY_LVLX_BL32="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC}/chipset/bl32/rsa/${CHIPSET_NAME}${EXT_SUFFIX}"
 
-BASEDIR_AESKEY_PROT_BL40="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC}/chipset/bl40/aes/${CHIPSET_NAME}"
-BASEDIR_RSAKEY_LVLX_BL40="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC}/chipset/bl40/rsa/${CHIPSET_NAME}"
+BASEDIR_AESKEY_PROT_BL40="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC}/chipset/bl40/aes/${CHIPSET_NAME}${EXT_SUFFIX}"
+BASEDIR_RSAKEY_LVLX_BL40="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC}/chipset/bl40/rsa/${CHIPSET_NAME}${EXT_SUFFIX}"
 
 BASEDIR_OUTPUT_BLOB=$3
 postfix=.signed
diff --git a/s7/bin/gen-boot-blob-bl2-final.sh b/s7/bin/gen-boot-blob-bl2-final.sh
index b752064..aca1d7c 100755
--- a/s7/bin/gen-boot-blob-bl2-final.sh
+++ b/s7/bin/gen-boot-blob-bl2-final.sh
@@ -9,7 +9,10 @@
 
 EXEC_BASEDIR=$(dirname $(readlink -f $0))
 ACPU_IMAGETOOL=${EXEC_BASEDIR}/../binary-tool/acpu-imagetool
-
+if [ "onboot" == "$6" ]; then
+    ACPU_IMAGETOOL=${EXEC_BASEDIR}/../binary-tool/acpu-imagetool-onboot
+    TEMPLATE_SUFFIX=".bl1ext"
+fi
 BASEDIR_TOP=$(readlink -f ${EXEC_BASEDIR}/..)
 
 #
@@ -23,21 +26,21 @@
 CHIPSET_NAME=$3
 KEY_TYPE=$4
 SOC_FAMILY=$5
-CHIPSET_VARIANT_SUFFIX=$6
+CHIPSET_VARIANT_SUFFIX=""
 
-BASEDIR_AESKEY_PROT_BL2="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl2/aes/${CHIPSET_NAME}"
-BASEDIR_RSAKEY_LVLX_BL2="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl2/rsa/${CHIPSET_NAME}"
+BASEDIR_AESKEY_PROT_BL2="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl2/aes/${CHIPSET_NAME}${EXT_SUFFIX}"
+BASEDIR_RSAKEY_LVLX_BL2="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl2/rsa/${CHIPSET_NAME}${EXT_SUFFIX}"
 
-BASEDIR_AESKEY_PROT_BL31="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl31/aes/${CHIPSET_NAME}"
-BASEDIR_RSAKEY_LVLX_BL31="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl31/rsa/${CHIPSET_NAME}"
+BASEDIR_AESKEY_PROT_BL31="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl31/aes/${CHIPSET_NAME}${EXT_SUFFIX}"
+BASEDIR_RSAKEY_LVLX_BL31="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl31/rsa/${CHIPSET_NAME}${EXT_SUFFIX}"
 
-BASEDIR_AESKEY_PROT_BL32="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl32/aes/${CHIPSET_NAME}"
-BASEDIR_RSAKEY_LVLX_BL32="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl32/rsa/${CHIPSET_NAME}"
+BASEDIR_AESKEY_PROT_BL32="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl32/aes/${CHIPSET_NAME}${EXT_SUFFIX}"
+BASEDIR_RSAKEY_LVLX_BL32="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl32/rsa/${CHIPSET_NAME}${EXT_SUFFIX}"
 
-BASEDIR_AESKEY_PROT_BL40="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl40/aes/${CHIPSET_NAME}"
-BASEDIR_RSAKEY_LVLX_BL40="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl40/rsa/${CHIPSET_NAME}"
+BASEDIR_AESKEY_PROT_BL40="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl40/aes/${CHIPSET_NAME}${EXT_SUFFIX}"
+BASEDIR_RSAKEY_LVLX_BL40="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl40/rsa/${CHIPSET_NAME}${EXT_SUFFIX}"
 
-BASEDIR_TEMPLATE="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/cert-template/${CHIPSET_NAME}"
+BASEDIR_TEMPLATE="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/cert-template/${CHIPSET_NAME}${EXT_SUFFIX}"
 
 BASEDIR_OUTPUT_BLOB=$2
 postfix=.signed
diff --git a/s7/bin/gen-boot-blob-bl2-only.sh b/s7/bin/gen-boot-blob-bl2-only.sh
index a529b52..982b0fa 100755
--- a/s7/bin/gen-boot-blob-bl2-only.sh
+++ b/s7/bin/gen-boot-blob-bl2-only.sh
@@ -9,7 +9,10 @@
 
 EXEC_BASEDIR=$(dirname $(readlink -f $0))
 ACPU_IMAGETOOL=${EXEC_BASEDIR}/../binary-tool/acpu-imagetool
-
+if [ "onboot" == "$6" ]; then
+    ACPU_IMAGETOOL=${EXEC_BASEDIR}/../binary-tool/acpu-imagetool-onboot
+    EXT_SUFFIX=".bl1ext"
+fi
 BASEDIR_TOP=$(readlink -f ${EXEC_BASEDIR}/..)
 
 #
@@ -23,21 +26,21 @@
 CHIPSET_NAME=$3
 KEY_TYPE=$4
 SOC_FAMILY=$5
-CHIPSET_VARIANT_SUFFIX=$6
+CHIPSET_VARIANT_SUFFIX=""
 
-BASEDIR_AESKEY_PROT_BL2="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl2/aes/${CHIPSET_NAME}"
-BASEDIR_RSAKEY_LVLX_BL2="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl2/rsa/${CHIPSET_NAME}"
+BASEDIR_AESKEY_PROT_BL2="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl2/aes/${CHIPSET_NAME}${EXT_SUFFIX}"
+BASEDIR_RSAKEY_LVLX_BL2="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl2/rsa/${CHIPSET_NAME}${EXT_SUFFIX}"
 
-BASEDIR_AESKEY_PROT_BL31="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl31/aes/${CHIPSET_NAME}"
-BASEDIR_RSAKEY_LVLX_BL31="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl31/rsa/${CHIPSET_NAME}"
+BASEDIR_AESKEY_PROT_BL31="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl31/aes/${CHIPSET_NAME}${EXT_SUFFIX}"
+BASEDIR_RSAKEY_LVLX_BL31="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl31/rsa/${CHIPSET_NAME}${EXT_SUFFIX}"
 
-BASEDIR_AESKEY_PROT_BL32="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl32/aes/${CHIPSET_NAME}"
-BASEDIR_RSAKEY_LVLX_BL32="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl32/rsa/${CHIPSET_NAME}"
+BASEDIR_AESKEY_PROT_BL32="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl32/aes/${CHIPSET_NAME}${EXT_SUFFIX}"
+BASEDIR_RSAKEY_LVLX_BL32="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl32/rsa/${CHIPSET_NAME}${EXT_SUFFIX}"
 
-BASEDIR_AESKEY_PROT_BL40="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl40/aes/${CHIPSET_NAME}"
-BASEDIR_RSAKEY_LVLX_BL40="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl40/rsa/${CHIPSET_NAME}"
+BASEDIR_AESKEY_PROT_BL40="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl40/aes/${CHIPSET_NAME}${EXT_SUFFIX}"
+BASEDIR_RSAKEY_LVLX_BL40="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl40/rsa/${CHIPSET_NAME}${EXT_SUFFIX}"
 
-BASEDIR_TEMPLATE="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/cert-template/${CHIPSET_NAME}"
+BASEDIR_TEMPLATE="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/cert-template/${CHIPSET_NAME}${EXT_SUFFIX}"
 
 BASEDIR_OUTPUT_BLOB=$2
 postfix=.signed
diff --git a/s7/bin/gen-boot-blobs.sh b/s7/bin/gen-boot-blobs.sh
index ffda2ca..00e8c40 100755
--- a/s7/bin/gen-boot-blobs.sh
+++ b/s7/bin/gen-boot-blobs.sh
@@ -9,7 +9,10 @@
 
 EXEC_BASEDIR=$(dirname $(readlink -f $0))
 ACPU_IMAGETOOL=${EXEC_BASEDIR}/../binary-tool/acpu-imagetool
-
+if [ "onboot" == "$6" ]; then
+    ACPU_IMAGETOOL=${EXEC_BASEDIR}/../binary-tool/acpu-imagetool-onboot
+    EXT_SUFFIX=".bl1ext"
+fi
 BASEDIR_TOP=$(readlink -f ${EXEC_BASEDIR}/..)
 
 #
@@ -23,21 +26,21 @@
 CHIPSET_NAME=$3
 KEY_TYPE=$4
 SOC_FAMILY=$5
-CHIPSET_VARIANT_SUFFIX=$6
+CHIPSET_VARIANT_SUFFIX=""
 
-BASEDIR_AESKEY_PROT_BL2="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl2/aes/${CHIPSET_NAME}"
-BASEDIR_RSAKEY_LVLX_BL2="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl2/rsa/${CHIPSET_NAME}"
+BASEDIR_AESKEY_PROT_BL2="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl2/aes/${CHIPSET_NAME}${EXT_SUFFIX}"
+BASEDIR_RSAKEY_LVLX_BL2="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl2/rsa/${CHIPSET_NAME}${EXT_SUFFIX}"
 
-BASEDIR_AESKEY_PROT_BL31="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl31/aes/${CHIPSET_NAME}"
-BASEDIR_RSAKEY_LVLX_BL31="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl31/rsa/${CHIPSET_NAME}"
+BASEDIR_AESKEY_PROT_BL31="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl31/aes/${CHIPSET_NAME}${EXT_SUFFIX}"
+BASEDIR_RSAKEY_LVLX_BL31="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl31/rsa/${CHIPSET_NAME}${EXT_SUFFIX}"
 
-BASEDIR_AESKEY_PROT_BL32="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl32/aes/${CHIPSET_NAME}"
-BASEDIR_RSAKEY_LVLX_BL32="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl32/rsa/${CHIPSET_NAME}"
+BASEDIR_AESKEY_PROT_BL32="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl32/aes/${CHIPSET_NAME}${EXT_SUFFIX}"
+BASEDIR_RSAKEY_LVLX_BL32="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl32/rsa/${CHIPSET_NAME}${EXT_SUFFIX}"
 
-BASEDIR_AESKEY_PROT_BL40="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl40/aes/${CHIPSET_NAME}"
-BASEDIR_RSAKEY_LVLX_BL40="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl40/rsa/${CHIPSET_NAME}"
+BASEDIR_AESKEY_PROT_BL40="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl40/aes/${CHIPSET_NAME}${EXT_SUFFIX}"
+BASEDIR_RSAKEY_LVLX_BL40="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/bl40/rsa/${CHIPSET_NAME}${EXT_SUFFIX}"
 
-BASEDIR_TEMPLATE="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/cert-template/${CHIPSET_NAME}"
+BASEDIR_TEMPLATE="${BASEDIR_TOP}/keys/${KEY_TYPE}/${SOC_FAMILY}/chipset/cert-template/${CHIPSET_NAME}${EXT_SUFFIX}"
 
 BASEDIR_OUTPUT_BLOB=$2
 postfix=.signed
diff --git a/s7/bin/sign-blx.sh b/s7/bin/sign-blx.sh
index 3df3af2..6fd9a8b 100755
--- a/s7/bin/sign-blx.sh
+++ b/s7/bin/sign-blx.sh
@@ -86,33 +86,28 @@
 		exit 1
 	fi
 
+	if [ ${blxname} == "bl2c" ]; then
+		blxname="bl2"
+	fi
+
 	if [ -z ${chipset_name} ]; then
-		chipset_name="a113l2"
+		chipset_name="s905y5"
 	fi
 
 	# select bl2/bl2e sign template
 	FEAT_BL2_TEMPLATE_TYPE=
 	FEAT_BL2E_SIGPROT_MODE=0
-	if [ -z ${chipset_variant} ] || [ ${chipset_variant} == "no_variant" ]; then
-		chipset_variant_suffix=""
-	else
-		chipset_variant_suffix=".${chipset_variant}"
-		if [[ "${input}" =~ ".sto" ]]; then
-			FEAT_BL2_TEMPLATE_TYPE=".sto"
-			if [[ "${chipset_variant}" =~ "nocs" ]]; then
-				FEAT_BL2E_SIGPROT_MODE=1
-			fi
-		elif [[ "${input}" =~ ".usb" ]]; then
-			FEAT_BL2_TEMPLATE_TYPE=".usb"
-		else
-			# for BL2X, it need a default value if chipset_variant
-			# is set
-			FEAT_BL2_TEMPLATE_TYPE=".sto"
-		fi
-	fi
+	chipset_variant_suffix=""
 	export FEAT_BL2_TEMPLATE_TYPE
 	export FEAT_BL2E_SIGPROT_MODE
 
+	#special case for onboot
+	if [ -n ${chipset_variant} ] && [[ ${chipset_variant} == "onboot" ]]; then
+		BLX_BIN_SIZE[0]="134048" #bl2 size
+		BLX_BIN_SIZE[6]="4190208" #bl32 size
+		BLX_BIN_SIZE[7]="4096" #bl40 size
+	fi
+
 	if [ -z ${key_type} ]; then
 		key_type="dev-keys"
 	fi
@@ -155,10 +150,10 @@
 		dd if=${chip_acs} of=${BASEDIR_BUILD}/csinit-params.bin conv=notrunc  &> /dev/null
 		dd if=${input} of=${BASEDIR_BUILD}/${blxname}-payload.bin conv=notrunc  &> /dev/null
 
-		${EXEC_BASEDIR}/gen-boot-blobs.sh ${BASEDIR_BUILD} ${BASEDIR_BUILD} ${chipset_name} ${key_type} ${soc} ${chipset_variant_suffix}
+		${EXEC_BASEDIR}/gen-boot-blobs.sh ${BASEDIR_BUILD} ${BASEDIR_BUILD} ${chipset_name} ${key_type} ${soc} ${chipset_variant}
 	elif [ ${blxname} == "bl2" ] && [ ${build_type} == "bl2-only" ]; then
 		dd if=${input} of=${BASEDIR_BUILD}/${blxname}-payload.bin conv=notrunc  &> /dev/null
-		${EXEC_BASEDIR}/gen-boot-blob-bl2-only.sh ${BASEDIR_BUILD} ${BASEDIR_BUILD} ${chipset_name} ${key_type} ${soc} ${chipset_variant_suffix}
+		${EXEC_BASEDIR}/gen-boot-blob-bl2-only.sh ${BASEDIR_BUILD} ${BASEDIR_BUILD} ${chipset_name} ${key_type} ${soc} ${chipset_variant}
 	elif [ ${blxname} == "bl2" ] && [ ${build_type} == "bl2-final" ]; then
 		if [ -z ${chip_acs} ] || [ ! -f ${chip_acs} ]; then
 			echo "chip_acs ${chip_acs} invalid"
@@ -167,16 +162,16 @@
 		dd if=${chip_acs} of=${BASEDIR_BUILD}/csinit-params.bin conv=notrunc  &> /dev/null
 
 		dd if=${input} of=${BASEDIR_BUILD}/bb1st${FEAT_BL2_TEMPLATE_TYPE}${chipset_variant_suffix}.bin.bl2-only conv=notrunc  &> /dev/null
-		${EXEC_BASEDIR}/gen-boot-blob-bl2-final.sh ${BASEDIR_BUILD} ${BASEDIR_BUILD} ${chipset_name} ${key_type} ${soc} ${chipset_variant_suffix}
+		${EXEC_BASEDIR}/gen-boot-blob-bl2-final.sh ${BASEDIR_BUILD} ${BASEDIR_BUILD} ${chipset_name} ${key_type} ${soc} ${chipset_variant}
 	elif [ ${blxname} == "bl2e" ] || [ ${blxname} == "bl2x" ]; then
 		dd if=${input} of=${BASEDIR_BUILD}/${blxname}-payload.bin conv=notrunc  &> /dev/null
-		${EXEC_BASEDIR}/gen-boot-blobs.sh ${BASEDIR_BUILD} ${BASEDIR_BUILD} ${chipset_name} ${key_type} ${soc} ${chipset_variant_suffix}
+		${EXEC_BASEDIR}/gen-boot-blobs.sh ${BASEDIR_BUILD} ${BASEDIR_BUILD} ${chipset_name} ${key_type} ${soc} ${chipset_variant}
 	elif [ ${blxname} == "bl31" ] || [ ${blxname} == "bl32" ] || [ ${blxname} == "bl40" ]; then
 		dd if=${input} of=${BASEDIR_BUILD}/${blxname}-payload.bin conv=notrunc  &> /dev/null
 		if [ ${blxname} == "bl31" ]; then
 			${EXEC_BASEDIR}/pack_aucpu_key.sh ${blxname:2:2} ${BASEDIR_BUILD} ${BASEDIR_BUILD} ${chipset_name} ${key_type} ${soc}
 		fi
-		${EXEC_BASEDIR}/gen-bl3x-blobs.sh ${blxname:2:2} ${BASEDIR_BUILD} ${BASEDIR_BUILD} ${chipset_name} ${key_type} ${soc}
+		${EXEC_BASEDIR}/gen-bl3x-blobs.sh ${blxname:2:2} ${BASEDIR_BUILD} ${BASEDIR_BUILD} ${chipset_name} ${key_type} ${soc} ${chipset_variant}
 	fi
 
 	if [ ${blxname} == "bl2" ]; then
diff --git a/s7/binary-tool/acpu-imagetool-onboot b/s7/binary-tool/acpu-imagetool-onboot
new file mode 100755
index 0000000..64a1f99
--- /dev/null
+++ b/s7/binary-tool/acpu-imagetool-onboot
Binary files differ