[U-Boot] NAND 16 bit buswidth issue
Pete Murray
pmurray at dawning.com
Thu Aug 19 15:07:48 CEST 2010
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?
More information about the U-Boot
mailing list