Problem in programming NAND flash with MfgTool on iMX28 EVK

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Problem in programming NAND flash with MfgTool on iMX28 EVK

3,966 Views
michaelkoelbl
Contributor III

I just downloaded MfgTool (V1.6.2..) for iMX28 and tried to program a flash which I put in the socket on the iMX28 EVK.

After 'booting update firmware' I see on the console

....

Scanning for NAND Flash chips...

NAND device: Manufacturer ID: 0x2c, Chip ID: 0x48 (Micron gpmi-nfc-main)

NAND bus width 8 instead 16 bit

No NAND device found.

gpmi-nfc gpmi-nfc.0: Chip scan failed

...


It seems the bootloader expects a 16 bit flash but on the EVK there is 8 bit wide flash socket.

The Flash I use is Micron MT29F16G08CBACAWP. I attached the whole text from the console.

 

Where can I change the expected bus width?

 

Programming a SD card with MfgTool works fine.

 

Thanks

Original Attachment has been moved to: flash-problem.txt.zip

Labels (2)
0 Kudos
Reply
4 Replies

1,575 Views
johnsimeon
Contributor I

Hi,

Even i'm facing the same problem for the past 4 days. I've narrowed it down to file:

linux-2.6.35.3/drivers/mtd/nand/nand_base.c

In function "nand_get_flash_type" the 7th bit of 4th byte(id_data[3]) of READ_ID command response indicates the bus width. 0- reads 8-bit and 1-reads 16 bit. This is true for Micron SLC flash chips. But what we are using is micron MLC flash chip. Probably the response format for this micron MLC flash is changed. So according to the driver the set bus width is 8-bit but the flash chip response reads 16-bit. This is where the problem arises. I would be grateful if come one could point out to information regarding the micron MLC flash READ_ID response format.

0 Kudos
Reply

1,575 Views
johnsimeon
Contributor I

Hi,

After we bypass the bus width check the board is flashed successfully.

But during boot there is an error thrown from the i.mx28 boot ROM. NAND Boot Attempt: "No BCB" Error 0x80508001.

Seems there is no workaround for this problem. This issue is discussed in here.

0 Kudos
Reply

1,575 Views
michaelkoelbl
Contributor III

Hi,

after verifying the very interesting comments and making some test with different flashes I decided to change from flash to a micro-sd card. It's a bit more expensive but I can change the capacity and it seems that I have no problems with it.

Thank you once more for the hints.

0 Kudos
Reply

1,575 Views
markwilliams
Senior Contributor I

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

0 Kudos
Reply