On Tue, Jan 04, 2011 at 04:08:29PM -0600, Scott Wood wrote: > On Mon, Dec 27, 2010 at 05:47:01PM -0700, John Rigby wrote: > > diff --git a/nand_spl/nand_boot.c b/nand_spl/nand_boot.c > > index 76b8566..1ae2cd0 100644 > > --- a/nand_spl/nand_boot.c > > +++ b/nand_spl/nand_boot.c > > @@ -27,6 +27,15 @@ > > > > static int nand_ecc_pos[] = CONFIG_SYS_NAND_ECCPOS; > > > > +static uint8_t nand_read_byte(struct nand_chip *chip) > > +{ > > +#ifndef CONFIG_SYS_NAND_BUSWIDTH_16 > > + return readb(chip->IO_ADDR_R); > > +#else > > + return (uint8_t) cpu_to_le16(readw(chip->IO_ADDR_R)); > > +#endif
I missed that this is a new function, not just adding 16-bit support. This should only be used as the default; if the driver provides its own read_byte that should be used instead. > Are the endian assumptions in the above appropriate for all hardware? Hmm, it looks like the non-SPL NAND code already does it like this. I guess NAND endianness differing from native endianness just requires a custom read_byte function. -Scott _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot