fip: s6: run device sign boot flow [1/1]

PD#SWPL-170220

Problem:
run signature boot flow

Solution:
fix it

Verify:
s6

Change-Id: I9ecff7abc4ae35e968f7cde22c903a7c9b2c5a08
Signed-off-by: Bo Lv <bo.lv@amlogic.com>
diff --git a/s6/Makefile b/s6/Makefile
index 3492b05..056b837 100644
--- a/s6/Makefile
+++ b/s6/Makefile
@@ -5,8 +5,8 @@
 
 DEVICE_SCS_KEY_TOP ?= $(CURDIR)/keys/dev-keys/s7d/device/
 DEVICE_ROOTRSA_INDEX ?= 0
-PROJECT ?= a113l2
-SOC_FAMILY ?= s5
+PROJECT ?= s905x5meng
+SOC_FAMILY ?= s7d
 DEVICE_SCS_SEGID ?= 0x0
 DEVICE_VENDOR_SEGID ?= 0x0
 DEVICE_SCS_VERS ?= 0x0
diff --git a/s6/bin/device-vendor-scs-signing.sh b/s6/bin/device-vendor-scs-signing.sh
index 2da5937..468012c 100755
--- a/s6/bin/device-vendor-scs-signing.sh
+++ b/s6/bin/device-vendor-scs-signing.sh
@@ -131,7 +131,7 @@
 	rm -f ${file_info_cfg}
 	mv -f ${file_info_cfg}.sha256 ${file_info_cfg}
 
-	dd if=${file_info_cfg} of=${bootloader} bs=512 seek=404 conv=notrunc status=none
+	dd if=${file_info_cfg} of=${bootloader} bs=512 seek=540 conv=notrunc status=none
 
 	if [ ${storage_type_suffix} == ".sto" ]; then
 		total_size=$[total_size+512]
@@ -320,4 +320,4 @@
 
 if [ -d ${temp_dir} ]; then
 	rm -rf ${temp_dir}
-fi
\ No newline at end of file
+fi
diff --git a/s6/bin/gen-boot-blob-bl2-final.sh b/s6/bin/gen-boot-blob-bl2-final.sh
index 24e0484..776df4f 100755
--- a/s6/bin/gen-boot-blob-bl2-final.sh
+++ b/s6/bin/gen-boot-blob-bl2-final.sh
@@ -67,7 +67,7 @@
 ### Features, flags and switches ###
 BB1ST_ARGS="${BB1ST_ARGS} --switch-chipset-sign-bl2=0"
 
-BB1ST_ARGS="${BB1ST_ARGS} --scs-family=s5"
+BB1ST_ARGS="${BB1ST_ARGS} --scs-family=s7d"
 
 ### Output: blobs ###
 BB1ST_ARGS="${BB1ST_ARGS} --outfile-bb1st=${BASEDIR_OUTPUT_BLOB}/bb1st${FEAT_BL2_TEMPLATE_TYPE}${CHIPSET_VARIANT_SUFFIX}.bin${postfix}"
diff --git a/s6/build.sh b/s6/build.sh
index 7aa44d4..655198b 100755
--- a/s6/build.sh
+++ b/s6/build.sh
@@ -426,9 +426,6 @@
 		exit -1
 	fi
 
-	mv ${bb1st} ${input_payloads}/bb1st${storage_type_suffix}.payload
-	source ${FIP_FOLDER}${CUR_SOC}/attach_sbh.sh ${input_payloads}/bb1st${storage_type_suffix}.payload ${bb1st}
-
 	file_info_cfg="${output_images}/aml-payload.cfg"
 	file_info_cfg_temp=${temp_cfg}.temp
 
@@ -442,6 +439,12 @@
 		dd if=/dev/zero of=${ddr_fip} bs=1024 count=256 status=none
 	fi
 
+	#align bb1st 266k and append header
+	dd if=/dev/zero of=${bb1st}.payload bs=1024 count=266 &> /dev/null
+	dd if=${bb1st} of=${bb1st}.payload conv=notrunc &> /dev/null
+	${FIP_FOLDER}${CUR_SOC}/attach_sbh.sh ${bb1st}.payload ${bb1st}.hdr
+	bb1st=${bb1st}.hdr
+
 	#cat those together with 4K upper aligned for sdcard
 	align_base=4096
 	total_size=0
@@ -504,7 +507,7 @@
 	rm -f ${file_info_cfg}
 	mv -f ${file_info_cfg}.sha256 ${file_info_cfg}
 
-	dd if=${file_info_cfg} of=${bootloader} bs=512 seek=446 conv=notrunc status=none
+	dd if=${file_info_cfg} of=${bootloader} bs=512 seek=540 conv=notrunc status=none
 
 	if [ ${storage_type_suffix} == ".sto" ]; then
 		echo "Image SDCARD"
@@ -614,16 +617,6 @@
 					fi
 			fi
 		fi
-		if [ "NULL" != "${BLX_BIN_SIZE[$loop]}" ] && \
-		    [ "NULL" != "${BLX_BIN_NAME[$loop]}" ] && \
-			[ -n "${BLX_BIN_NAME[$loop]}" ] && \
-			[ -f ${BUILD_PATH}/${BLX_BIN_NAME[$loop]} ]; then
-			blx_size=`stat -c %s ${BUILD_PATH}/${BLX_BIN_NAME[$loop]}`
-			if [ $blx_size -ne ${BLX_BIN_SIZE[$loop]} ]; then
-				echo "Error: ${BUILD_PATH}/${BLX_BIN_NAME[$loop]} size not match"
-				exit -1
-			fi
-		fi
 	done
 
 	if [ ! -f ${BUILD_PATH}/device_acs.bin ]; then
diff --git a/s6/generate-binaries/bin/gen-device-fip.sh b/s6/generate-binaries/bin/gen-device-fip.sh
index 6bac99a..9d71807 100755
--- a/s6/generate-binaries/bin/gen-device-fip.sh
+++ b/s6/generate-binaries/bin/gen-device-fip.sh
@@ -101,6 +101,9 @@
 ### Output: Device FIP ###
 EXEC_ARGS="${EXEC_ARGS} --outfile-device-fip=${BASEDIR_OUTPUT}/device-fip.bin${output_postfix}"
 
+### full Device FIP Header
+EXEC_ARGS="${EXEC_ARGS} --header-layout=full"
+
 #echo ${EXEC_ARGS}
 
 #
diff --git a/s6/generate-device-keys/export_signing_keys_and_sign_template.sh b/s6/generate-device-keys/export_signing_keys_and_sign_template.sh
index 2b17c0d..58ed683 100755
--- a/s6/generate-device-keys/export_signing_keys_and_sign_template.sh
+++ b/s6/generate-device-keys/export_signing_keys_and_sign_template.sh
@@ -57,7 +57,7 @@
 output_dir=""
 boot_blobs_arb_args=
 device_fip_arb_args=
-device_soc="s5"
+device_soc="s7d"
 
 parse_main() {
     local i=0
diff --git a/s6/generate-device-keys/gen_all_device_key.sh b/s6/generate-device-keys/gen_all_device_key.sh
index 531360c..dcaf963 100755
--- a/s6/generate-device-keys/gen_all_device_key.sh
+++ b/s6/generate-device-keys/gen_all_device_key.sh
@@ -55,7 +55,7 @@
 template_dir=""
 rootkey_index=0
 output_dir=""
-device_soc="s5"
+device_soc="s7d"
 
 parse_main() {
     local i=0