tpm: Implement tpm_auto_start() for TPMv1.2

Add an implementation of this, moving the common call to tpm_init() up
into the common API implementation.

Add a test.

Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
This commit is contained in:
Simon Glass
2023-02-21 06:24:52 -07:00
committed by Ilias Apalodimas
parent 4fef657151
commit a11be4c303
6 changed files with 87 additions and 12 deletions

View File

@@ -94,7 +94,7 @@ struct tpm_ops {
* close().
*
* @dev: Device to open
* @return 0 ok OK, -ve on error
* @return 0 ok OK, -EBUSY if already opened, other -ve on other error
*/
int (*open)(struct udevice *dev);

View File

@@ -591,4 +591,15 @@ u32 tpm_set_global_lock(struct udevice *dev);
*/
u32 tpm1_resume(struct udevice *dev);
/**
* tpm1_auto_start() - start up the TPM
*
* This does not do a self test.
*
* @dev TPM device
* Return: TPM2_RC_SUCCESS, on success, or when the TPM returns
* TPM_INVALID_POSTINIT; TPM_FAILEDSELFTEST, if the TPM is in failure state
*/
u32 tpm1_auto_start(struct udevice *dev);
#endif /* __TPM_V1_H */