I am attempting to mount Yaffs2 on a GPMI controlled NAND flash on IMX6. Unfortunately, I'm not able to mount it with default settings, instead I have to mount it with "inband-tags" which means don't use OOB area on NAND page to store data.
Then I am running into check why yaffs2 can't use OOB area.
[ 0.982938] nand: Micron MT29F32G08CBADAWP
[ 0.987056] nand: 4096MiB, MLC, page size: 8192, OOB size: 744
[ 0.993508] gpmi-nand 112000.gpmi-nand: enable the asynchronous EDO mode 5
oob_free->offset = 570
oob_free->length = 174
Which means we do have 174 bytes free OOB area can be used by file system. After a few days tracing and debugging I've found out the GPMI driver method gpmi_ecc_write_page actually does not write oob data(the 174 bytes area) to NAND flash at all? The flags "oob_required" never been used in the method.
Did anybody else use GPMI with OOB data read/write before? Did it work fine or Am I missing something?