From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Babic Date: Fri, 07 Sep 2012 17:23:57 +0200 Subject: [U-Boot] [NEXT PATCH v1 2/7] NAND: added NAND type to nand_ids In-Reply-To: <5049BA96.7000501@denx.de> References: <1346918700-32429-1-git-send-email-sbabic@denx.de> <1346918700-32429-3-git-send-email-sbabic@denx.de> <50492F9B.2040205@freescale.com> <5049BA96.7000501@denx.de> Message-ID: <504A118D.8090808@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 07/09/2012 11:12, Stefano Babic wrote: > On 07/09/2012 01:19, Scott Wood wrote: >> On 09/06/2012 03:04 AM, Stefano Babic wrote: >>> Signed-off-by: Stefano Babic >>> --- > > Hi Scott, > >>> drivers/mtd/nand/nand_ids.c | 2 ++ >>> 1 file changed, 2 insertions(+) >>> >>> diff --git a/drivers/mtd/nand/nand_ids.c b/drivers/mtd/nand/nand_ids.c >>> index 3953549..fe75686 100644 >>> --- a/drivers/mtd/nand/nand_ids.c >>> +++ b/drivers/mtd/nand/nand_ids.c >>> @@ -131,6 +131,8 @@ const struct nand_flash_dev nand_flash_ids[] = { >>> /* 128 Gigabit */ >>> {"NAND 16GiB 1,8V 8-bit", 0x1A, 0, 16384, 0, LP_OPTIONS}, >>> {"NAND 16GiB 3,3V 8-bit", 0x3A, 0, 16384, 0, LP_OPTIONS}, >>> + {"NAND 16GiB 3,3V 8-bit", 0x48, 4096, 16384, 0x100000, >>> + LP_OPTIONS}, >>> {"NAND 16GiB 1,8V 16-bit", 0x2A, 0, 16384, 0, LP_OPTIONS16}, >>> {"NAND 16GiB 3,3V 16-bit", 0x4A, 0, 16384, 0, LP_OPTIONS16}, >>> >>> >> >> Why does this NAND chip need things specified that are zeroes for other >> chips? > > At least on this board with MX35, the chip cannot be recognized. > Manufacturer ID and device ID are read flawlessly, but then u-boot fails > to get the correct geometry. Setting explicitely the values, I can then > read / write into the NAND without any problem. It can be more a problem > related to the specific MXC NAND driver (mxc_nand.c). It seems to me that the values returned by this flash cannot be interpreted in nand_get_flash_type(). The values returned from a READ-ID command with address 0x00 are: 0x2C 0x48 0x04 0x4A 0xA5, I can really get these values from the flash, so the MXC controller gets the correct data. However, the code in nand_base.c (lines from 2718, so not-Samsung case) parses the answer setting the NAND as a 16-bit device, but this is really a 8bit device. I do not know the meaning of the answer, it is not described in the datasheet. Cheers, Stefano -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de =====================================================================