summaryrefslogtreecommitdiff
path: root/src/vendorcode
diff options
context:
space:
mode:
Diffstat (limited to 'src/vendorcode')
-rw-r--r--src/vendorcode/amd/fsp/mendocino/include/bl_uapp/bl_syscall_public.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/vendorcode/amd/fsp/mendocino/include/bl_uapp/bl_syscall_public.h b/src/vendorcode/amd/fsp/mendocino/include/bl_uapp/bl_syscall_public.h
index 48c35e54ac..ad3f31467e 100644
--- a/src/vendorcode/amd/fsp/mendocino/include/bl_uapp/bl_syscall_public.h
+++ b/src/vendorcode/amd/fsp/mendocino/include/bl_uapp/bl_syscall_public.h
@@ -54,6 +54,7 @@ enum verstage_cmd_id {
CMD_UNMAP_FCH_IO_DEVICE,
CMD_CCP_DMA,
CMD_SET_PLATFORM_BOOT_MODE,
+ CMD_SET_FW_HASH_TABLE,
};
struct mod_exp_params {
@@ -152,6 +153,26 @@ enum chrome_platform_boot_mode
CHROME_BOOK_BOOT_MODE_TYPE_MAX_LIMIT = 0x4, // used for boundary check
};
+struct psp_fw_entry_hash_256 {
+ uint16_t fw_type;
+ uint16_t sub_type;
+ uint8_t sha[32];
+} __packed;
+
+struct psp_fw_entry_hash_384 {
+ uint16_t fw_type;
+ uint16_t sub_type;
+ uint8_t sha[48];
+} __packed;
+
+struct psp_fw_hash_table {
+ uint16_t version; // Version of psp_fw_hash_table, Start with 0.
+ uint16_t no_of_entries_256;
+ uint16_t no_of_entries_384;
+ struct psp_fw_entry_hash_256 *fw_hash_256;
+ struct psp_fw_entry_hash_384 *fw_hash_384;
+} __packed;
+
/*
* Exit to the main Boot Loader. This does not return back to user application.
*
@@ -338,6 +359,16 @@ uint32_t svc_ccp_dma(uint32_t spi_rom_offset, void *dest, uint32_t size);
-----------------------------------------------------------------------------*/
uint32_t svc_set_platform_boot_mode(enum chrome_platform_boot_mode boot_mode);
+/*
+ * Set the PSP FW hash table.
+ *
+ * Parameters:
+ * - hash_table - Table of hash for each PSP binary signed against SoC chain of trust
+ *
+ * Return value: BL_OK or error code
+ */
+uint32_t svc_set_fw_hash_table(struct psp_fw_hash_table *hash_table);
+
/* C entry point for the Bootloader Userspace Application */
void Main(void);