FIP: T6D: support device scs signing [1/1]

PD#SWPL-180209

Problem:
T6D: support device scs signing

Solution:
update device scs signing tool

Verify:
T6D BR309

Change-Id: I6e882dc1f89c8dac313df478ef4c253a401139bc
Signed-off-by: Zhongfu Luo <zhongfu.luo@amlogic.com>
diff --git a/audio_id_gen.sh b/audio_id_gen.sh
index 38b35cf..e133eaa 100755
--- a/audio_id_gen.sh
+++ b/audio_id_gen.sh
@@ -13,7 +13,7 @@
        $(basename $0) --version
        $(basename $0) --audio-id audio_id_value \\
                        --soc [axg | txhd | g12a | g12b | sm1 | tl1 | tm2 | a1 | c1 |c2 | t5 | t5d | t5w |
-                              sc2 | t7 | s4 | t3 | s4d | p1 | a5 | c3| s5 | t5m | a4 | t3x | txhd2 | s1a | s7 | s7d | s6] \\
+                              sc2 | t7 | s4 | t3 | s4d | p1 | a5 | c3| s5 | t5m | a4 | t3x | txhd2 | s1a | s7 | s7d | s6 | t6d] \\
                        -o audio_id.efuse
 EOF
     exit 1
@@ -59,7 +59,7 @@
     if [ ${soc} == "sc2" ] || [ ${soc} == "t7" ] || [ ${soc} == "s4" ] || [ ${soc} == "t3" ] \
        || [ ${soc} == "p1" ] || [ ${soc} == "a5" ] || [ ${soc} == "c3" ] || [ ${soc} == "s5" ] \
        || [ ${soc} == "t5m" ] || [ ${soc} == "a4" ] || [ ${soc} == "t3x" ] || [ ${soc} == "s1a" ] \
-       || [ ${soc} == "s7" ] || [ ${soc} == "s7d" ] || [ ${soc} == "s6" ]; then
+       || [ ${soc} == "s7" ] || [ ${soc} == "s7d" ] || [ ${soc} == "s6" ] || [ ${soc} == "t6d" ]; then
         ${EXEC_BASEDIR}/${soc}/bin/efuse-gen.sh --audio-id ${audio_id_value} -o ${output}
     elif [ "$soc" == "axg" ] || [ "$soc" == "txhd" ] || [ "$soc" == "g12a" ] \
        || [ "$soc" == "sm1" ] || [ "$soc" == "g12b" ] || [ "$soc" == "tl1" ] || [ "$soc" == "tm2" ] \
diff --git a/t6d/Makefile b/t6d/Makefile
index 395fa68..22ac503 100644
--- a/t6d/Makefile
+++ b/t6d/Makefile
@@ -5,8 +5,8 @@
 
 DEVICE_SCS_KEY_TOP ?= $(CURDIR)/keys/dev-keys/t6d/device/
 DEVICE_ROOTRSA_INDEX ?= 0
-PROJECT ?= s905y5
-SOC_FAMILY ?= t6d
+PROJECT ?= t950d5
+SOC_FAMILY ?= s7
 DEVICE_SCS_SEGID ?= 0x0
 DEVICE_VENDOR_SEGID ?= 0x0
 DEVICE_SCS_VERS ?= 0x0
diff --git a/t6d/bin/device-vendor-scs-signing.sh b/t6d/bin/device-vendor-scs-signing.sh
index c66b8e2..fcba872 100755
--- a/t6d/bin/device-vendor-scs-signing.sh
+++ b/t6d/bin/device-vendor-scs-signing.sh
@@ -275,7 +275,7 @@
 	rootkey_index=0
 fi
 
-if [ -z "${chipset_variant}" ] || [ "${chipset_variant}" == "no_variant" ]; then
+if [ -z "${chipset_variant}" ] || [ "${chipset_variant}" == "no_variant" ] || [ "${chipset_variant}" == "general" ]; then
 	chipset_variant_suffix=""
 else
 	chipset_variant_suffix=".${chipset_variant}"
diff --git a/t6d/bin/device.license.bin b/t6d/bin/device.license.bin
deleted file mode 100755
index bbc3717..0000000
--- a/t6d/bin/device.license.bin
+++ /dev/null
Binary files differ
diff --git a/t6d/bin/download-keys.sh b/t6d/bin/download-keys.sh
index b65086c..7ded160 100755
--- a/t6d/bin/download-keys.sh
+++ b/t6d/bin/download-keys.sh
@@ -9,38 +9,27 @@
 soc=$2
 key_name=$3
 key_path=$4
-key_branch=$5
 
 #chipset repo-name
