diff options
Diffstat (limited to 'include/linux/mtd/onenand_regs.h')
| -rw-r--r-- | include/linux/mtd/onenand_regs.h | 18 | 
1 files changed, 16 insertions, 2 deletions
| diff --git a/include/linux/mtd/onenand_regs.h b/include/linux/mtd/onenand_regs.h index 07fed1c60..8449a3cdc 100644 --- a/include/linux/mtd/onenand_regs.h +++ b/include/linux/mtd/onenand_regs.h @@ -67,6 +67,9 @@  /*   * Device ID Register F001h (R)   */ +#define DEVICE_IS_FLEXONENAND		(1 << 9) +#define FLEXONENAND_PI_MASK		(0x3ff) +#define FLEXONENAND_PI_UNLOCK_SHIFT	(14)  #define ONENAND_DEVICE_DENSITY_MASK	(0xf)  #define ONENAND_DEVICE_DENSITY_SHIFT	(4)  #define ONENAND_DEVICE_IS_DDP		(1 << 3) @@ -84,6 +87,11 @@  #define ONENAND_VERSION_PROCESS_SHIFT	(8)  /* + * Technology Register F006h (R) + */ +#define ONENAND_TECHNOLOGY_IS_MLC	(1 << 0) + +/*   * Start Address 1 F100h (R/W)   */  #define ONENAND_DDP_SHIFT		(15) @@ -93,7 +101,7 @@  /*   * Start Address 8 F107h (R/W)   */ -#define ONENAND_FPA_MASK		(0x3f) +#define ONENAND_FPA_MASK		(0x7f)  #define ONENAND_FPA_SHIFT		(2)  #define ONENAND_FSA_MASK		(0x03) @@ -105,7 +113,7 @@  #define ONENAND_BSA_BOOTRAM		(0 << 2)  #define ONENAND_BSA_DATARAM0		(2 << 2)  #define ONENAND_BSA_DATARAM1		(3 << 2) -#define ONENAND_BSC_MASK		(0x03) +#define ONENAND_BSC_MASK		(0x07)  /*   * Command Register F220h (R/W) @@ -125,9 +133,14 @@  #define ONENAND_CMD_ERASE_VERIFY	(0x71)  #define ONENAND_CMD_RESET		(0xF0)  #define ONENAND_CMD_READID		(0x90) +#define FLEXONENAND_CMD_RESET		(0xF3) +#define FLEXONENAND_CMD_PI_UPDATE	(0x05) +#define FLEXONENAND_CMD_PI_ACCESS	(0x66) +#define FLEXONENAND_CMD_RECOVER_LSB	(0x05)  /* NOTE: Those are not *REAL* commands */  #define ONENAND_CMD_BUFFERRAM		(0x1978) +#define FLEXONENAND_CMD_READ_PI		(0x1985)  /*   * System Configuration 1 Register F221h (R, R/W) @@ -190,5 +203,6 @@  #define ONENAND_ECC_2BIT		(1 << 1)  #define ONENAND_ECC_2BIT_ALL		(0xAAAA)  #define ONENAND_ECC_4BIT_UNCORRECTABLE	(0x1010) +#define FLEXONENAND_UNCORRECTABLE_ERROR (0x1010)  #endif				/* __ONENAND_REG_H */ |