From mboxrd@z Thu Jan 1 00:00:00 1970 From: Igor Grinberg Date: Wed, 30 Nov 2011 10:06:47 +0200 Subject: [U-Boot] [PATCH 11/13] nand_spl_simple: store temp data at CONFIG_SPL_NAND_WORKSPACE In-Reply-To: <1322498261-20645-12-git-send-email-yanok@emcraft.com> References: <1322498261-20645-1-git-send-email-yanok@emcraft.com> <1322498261-20645-12-git-send-email-yanok@emcraft.com> Message-ID: <4ED5E417.5010002@compulab.co.il> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Ilya, On 11/28/11 18:37, Ilya Yanok wrote: > Currently nand_spl_simple puts it's temp data at 0x10000 offset in SDRAM > which is likely to contain already loaded data. I can't see any way to > determine some safe address automagically so make it up to board porter > to provide the safe-to-use address via CONFIG_SPL_NAND_WORKSPACE value. > > Signed-off-by: Ilya Yanok > --- > drivers/mtd/nand/nand_spl_simple.c | 7 ++++++- > 1 files changed, 6 insertions(+), 1 deletions(-) > > diff --git a/drivers/mtd/nand/nand_spl_simple.c b/drivers/mtd/nand/nand_spl_simple.c > index ed821f2..70f3cfe 100644 > --- a/drivers/mtd/nand/nand_spl_simple.c > +++ b/drivers/mtd/nand/nand_spl_simple.c > @@ -199,8 +199,13 @@ static int nand_read_page(int block, int page, void *dst) > > /* No malloc available for now, just use some temporary locations > * in SDRAM > + * Please provide some safe value for CONFIG_SPL_NAND_WORKSPACE in > + * your board configuration, this is just a guess!! > */ > - ecc_calc = (u_char *)(CONFIG_SYS_SDRAM_BASE + 0x10000); > +#ifndef CONFIG_SPL_NAND_WORKSPACE > +#define CONFIG_SPL_NAND_WORKSPACE (CONFIG_SYS_SDRAM_BASE + 0x10000) > +#endif > + ecc_calc = (u_char *)CONFIG_SPL_NAND_WORKSPACE; > ecc_code = ecc_calc + 0x100; > oob_data = ecc_calc + 0x200; If you change this, you probably should change also the second version of this function (CONFIG_SYS_NAND_HW_ECC_OOBFIRST) or instead pass it as a parameter to the finction(s) from an upper layer. Have you tried to use the stack as a buffer for those calculations? -- Regards, Igor.