[U-Boot] NAND 16 bit buswidth issue
Scott Wood
scottwood at freescale.com
Thu Aug 19 21:27:23 CEST 2010
On Thu, 19 Aug 2010 09:07:48 -0400
Pete Murray <pmurray at dawning.com> wrote:
> 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?
The controller driver is supposed to set chip->options.
-Scott
More information about the U-Boot
mailing list