target,project: msm8996: Change to detect VB on runtime

Change to enable detection of VB on runtime, and load appropriate
binaries.

Change-Id: Ic8ab5341b7cb61447210bd14494cb9abc3100e07
diff --git a/project/msm8996.mk b/project/msm8996.mk
index aa9fb8e..b6f7603 100644
--- a/project/msm8996.mk
+++ b/project/msm8996.mk
@@ -21,7 +21,6 @@
 ENABLE_QGIC3 := 1
 ENABLE_SECAPP_LOADER := 1
 ENABLE_PARTIAL_GOODS_SUPPORT := 1
-ENABLE_RPMB_SUPPORT := 1
 ENABLE_GLINK_SUPPORT := 1
 ENABLE_PWM_SUPPORT := true
 ENABLE_LPAE_SUPPORT := 1
@@ -54,6 +53,7 @@
 ifeq ($(VERIFIED_BOOT),1)
 #enable fbcon display menu
 ENABLE_FBCON_DISPLAY_MSG := 1
+ENABLE_RPMB_SUPPORT := 1
 endif
 
 ifeq ($(ENABLE_FBCON_DISPLAY_MSG),1)
diff --git a/target/msm8996/init.c b/target/msm8996/init.c
index 539d98d..4e9825e 100644
--- a/target/msm8996/init.c
+++ b/target/msm8996/init.c
@@ -179,7 +179,9 @@
 		mmc_put_card_to_sleep(dev);
 	}
 
-	if (is_sec_app_loaded())
+#if VERIFIED_BOOT
+	if (target_get_vb_version() == VB_V2 &&
+		is_sec_app_loaded())
 	{
 		if (send_milestone_call_to_tz() < 0)
 		{
@@ -187,6 +189,7 @@
 			ASSERT(0);
 		}
 	}
+#endif
 
 #if ENABLE_WBC
 	if (board_hardware_id() == HW_PLATFORM_MTP)
@@ -203,11 +206,16 @@
 	/* Tear down glink channels */
 	rpm_glink_uninit();
 
-	if (rpmb_uninit() < 0)
+#if VERIFIED_BOOT
+	if (target_get_vb_version() == VB_V2)
 	{
-		dprintf(CRITICAL, "RPMB uninit failed\n");
-		ASSERT(0);
+		if (rpmb_uninit() < 0)
+		{
+			dprintf(CRITICAL, "RPMB uninit failed\n");
+			ASSERT(0);
+		}
 	}
+#endif
 
 }
 
@@ -329,7 +337,6 @@
 
 void target_init(void)
 {
-	int ret = 0;
 	dprintf(INFO, "target_init()\n");
 
 	pmic_info_populate();
@@ -397,38 +404,39 @@
 	};
 #endif
 
-	/* Initialize Qseecom */
-	ret = qseecom_init();
-
-	if (ret < 0)
+#if VERIFIED_BOOT
+	if (VB_V2 == target_get_vb_version())
 	{
-		dprintf(CRITICAL, "Failed to initialize qseecom, error: %d\n", ret);
-		ASSERT(0);
-	}
+		/* Initialize Qseecom */
+		if (qseecom_init() < 0)
+		{
+			dprintf(CRITICAL, "Failed to initialize qseecom\n");
+			ASSERT(0);
+		}
 
-	/* Start Qseecom */
-	ret = qseecom_tz_init();
+		/* Start Qseecom */
+		if (qseecom_tz_init() < 0)
+		{
+			dprintf(CRITICAL, "Failed to start qseecom\n");
+			ASSERT(0);
+		}
 
-	if (ret < 0)
-	{
-		dprintf(CRITICAL, "Failed to start qseecom, error: %d\n", ret);
-		ASSERT(0);
-	}
+		if (rpmb_init() < 0)
+		{
+			dprintf(CRITICAL, "RPMB init failed\n");
+			ASSERT(0);
+		}
 
-	if (rpmb_init() < 0)
-	{
-		dprintf(CRITICAL, "RPMB init failed\n");
-		ASSERT(0);
+		/*
+		 * Load the sec app for first time
+		 */
+		if (load_sec_app() < 0)
+		{
+			dprintf(CRITICAL, "Failed to load App for verified\n");
+			ASSERT(0);
+		}
 	}
-
-	/*
-	 * Load the sec app for first time
-	 */
-	if (load_sec_app() < 0)
-	{
-		dprintf(CRITICAL, "Failed to load App for verified\n");
-		ASSERT(0);
-	}
+#endif
 }
 
 unsigned board_machtype(void)