[U-Boot] driver/mtd:IFC NAND:Initialise internal SRAM before any write

Scott Wood scottwood at freescale.com
Fri Nov 16 00:54:28 CET 2012


On Wed, Sep 12, 2012 at 10:26:05PM -0000, Prabhakar Kushwaha wrote:
> IFC-1.1.0 uses 28nm techenology for SRAM. This tech has known limitaion for
> SRAM i.e. "byte select" is not supported. Hence Read Modify Write is
> implemented in IFC for any "system side write" into sram buffer. Reading an
> uninitialized memory results in ECC Error from sram wrapper.
> 
> Hence we must initialize/prefill SRAM buffer by any data before writing
> anything in SRAM from system side. To initialize SRAM user can use "READID"
> NAND command with read bytes equal to SRAM size. It will be a one time
> activity post boot
> 
> Signed-off-by: Prabhakar Kushwaha <prabhakar at freescale.com>
> 
> ---
> Based upon git://git.denx.de/u-boot.git (branch master)
> 
> This patchs depends upon following patch
>     http://patchwork.ozlabs.org/patch/178332/
> 
>  drivers/mtd/nand/fsl_ifc_nand.c |   62 ++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 61 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/mtd/nand/fsl_ifc_nand.c b/drivers/mtd/nand/fsl_ifc_nand.c
> index a518526..140fdc7 100644
> --- a/drivers/mtd/nand/fsl_ifc_nand.c
> +++ b/drivers/mtd/nand/fsl_ifc_nand.c
> @@ -30,6 +30,7 @@
>  #include <asm/errno.h>
>  #include <asm/fsl_ifc.h>
>  
> +#define FSL_IFC_V1_1_0	0x01010000
>  #define MAX_BANKS	4
>  #define ERR_BYTE	0xFF /* Value returned for read bytes
>  				when read failed */
> @@ -738,11 +739,66 @@ static void fsl_ifc_select_chip(struct mtd_info *mtd, int chip)
>  {
>  }
>  
> +static void fsl_ifc_sram_init()

fsl_ifc_nand.c:742:13: warning: function declaration isn't a prototype

Fixed and applied to u-boot-nand-flash

-Scott



More information about the U-Boot mailing list