summaryrefslogtreecommitdiff
path: root/cmd/tpm-user-utils.h
diff options
context:
space:
mode:
authorIlias Apalodimas <[email protected]>2023-06-07 12:18:10 +0300
committerIlias Apalodimas <[email protected]>2023-06-13 08:51:07 +0300
commite663b2ff4ba2a7f49cb6bb96370f02f0e8a94296 (patch)
tree3852186e864f13074426d3405d431f23b763326e /cmd/tpm-user-utils.h
parent260d4962e06c0a7d2713523c131416a3f70d7f2c (diff)
tpm: Add 'tpm autostart' shell command
For a TPM device to be operational we need to initialize it and perform its startup sequence. The 'tpm init' command currently calls tpm_init() which ends up calling the ->open() per-device callback and performs the initial hardware configuration as well as requesting locality 0 for the caller. There no code that currently calls tpm_init() without following up with a tpm_startup() and tpm_self_test_full() or tpm_continue_self_test(). So let's add a 'tpm autostart' command and call tpm_auto_start() which leaves the device in an operational state. It's worth noting that calling tpm_init() only, doesn't allow a someone to use the TPM since the startup sequence is mandatory. We always repeat the pattern of calling - tpm_init() - tpm_startup() - tpm_self_test_full() or tpm_continue_self_test() Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
Diffstat (limited to 'cmd/tpm-user-utils.h')
-rw-r--r--cmd/tpm-user-utils.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/cmd/tpm-user-utils.h b/cmd/tpm-user-utils.h
index de4a934aab6..dfa11353e12 100644
--- a/cmd/tpm-user-utils.h
+++ b/cmd/tpm-user-utils.h
@@ -20,6 +20,7 @@ int get_tpm(struct udevice **devp);
int do_tpm_device(struct cmd_tbl *cmdtp, int flag, int argc,
char *const argv[]);
int do_tpm_init(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]);
+int do_tpm_autostart(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]);
int do_tpm_info(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]);
int do_tpm_report_state(struct cmd_tbl *cmdtp, int flag, int argc,
char *const argv[]);