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?
+};
+