summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYork Sun <yorksun@freescale.com>2014-03-19 13:52:34 -0700
committerYork Sun <yorksun@freescale.com>2014-04-22 17:58:47 -0700
commite77224e2d8a2ec5accbedc70c87f171115a3e2b2 (patch)
treeeac26a0a9e99a567ac67554fa39d9c680a0cb63f
parent6b50f62cc4df7e2961fb45980cf91bb424ee263b (diff)
driver/fsl_ifc: Add a function to finalize CS0 address binding
For fsl-lsch3 NOR flash boot, IFC CS0 needs to be binded with address within 32-bit at fist. After u-boot relocates to DDR, CS0 can be binded to higher address to support large space. Signed-off-by: York Sun <yorksun@freescale.com> CC: Prabhakar Kushwaha <prabhakar@freescale.com>
-rw-r--r--drivers/misc/fsl_ifc.c7
-rw-r--r--include/fsl_ifc.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/misc/fsl_ifc.c b/drivers/misc/fsl_ifc.c
index be619736674..3902e9ff53d 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 58a6efdfe05..630e4b4999b 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)