Commit 3e3198f1 authored by Roman Tereshonkov's avatar Roman Tereshonkov Committed by David Woodhouse
Browse files

mtd: onenand: add option and variable for cache program feature



A new option is added for cache program feature. A new variable
ongoing is introduced for onenand_chip to handle the multi-command
cache program operation.

Signed-off-by: default avatarRoman Tereshonkov <roman.tereshonkov@nokia.com>
Acked-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: default avatarArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
parent 7ddbead6
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -137,6 +137,14 @@ struct onenand_chip {
	void			*bbm;

	void			*priv;

	/*
	 * Shows that the current operation is composed
	 * of sequence of commands. For example, cache program.
	 * Such command status OnGo bit is checked at the end of
	 * sequence.
	 */
	unsigned int		ongoing;
};

/*
@@ -171,6 +179,9 @@ struct onenand_chip {
#define ONENAND_IS_2PLANE(this)			(0)
#endif

#define ONENAND_IS_CACHE_PROGRAM(this)					\
	(this->options & ONENAND_HAS_CACHE_PROGRAM)

/* Check byte access in OneNAND */
#define ONENAND_CHECK_BYTE_ACCESS(addr)		(addr & 0x1)

@@ -181,6 +192,7 @@ struct onenand_chip {
#define ONENAND_HAS_UNLOCK_ALL		(0x0002)
#define ONENAND_HAS_2PLANE		(0x0004)
#define ONENAND_HAS_4KB_PAGE		(0x0008)
#define ONENAND_HAS_CACHE_PROGRAM	(0x0010)
#define ONENAND_SKIP_UNLOCK_CHECK	(0x0100)
#define ONENAND_PAGEBUF_ALLOC		(0x1000)
#define ONENAND_OOBBUF_ALLOC		(0x2000)