diff options
Diffstat (limited to 'board')
-rw-r--r-- | board/cr50/tpm_nvmem_ops.c | 12 | ||||
-rw-r--r-- | board/cr50/tpm_nvmem_ops.h | 6 |
2 files changed, 18 insertions, 0 deletions
diff --git a/board/cr50/tpm_nvmem_ops.c b/board/cr50/tpm_nvmem_ops.c index ba295c7f4f..76f740c0ee 100644 --- a/board/cr50/tpm_nvmem_ops.c +++ b/board/cr50/tpm_nvmem_ops.c @@ -108,3 +108,15 @@ size_t read_tpm_nvmem_size(uint16_t obj_index) return size; } + +BUILD_ASSERT(TPM_ORDERLY_STATE_SIZE >= RAM_INDEX_SPACE); + +void tpm_orderly_state_capture(char copy[TPM_ORDERLY_STATE_SIZE]) +{ + NvStateCapture(copy); +} + +void tpm_orderly_state_restore(const char copy[TPM_ORDERLY_STATE_SIZE]) +{ + NvStateRestore(copy); +} diff --git a/board/cr50/tpm_nvmem_ops.h b/board/cr50/tpm_nvmem_ops.h index ef1c5a07fc..da8036b16f 100644 --- a/board/cr50/tpm_nvmem_ops.h +++ b/board/cr50/tpm_nvmem_ops.h @@ -7,6 +7,8 @@ #ifndef __EC_BOARD_CR50_TPM_NVMEM_OPS_H #define __EC_BOARD_CR50_TPM_NVMEM_OPS_H +#define TPM_ORDERLY_STATE_SIZE 512 + enum tpm_read_rv { TPM_READ_SUCCESS, TPM_READ_NOT_FOUND, @@ -46,4 +48,8 @@ enum tpm_write_rv write_tpm_nvmem_hidden(uint16_t object_index, /* return size of hidden nvmem object, 0 if not found */ size_t read_tpm_nvmem_size(uint16_t obj_index); +void tpm_orderly_state_capture(char copy[TPM_ORDERLY_STATE_SIZE]); + +void tpm_orderly_state_restore(const char copy[TPM_ORDERLY_STATE_SIZE]); + #endif /* ! __EC_BOARD_CR50_TPM_NVMEM_OPS_H */ |