diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-arm/arch-da8xx/emif_defs.h | 10 | ||||
-rw-r--r-- | include/configs/da830_evm.h | 4 | ||||
-rw-r--r-- | include/linux/mtd/nand.h | 6 |
3 files changed, 17 insertions, 3 deletions
diff --git a/include/asm-arm/arch-da8xx/emif_defs.h b/include/asm-arm/arch-da8xx/emif_defs.h index 646fc77469..c91e30c8fc 100644 --- a/include/asm-arm/arch-da8xx/emif_defs.h +++ b/include/asm-arm/arch-da8xx/emif_defs.h @@ -55,6 +55,16 @@ typedef struct { dv_reg NANDF2ECC; dv_reg NANDF3ECC; dv_reg NANDF4ECC; + u_int8_t RSVD2[60]; + dv_reg NAND4BITECCLOAD; + dv_reg NAND4BITECC1; + dv_reg NAND4BITECC2; + dv_reg NAND4BITECC3; + dv_reg NAND4BITECC4; + dv_reg NANDERRADD1; + dv_reg NANDERRADD2; + dv_reg NANDERRVAL1; + dv_reg NANDERRVAL2; } emif_registers; typedef emif_registers *emifregs; diff --git a/include/configs/da830_evm.h b/include/configs/da830_evm.h index 1e6b94adfb..c4cbe9d58d 100644 --- a/include/configs/da830_evm.h +++ b/include/configs/da830_evm.h @@ -128,7 +128,9 @@ #define CONFIG_SYS_NAND_BASE DAVINCI_ASYNC_EMIF_DATA_CE3_BASE #define CONFIG_CLE_MASK 0x10 #define CONFIG_ALE_MASK 0x8 -#define CONFIG_SYS_NAND_HW_ECC +#undef CONFIG_SYS_NAND_HW_ECC +#define CONFIG_SYS_NAND_4BIT_HW_ECC +#define CFG_DAVINCI_STD_NAND_LAYOUT #define CONFIG_SYS_NAND_LARGEPAGE /* Max number of NAND devices */ #define CONFIG_SYS_MAX_NAND_DEVICE 1 diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h index 59e64dcb7a..0404b0961a 100644 --- a/include/linux/mtd/nand.h +++ b/include/linux/mtd/nand.h @@ -214,6 +214,8 @@ struct page_layout_item { #define NAND_USE_FLASH_BBT 0x00010000 /* This option skips the bbt scan during initialization. */ #define NAND_SKIP_BBTSCAN 0x00020000 +/* This option uses the bbt method with OOB data adjacent to the data */ +#define NAND_USE_DATA_ADJACENT_OOB 0x00080000 /* This option is defined if the board driver allocates its own buffers (e.g. because it needs them DMA-coherent */ #define NAND_OWN_BUFFERS 0x00040000 @@ -285,13 +287,13 @@ struct nand_ecc_ctrl { uint8_t *calc_ecc); int (*read_page_raw)(struct mtd_info *mtd, struct nand_chip *chip, - uint8_t *buf); + uint8_t *buf, int page); void (*write_page_raw)(struct mtd_info *mtd, struct nand_chip *chip, const uint8_t *buf); int (*read_page)(struct mtd_info *mtd, struct nand_chip *chip, - uint8_t *buf); + uint8_t *buf, int page); int (*read_subpage)(struct mtd_info *mtd, struct nand_chip *chip, uint32_t offs, uint32_t len, |