aboutsummaryrefslogtreecommitdiff
path: root/product/n1sdp/module
diff options
context:
space:
mode:
Diffstat (limited to 'product/n1sdp/module')
-rw-r--r--product/n1sdp/module/n1sdp_rom/include/mod_n1sdp_rom.h10
-rw-r--r--product/n1sdp/module/n1sdp_rom/src/mod_n1sdp_rom.c5
-rw-r--r--product/n1sdp/module/n1sdp_system/src/mod_n1sdp_system.c6
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",