vboot: Allow other platforms to use soft reboot workaround

Add a Kconfig value to enable other platforms to use the soft reboot
workaround.

TEST=Build and run on Galileo Gen2

Change-Id: I5a7ebd200229654128d367ecb50647ff69bb5258
Signed-off-by: Lee Leahy <leroy.p.leahy@intel.com>
Reviewed-on: https://review.coreboot.org/18798
Tested-by: Martin Roth <martinroth@google.com>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
diff --git a/src/vboot/Kconfig b/src/vboot/Kconfig
index b5c8626..e67c108 100644
--- a/src/vboot/Kconfig
+++ b/src/vboot/Kconfig
@@ -142,6 +142,10 @@
 	  Set this option to indicate to vboot that recovery data hash space
 	  is present in TPM.
 
+config VBOOT_SOFT_REBOOT_WORKAROUND
+	bool
+	default n
+
 config VBOOT
 	bool "Verify firmware with vboot."
 	default n
diff --git a/src/vboot/secdata_tpm.c b/src/vboot/secdata_tpm.c
index c5d08ce..37bba80 100644
--- a/src/vboot/secdata_tpm.c
+++ b/src/vboot/secdata_tpm.c
@@ -424,23 +424,22 @@
 		return TPM_SUCCESS;
 	}
 
-#ifdef TEGRA_SOFT_REBOOT_WORKAROUND
-	result = tlcl_startup();
-	if (result == TPM_E_INVALID_POSTINIT) {
-		/*
-		 * Some prototype hardware doesn't reset the TPM on a CPU
-		 * reset.  We do a hard reset to get around this.
-		 */
-		VBDEBUG("TPM: soft reset detected\n", result);
-		ctx->flags |= VB2_CONTEXT_SECDATA_WANTS_REBOOT;
-		return TPM_E_MUST_REBOOT;
-	} else if (result != TPM_SUCCESS) {
-		VBDEBUG("TPM: tlcl_startup returned %08x\n", result);
-		return result;
-	}
-#else
-	RETURN_ON_FAILURE(tlcl_startup());
-#endif
+	if (IS_ENABLED(CONFIG_VBOOT_SOFT_REBOOT_WORKAROUND)) {
+		result = tlcl_startup();
+		if (result == TPM_E_INVALID_POSTINIT) {
+			/*
+			 * Some prototype hardware doesn't reset the TPM on a CPU
+			 * reset.  We do a hard reset to get around this.
+			 */
+			VBDEBUG("TPM: soft reset detected\n");
+			ctx->flags |= VB2_CONTEXT_SECDATA_WANTS_REBOOT;
+			return TPM_E_MUST_REBOOT;
+		} else if (result != TPM_SUCCESS) {
+			VBDEBUG("TPM: tlcl_startup returned %08x\n", result);
+			return result;
+		}
+	} else
+		RETURN_ON_FAILURE(tlcl_startup());
 
 	/*
 	 * Some TPMs start the self test automatically at power on. In that case