Skip to content
  • Ilias Apalodimas's avatar
    tpm: Add 'tpm autostart' shell command · e663b2ff
    Ilias Apalodimas authored
    
    
    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's avatarSimon Glass <sjg@chromium.org>
    Signed-off-by: default avatarIlias Apalodimas <ilias.apalodimas@linaro.org>
    e663b2ff