]> rtime.felk.cvut.cz Git - zynq/linux.git/commitdiff
mtd: spi-nor: Added stacked support for gqspi driver
authorAnurag Kumar Vulisha <anurag.kumar.vulisha@xilinx.com>
Wed, 13 May 2015 12:04:56 +0000 (17:34 +0530)
committerMichal Simek <michal.simek@xilinx.com>
Thu, 14 May 2015 07:04:29 +0000 (09:04 +0200)
Added stacked configuration support for gqspi driver.

Signed-off-by: Anurag Kumar Vulisha <anuragku@xilinx.com>
Reviewed-by: Harini Katakam <harinik@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/spi/spi-xilinx-gqspi.c

index 999a00c1ee15e9d04a9ba7bd7046ce645ca1d2fd..84281ce802e14ff207b276aec46c1578b92d2db8 100644 (file)
@@ -376,6 +376,19 @@ static void zynqmp_qspi_chipselect(struct spi_device *qspi, bool is_high)
 
        genfifoentry |= GQSPI_GENFIFO_MODE_SPI;
        genfifoentry |= xqspi->genfifobus;
+       if (qspi->master->flags & SPI_BOTH_FLASH) {
+               zynqmp_gqspi_selectflash(xqspi,
+                       GQSPI_SELECT_FLASH_CS_BOTH,
+                       GQSPI_SELECT_FLASH_BUS_BOTH);
+       } else if (qspi->master->flags & SPI_MASTER_U_PAGE) {
+               zynqmp_gqspi_selectflash(xqspi,
+                       GQSPI_SELECT_FLASH_CS_UPPER,
+                       GQSPI_SELECT_FLASH_BUS_LOWER);
+       } else {
+               zynqmp_gqspi_selectflash(xqspi,
+                       GQSPI_SELECT_FLASH_CS_LOWER,
+                       GQSPI_SELECT_FLASH_BUS_LOWER);
+       }
        if (!is_high) {
                genfifoentry |= xqspi->genfifocs;
                genfifoentry |= GQSPI_GENFIFO_CS_SETUP;
@@ -750,11 +763,6 @@ static int zynqmp_qspi_start_transfer(struct spi_master *master,
        xqspi->txbuf = transfer->tx_buf;
        xqspi->rxbuf = transfer->rx_buf;
 
-       if (master->flags & SPI_BOTH_FLASH) {
-               zynqmp_gqspi_selectflash(xqspi,
-                       GQSPI_SELECT_FLASH_CS_BOTH,
-                       GQSPI_SELECT_FLASH_BUS_BOTH);
-       }
        genfifoentry |= xqspi->genfifocs;
        genfifoentry |= xqspi->genfifobus;