2006-11-30 18:23:18 +03:00
/*
* Error Corrected Code Controller ( ECC ) - System peripherals regsters .
* Based on AT91SAM9260 datasheet revision B .
*
2008-09-19 00:44:20 +04:00
* Copyright ( C ) 2007 Andrew Victor
* Copyright ( C ) 2007 Atmel Corporation .
*
2006-11-30 18:23:18 +03:00
* This program is free software ; you can redistribute it and / or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation ; either version 2 of the License , or ( at your
* option ) any later version .
*/
2008-06-06 20:04:52 +04:00
# ifndef ATMEL_NAND_ECC_H
# define ATMEL_NAND_ECC_H
2006-11-30 18:23:18 +03:00
2008-06-06 20:04:53 +04:00
# define ATMEL_ECC_CR 0x00 /* Control register */
# define ATMEL_ECC_RST (1 << 0) /* Reset parity */
2006-11-30 18:23:18 +03:00
2008-06-06 20:04:53 +04:00
# define ATMEL_ECC_MR 0x04 /* Mode register */
# define ATMEL_ECC_PAGESIZE (3 << 0) /* Page Size */
# define ATMEL_ECC_PAGESIZE_528 (0)
# define ATMEL_ECC_PAGESIZE_1056 (1)
# define ATMEL_ECC_PAGESIZE_2112 (2)
# define ATMEL_ECC_PAGESIZE_4224 (3)
2006-11-30 18:23:18 +03:00
2008-06-06 20:04:53 +04:00
# define ATMEL_ECC_SR 0x08 /* Status register */
# define ATMEL_ECC_RECERR (1 << 0) /* Recoverable Error */
# define ATMEL_ECC_ECCERR (1 << 1) /* ECC Single Bit Error */
# define ATMEL_ECC_MULERR (1 << 2) /* Multiple Errors */
2006-11-30 18:23:18 +03:00
2008-06-06 20:04:53 +04:00
# define ATMEL_ECC_PR 0x0c /* Parity register */
# define ATMEL_ECC_BITADDR (0xf << 0) /* Bit Error Address */
# define ATMEL_ECC_WORDADDR (0xfff << 4) /* Word Error Address */
2006-11-30 18:23:18 +03:00
2008-06-06 20:04:53 +04:00
# define ATMEL_ECC_NPR 0x10 /* NParity register */
# define ATMEL_ECC_NPARITY (0xffff << 0) /* NParity */
2006-11-30 18:23:18 +03:00
# endif