
On 06/19/2013 08:40:19 AM, Michal Simek wrote:
Hi Scott,
On 05/09/2013 11:37 PM, Scott Wood wrote:
On 05/06/2013 11:53:52 AM, Michal Simek wrote:
Hi guys,
Zynq supports 8 and 16bit ONFI nand flashes. We can count number of connected pins and from that we know if 8bit or 16bit nand flash is used.
I have looked at the code and contains ONFI detection with correct detection of bus width + checking later. Why also not setup proper chip->options for NAND_BUSWIDTH_16?
Not sure how others but if driver expect just ONFI devices and support 8 and 16bit options why not just to setup chip options based on information from ONFI or not check that (busw != (chip->options & NAND_BUSWIDTH_16)) for onfi case.
This is fixed in current Linux, with NAND_BUSWIDTH_AUTO. There was
a patchset to merge in recent Linux MTD code a while back, but an expected respin didn't come. I'll try to fix it up when I process this merge window's patches.
Have you done this change? I have grepped the latest version and I can't see it there.
MTD from 3.7.1 (which was what was current when the patch was posted months ago) was merged in. It looks like NAND_BUSWIDTH_AUTO was added in 3.8. We can do another MTD update in the next merge window, which would pick this up. Or if you'd like to submit a patch that just fixes this problem (in the same way as in Linux, so it doesn't conflict too badly when we do the merge), it could be applied now as a bugfix.
-Scott