Hi all,
I realise you have located a specific issue with the code that determines the bus width, but I thought I would share my i.MX28 NAND experience in case it is of any help.
Have you added your specific NAND flash to the driver code or do you know that it is already supported by the BSP? I am using Windows CE on the i.MX28 and have added my own NAND but I needed to do the following:
1) Use the Freescale NAND analysis spreadsheet to work out timing parameters for my NAND to put into the Windows CE NAND driver code. The code reads the NAND ID and then finds the settings by searching a table of NAND info structures. To support my NAND I needed to provide information such as:
a) The NAND ID code
b) The NAND timings for the specific device
c) Details of the memory layout (page/block size and spare area size)
d) Location of the bad-block marker
2) Rebuild Windows CE to support the new NAND and check it is detected OK
3) Rebuild the manufacturing tools firmware (this needs to know about the NAND) so it can load it
I am sure there are differences for Linux, but unless you know that your chosen NAND is already in the driver code there are a few things to add.
This post may help: https://community.freescale.com/message/303534#303534
Mark