-CHIPSET_REPO_NAME[0]="/keys/${key_type}/${soc}/chipset/bl2/aes"
-CHIPSET_REPO_NAME[1]="/keys/${key_type}/${soc}/chipset/bl2/rsa"
-CHIPSET_REPO_NAME[2]="/keys/${key_type}/${soc}/chipset/bl31/aes"
-CHIPSET_REPO_NAME[3]="/keys/${key_type}/${soc}/chipset/bl31/rsa"
-CHIPSET_REPO_NAME[4]="/keys/${key_type}/${soc}/chipset/bl32/aes"
-CHIPSET_REPO_NAME[5]="/keys/${key_type}/${soc}/chipset/bl32/rsa"
-CHIPSET_REPO_NAME[6]="/keys/${key_type}/${soc}/chipset/bl40/aes"
-CHIPSET_REPO_NAME[7]="/keys/${key_type}/${soc}/chipset/bl40/rsa"
-CHIPSET_REPO_NAME[8]="/keys/${key_type}/${soc}/chipset/cert-template"
+CHIPSET_REMOTE_NAME="/keys/${key_type}/${soc}/chipset/keys"
+CHIPSET_LOCAL_NAME="/keys/${key_type}/${soc}/chipset"
 
 #device repo-name
-DEVICE_REPO_FOLDER="/keys/dev-keys/${soc}/device/"
+DEVICE_REPO_FOLDER="/keys/dev-keys/common/device/"
 DEVICE_REPO_NAME[0]="boot-blobs"
 DEVICE_REPO_NAME[1]="fip"
 
 if [ ${key_name} == "chipset"  ]; then
-	for NAME in ${CHIPSET_REPO_NAME[@]};
-	do
-		if [ ! -d ${BASEDIR_TOP}/${NAME} ]; then
-			git clone ${REPO_ADDR_HEAD}${NAME} ${BASEDIR_TOP}/${NAME}
-		fi
-	done
+	if [ ! -d ${BASEDIR_TOP}/${CHIPSET_LOCAL_NAME} ]; then
+		git clone ${REPO_ADDR_HEAD}${CHIPSET_REMOTE_NAME} ${BASEDIR_TOP}/${CHIPSET_LOCAL_NAME}
+	fi
 elif [ ${key_name} == "device"  ]; then
 	for NAME in ${DEVICE_REPO_NAME[@]};
 	do
 		if [ ! -d ${key_path}/${NAME} ]; then
 			git clone ${REPO_ADDR_HEAD}${DEVICE_REPO_FOLDER}${NAME} ${key_path}/${NAME}
 			cd ${key_path}/${NAME}
-			git checkout ${key_branch}
+			git checkout projects/${soc}
 			cd -
 		fi
 	done
diff --git a/t6d/bin/efuse-gen.sh b/t6d/bin/efuse-gen.sh
index 33050fb..158e3f0 100755
--- a/t6d/bin/efuse-gen.sh
+++ b/t6d/bin/efuse-gen.sh
@@ -105,7 +105,6 @@
     # Verify args
     if [ -z "$output" ]; then echo Error: Missing output file option -o; exit 1; fi
 
-    check_opt_file input 1024 "$input"
     check_opt_file dvgk 16 "$dvgk"
     check_opt_file dvuk 16 "$dvuk"
     check_opt_file device_roothash 32 "$device_roothash"
diff --git a/t6d/build.sh b/t6d/build.sh
index 7df3613..a8a535c 100755
--- a/t6d/build.sh
+++ b/t6d/build.sh
@@ -749,59 +749,22 @@
 	zip -j $u_pack ${list_pack} >& /dev/null
 
 	if [ "y" == "${CONFIG_AML_SIGNED_UBOOT}" ]; then
-		if [ "${CONFIG_S7_T223}" == "y" ]; then
-			if [ ! -d "${UBOOT_SRC_FOLDER}/${BOARD_DIR}/normal-device-keys" ]; then
-				./${FIP_FOLDER}${CUR_SOC}/bin/download-keys.sh ${AMLOGIC_KEY_TYPE} ${CUR_SOC} device ${UBOOT_SRC_FOLDER}/${BOARD_DIR}/normal-device-keys projects/s7/bayside/normal
-			fi
-			if [ ! -d "${UBOOT_SRC_FOLDER}/${BOARD_DIR}/dfu-device-keys" ]; then
-				./${FIP_FOLDER}${CUR_SOC}/bin/download-keys.sh ${AMLOGIC_KEY_TYPE} ${CUR_SOC} device ${UBOOT_SRC_FOLDER}/${BOARD_DIR}/dfu-device-keys projects/s7/bayside/dfu
-			fi
-		else
-			if [ ! -d "${UBOOT_SRC_FOLDER}/${BOARD_DIR}/device-keys" ]; then
-				./${FIP_FOLDER}${CUR_SOC}/bin/download-keys.sh ${AMLOGIC_KEY_TYPE} ${CUR_SOC} device ${UBOOT_SRC_FOLDER}/${BOARD_DIR}/device-keys/
-			fi
+		if [ ! -d "${UBOOT_SRC_FOLDER}/${BOARD_DIR}/device-keys" ]; then
+			./${FIP_FOLDER}${CUR_SOC}/bin/download-keys.sh ${AMLOGIC_KEY_TYPE} ${CUR_SOC} device ${UBOOT_SRC_FOLDER}/${BOARD_DIR}/device-keys/
 		fi
 
