spi: Remove dual flash options/flags
authorJagan Teki <jagan@openedev.com>
Sun, 30 Oct 2016 17:46:26 +0000 (23:16 +0530)
committerJagan Teki <jagan@openedev.com>
Sat, 19 Nov 2016 03:11:44 +0000 (08:41 +0530)
Dual flash code in spi are usually take the spi controller
to work with dual connected flash devices. Usually these
dual connection operation's are referred to flash controller
protocol rather with spi controller protocol, these are still
present in flash side for the usage of spi-nor controllers.

So, this patch remove the dual_flash options or flags in sf
which are triggered from spi controller side.

Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: York Sun <york.sun@nxp.com>
Cc: Vignesh R <vigneshr@ti.com>
Cc: Mugunthan V N <mugunthanvnm@ti.com>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Jagan Teki <jagan@openedev.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jagan Teki <jagan@openedev.com>
drivers/mtd/spi/sf.c
drivers/mtd/spi/sf_internal.h
drivers/mtd/spi/spi_flash.c
include/spi.h

index 664e86082b19c95e08a68f1443f1efd18f89d5ca..d5e175ca0000f571ed3cfa290cbd12653cd10f76 100644 (file)
@@ -18,10 +18,6 @@ static int spi_flash_read_write(struct spi_slave *spi,
        unsigned long flags = SPI_XFER_BEGIN;
        int ret;
 
-#ifdef CONFIG_SF_DUAL_FLASH
-       if (spi->flags & SPI_XFER_U_PAGE)
-               flags |= SPI_XFER_U_PAGE;
-#endif
        if (data_len == 0)
                flags |= SPI_XFER_END;
 
index fc10562d0b2746050fd0e78ea47a883936577ccf..2463686617eeb68c172ac5bfa77546fb8b2ce42b 100644 (file)
@@ -23,6 +23,7 @@ enum spi_dual_flash {
 enum spi_nor_option_flags {
        SNOR_F_SST_WR           = BIT(0),
        SNOR_F_USE_FSR          = BIT(1),
+       SNOR_F_USE_UPAGE        = BIT(3),
 };
 
 #define SPI_FLASH_3B_ADDR_LEN          3
index cfecd53cea01677a98aac491e9dbc493467df2ec..2576c2cd3d96bf9304b910c342c68c77ab88eed6 100644 (file)
@@ -199,15 +199,13 @@ bar_end:
 #ifdef CONFIG_SF_DUAL_FLASH
 static void spi_flash_dual(struct spi_flash *flash, u32 *addr)
 {
-       struct spi_slave *spi = flash->spi;
-
        switch (flash->dual_flash) {
        case SF_DUAL_STACKED_FLASH:
                if (*addr >= (flash->size >> 1)) {
                        *addr -= flash->size >> 1;
-                       spi->flags |= SPI_XFER_U_PAGE;
+                       flash->flags |= SNOR_F_USE_UPAGE;
                } else {
-                       spi->flags &= ~SPI_XFER_U_PAGE;
+                       flash->flags &= ~SNOR_F_USE_UPAGE;
                }
                break;
        case SF_DUAL_PARALLEL_FLASH:
@@ -1016,7 +1014,6 @@ int spi_flash_scan(struct spi_flash *flash)
 
        flash->name = info->name;
        flash->memory_map = spi->memory_map;
-       flash->dual_flash = spi->option;
 
        if (info->flags & SST_WR)
                flash->flags |= SNOR_F_SST_WR;
index 4c179838eefcaa8f5ee44f542e52a1e219ae504d..deb65efdfb73c23841a6d64de6374a23cf66051d 100644 (file)
 #define SPI_RX_DUAL    BIT(12)                 /* receive with 2 wires */
 #define SPI_RX_QUAD    BIT(13)                 /* receive with 4 wires */
 
-/* SPI bus connection options - see enum spi_dual_flash */
-#define SPI_CONN_DUAL_SHARED           (1 << 0)
-#define SPI_CONN_DUAL_SEPARATED        (1 << 1)
-
 /* Header byte that marks the start of the message */
 #define SPI_PREAMBLE_END_BYTE  0xec
 
@@ -93,7 +89,6 @@ struct dm_spi_slave_platdata {
  * @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, shared bus.
  * @flags:             Indication of SPI flags.
  */
 struct spi_slave {
@@ -117,7 +112,6 @@ struct spi_slave {
 #define SPI_XFER_ONCE          (SPI_XFER_BEGIN | SPI_XFER_END)
 #define SPI_XFER_MMAP          BIT(2)  /* Memory Mapped start */
 #define SPI_XFER_MMAP_END      BIT(3)  /* Memory Mapped End */
-#define SPI_XFER_U_PAGE                BIT(4)
 };
 
 /**