我查看了那个nor flash的驱动代码,结果在do_map_probe(*type, &s3c2440nor_map); return就出错了
最后跟踪到cfi_util。c (drivers/mtd/chip/)有个函数没有探测到nor 的芯片。但是我不明白这个函数的意思。
int __xipram cfi_qry_mode_on(uint32_t base, struct map_info *map,
struct cfi_private *cfi)
{
cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL);
cfi_send_gen_cmd(0x98, 0x55, base, map, cfi, cfi->device_type, NULL);
if (cfi_qry_present(map, base, cfi))
{
printk(KERN_ALERT "#Kluter Tee\n");
return 1;
}
/* QRY not found probably we deal with some odd CFI chips */
/* Some revisions of some old Intel chips? */
cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL);
cfi_send_gen_cmd(0xFF, 0, base, map, cfi, cfi->device_type, NULL);
cfi_send_gen_cmd(0x98, 0x55, base, map, cfi, cfi->device_type, NULL);
if (cfi_qry_present(map, base, cfi))
{
printk(KERN_ALERT "#Kluter Tff\n");
return 1;
}
/* ST M29DW chips */
cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL);
cfi_send_gen_cmd(0x98, 0x555, base, map, cfi, cfi->device_type, NULL);
if (cfi_qry_present(map, base, cfi))
{
printk(KERN_ALERT "#Kluter Tgg\n");
return 1;
}
printk(KERN_ALERT "#Kluter Thh\n");
/* QRY not found */
return 0;
}