/ { 0xEC, 0x79, 8192, 32, 1, 4,120, 5, 0, 6, BW_X08}, { 0xEC, 0x78, 8192, 32, 1, 4,120, 5, 0, 6, BW_X08}, //{ 0xEC, 0x74, 8192, 32, 1, 4,120,11, 0, 6, BW_X16}, //{ 0xEC, 0x72, 8192, 32, 1, 4,120,11, 0, 6, BW_X16}, /* 512Mbit NAND Flash */ { 0xEC, 0x76, 4096, 32, 1, 4, 70, 5, 0, 6, BW_X08}, { 0xEC, 0x36, 4096, 32, 1, 4, 70, 5, 0, 6, BW_X08}, //{ 0xEC, 0x56, 4096, 32, 1, 4, 70,11, 0, 6, BW_X16}, //{ 0xEC, 0x46, 4096, 32, 1, 4, 70,11, 0, 6, BW_X16}, /* 256Mbit NAND Flash */ { 0xEC, 0x75, 2048, 32, 1, 1, 35, 5, 0, 6, BW_X08}, { 0xEC, 0x35, 2048, 32, 1, 1, 35, 5, 0, 6, BW_X08}, //{ 0xEC, 0x55, 2048, 32, 1, 1, 35,11, 0, 6, BW_X16}, //{ 0xEC, 0x45, 2048, 32, 1, 1, 35,11, 0, 6, BW_X16}, /* 128Mbit NAND Flash */ { 0xEC, 0x73, 1024, 32, 1, 1, 20, 5, 0, 6, BW_X08}, { 0xEC, 0x33, 1024, 32, 1, 1, 20, 5, 0, 6, BW_X08}, //{ 0xEC, 0x53, 1024, 32, 1, 1, 20,11, 0, 6, BW_X16}, //{ 0xEC, 0x43, 1024, 32, 1, 1, 20,11, 0, 6, BW_X16},
{ 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0} };
嘿嘿,总算是搞定NAND FLASH的编程了。可以支持64M到1GB的FLASH了。可以直接换IC即可。不需要更换驱动程序。在驱动中作了一个表格,从64M的到1GB的芯片信息全部在这个表格中,驱动采用查表得方式找到对应的IC。从而确定需要支持多大的NAND FLASH。。S3C2410的驱动和S3C2440的驱动还是有很多不一样的地方,相比较而言。。。S3C2440的驱动好写些。而S3C2410的不太好写。特别是ECC的校验。方式有点不一样。写法也不一样。前期老是出现:WARNING: OEMPlatformInit failed to initialize Boot Media。很头痛。后来仔细分析了这两颗IC发现寄存器还是有点不一样呀。汗颜啦。不动手实践,还是不知道答案滴。行动产生效率。
|