sf: Add dual memories support - DUAL_STACKED

This patch added support for accessing dual memories in
stacked connection with single chipselect line from controller.

For more info - see doc/SPI/README.dual-flash

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
This commit is contained in:
Jagannadha Sutradharudu Teki 2014-01-12 21:40:11 +05:30
parent ab92224f45
commit f77f469117
6 changed files with 138 additions and 11 deletions

View file

@ -30,6 +30,7 @@
#define SPI_XFER_MMAP 0x08 /* Memory Mapped start */
#define SPI_XFER_MMAP_END 0x10 /* Memory Mapped End */
#define SPI_XFER_ONCE (SPI_XFER_BEGIN | SPI_XFER_END)
#define SPI_XFER_U_PAGE (1 << 5)
/* SPI TX operation modes */
#define SPI_OPM_TX_QPP 1 << 0
@ -44,6 +45,9 @@
SPI_OPM_RX_DIO | SPI_OPM_RX_QOF | \
SPI_OPM_RX_QIOF
/* SPI bus connection options */
#define SPI_CONN_DUAL_SHARED 1 << 0
/* Header byte that marks the start of the message */
#define SPI_PREAMBLE_END_BYTE 0xec
@ -62,6 +66,8 @@
* @max_write_size: If non-zero, the maximum number of bytes which can
* be written at once, excluding command bytes.
* @memory_map: Address of read-only SPI flash access.
* @option: Varies SPI bus options - separate bus.
* @flags: Indication of SPI flags.
*/
struct spi_slave {
unsigned int bus;
@ -71,6 +77,8 @@ struct spi_slave {
unsigned int wordlen;
unsigned int max_write_size;
void *memory_map;
u8 option;
u8 flags;
};
/**