[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