[U-Boot] Add new NAND flash

Hi
I would like to add a new NAND flash type to u-boot and have some problems with it. The type is
MT29F16G08CBABA – Page size x8: 4320 bytes (4096 + 224 bytes) – Block size: 256 pages (1024K + 56K bytes) – Plane size: 2 planes x 1024 blocks per plane – Device size: 16Gb: 2048 blocks
The NAND subsystem is configured as follows
#define CONFIG_NAND_MXC #define CONFIG_NAND_MXC_V1_1 #define CONFIG_MXC_NAND_REGS_BASE (0xBB000000) #define CONFIG_SYS_MAX_NAND_DEVICE 1 #define CONFIG_SYS_NAND_BASE (0xBB000000) #define CONFIG_MXC_NAND_HWECC #define CONFIG_SYS_NAND_LARGEPAGE
The NAND is connected (8 bit wide) to an iMX25 which is booting from NOR. So the NAND is only a mass storage device. I am able to read the ID of the chip.
2Ch 48h 04h 46h 85h
I then added the following entry to the nand_flash_ids[] table
{"NAND 2GiB 3,3V 8-bit", 0x48, 0, 2048, 0, LP_OPTIONS},
Before getting to the u-boot prompt I get the following message:
NAND: NAND device: Manufacturer ID: 0x2c, Chip ID: 0x48 (Micron NAND 2GiB 3,3V 8-bit) NAND bus width 8 instead 16 bit
This is caused by bit 6 in id byte 4 which tells that the device is 16 bit wide organized and the iMX specific part of the NAND system which tells the generic system that the device is connected via a 8 bit bus which is obviously correct as the flash chip only has 8 data lines.
Is there anything I am doing wrong here?
Thanks, Matthias

On Fri, 1 Oct 2010 16:31:40 +0200 Matthias Weißer weisserm@arcor.de wrote:
Hi
I would like to add a new NAND flash type to u-boot and have some problems with it. The type is
MT29F16G08CBABA – Page size x8: 4320 bytes (4096 + 224 bytes) – Block size: 256 pages (1024K + 56K bytes) – Plane size: 2 planes x 1024 blocks per plane – Device size: 16Gb: 2048 blocks
The NAND subsystem is configured as follows
#define CONFIG_NAND_MXC #define CONFIG_NAND_MXC_V1_1 #define CONFIG_MXC_NAND_REGS_BASE (0xBB000000) #define CONFIG_SYS_MAX_NAND_DEVICE 1 #define CONFIG_SYS_NAND_BASE (0xBB000000) #define CONFIG_MXC_NAND_HWECC #define CONFIG_SYS_NAND_LARGEPAGE
The NAND is connected (8 bit wide) to an iMX25 which is booting from NOR. So the NAND is only a mass storage device. I am able to read the ID of the chip.
2Ch 48h 04h 46h 85h
According to http://patchwork.ozlabs.org/patch/60042/, this chip is supposed to have ID: 2C 48 00 26 89
Do you have a datasheet that says what it's supposed to be?
The bytes may be getting corrupted. If you hack up the code to override the ID bytes with good ones, do you see any problems doing real I/O?
-Scott

Hi Scott
Am 01.10.2010 21:52, schrieb Scott Wood:
On Fri, 1 Oct 2010 16:31:40 +0200
MT29F16G08CBABA The NAND is connected (8 bit wide) to an iMX25 which is booting from NOR. So the NAND is only a mass storage device. I am able to read the ID of the chip.
2Ch 48h 04h 46h 85h
According to http://patchwork.ozlabs.org/patch/60042/, this chip is supposed to have ID: 2C 48 00 26 89
Take a closer look at the table in the link. There is a MT29F16G08ABABA with ID: "2C 48 00 26 89" and a MT29F16G08CBABA with ID: "2C 48 04 46 85". The second one is the one I have here. I have also a datasheet of the chip here from where I copy & pasted the above ID. The ID gets read correctly from the chip by u-boot NAND subsystem.
Do you have a datasheet that says what it's supposed to be?
The bytes may be getting corrupted. If you hack up the code to override the ID bytes with good ones, do you see any problems doing real I/O?
I tried that. If I run a "nand bad" command then it never returns and keeps performing some actions on the NAND device as I can see with an oscilloscope.

On Sat, 2 Oct 2010 14:50:23 +0200 Matthias Weißer weisserm@arcor.de wrote:
Hi Scott
Am 01.10.2010 21:52, schrieb Scott Wood:
On Fri, 1 Oct 2010 16:31:40 +0200
MT29F16G08CBABA The NAND is connected (8 bit wide) to an iMX25 which is booting from NOR. So the NAND is only a mass storage device. I am able to read the ID of the chip.
2Ch 48h 04h 46h 85h
According to http://patchwork.ozlabs.org/patch/60042/, this chip is supposed to have ID: 2C 48 00 26 89
Take a closer look at the table in the link. There is a MT29F16G08ABABA with ID: "2C 48 00 26 89" and a MT29F16G08CBABA with ID: "2C 48 04 46 85". The second one is the one I have here.
Ah, misread the part name.
I have also a datasheet of the chip here from where I copy & pasted the above ID. The ID gets read correctly from the chip by u-boot NAND subsystem.
Does the datasheet say anything about what it intends that bit to mean? Is there a new ID format we need to support?
Do you have a datasheet that says what it's supposed to be?
The bytes may be getting corrupted. If you hack up the code to override the ID bytes with good ones, do you see any problems doing real I/O?
I tried that. If I run a "nand bad" command then it never returns and keeps performing some actions on the NAND device as I can see with an oscilloscope.
Could you instrument the code to see what software thinks it's doing?
-Scott

Hi Scott,
I know it's been a while but did you ever get this part to work?
Thanks, Garyio
-- View this message in context: http://u-boot.10912.n7.nabble.com/U-Boot-Add-new-NAND-flash-tp72701p148633.h... Sent from the U-Boot mailing list archive at Nabble.com.

On 02/28/2013 07:55:56 PM, garyio wrote:
Hi Scott,
I know it's been a while but did you ever get this part to work?
Thanks, Garyio
What is "this part"?
-- View this message in context: http://u-boot.10912.n7.nabble.com/U-Boot-Add-new-NAND-flash-tp72701p148633.h... Sent from the U-Boot mailing list archive at Nabble.com.
Oh, that. In the future, please provide context with quoted text, not just a link in the signature.
I personally do not have this NAND chip and was not the one working on it. Ask Matthias if he got it to work.
-Scott
participants (3)
-
garyio
-
Matthias Weißer
-
Scott Wood