blob: 63620df870790438775d751c51b740148ee808bc [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001/******************************************************************************
2 *
3 * (C)Copyright 2005 - 2011 Marvell. All Rights Reserved.
4 *
5 * THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF MARVELL.
6 * The copyright notice above does not evidence any actual or intended
7 * publication of such source code.
8 * This Module contains Proprietary Information of Marvell and should be
9 * treated as Confidential.
10 * The information in this file is provided for the exclusive use of the
11 * licensees of Marvell.
12 * Such users have the right to use, modify, and incorporate this code into
13 * products for purposes authorized by the license agreement provided they
14 * include this notice and the associated copyright notice with any such
15 * product.
16 * The information in this file is provided "AS IS" without warranty.
17
18 ******************************************************************************
19**
20** FILENAME: PlatformConfig.h
21**
22** PURPOSE: Platform specific header to set parameters
23**
24**
25******************************************************************************/
26
27//#include "dfc_defs.h"
28#include "xllp_dfc_defs.h"
29
30/*************** Flash Timing Override Examples ************************
31* By default, very conservative timings are programmed - ie. BootROM
32* These timings may be optimized.
33* Below are some optimized flash timings for certain flash.
34* Note that at it is impossible at the time of creation to cover all possible parts.
35* Simply create a new structure for the desired part and call xdfc_setTiming in xllpdfcinit
36*/
37
38FLASH_TIMING SAMSUNG_MFG_TIMING[5] =
39{
40 {0, 10, 0, 20, 40, 20, 40, 0, 0, 60, 10}, // Small Block Full Speed
41 {0, 20, 10, 40, 80, 40, 80, 10000, 0, 120, 20}, // Small Block Conservative
42 {0, 10, 35, 15, 25, 15, 25, 0, 0, 60, 10}, // Large Block Full Speed
43 {0, 20, 70, 30, 50, 30, 50, 25000, 0, 120, 20}, // Large Block Conservative
44 {0, 20, 10, 40, 80, 40, 80, 35090, 0, 120, 13}, // For JIL flash
45};
46
47// Micron MT29F1G08ABA, MT29F1G16ABA
48FLASH_TIMING MICRON_MFG_TIMING[3] =
49{
50 {70, 10, 25, 15, 25, 15, 25, 0, 100, 60, 10}, // Large Block Full Speed
51 {70, 5, 20, 10, 12, 10, 12, 25000, 100, 80, 10},
52 {70, 5, 25, 10, 15, 10, 15, 25000, 100, 80, 10},
53 {70, 5, 20, 10, 12, 15, 12, 250000, 100, 80, 10}, //1v8 2Gb,4Gb
54 {70, 5, 15, 7, 10, 15, 10, 250000, 100, 60, 10}, //3v3 8Gb
55};
56
57FLASH_TIMING TOSHIBA_MFG_TIMING[5] =
58{
59 {0, 5, 20, 10, 12, 10, 28, 120000, 30, 60, 10},
60 {0, 5, 20, 10, 12, 10, 12, 400000, 30, 60, 10}, // NCTSH2AP1-CA, BENAND
61 {0, 5, 20, 10, 12, 10, 12, 250000, 30, 60, 10}, // NCTHX84N2-CA, 8b/512B
62};
63
64FLASH_TIMING ESMT_MFG_TIMING[2] =
65{
66 {100, 10, 35, 15, 25, 15, 25, 25000, 100, 60, 10},
67 {100, 5, 25, 10, 15, 10, 15, 25000, 100, 100, 10},
68};
69
70FLASH_TIMING FIDILEX_MFG_TIMING[] =
71{
72 {100, 10, 35, 15, 25, 15, 25, 25000, 100, 60, 10}
73};
74
75FLASH_TIMING JSC_MFG_TIMING[] =
76{
77 {100, 10, 35, 15, 25, 15, 25, 25000, 100, 60, 10}
78};
79
80FLASH_TIMING MACRONIX_MFG_TIMING[] =
81{
82 {0, 5, 20, 10, 12, 10, 12, 25000, 0, 80, 10}
83};
84
85FLASH_TIMING WINBOND_MFG_TIMING[] =
86{
87 {100, 10, 25, 15, 17, 15, 17, 25000, 100, 80, 10},
88 {100, 5, 20, 10, 12, 10, 12, 25000, 100, 80, 10}
89};
90
91FLASH_TIMING HYNIX_MFG_TIMING[2] =
92{
93 {100, 10, 35, 15, 25, 15, 25, 30000, 100, 60, 10},
94 {100, 10, 35, 15, 25, 15, 25, 30000, 100, 60, 10} // same as 2Gbits?
95};
96