ASR_BASE
Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/marvell/obm/Common/Include/platform_dfc_timing.h b/marvell/obm/Common/Include/platform_dfc_timing.h
new file mode 100644
index 0000000..63620df
--- /dev/null
+++ b/marvell/obm/Common/Include/platform_dfc_timing.h
@@ -0,0 +1,96 @@
+/******************************************************************************
+ *
+ * (C)Copyright 2005 - 2011 Marvell. All Rights Reserved.
+ *
+ * THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF MARVELL.
+ * The copyright notice above does not evidence any actual or intended
+ * publication of such source code.
+ * This Module contains Proprietary Information of Marvell and should be
+ * treated as Confidential.
+ * The information in this file is provided for the exclusive use of the
+ * licensees of Marvell.
+ * Such users have the right to use, modify, and incorporate this code into
+ * products for purposes authorized by the license agreement provided they
+ * include this notice and the associated copyright notice with any such
+ * product.
+ * The information in this file is provided "AS IS" without warranty.
+
+ ******************************************************************************
+**
+** FILENAME: PlatformConfig.h
+**
+** PURPOSE: Platform specific header to set parameters
+**
+**
+******************************************************************************/
+
+//#include "dfc_defs.h"
+#include "xllp_dfc_defs.h"
+
+/*************** Flash Timing Override Examples ************************
+* By default, very conservative timings are programmed - ie. BootROM
+* These timings may be optimized.
+* Below are some optimized flash timings for certain flash.
+* Note that at it is impossible at the time of creation to cover all possible parts.
+* Simply create a new structure for the desired part and call xdfc_setTiming in xllpdfcinit
+*/
+
+FLASH_TIMING SAMSUNG_MFG_TIMING[5] =
+{
+ {0, 10, 0, 20, 40, 20, 40, 0, 0, 60, 10}, // Small Block Full Speed
+ {0, 20, 10, 40, 80, 40, 80, 10000, 0, 120, 20}, // Small Block Conservative
+ {0, 10, 35, 15, 25, 15, 25, 0, 0, 60, 10}, // Large Block Full Speed
+ {0, 20, 70, 30, 50, 30, 50, 25000, 0, 120, 20}, // Large Block Conservative
+ {0, 20, 10, 40, 80, 40, 80, 35090, 0, 120, 13}, // For JIL flash
+};
+
+// Micron MT29F1G08ABA, MT29F1G16ABA
+FLASH_TIMING MICRON_MFG_TIMING[3] =
+{
+ {70, 10, 25, 15, 25, 15, 25, 0, 100, 60, 10}, // Large Block Full Speed
+ {70, 5, 20, 10, 12, 10, 12, 25000, 100, 80, 10},
+ {70, 5, 25, 10, 15, 10, 15, 25000, 100, 80, 10},
+ {70, 5, 20, 10, 12, 15, 12, 250000, 100, 80, 10}, //1v8 2Gb,4Gb
+ {70, 5, 15, 7, 10, 15, 10, 250000, 100, 60, 10}, //3v3 8Gb
+};
+
+FLASH_TIMING TOSHIBA_MFG_TIMING[5] =
+{
+ {0, 5, 20, 10, 12, 10, 28, 120000, 30, 60, 10},
+ {0, 5, 20, 10, 12, 10, 12, 400000, 30, 60, 10}, // NCTSH2AP1-CA, BENAND
+ {0, 5, 20, 10, 12, 10, 12, 250000, 30, 60, 10}, // NCTHX84N2-CA, 8b/512B
+};
+
+FLASH_TIMING ESMT_MFG_TIMING[2] =
+{
+ {100, 10, 35, 15, 25, 15, 25, 25000, 100, 60, 10},
+ {100, 5, 25, 10, 15, 10, 15, 25000, 100, 100, 10},
+};
+
+FLASH_TIMING FIDILEX_MFG_TIMING[] =
+{
+ {100, 10, 35, 15, 25, 15, 25, 25000, 100, 60, 10}
+};
+
+FLASH_TIMING JSC_MFG_TIMING[] =
+{
+ {100, 10, 35, 15, 25, 15, 25, 25000, 100, 60, 10}
+};
+
+FLASH_TIMING MACRONIX_MFG_TIMING[] =
+{
+ {0, 5, 20, 10, 12, 10, 12, 25000, 0, 80, 10}
+};
+
+FLASH_TIMING WINBOND_MFG_TIMING[] =
+{
+ {100, 10, 25, 15, 17, 15, 17, 25000, 100, 80, 10},
+ {100, 5, 20, 10, 12, 10, 12, 25000, 100, 80, 10}
+};
+
+FLASH_TIMING HYNIX_MFG_TIMING[2] =
+{
+ {100, 10, 35, 15, 25, 15, 25, 30000, 100, 60, 10},
+ {100, 10, 35, 15, 25, 15, 25, 30000, 100, 60, 10} // same as 2Gbits?
+};
+