diff options
Diffstat (limited to 'product/n1sdp/module')
-rw-r--r-- | product/n1sdp/module/n1sdp_rom/include/mod_n1sdp_rom.h | 10 | ||||
-rw-r--r-- | product/n1sdp/module/n1sdp_rom/src/mod_n1sdp_rom.c | 5 | ||||
-rw-r--r-- | product/n1sdp/module/n1sdp_system/src/mod_n1sdp_system.c | 6 |
3 files changed, 19 insertions, 2 deletions
diff --git a/product/n1sdp/module/n1sdp_rom/include/mod_n1sdp_rom.h b/product/n1sdp/module/n1sdp_rom/include/mod_n1sdp_rom.h index f6e301a6..7afbfaa0 100644 --- a/product/n1sdp/module/n1sdp_rom/include/mod_n1sdp_rom.h +++ b/product/n1sdp/module/n1sdp_rom/include/mod_n1sdp_rom.h @@ -10,6 +10,7 @@ #include <mod_fip.h> +#include <stddef.h> #include <stdint.h> /*! @@ -26,6 +27,15 @@ * \brief Module configuration data. */ struct n1sdp_rom_config { + /*! + * Base address of memory-mapped non-volatile platform storage; FIP ToC + * starts at this address. + */ + uintptr_t fip_base_address; + + /*! Size of underlying memory-mapped non-volatile platform storage. */ + size_t fip_nvm_size; + /*! Base address of the RAM to which SCP BL2 will be copied to */ const uintptr_t ramfw_base; diff --git a/product/n1sdp/module/n1sdp_rom/src/mod_n1sdp_rom.c b/product/n1sdp/module/n1sdp_rom/src/mod_n1sdp_rom.c index faf091b4..697eed47 100644 --- a/product/n1sdp/module/n1sdp_rom/src/mod_n1sdp_rom.c +++ b/product/n1sdp/module/n1sdp_rom/src/mod_n1sdp_rom.c @@ -122,7 +122,10 @@ static int n1sdp_rom_process_event(const struct fwk_event *event, { struct mod_fip_entry_data entry; int status = n1sdp_rom_ctx.fip_api->get_entry( - n1sdp_rom_ctx.rom_config->image_type, &entry); + n1sdp_rom_ctx.rom_config->image_type, + &entry, + n1sdp_rom_ctx.rom_config->fip_base_address, + n1sdp_rom_ctx.rom_config->fip_nvm_size); const char *image_type = get_image_type_str(n1sdp_rom_ctx.rom_config->image_type); diff --git a/product/n1sdp/module/n1sdp_system/src/mod_n1sdp_system.c b/product/n1sdp/module/n1sdp_system/src/mod_n1sdp_system.c index bb5d952b..9e0c77b9 100644 --- a/product/n1sdp/module/n1sdp_system/src/mod_n1sdp_system.c +++ b/product/n1sdp/module/n1sdp_system/src/mod_n1sdp_system.c @@ -16,6 +16,7 @@ #include "n1sdp_scp_mmap.h" #include "n1sdp_scp_pik.h" #include "n1sdp_scp_scmi.h" +#include "n1sdp_scp_system_mmap.h" #include "n1sdp_sds.h" #include <internal/n1sdp_scp2pcc.h> @@ -403,7 +404,10 @@ static int n1sdp_system_init_primary_core(void) if (n1sdp_get_chipid() == 0x0) { struct mod_fip_entry_data entry; status = n1sdp_system_ctx.fip_api->get_entry( - MOD_FIP_TOC_ENTRY_TFA_BL31, &entry); + MOD_FIP_TOC_ENTRY_TFA_BL31, + &entry, + SCP_QSPI_FLASH_BASE_ADDR, + SCP_QSPI_FLASH_SIZE); if (status != FWK_SUCCESS) { FWK_LOG_INFO( "[N1SDP SYSTEM] Failed to locate AP TF_BL31, error: %d\n", |