[U-Boot] [PATCH v2] nand_spl: Fix large page nand_command()

Scott Wood scottwood at freescale.com
Tue May 3 18:08:47 CEST 2011


On Sun, 1 May 2011 16:43:30 +0200
Wolfgang Denk <wd at denx.de> wrote:

> Dear Alex Waterman,
> 
> In message <4D9CC6B0.6020608 at dawning.com> you wrote:
> >
> > This patch changes the large page nand_command() routine to use a word
> > offset instead of a byte offset. The 'offs' argument gets divided by 2
> > so that the offset passed to nand_command() is still by byte offset.
> > Originally, the offset was not shifted and when too high an offset was
> > requested the nand chip would attempt to read non-existent data.
> > 
> > Changes for v2:
> > 
> >  - Moved the offset calculation to outside of the OOB emulation code.
> >  - Hopefully no more whitespace mangling.
> > 
> > Signed-off-by: Alex Waterman <awaterman at dawning.com>
> > ---
> >  nand_spl/nand_boot.c |    4 ++++
> >  1 files changed, 4 insertions(+), 0 deletions(-)
> 
> Unfortunately this patch breaks building of the canyonlands_nand and
> glacier_nand configurations:
> 
> Configuring for canyonlands_nand - Board: canyonlands, Options: CANYONLANDS,NAND_U_BOOT,SYS_TEXT_BASE=0x01000000
> ppc_6xx-ld: section .resetvec [e3003ffc -> e3003fff] overlaps section .bss.ndfc_cs [e3003ff4 -> e3004003]
> make[1]: *** [/work/wd/tmp-ppc/nand_spl/u-boot-spl] Error 1
> make: *** [nand_spl] Error 2
> make: *** Waiting for unfinished jobs....
> ppc_6xx-size: '/work/wd/tmp-ppc/u-boot': No such file
> 
> Configuring for glacier_nand - Board: canyonlands, Options: GLACIER,NAND_U_BOOT,SYS_TEXT_BASE=0x01000000
> ppc_6xx-ld: section .resetvec [e3003ffc -> e3003fff] overlaps section .bss.ndfc_cs [e3003ff4 -> e3004003]
> make[1]: *** [/work/wd/tmp-ppc/nand_spl/u-boot-spl] Error 1
> make: *** [nand_spl] Error 2
> make: *** Waiting for unfinished jobs....
> ppc_6xx-size: '/work/wd/tmp-ppc/u-boot': No such file

They build for me with GCC 4.5.1 -- probably right on the edge of the code
size limit.

-Scott



More information about the U-Boot mailing list