[DNX#2006033142000696] [U-Boot-Users] [PATCH] Update MTD NAND to Linux-2. [...]

DENX Support System support at denx.de
Fri Mar 31 23:50:28 CEST 2006


Hello list,

inside the automatic U-Boot patch tracking system a new ticket
[DNX#2006033142000696] was created:

<snip>
> Generated against testing-NAND branch.
> 
> Signed-off-by: Ladislav Michl <ladis at linux-mips.org>
> 
> CHANGELOG:
> * Update NAND code to be based on what is in Linux-2.6.14
>   Patch by Ladislav Michl, 3 Nov 2005
> 
> diff -Naurw a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h
> --- a/include/linux/mtd/nand.h	2005-11-03 12:48:27.000000000 +0100
> +++ b/include/linux/mtd/nand.h	2005-11-03 12:49:41.000000000 +0100
> @@ -5,7 +5,7 @@
>   *                     Steven J. Hill <sjhill at realitydiluted.com>
>   *		       Thomas Gleixner <tglx at linutronix.de>
>   *
> - * $Id: nand.h,v 1.68 2004/11/12 10:40:37 gleixner Exp $
> + * $Id: nand.h,v 1.73 2005/05/31 19:39:17 gleixner Exp $
>   *
>   * This program is free software; you can redistribute it and/or modify
>   * it under the terms of the GNU General Public License version 2 as
> @@ -48,12 +48,15 @@
>   *  02-08-2004 tglx 	added option field to nand structure for chip
> anomalities
>   *  05-25-2004 tglx 	added bad block table support, ST-MICRO
> manufacturer id
>   *			update of nand_chip structure description
> + *  01-17-2005 dmarlin	added extended commands for AG-AND device and
> added option 
> + * 			for BBT_AUTO_REFRESH.
> + *  01-20-2005 dmarlin	added optional pointer to hardware specific
> callback for 
> + *			extra error status checks.
>   */
>  #ifndef __LINUX_MTD_NAND_H
>  #define __LINUX_MTD_NAND_H
>  
>  #include <linux/mtd/compat.h>
> -#include <linux/mtd/mtd.h>
>  
>  struct mtd_info;
>  /* Scan and identify a NAND device */
> @@ -113,6 +116,25 @@
>  #define NAND_CMD_READSTART	0x30
>  #define NAND_CMD_CACHEDPROG	0x15
>  
> +/* Extended commands for AG-AND device */
> +/* 
> + * Note: the command for NAND_CMD_DEPLETE1 is really 0x00 but 
> + *       there is no way to distinguish that from NAND_CMD_READ0
> + *       until the remaining sequence of commands has been completed
> + *       so add a high order bit and mask it off in the command.
> + */
> +#define NAND_CMD_DEPLETE1	0x100
> +#define NAND_CMD_DEPLETE2	0x38
> +#define NAND_CMD_STATUS_MULTI	0x71
> +#define NAND_CMD_STATUS_ERROR	0x72
> +/* multi-bank error status (banks 0-3) */
> +#define NAND_CMD_STATUS_ERROR0	0x73
> +#define NAND_CMD_STATUS_ERROR1	0x74
> +#define NAND_CMD_STATUS_ERROR2	0x75
> +#define NAND_CMD_STATUS_ERROR3	0x76
> +#define NAND_CMD_STATUS_RESET	0x7f
> +#define NAND_CMD_STATUS_CLEAR	0xff
> +
>  /* Status bits */
>  #define NAND_STATUS_FAIL	0x01
>  #define NAND_STATUS_FAIL_N1	0x02
> @@ -149,6 +171,10 @@
>  /* Enable Hardware ECC before syndrom is read back from flash */
>  #define NAND_ECC_READSYN	2
>  
> +/* Bit mask for flags passed to do_nand_read_ecc */
> +#define NAND_GET_DEVICE		0x80
> +
> +
>  /* Option constants for bizarre disfunctionality and real
>  *  features
>  */
> @@ -168,6 +194,10 @@
>  /* Chip has a array of 4 pages which can be read without
>   * additional ready /busy waits */
>  #define NAND_4PAGE_ARRAY	0x00000040
> +/* Chip requires that BBT is periodically rewritten to prevent
> + * bits from adjacent blocks from 'leaking' in altering data.
> + * This happens with the Renesas AG-AND chips, possibly others.  */
> +#define BBT_AUTO_REFRESH	0x00000080
>  
>  /* Options valid for Samsung large page devices */
>  #define NAND_SAMSUNG_LP_OPTIONS \
> @@ -190,7 +220,8 @@
>   * This can only work if we have the ecc bytes directly behind the
>   * data bytes. Applies for DOC and AG-AND Renesas HW Reed Solomon
> generators */
>  #define NAND_HWECC_SYNDROME	0x00020000
> -
> +/* This option skips the bbt scan during initialization. */
> +#define NAND_SKIP_BBTSCAN	0x00040000
>  
>  /* Options set by nand scan */
>  /* Nand scan has allocated oob_buf */
</snip>

Your U-Boot support team




More information about the U-Boot mailing list