diff options
Diffstat (limited to 'include/linux/mtd/nand.h')
| -rw-r--r-- | include/linux/mtd/nand.h | 12 | 
1 files changed, 9 insertions, 3 deletions
| diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h index 7ac72de95..39f8aec67 100644 --- a/include/linux/mtd/nand.h +++ b/include/linux/mtd/nand.h @@ -1,12 +1,10 @@  /*   *  linux/include/linux/mtd/nand.h   * - *  Copyright (c) 2000 David Woodhouse <dwmw2@mvhi.com> + *  Copyright (c) 2000 David Woodhouse <dwmw2@infradead.org>   *                     Steven J. Hill <sjhill@realitydiluted.com>   *		       Thomas Gleixner <tglx@linutronix.de>   * - * $Id: nand.h,v 1.74 2005/09/15 13:58:50 vwool 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   * published by the Free Software Foundation. @@ -190,6 +188,9 @@ typedef enum {  #define NAND_MUST_PAD(chip) (!(chip->options & NAND_NO_PADDING))  #define NAND_HAS_CACHEPROG(chip) ((chip->options & NAND_CACHEPRG))  #define NAND_HAS_COPYBACK(chip) ((chip->options & NAND_COPYBACK)) +/* Large page NAND with SOFT_ECC should support subpage reads */ +#define NAND_SUBPAGE_READ(chip) ((chip->ecc.mode == NAND_ECC_SOFT) \ +					&& (chip->page_shift > 9))  /* Mask to zero out the chip options, which come from the id table */  #define NAND_CHIPOPTIONS_MSK	(0x0000ffff & ~NAND_NO_AUTOINCR) @@ -278,6 +279,10 @@ struct nand_ecc_ctrl {  	int			(*read_page)(struct mtd_info *mtd,  					     struct nand_chip *chip,  					     uint8_t *buf); +	int			(*read_subpage)(struct mtd_info *mtd, +					     struct nand_chip *chip, +					     uint32_t offs, uint32_t len, +					     uint8_t *buf);  	void			(*write_page)(struct mtd_info *mtd,  					      struct nand_chip *chip,  					      const uint8_t *buf); @@ -435,6 +440,7 @@ struct nand_chip {  #define NAND_MFR_STMICRO	0x20  #define NAND_MFR_HYNIX		0xad  #define NAND_MFR_MICRON		0x2c +#define NAND_MFR_AMD		0x01  /**   * struct nand_flash_dev - NAND Flash Device ID Structure |