-		fw_arb_cfg=${UBOOT_SRC_FOLDER}/${BOARD_DIR}/fw_arb.cfg
-		if [ -s "${fw_arb_cfg}" ]; then
-			source ${fw_arb_cfg}
-			export DEVICE_SCS_SEGID=${DEVICE_SCS_SEGID}
-			export DEVICE_VENDOR_SEGID=${DEVICE_VENDOR_SEGID}
-			export DEVICE_SCS_VERS=${DEVICE_SCS_VERS}
-			export DEVICE_TEE_VERS=${DEVICE_TEE_VERS}
-			export DEVICE_REE_VERS=${DEVICE_REE_VERS}
-			export DEVICE_SCS_LVL1CERT_VERS_SUBMASK=${DEVICE_SCS_LVL1CERT_VERS_SUBMASK}
-		fi
-		if [ "${CONFIG_S7_T223}" == "y" ]; then
-			export DEVICE_SCS_KEY_TOP=$(pwd)/${UBOOT_SRC_FOLDER}/${BOARD_DIR}/normal-device-keys
-		else
-			export DEVICE_SCS_KEY_TOP=$(pwd)/${UBOOT_SRC_FOLDER}/${BOARD_DIR}/device-keys
-		fi
-		export DEVICE_INPUT_PATH=$(pwd)/${BUILD_PATH}
-		export DEVICE_OUTPUT_PATH=$(pwd)/${BUILD_PATH}
-		export PROJECT=${CHIPSET_NAME}
 		if [ "y" == "${CONFIG_DEVICE_ROOTRSA_INDEX}" ]; then
-			export DEVICE_ROOTRSA_INDEX=1
+			DEVICE_ROOTRSA_INDEX=1
 		elif [ -n "${CONFIG_DEVICE_ROOTRSA_INDEX}" ]; then
-			export DEVICE_ROOTRSA_INDEX=${CONFIG_DEVICE_ROOTRSA_INDEX}
-		fi
-		export DEVICE_VARIANT_SUFFIX=${CHIPSET_VARIANT_SUFFIX}
-
-		export DEVICE_STORAGE_SUFFIX=.sto
-		make -C ./${FIP_FOLDER}${CUR_SOC} dv-boot-blobs
-		export DEVICE_STORAGE_SUFFIX=.usb
-		if [ "${CONFIG_S7_T223}" == "y" ]; then
-			export DEVICE_SCS_KEY_TOP=$(pwd)/${UBOOT_SRC_FOLDER}/${BOARD_DIR}/dfu-device-keys
+			DEVICE_ROOTRSA_INDEX=${CONFIG_DEVICE_ROOTRSA_INDEX}
 		else
-			export DEVICE_SCS_KEY_TOP=$(pwd)/${UBOOT_SRC_FOLDER}/${BOARD_DIR}/device-keys
+			DEVICE_ROOTRSA_INDEX=0
 		fi
-		make -C ./${FIP_FOLDER}${CUR_SOC} dv-boot-blobs
 
-		make -C ./${FIP_FOLDER}${CUR_SOC} dv-device-fip
-		# build final bootloader
-		postfix=.device.signed
-		mk_uboot ${BUILD_PATH} ${BUILD_PATH} ${postfix} .sto ${CHIPSET_VARIANT_SUFFIX}
-		mk_uboot ${BUILD_PATH} ${BUILD_PATH} ${postfix} .usb ${CHIPSET_VARIANT_SUFFIX}
+		./${FIP_FOLDER}${CUR_SOC}/bin/device-vendor-scs-signing.sh --key-dir ${UBOOT_SRC_FOLDER}/${BOARD_DIR}/device-keys/ --project ${CHIPSET_NAME} \
+			--input-dir ${BUILD_PATH} --rootkey-index ${DEVICE_ROOTRSA_INDEX} --chipset-variant ${CHIPSET_VARIANT} \
+			--arb-config ${UBOOT_SRC_FOLDER}/${BOARD_DIR}/fw_arb.cfg --out-dir ${BUILD_PATH}
+
 	fi
 
 	return
diff --git a/t6d/generate-device-keys/export_signing_keys_and_sign_template.sh b/t6d/generate-device-keys/export_signing_keys_and_sign_template.sh
index 0fbc87a..530fe46 100755
--- a/t6d/generate-device-keys/export_signing_keys_and_sign_template.sh
+++ b/t6d/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="t6d"
+device_soc="s7"
 
 parse_main() {
     local i=0
diff --git a/t6d/generate-device-keys/gen_all_device_key.sh b/t6d/generate-device-keys/gen_all_device_key.sh
index de7e977..4b7838e 100755
--- a/t6d/generate-device-keys/gen_all_device_key.sh
+++ b/t6d/generate-device-keys/gen_all_device_key.sh
@@ -55,7 +55,7 @@
 template_dir=""
 rootkey_index=0
 output_dir=""
-device_soc="t6d"
+device_soc="s7"
 
 parse_main() {
     local i=0