Platform: Implement Flash uninitialize function
- This patch introduces an uninitialize function for the QSPI Flash
controller to restore it's default state before passing execution
to runtime image from MCUBoot.
- Implements a basic configuration function for the QSPI Flash
controller and Flash memory that enables operation in single
SPI mode. It is used at the initialization of the Flash controller.
Change-Id: I384d60ec02bb9e9a6da2b08c45e6e634202e5008
Signed-off-by: David Vincze <david.vincze@arm.com>
diff --git a/bl2/ext/mcuboot/bl2_main.c b/bl2/ext/mcuboot/bl2_main.c
index 6b8c090..ed25093 100644
--- a/bl2/ext/mcuboot/bl2_main.c
+++ b/bl2/ext/mcuboot/bl2_main.c
@@ -77,6 +77,11 @@
rsp->br_hdr->ih_hdr_size);
}
+ rc = FLASH_DEV_NAME.Uninitialize();
+ if(rc != ARM_DRIVER_OK) {
+ BOOT_LOG_ERR("Error while uninitializing Flash Interface");
+ }
+
stdio_uninit();
__disable_irq();
@@ -101,8 +106,12 @@
*/
mbedtls_memory_buffer_alloc_init(mbedtls_mem_buf, BL2_MBEDTLS_MEM_BUF_LEN);
- /* Initialize Flash driver */
- FLASH_DEV_NAME.Initialize(NULL);
+ rc = FLASH_DEV_NAME.Initialize(NULL);
+ if(rc != ARM_DRIVER_OK) {
+ BOOT_LOG_ERR("Error while initializing Flash Interface");
+ while (1)
+ ;
+ }
rc = boot_go(&rsp);
if (rc != 0) {