summaryrefslogtreecommitdiff
path: root/src/soc
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc')
-rw-r--r--src/soc/amd/common/block/psp/psp_smi_flash.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/soc/amd/common/block/psp/psp_smi_flash.h b/src/soc/amd/common/block/psp/psp_smi_flash.h
index 344c9fb429..79593b55cc 100644
--- a/src/soc/amd/common/block/psp/psp_smi_flash.h
+++ b/src/soc/amd/common/block/psp/psp_smi_flash.h
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-only */
+#include <spi_flash.h>
#include <types.h>
#include "psp_def.h"
@@ -50,6 +51,30 @@ struct mbox_psp_cmd_spi_erase {
struct psp_spi_erase_request req;
} __packed;
+struct psp_spi_rpmc_inc_mc {
+ uint32_t counter_address;
+ uint32_t counter_data;
+ uint8_t signature[SPI_RPMC_SIG_LEN];
+} __packed;
+
+struct mbox_psp_cmd_spi_rpmc_inc_mc {
+ struct mbox_buffer_header header;
+ struct psp_spi_rpmc_inc_mc req;
+} __packed;
+
+struct psp_smi_rpmc_req_mc {
+ uint32_t counter_address;
+ uint8_t tag[SPI_RPMC_TAG_LEN];
+ uint8_t signature[SPI_RPMC_SIG_LEN];
+ uint32_t output_counter_data;
+ uint8_t output_signature[SPI_RPMC_SIG_LEN];
+} __packed;
+
+struct mbox_psp_cmd_spi_rpmc_req_mc {
+ struct mbox_buffer_header header;
+ struct psp_smi_rpmc_req_mc req;
+} __packed;
+
bool is_valid_psp_spi_info(struct mbox_psp_cmd_spi_info *cmd_buf);
bool is_valid_psp_spi_read_write(struct mbox_psp_cmd_spi_read_write *cmd_buf);
bool is_valid_psp_spi_erase(struct mbox_psp_cmd_spi_erase *cmd_buf);