From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pete Murray Date: Thu, 19 Aug 2010 09:07:48 -0400 Subject: [U-Boot] NAND 16 bit buswidth issue Message-ID: <4C6D2CA4.2070708@dawning.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de I am running U-boot 2009.08 on a sequoia based custom board. The board has a Micron 29F2G16AAD nand chip. This chip is a large page device with a 16 bit buswidth. I have an issue in nand_base.c in the nand_get_flash_type function where the check for buswidth fails, causing the print out - printk(KERN_WARNING "NAND bus width %d instead %d bit\n", (chip->options & NAND_BUSWIDTH_16) ? 16 : 8, busw ? 16 : 8); The busw is read from the nand chip and is correct, but the chip->options is incorrect. I don't see where this gets set to the options shown in nand_ids.c. I see that here: /* Lookup the flash id */ for (i = 0; nand_flash_ids[i].name != NULL; i++) { if (dev_id == nand_flash_ids[i].id) { type = &nand_flash_ids[i]; break; } } type gets the correct values from nand_ids, should the value of type->options be assigned to chip->options? Or am I missing something and need to set chip->options somewhere in my board specific files?