2 #ifndef __NAND_DEVICE_LIST_H__
3 #define __NAND_DEVICE_LIST_H__
6 #define ATAG_FLASH_NUMBER_INFO 0x54430006
7 #define ATAG_FLASH_INFO 0x54430007
9 struct tag_nand_number
{
13 #define MAX_FLASH 20 //modify this define if device list is more than 20 later .xiaolei
20 #define RAMDOM_READ (1<<0)
21 #define CACHE_READ (1<<1)
22 #define RAND_TYPE_SAMSUNG 0
23 #define RAND_TYPE_TOSHIBA 1
24 #define RAND_TYPE_NONE 2
26 #define READ_RETRY_MAX 10
52 enum readRetryType rtype
;
53 struct gFeature Interface
;
54 struct gFeature Async_timing
;
70 struct MLC_feature_set
73 struct gFeatureSet FeatureSet
;
74 struct gRandConfig randConfig
;
115 struct MLC_feature_set feature_set
;
116 }flashdev_info_t
,*pflashdev_info
;
118 static const flashdev_info_t gen_FlashTable_p
[]={
119 {{0x45,0xDE,0x94,0x93,0x76,0x57}, 6,5,IO_8BIT
,8192,4096,16384,1280,0x10804222, 0xC03222,0x101,80,VEND_SANDISK
,1024, "SDTNQGAMA008G ",0 ,
120 {SANDISK_16K
, {0xEF,0xEE,0xFF,16,0x11,0,1,RTYPE_SANDISK_19NM
,{0x80, 0x00},{0x80, 0x01}},
121 {RAND_TYPE_SAMSUNG
,{0x2D2D,1,1,1,1,1}}}},
122 {{0x98,0xD7,0x84,0x93,0x72,0x00}, 5,5,IO_8BIT
,4096,4096,16384,1280,0x10804222, 0xC03222,0x101,80,VEND_TOSHIBA
,1024, "TC58TEG5DCKTA00",0 ,
123 {SANDISK_16K
, {0xEF,0xEE,0xFF,7,0xFF,7,0,RTYPE_TOSHIBA
,{0x80, 0x00},{0x80, 0x01}},
124 {RAND_TYPE_SAMSUNG
,{0x2D2D,1,1,1,1,1}}}},
125 {{0x45,0xDE,0x94,0x93,0x76,0x00}, 5,5,IO_8BIT
,8192,4096,16384,1280,0x10804222, 0xC03222,0x101,80,VEND_SANDISK
,1024, "SDTNRGAMA008GK ",0 ,
126 {SANDISK_16K
, {0xEF,0xEE,0x5D,32,0x11,0,0xFFFFFFFF,RTYPE_SANDISK
,{0x80, 0x00},{0x80, 0x01}},
127 {RAND_TYPE_SAMSUNG
,{0x2D2D,1,1,1,1,1}}}},
128 {{0xAD,0xDE,0x14,0xA7,0x42,0x00}, 5,5,IO_8BIT
,8192,4096,16384,1280,0x10804222, 0xC03222,0x101,80,VEND_HYNIX
,1024, "H27UCG8T2ETR",0 ,
129 {SANDISK_16K
, {0xFF,0xFF,0xFF,7,0xFF,0,1,RTYPE_HYNIX_16NM
,{0XFF, 0xFF},{0XFF, 0xFF}},
130 {RAND_TYPE_SAMSUNG
,{0x2D2D,1,1,1,1,1}}}},
131 {{0x2C,0x44,0x44,0x4B,0xA9,0x00}, 5,5,IO_8BIT
,4096,2048,8192,640,0x10804222, 0xC03222,0x101,80,VEND_MICRON
,1024, "MT29F32G08CBADB ",0 ,
132 {MICRON_8K
, {0xEF,0xEE,0xFF,7,0x89,0,1,RTYPE_MICRON
,{0x1, 0x14},{0x1, 0x5}},
133 {RAND_TYPE_SAMSUNG
,{0x2D2D,1,1,1,1,1}}}},
134 {{0xAD,0xDE,0x94,0xA7,0x42,0x00}, 5,5,IO_8BIT
,8192,4096,16384,1280,0x10804222, 0xC03222,0x101,80,VEND_BIWIN
,1024, "BW27UCG8T2ETR",0 ,
135 {SANDISK_16K
, {0xFF,0xFF,0xFF,7,0xFF,0,1,RTYPE_HYNIX_16NM
,{0XFF, 0xFF},{0XFF, 0xFF}},
136 {RAND_TYPE_SAMSUNG
,{0x2D2D,1,1,1,1,1}}}},
137 {{0x45,0xD7,0x84,0x93,0x72,0x00}, 5,5,IO_8BIT
,4096,4096,16384,1280,0x10804222, 0xC03222,0x101,80,VEND_SANDISK
,1024, "SDTNRGAMA004GK ",0 ,
138 {SANDISK_16K
, {0xEF,0xEE,0x5D,32,0x11,0,0xFFFFFFFF,RTYPE_SANDISK
,{0x80, 0x00},{0x80, 0x01}},
139 {RAND_TYPE_SAMSUNG
,{0x2D2D,1,1,1,1,1}}}},
140 {{0x2C,0x64,0x44,0x4B,0xA9,0x00}, 5,5,IO_8BIT
,8192,2048,8192,640,0x10804222, 0xC03222,0x101,80,VEND_MICRON
,1024, "MT29F128G08CFABA ",0 ,
141 {MICRON_8K
, {0xEF,0xEE,0xFF,7,0x89,0,1,RTYPE_MICRON
,{0x1, 0x14},{0x1, 0x5}},
142 {RAND_TYPE_SAMSUNG
,{0x2D2D,1,1,1,1,1}}}},
143 {{0xAD,0xD7,0x94,0x91,0x60,0x00}, 5,5,IO_8BIT
,4096,2048,8192,640,0x10804222, 0xC03222,0x101,80,VEND_HYNIX
,1024, "H27UBG8T2CTR",0 ,
144 {HYNIX_8K
, {0xFF,0xFF,0xFF,7,0xFF,0,1,RTYPE_HYNIX
,{0XFF, 0xFF},{0XFF, 0xFF}},
145 {RAND_TYPE_SAMSUNG
,{0x2D2D,1,1,1,1,1}}}},
146 {{0x98,0xDE,0x94,0x93,0x76,0x00}, 5,5,IO_8BIT
,8192,4096,16384,1280,0x10804222, 0xC03222,0x101,80,VEND_TOSHIBA
,1024, "TC58TEG6DDKTA00",0 ,
147 {SANDISK_16K
, {0xEF,0xEE,0xFF,7,0xFF,7,0,RTYPE_TOSHIBA
,{0x80, 0x00},{0x80, 0x01}},
148 {RAND_TYPE_SAMSUNG
,{0x2D2D,1,1,1,1,1}}}},
151 static unsigned int flash_number
= sizeof(gen_FlashTable_p
) / sizeof(flashdev_info_t
);