我们的项目采用mx287平台,选用的NAND是MT29F64G08AJABA,这个芯片在freescale那里得到确认imx28是支持的。我们用的Linux版本是Linux-2.6.35.3。
为了保证时序安全我修改了两个文件:linux/drivers/mtd/nand/nand_ids.c和linux/drivers/mtd/nand/nand_device_info.c
{"NAND 64G 3,3V 8-bit", 0x68, 0, 8192, 0, LP_OPTIONS},
在nand_device_info.c中的__initdata结构中添加了部分代码,见附件
NAND device: Manufacturer ID: 0x2c, Chip ID: 0x68 (Micron NAND 64GiB 3,3V 8-bit)
-----------------------------
NAND Flash Device Information
-----------------------------
Manufacturer : Micron (0x2c)
Address Setup Time: 60 ns
GPMI Sample Delay : 20 ns
Description : MT29F64G08AJABA
Page Data Size in Bytes: 4096 (0x1000)
Page OOB Size in Bytes : 224
Block Size in Bytes : 524288 (0x80000)
Block Size in Pages : 128 (0x80)
Chip Size in Bytes : 8589934592 (0x200000000)
Chip Size in Pages : 2097152 (0x200000)
Chip Size in Blocks : 16384 (0x4000)
Medium Size in Bytes : 17179869184 (0x400000000)
gpmi-nfc gpmi-nfc.0: Unsupported page geometry: 4096:224
gpmi-nfc gpmi-nfc.0: Chip scan failed
mxs-spi mxs-spi.0: Max possible speed 24000 = 24000000/2 kHz
mxs-spi mxs-spi.0: at 0x80014000 mapped to 0xF0014000, irq=84, bus 1, DMA ver_major 4
其中蓝色部分是检测到两个芯片不知道为什么?红色部分应该是有问题的打印信息。
|