Imprecise data abort with i.MX31 NAND controller

Dominic Rath Dominic.Rath at gmx.de
Mon Apr 11 12:18:40 EDT 2011


Dear linux-mtd list,

I'm trying to get Linux (I'm using 2.6.38.2, but could go with another
version if that helps) running on a customer's i.MX31 board.

The NAND is a 8-Gbit, 2112-Byte/page x8 chip identified as:
Manufacturer ID: 0x20, Chip ID: 0xd3 (ST Micro NAND 1GiB 3,3V 8-bit)

The NAND works fine at first, a ptxdist-built rootfs gets mounted, system
boots till prompt, but when the jffs2 garbage collector kicks in, the nfc
driver fails with an imprecise data abort.

I've tracked it down to the first nand_do_write_oob which in turn calls
mxc_nand_command() with PAGEPROG for the first time. Everything looks
good, but in send_cmd_v1_v2 I get an imprecise data abort after the write
to CONFIG2 with NFC_CMD set. I'm pretty sure the (imprecise) abort is due 
to the CONFIG2 write because I've inserted some delay loops and it always
fails at the same point - without the delay loops it would fail in
wait_op_done or some other function down the callstack.

The NAND can be read and written from U-Boot (2011.03-rc1) just fine, and
the JFFS2 filesystem image that I've flashed using U-Boot works within
linux if mounted read-only.

I've attached a logfile that shows the last output up to the crash.

I'd appreciate if anyone could tell me if the driver from 2.6.38.2 is
supposed to work with an i.MX31, or for any pointers about how to further
debug this problem.

Best Regards,

Dominic
-------------- next part --------------
A non-text attachment was scrubbed...
Name: imx31_nand_dataabort.txt
Type: application/octet-stream
Size: 3867 bytes
Desc: Attachment: imx31_nand_dataabort.txt
URL: <http://lists.infradead.org/pipermail/linux-mtd/attachments/20110411/7dbd3fef/attachment.obj>


More information about the linux-mtd mailing list