diff --git a/drivers/misc/fsl_ifc.c b/drivers/misc/fsl_ifc.c
index be619736674dc42bb198b1e61ef7cce8d73c3e8b..3902e9ff53dc86e77b2ec42dcf8fc97af29423e3 100644
--- a/drivers/misc/fsl_ifc.c
+++ b/drivers/misc/fsl_ifc.c
@@ -162,3 +162,10 @@ void init_early_memctl_regs(void)
 	set_ifc_csor(IFC_CS7, CONFIG_SYS_CSOR7);
 #endif
 }
+
+void init_final_memctl_regs(void)
+{
+#ifdef CONFIG_SYS_CSPR0_FINAL
+	set_ifc_cspr(IFC_CS0, CONFIG_SYS_CSPR0_FINAL);
+#endif
+}
diff --git a/include/fsl_ifc.h b/include/fsl_ifc.h
index 58a6efdfe058dca0dc5cfd915366e9c3c094e8c2..630e4b4999b1ea1458b0de06d6c858718622c178 100644
--- a/include/fsl_ifc.h
+++ b/include/fsl_ifc.h
@@ -784,6 +784,7 @@ enum ifc_nand_fir_opcodes {
 
 extern void print_ifc_regs(void);
 extern void init_early_memctl_regs(void);
+void init_final_memctl_regs(void);
 
 #define IFC_BASE_ADDR ((struct fsl_ifc *)CONFIG_SYS_IFC_ADDR)