summaryrefslogtreecommitdiff
path: root/drivers/tpm/tpm2_tis_sandbox.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/tpm/tpm2_tis_sandbox.c')
-rw-r--r--drivers/tpm/tpm2_tis_sandbox.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/drivers/tpm/tpm2_tis_sandbox.c b/drivers/tpm/tpm2_tis_sandbox.c
index ac6eb143539..dd94bdc31fb 100644
--- a/drivers/tpm/tpm2_tis_sandbox.c
+++ b/drivers/tpm/tpm2_tis_sandbox.c
@@ -366,8 +366,10 @@ static int sandbox_tpm2_check_readyness(struct udevice *dev, int command)
break;
default:
- if (!tpm->tests_done)
- return TPM2_RC_NEEDS_TEST;
+ /* Skip this, since the startup may have happened in SPL
+ * if (!tpm->tests_done)
+ * return TPM2_RC_NEEDS_TEST;
+ */
break;
}
@@ -793,6 +795,16 @@ static int sandbox_tpm2_get_desc(struct udevice *dev, char *buf, int size)
return snprintf(buf, size, "Sandbox TPM2.x");
}
+static int sandbox_tpm2_report_state(struct udevice *dev, char *buf, int size)
+{
+ struct sandbox_tpm2 *priv = dev_get_priv(dev);
+
+ if (size < 40)
+ return -ENOSPC;
+
+ return snprintf(buf, size, "init_done=%d", priv->init_done);
+}
+
static int sandbox_tpm2_open(struct udevice *dev)
{
struct sandbox_tpm2 *tpm = dev_get_priv(dev);
@@ -832,6 +844,7 @@ static const struct tpm_ops sandbox_tpm2_ops = {
.open = sandbox_tpm2_open,
.close = sandbox_tpm2_close,
.get_desc = sandbox_tpm2_get_desc,
+ .report_state = sandbox_tpm2_report_state,
.xfer = sandbox_tpm2_xfer,
};