blob: 63620df870790438775d751c51b740148ee808bc [file] [log] [blame]
/******************************************************************************
*
* (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?
};