[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