All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-09 12:44 ` Ranjit Waghmode
  0 siblings, 0 replies; 53+ messages in thread
From: Ranjit Waghmode @ 2015-07-09 12:44 UTC (permalink / raw)
  To: broonie, michal.simek, soren.brinkmann, dwmw2, computersforpeace,
	zajec5, marex, shijie.huang, juhosg, ben
  Cc: linux-mtd, linux-spi, linux-arm-kernel, linux-kernel, harinik,
	punnaia, ran27jit, Ranjit Waghmode

This series of patches is to add dual parallel and stacked mode support for
Zynq Ultrascale+ MPSoC GQSPI controller driver.

These are all very high level changes and expected to make an idea clear.
Comments and suggestions are welcomed.

What is dual parallel mode?
---------------------------
ZynqMP GQSPI controller supports Dual Parallel mode with following functionalities:
1) Supporting two SPI flash memories operating in parallel. 8 I/O lines.
2) Chip selects and clock are shared to both the flash devices
3) This mode is targeted for faster read/write speed and also doubles the size
4) Commands/data can be transmitted/received from both the devices(mirror),
   or only upper or only lower flash memory devices.
5) Data arrangement:
   With stripe enabled,
   Even bytes i.e. 0, 2, 4,... are transmitted on Lower Data Bus
   Odd bytes i.e. 1, 3, 5,.. are transmitted on Upper Data Bus.

What is stacked mode?
---------------------
ZynqMP GQSPI controller supports stacked mode with following functionalities:
1) The Generic Quad-SPI controller also supports two SPI flash memories
   in a shared bus arrangement to reduce IO pin count.
2) Separate chip select lines
3) Shared I/O lines
4) This mode is targeted for increasing the flash memory and no performance
   improvement when compared with single.

Suggestions on MTD layer support
--------------------------------
In order to add above two specified modes, we may required to get some
support from MTD layer.

I'm trying to list the dependencies as follows:
1) Support for two flashes
2) Enable/Disable data stripe as and when required.
3) May need to update read_sr() to get status of both flashes
4) May also need to update read_fsr() to get status of both flashes
5) Adjustment of offset value based on the parallel/stacked mode configuration
6) Setting either parallel or stacked mode during the scan process.
7) In case of stacked mode, is there a MTD concatenation support?

Kindly suggest us the way by which we can proceed further for adding this
support.

Will plan to send RFC for MTD related changes, based on above dependencies.

Ranjit Waghmode (2):
  spi: zynqmp: gqspi: add support for dual parallel mode configuration
  spi: zynqmp: gqspi: add support for stacked mode configuration

 drivers/spi/spi-zynqmp-gqspi.c | 28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

--
2.1.2


^ permalink raw reply	[flat|nested] 53+ messages in thread

* [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-09 12:44 ` Ranjit Waghmode
  0 siblings, 0 replies; 53+ messages in thread
From: Ranjit Waghmode @ 2015-07-09 12:44 UTC (permalink / raw)
  To: linux-arm-kernel

This series of patches is to add dual parallel and stacked mode support for
Zynq Ultrascale+ MPSoC GQSPI controller driver.

These are all very high level changes and expected to make an idea clear.
Comments and suggestions are welcomed.

What is dual parallel mode?
---------------------------
ZynqMP GQSPI controller supports Dual Parallel mode with following functionalities:
1) Supporting two SPI flash memories operating in parallel. 8 I/O lines.
2) Chip selects and clock are shared to both the flash devices
3) This mode is targeted for faster read/write speed and also doubles the size
4) Commands/data can be transmitted/received from both the devices(mirror),
   or only upper or only lower flash memory devices.
5) Data arrangement:
   With stripe enabled,
   Even bytes i.e. 0, 2, 4,... are transmitted on Lower Data Bus
   Odd bytes i.e. 1, 3, 5,.. are transmitted on Upper Data Bus.

What is stacked mode?
---------------------
ZynqMP GQSPI controller supports stacked mode with following functionalities:
1) The Generic Quad-SPI controller also supports two SPI flash memories
   in a shared bus arrangement to reduce IO pin count.
2) Separate chip select lines
3) Shared I/O lines
4) This mode is targeted for increasing the flash memory and no performance
   improvement when compared with single.

Suggestions on MTD layer support
--------------------------------
In order to add above two specified modes, we may required to get some
support from MTD layer.

I'm trying to list the dependencies as follows:
1) Support for two flashes
2) Enable/Disable data stripe as and when required.
3) May need to update read_sr() to get status of both flashes
4) May also need to update read_fsr() to get status of both flashes
5) Adjustment of offset value based on the parallel/stacked mode configuration
6) Setting either parallel or stacked mode during the scan process.
7) In case of stacked mode, is there a MTD concatenation support?

Kindly suggest us the way by which we can proceed further for adding this
support.

Will plan to send RFC for MTD related changes, based on above dependencies.

Ranjit Waghmode (2):
  spi: zynqmp: gqspi: add support for dual parallel mode configuration
  spi: zynqmp: gqspi: add support for stacked mode configuration

 drivers/spi/spi-zynqmp-gqspi.c | 28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

--
2.1.2

^ permalink raw reply	[flat|nested] 53+ messages in thread

* [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-09 12:44 ` Ranjit Waghmode
  0 siblings, 0 replies; 53+ messages in thread
From: Ranjit Waghmode @ 2015-07-09 12:44 UTC (permalink / raw)
  To: broonie, michal.simek, soren.brinkmann, dwmw2, computersforpeace,
	zajec5, marex, shijie.huang, juhosg, ben
  Cc: harinik, Ranjit Waghmode, linux-kernel, linux-spi, linux-mtd,
	punnaia, ran27jit, linux-arm-kernel

This series of patches is to add dual parallel and stacked mode support for
Zynq Ultrascale+ MPSoC GQSPI controller driver.

These are all very high level changes and expected to make an idea clear.
Comments and suggestions are welcomed.

What is dual parallel mode?
---------------------------
ZynqMP GQSPI controller supports Dual Parallel mode with following functionalities:
1) Supporting two SPI flash memories operating in parallel. 8 I/O lines.
2) Chip selects and clock are shared to both the flash devices
3) This mode is targeted for faster read/write speed and also doubles the size
4) Commands/data can be transmitted/received from both the devices(mirror),
   or only upper or only lower flash memory devices.
5) Data arrangement:
   With stripe enabled,
   Even bytes i.e. 0, 2, 4,... are transmitted on Lower Data Bus
   Odd bytes i.e. 1, 3, 5,.. are transmitted on Upper Data Bus.

What is stacked mode?
---------------------
ZynqMP GQSPI controller supports stacked mode with following functionalities:
1) The Generic Quad-SPI controller also supports two SPI flash memories
   in a shared bus arrangement to reduce IO pin count.
2) Separate chip select lines
3) Shared I/O lines
4) This mode is targeted for increasing the flash memory and no performance
   improvement when compared with single.

Suggestions on MTD layer support
--------------------------------
In order to add above two specified modes, we may required to get some
support from MTD layer.

I'm trying to list the dependencies as follows:
1) Support for two flashes
2) Enable/Disable data stripe as and when required.
3) May need to update read_sr() to get status of both flashes
4) May also need to update read_fsr() to get status of both flashes
5) Adjustment of offset value based on the parallel/stacked mode configuration
6) Setting either parallel or stacked mode during the scan process.
7) In case of stacked mode, is there a MTD concatenation support?

Kindly suggest us the way by which we can proceed further for adding this
support.

Will plan to send RFC for MTD related changes, based on above dependencies.

Ranjit Waghmode (2):
  spi: zynqmp: gqspi: add support for dual parallel mode configuration
  spi: zynqmp: gqspi: add support for stacked mode configuration

 drivers/spi/spi-zynqmp-gqspi.c | 28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

--
2.1.2

^ permalink raw reply	[flat|nested] 53+ messages in thread

* [RFC PATCH 1/2] spi: zynqmp: gqspi: add support for dual parallel mode configuration
  2015-07-09 12:44 ` Ranjit Waghmode
  (?)
@ 2015-07-09 12:44   ` Ranjit Waghmode
  -1 siblings, 0 replies; 53+ messages in thread
From: Ranjit Waghmode @ 2015-07-09 12:44 UTC (permalink / raw)
  To: broonie, michal.simek, soren.brinkmann, dwmw2, computersforpeace,
	zajec5, marex, shijie.huang, juhosg, ben
  Cc: linux-mtd, linux-spi, linux-arm-kernel, linux-kernel, harinik,
	punnaia, ran27jit, Ranjit Waghmode

This patch adds support of dual parallel mode configuration for
Zynq Ultrascale+ MPSoC GQSPI controller driver.

Signed-off-by: Ranjit Waghmode <ranjit.waghmode@xilinx.com>
---
 drivers/spi/spi-zynqmp-gqspi.c | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/drivers/spi/spi-zynqmp-gqspi.c b/drivers/spi/spi-zynqmp-gqspi.c
index 87b20a5..271fa80 100644
--- a/drivers/spi/spi-zynqmp-gqspi.c
+++ b/drivers/spi/spi-zynqmp-gqspi.c
@@ -153,6 +153,7 @@ enum mode_type {GQSPI_MODE_IO, GQSPI_MODE_DMA};
  * @dma_rx_bytes:	Remaining bytes to receive by DMA mode
  * @dma_addr:		DMA address after mapping the kernel buffer
  * @genfifoentry:	Used for storing the genfifoentry instruction.
+ * @isinstr:		To determine whether the transfer is instruction
  * @mode:		Defines the mode in which QSPI is operating
  */
 struct zynqmp_qspi {
@@ -170,6 +171,7 @@ struct zynqmp_qspi {
 	u32 dma_rx_bytes;
 	dma_addr_t dma_addr;
 	u32 genfifoentry;
+	bool isinstr;
 	enum mode_type mode;
 };

@@ -404,9 +406,20 @@ 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_selectslave(xqspi,
+				GQSPI_SELECT_FLASH_CS_BOTH,
+				GQSPI_SELECT_FLASH_BUS_BOTH);
+	} else {
+		zynqmp_gqspi_selectslave(xqspi,
+				GQSPI_SELECT_FLASH_CS_LOWER,
+				GQSPI_SELECT_FLASH_BUS_LOWER);
+	}
+
 	if (!is_high) {
 		genfifoentry |= xqspi->genfifocs;
 		genfifoentry |= GQSPI_GENFIFO_CS_SETUP;
+		xqspi->isinstr = true;
 	} else {
 		genfifoentry |= GQSPI_GENFIFO_CS_HOLD;
 	}
@@ -663,6 +676,7 @@ static irqreturn_t zynqmp_qspi_irq(int irq, void *dev_id)
 	if ((xqspi->bytes_to_receive == 0) && (xqspi->bytes_to_transfer == 0)
 			&& ((status & GQSPI_IRQ_MASK) == GQSPI_IRQ_MASK)) {
 		zynqmp_gqspi_write(xqspi, GQSPI_IDR_OFST, GQSPI_ISR_IDR_MASK);
+		xqspi->isinstr = false;
 		spi_finalize_current_transfer(master);
 		ret = IRQ_HANDLED;
 	}
@@ -826,6 +840,9 @@ static int zynqmp_qspi_start_transfer(struct spi_master *master,
 	genfifoentry |= xqspi->genfifocs;
 	genfifoentry |= xqspi->genfifobus;

+	if ((!xqspi->isinstr) && (master->flags & SPI_DATA_STRIPE))
+		genfifoentry |= GQSPI_GENFIFO_STRIPE;
+
 	zynqmp_qspi_txrxsetup(xqspi, transfer, &genfifoentry);

 	if (xqspi->mode == GQSPI_MODE_DMA)
@@ -982,6 +999,7 @@ static int zynqmp_qspi_probe(struct platform_device *pdev)
 	struct zynqmp_qspi *xqspi;
 	struct resource *res;
 	struct device *dev = &pdev->dev;
+	u32 num_cs;

 	master = spi_alloc_master(&pdev->dev, sizeof(*xqspi));
 	if (!master)
@@ -1042,7 +1060,11 @@ static int zynqmp_qspi_probe(struct platform_device *pdev)
 		goto clk_dis_all;
 	}

-	master->num_chipselect = GQSPI_DEFAULT_NUM_CS;
+	ret = of_property_read_u32(pdev->dev.of_node, "num-cs", &num_cs);
+	if (ret < 0)
+		master->num_chipselect = GQSPI_DEFAULT_NUM_CS;
+	else
+		master->num_chipselect = num_cs;

 	master->setup = zynqmp_qspi_setup;
 	master->set_cs = zynqmp_qspi_chipselect;
--
2.1.2


^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [RFC PATCH 1/2] spi: zynqmp: gqspi: add support for dual parallel mode configuration
@ 2015-07-09 12:44   ` Ranjit Waghmode
  0 siblings, 0 replies; 53+ messages in thread
From: Ranjit Waghmode @ 2015-07-09 12:44 UTC (permalink / raw)
  To: linux-arm-kernel

This patch adds support of dual parallel mode configuration for
Zynq Ultrascale+ MPSoC GQSPI controller driver.

Signed-off-by: Ranjit Waghmode <ranjit.waghmode@xilinx.com>
---
 drivers/spi/spi-zynqmp-gqspi.c | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/drivers/spi/spi-zynqmp-gqspi.c b/drivers/spi/spi-zynqmp-gqspi.c
index 87b20a5..271fa80 100644
--- a/drivers/spi/spi-zynqmp-gqspi.c
+++ b/drivers/spi/spi-zynqmp-gqspi.c
@@ -153,6 +153,7 @@ enum mode_type {GQSPI_MODE_IO, GQSPI_MODE_DMA};
  * @dma_rx_bytes:	Remaining bytes to receive by DMA mode
  * @dma_addr:		DMA address after mapping the kernel buffer
  * @genfifoentry:	Used for storing the genfifoentry instruction.
+ * @isinstr:		To determine whether the transfer is instruction
  * @mode:		Defines the mode in which QSPI is operating
  */
 struct zynqmp_qspi {
@@ -170,6 +171,7 @@ struct zynqmp_qspi {
 	u32 dma_rx_bytes;
 	dma_addr_t dma_addr;
 	u32 genfifoentry;
+	bool isinstr;
 	enum mode_type mode;
 };

@@ -404,9 +406,20 @@ 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_selectslave(xqspi,
+				GQSPI_SELECT_FLASH_CS_BOTH,
+				GQSPI_SELECT_FLASH_BUS_BOTH);
+	} else {
+		zynqmp_gqspi_selectslave(xqspi,
+				GQSPI_SELECT_FLASH_CS_LOWER,
+				GQSPI_SELECT_FLASH_BUS_LOWER);
+	}
+
 	if (!is_high) {
 		genfifoentry |= xqspi->genfifocs;
 		genfifoentry |= GQSPI_GENFIFO_CS_SETUP;
+		xqspi->isinstr = true;
 	} else {
 		genfifoentry |= GQSPI_GENFIFO_CS_HOLD;
 	}
@@ -663,6 +676,7 @@ static irqreturn_t zynqmp_qspi_irq(int irq, void *dev_id)
 	if ((xqspi->bytes_to_receive == 0) && (xqspi->bytes_to_transfer == 0)
 			&& ((status & GQSPI_IRQ_MASK) == GQSPI_IRQ_MASK)) {
 		zynqmp_gqspi_write(xqspi, GQSPI_IDR_OFST, GQSPI_ISR_IDR_MASK);
+		xqspi->isinstr = false;
 		spi_finalize_current_transfer(master);
 		ret = IRQ_HANDLED;
 	}
@@ -826,6 +840,9 @@ static int zynqmp_qspi_start_transfer(struct spi_master *master,
 	genfifoentry |= xqspi->genfifocs;
 	genfifoentry |= xqspi->genfifobus;

+	if ((!xqspi->isinstr) && (master->flags & SPI_DATA_STRIPE))
+		genfifoentry |= GQSPI_GENFIFO_STRIPE;
+
 	zynqmp_qspi_txrxsetup(xqspi, transfer, &genfifoentry);

 	if (xqspi->mode == GQSPI_MODE_DMA)
@@ -982,6 +999,7 @@ static int zynqmp_qspi_probe(struct platform_device *pdev)
 	struct zynqmp_qspi *xqspi;
 	struct resource *res;
 	struct device *dev = &pdev->dev;
+	u32 num_cs;

 	master = spi_alloc_master(&pdev->dev, sizeof(*xqspi));
 	if (!master)
@@ -1042,7 +1060,11 @@ static int zynqmp_qspi_probe(struct platform_device *pdev)
 		goto clk_dis_all;
 	}

-	master->num_chipselect = GQSPI_DEFAULT_NUM_CS;
+	ret = of_property_read_u32(pdev->dev.of_node, "num-cs", &num_cs);
+	if (ret < 0)
+		master->num_chipselect = GQSPI_DEFAULT_NUM_CS;
+	else
+		master->num_chipselect = num_cs;

 	master->setup = zynqmp_qspi_setup;
 	master->set_cs = zynqmp_qspi_chipselect;
--
2.1.2

^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [RFC PATCH 1/2] spi: zynqmp: gqspi: add support for dual parallel mode configuration
@ 2015-07-09 12:44   ` Ranjit Waghmode
  0 siblings, 0 replies; 53+ messages in thread
From: Ranjit Waghmode @ 2015-07-09 12:44 UTC (permalink / raw)
  To: broonie, michal.simek, soren.brinkmann, dwmw2, computersforpeace,
	zajec5, marex, shijie.huang, juhosg, ben
  Cc: harinik, Ranjit Waghmode, linux-kernel, linux-spi, linux-mtd,
	punnaia, ran27jit, linux-arm-kernel

This patch adds support of dual parallel mode configuration for
Zynq Ultrascale+ MPSoC GQSPI controller driver.

Signed-off-by: Ranjit Waghmode <ranjit.waghmode@xilinx.com>
---
 drivers/spi/spi-zynqmp-gqspi.c | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/drivers/spi/spi-zynqmp-gqspi.c b/drivers/spi/spi-zynqmp-gqspi.c
index 87b20a5..271fa80 100644
--- a/drivers/spi/spi-zynqmp-gqspi.c
+++ b/drivers/spi/spi-zynqmp-gqspi.c
@@ -153,6 +153,7 @@ enum mode_type {GQSPI_MODE_IO, GQSPI_MODE_DMA};
  * @dma_rx_bytes:	Remaining bytes to receive by DMA mode
  * @dma_addr:		DMA address after mapping the kernel buffer
  * @genfifoentry:	Used for storing the genfifoentry instruction.
+ * @isinstr:		To determine whether the transfer is instruction
  * @mode:		Defines the mode in which QSPI is operating
  */
 struct zynqmp_qspi {
@@ -170,6 +171,7 @@ struct zynqmp_qspi {
 	u32 dma_rx_bytes;
 	dma_addr_t dma_addr;
 	u32 genfifoentry;
+	bool isinstr;
 	enum mode_type mode;
 };

@@ -404,9 +406,20 @@ 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_selectslave(xqspi,
+				GQSPI_SELECT_FLASH_CS_BOTH,
+				GQSPI_SELECT_FLASH_BUS_BOTH);
+	} else {
+		zynqmp_gqspi_selectslave(xqspi,
+				GQSPI_SELECT_FLASH_CS_LOWER,
+				GQSPI_SELECT_FLASH_BUS_LOWER);
+	}
+
 	if (!is_high) {
 		genfifoentry |= xqspi->genfifocs;
 		genfifoentry |= GQSPI_GENFIFO_CS_SETUP;
+		xqspi->isinstr = true;
 	} else {
 		genfifoentry |= GQSPI_GENFIFO_CS_HOLD;
 	}
@@ -663,6 +676,7 @@ static irqreturn_t zynqmp_qspi_irq(int irq, void *dev_id)
 	if ((xqspi->bytes_to_receive == 0) && (xqspi->bytes_to_transfer == 0)
 			&& ((status & GQSPI_IRQ_MASK) == GQSPI_IRQ_MASK)) {
 		zynqmp_gqspi_write(xqspi, GQSPI_IDR_OFST, GQSPI_ISR_IDR_MASK);
+		xqspi->isinstr = false;
 		spi_finalize_current_transfer(master);
 		ret = IRQ_HANDLED;
 	}
@@ -826,6 +840,9 @@ static int zynqmp_qspi_start_transfer(struct spi_master *master,
 	genfifoentry |= xqspi->genfifocs;
 	genfifoentry |= xqspi->genfifobus;

+	if ((!xqspi->isinstr) && (master->flags & SPI_DATA_STRIPE))
+		genfifoentry |= GQSPI_GENFIFO_STRIPE;
+
 	zynqmp_qspi_txrxsetup(xqspi, transfer, &genfifoentry);

 	if (xqspi->mode == GQSPI_MODE_DMA)
@@ -982,6 +999,7 @@ static int zynqmp_qspi_probe(struct platform_device *pdev)
 	struct zynqmp_qspi *xqspi;
 	struct resource *res;
 	struct device *dev = &pdev->dev;
+	u32 num_cs;

 	master = spi_alloc_master(&pdev->dev, sizeof(*xqspi));
 	if (!master)
@@ -1042,7 +1060,11 @@ static int zynqmp_qspi_probe(struct platform_device *pdev)
 		goto clk_dis_all;
 	}

-	master->num_chipselect = GQSPI_DEFAULT_NUM_CS;
+	ret = of_property_read_u32(pdev->dev.of_node, "num-cs", &num_cs);
+	if (ret < 0)
+		master->num_chipselect = GQSPI_DEFAULT_NUM_CS;
+	else
+		master->num_chipselect = num_cs;

 	master->setup = zynqmp_qspi_setup;
 	master->set_cs = zynqmp_qspi_chipselect;
--
2.1.2

^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [RFC PATCH 2/2] spi: zynqmp: gqspi: add support for stacked mode configuration
  2015-07-09 12:44 ` Ranjit Waghmode
  (?)
@ 2015-07-09 12:44   ` Ranjit Waghmode
  -1 siblings, 0 replies; 53+ messages in thread
From: Ranjit Waghmode @ 2015-07-09 12:44 UTC (permalink / raw)
  To: broonie, michal.simek, soren.brinkmann, dwmw2, computersforpeace,
	zajec5, marex, shijie.huang, juhosg, ben
  Cc: linux-mtd, linux-spi, linux-arm-kernel, linux-kernel, harinik,
	punnaia, ran27jit, Ranjit Waghmode

This patch adds support of stacked mode configuration for
Zynq Ultrascale+ MPSoC GQSPI controller driver.

Signed-off-by: Ranjit Waghmode <ranjit.waghmode@xilinx.com>
---
 drivers/spi/spi-zynqmp-gqspi.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/spi/spi-zynqmp-gqspi.c b/drivers/spi/spi-zynqmp-gqspi.c
index 271fa80..6c9f7d9 100644
--- a/drivers/spi/spi-zynqmp-gqspi.c
+++ b/drivers/spi/spi-zynqmp-gqspi.c
@@ -410,6 +410,10 @@ static void zynqmp_qspi_chipselect(struct spi_device *qspi, bool is_high)
 		zynqmp_gqspi_selectslave(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_selectslave(xqspi,
 				GQSPI_SELECT_FLASH_CS_LOWER,
--
2.1.2


^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [RFC PATCH 2/2] spi: zynqmp: gqspi: add support for stacked mode configuration
@ 2015-07-09 12:44   ` Ranjit Waghmode
  0 siblings, 0 replies; 53+ messages in thread
From: Ranjit Waghmode @ 2015-07-09 12:44 UTC (permalink / raw)
  To: linux-arm-kernel

This patch adds support of stacked mode configuration for
Zynq Ultrascale+ MPSoC GQSPI controller driver.

Signed-off-by: Ranjit Waghmode <ranjit.waghmode@xilinx.com>
---
 drivers/spi/spi-zynqmp-gqspi.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/spi/spi-zynqmp-gqspi.c b/drivers/spi/spi-zynqmp-gqspi.c
index 271fa80..6c9f7d9 100644
--- a/drivers/spi/spi-zynqmp-gqspi.c
+++ b/drivers/spi/spi-zynqmp-gqspi.c
@@ -410,6 +410,10 @@ static void zynqmp_qspi_chipselect(struct spi_device *qspi, bool is_high)
 		zynqmp_gqspi_selectslave(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_selectslave(xqspi,
 				GQSPI_SELECT_FLASH_CS_LOWER,
--
2.1.2

^ permalink raw reply related	[flat|nested] 53+ messages in thread

* [RFC PATCH 2/2] spi: zynqmp: gqspi: add support for stacked mode configuration
@ 2015-07-09 12:44   ` Ranjit Waghmode
  0 siblings, 0 replies; 53+ messages in thread
From: Ranjit Waghmode @ 2015-07-09 12:44 UTC (permalink / raw)
  To: broonie-DgEjT+Ai2ygdnm+yROfE0A,
	michal.simek-gjFFaj9aHVfQT0dZR+AlfA,
	soren.brinkmann-gjFFaj9aHVfQT0dZR+AlfA,
	dwmw2-wEGCiKHe2LqWVfeAwA7xHQ,
	computersforpeace-Re5JQEeQqe8AvxtiuMwx3w,
	zajec5-Re5JQEeQqe8AvxtiuMwx3w, marex-ynQEQJNshbs,
	shijie.huang-ral2JQCrhuEAvxtiuMwx3w,
	juhosg-p3rKhJxN3npAfugRpC6u6w, ben-/+tVBieCtBitmTQ+vhA3Yw
  Cc: linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-spi-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	harinik-gjFFaj9aHVfQT0dZR+AlfA, punnaia-gjFFaj9aHVfQT0dZR+AlfA,
	ran27jit-Re5JQEeQqe8AvxtiuMwx3w, Ranjit Waghmode

This patch adds support of stacked mode configuration for
Zynq Ultrascale+ MPSoC GQSPI controller driver.

Signed-off-by: Ranjit Waghmode <ranjit.waghmode-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>
---
 drivers/spi/spi-zynqmp-gqspi.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/spi/spi-zynqmp-gqspi.c b/drivers/spi/spi-zynqmp-gqspi.c
index 271fa80..6c9f7d9 100644
--- a/drivers/spi/spi-zynqmp-gqspi.c
+++ b/drivers/spi/spi-zynqmp-gqspi.c
@@ -410,6 +410,10 @@ static void zynqmp_qspi_chipselect(struct spi_device *qspi, bool is_high)
 		zynqmp_gqspi_selectslave(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_selectslave(xqspi,
 				GQSPI_SELECT_FLASH_CS_LOWER,
--
2.1.2

--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 53+ messages in thread

* Re: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
  2015-07-09 12:44 ` Ranjit Waghmode
@ 2015-07-10  8:28   ` Mike Looijmans
  -1 siblings, 0 replies; 53+ messages in thread
From: Mike Looijmans @ 2015-07-10  8:28 UTC (permalink / raw)
  To: Ranjit Waghmode, broonie, michal.simek, soren.brinkmann, dwmw2,
	computersforpeace, zajec5, marex, shijie.huang, juhosg, ben
  Cc: harinik, linux-kernel, linux-spi, linux-mtd, punnaia, ran27jit,
	linux-arm-kernel

On 09-07-15 14:44, Ranjit Waghmode wrote:
> This series of patches is to add dual parallel and stacked mode support for
> Zynq Ultrascale+ MPSoC GQSPI controller driver.
>
> These are all very high level changes and expected to make an idea clear.
> Comments and suggestions are welcomed.
>
...
>
> What is stacked mode?
> ---------------------
> ZynqMP GQSPI controller supports stacked mode with following functionalities:
> 1) The Generic Quad-SPI controller also supports two SPI flash memories
>     in a shared bus arrangement to reduce IO pin count.
> 2) Separate chip select lines
> 3) Shared I/O lines
> 4) This mode is targeted for increasing the flash memory and no performance
>     improvement when compared with single.

One could also model the stacked mode as having two distinct flash chips with 
separate chip selects and shared lines.
Merging them into a single storage device can be done on block layer or higher 
level. This allows the flash chips to be used in any configuration using 
existing support for concatenating multiple devices.
I think this would be a more generic way of doing this. It also allows much 
more flexibility, for example the devices could be used in a mirror setup, or 
in combination with additional devices on other controllers.


Kind regards,

Mike Looijmans
System Expert

TOPIC Embedded Products
Eindhovenseweg 32-C, NL-5683 KH Best
Postbus 440, NL-5680 AK Best
Telefoon: +31 (0) 499 33 69 79
Telefax: +31 (0) 499 33 69 70
E-mail: mike.looijmans@topicproducts.com
Website: www.topicproducts.com

Please consider the environment before printing this e-mail






^ permalink raw reply	[flat|nested] 53+ messages in thread

* [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-10  8:28   ` Mike Looijmans
  0 siblings, 0 replies; 53+ messages in thread
From: Mike Looijmans @ 2015-07-10  8:28 UTC (permalink / raw)
  To: linux-arm-kernel

?On 09-07-15 14:44, Ranjit Waghmode wrote:
> This series of patches is to add dual parallel and stacked mode support for
> Zynq Ultrascale+ MPSoC GQSPI controller driver.
>
> These are all very high level changes and expected to make an idea clear.
> Comments and suggestions are welcomed.
>
...
>
> What is stacked mode?
> ---------------------
> ZynqMP GQSPI controller supports stacked mode with following functionalities:
> 1) The Generic Quad-SPI controller also supports two SPI flash memories
>     in a shared bus arrangement to reduce IO pin count.
> 2) Separate chip select lines
> 3) Shared I/O lines
> 4) This mode is targeted for increasing the flash memory and no performance
>     improvement when compared with single.

One could also model the stacked mode as having two distinct flash chips with 
separate chip selects and shared lines.
Merging them into a single storage device can be done on block layer or higher 
level. This allows the flash chips to be used in any configuration using 
existing support for concatenating multiple devices.
I think this would be a more generic way of doing this. It also allows much 
more flexibility, for example the devices could be used in a mirror setup, or 
in combination with additional devices on other controllers.


Kind regards,

Mike Looijmans
System Expert

TOPIC Embedded Products
Eindhovenseweg 32-C, NL-5683 KH Best
Postbus 440, NL-5680 AK Best
Telefoon: +31 (0) 499 33 69 79
Telefax: +31 (0) 499 33 69 70
E-mail: mike.looijmans at topicproducts.com
Website: www.topicproducts.com

Please consider the environment before printing this e-mail

^ permalink raw reply	[flat|nested] 53+ messages in thread

* Re: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
  2015-07-09 12:44 ` Ranjit Waghmode
  (?)
@ 2015-07-13 10:04   ` Thomas.Betker at rohde-schwarz.com
  -1 siblings, 0 replies; 53+ messages in thread
From: Thomas.Betker @ 2015-07-13 10:04 UTC (permalink / raw)
  To: Ranjit Waghmode
  Cc: ben, broonie, computersforpeace, dwmw2, harinik, juhosg,
	linux-arm-kernel, linux-kernel, linux-mtd, linux-mtd, linux-spi,
	marex, michal.simek, punnaia, ran27jit, shijie.huang,
	soren.brinkmann, zajec5

Hello Ranjit:

> What is dual parallel mode?
> ---------------------------
> ZynqMP GQSPI controller supports Dual Parallel mode with following 
> functionalities:
> 1) Supporting two SPI flash memories operating in parallel. 8 I/O lines.
> 2) Chip selects and clock are shared to both the flash devices
> 3) This mode is targeted for faster read/write speed and also doubles 
the size
> 4) Commands/data can be transmitted/received from both the 
devices(mirror),
>    or only upper or only lower flash memory devices.
> 5) Data arrangement:
>    With stripe enabled,
>    Even bytes i.e. 0, 2, 4,... are transmitted on Lower Data Bus
>    Odd bytes i.e. 1, 3, 5,.. are transmitted on Upper Data Bus.

In the dual-parallel configuration, odd and even _bits_ of each byte are 
distributed over the flash chips; I am assuming this works just as in Zynq 
QSPI (apparently, the TRM for ZynqMP isn't out yet).

Striping seems to be a different mechanism, though. Can you explain it a 
bit more? Also, the wording seems to indicate that it belongs to 
dual-stacked rather than dual-parallel.

> Suggestions on MTD layer support
> --------------------------------
> In order to add above two specified modes, we may required to get some
> support from MTD layer.
> 
> I'm trying to list the dependencies as follows:
> 1) Support for two flashes
> 2) Enable/Disable data stripe as and when required.
> 3) May need to update read_sr() to get status of both flashes
> 4) May also need to update read_fsr() to get status of both flashes
> 5) Adjustment of offset value based on the parallel/stacked mode 
configuration
> 6) Setting either parallel or stacked mode during the scan process.
> 7) In case of stacked mode, is there a MTD concatenation support?

In addition to 5), the MTD driver using a dual-parallel QSPI flash has to
5a) add padding at the start of data for unaligned addresses,
5b) add padding at the end of data for unaligned lengths.

Best regards,
Thomas Betker

^ permalink raw reply	[flat|nested] 53+ messages in thread

* [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-13 10:04   ` Thomas.Betker at rohde-schwarz.com
  0 siblings, 0 replies; 53+ messages in thread
From: Thomas.Betker at rohde-schwarz.com @ 2015-07-13 10:04 UTC (permalink / raw)
  To: linux-arm-kernel

Hello Ranjit:

> What is dual parallel mode?
> ---------------------------
> ZynqMP GQSPI controller supports Dual Parallel mode with following 
> functionalities:
> 1) Supporting two SPI flash memories operating in parallel. 8 I/O lines.
> 2) Chip selects and clock are shared to both the flash devices
> 3) This mode is targeted for faster read/write speed and also doubles 
the size
> 4) Commands/data can be transmitted/received from both the 
devices(mirror),
>    or only upper or only lower flash memory devices.
> 5) Data arrangement:
>    With stripe enabled,
>    Even bytes i.e. 0, 2, 4,... are transmitted on Lower Data Bus
>    Odd bytes i.e. 1, 3, 5,.. are transmitted on Upper Data Bus.

In the dual-parallel configuration, odd and even _bits_ of each byte are 
distributed over the flash chips; I am assuming this works just as in Zynq 
QSPI (apparently, the TRM for ZynqMP isn't out yet).

Striping seems to be a different mechanism, though. Can you explain it a 
bit more? Also, the wording seems to indicate that it belongs to 
dual-stacked rather than dual-parallel.

> Suggestions on MTD layer support
> --------------------------------
> In order to add above two specified modes, we may required to get some
> support from MTD layer.
> 
> I'm trying to list the dependencies as follows:
> 1) Support for two flashes
> 2) Enable/Disable data stripe as and when required.
> 3) May need to update read_sr() to get status of both flashes
> 4) May also need to update read_fsr() to get status of both flashes
> 5) Adjustment of offset value based on the parallel/stacked mode 
configuration
> 6) Setting either parallel or stacked mode during the scan process.
> 7) In case of stacked mode, is there a MTD concatenation support?

In addition to 5), the MTD driver using a dual-parallel QSPI flash has to
5a) add padding at the start of data for unaligned addresses,
5b) add padding at the end of data for unaligned lengths.

Best regards,
Thomas Betker

^ permalink raw reply	[flat|nested] 53+ messages in thread

* Re: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-13 10:04   ` Thomas.Betker at rohde-schwarz.com
  0 siblings, 0 replies; 53+ messages in thread
From: Thomas.Betker @ 2015-07-13 10:04 UTC (permalink / raw)
  To: Ranjit Waghmode
  Cc: linux-mtd, harinik, marex, ben, zajec5, linux-kernel, linux-spi,
	juhosg, broonie, linux-mtd, soren.brinkmann, shijie.huang,
	punnaia, ran27jit, computersforpeace, dwmw2, michal.simek,
	linux-arm-kernel

Hello Ranjit:

> What is dual parallel mode?
> ---------------------------
> ZynqMP GQSPI controller supports Dual Parallel mode with following 
> functionalities:
> 1) Supporting two SPI flash memories operating in parallel. 8 I/O lines.
> 2) Chip selects and clock are shared to both the flash devices
> 3) This mode is targeted for faster read/write speed and also doubles 
the size
> 4) Commands/data can be transmitted/received from both the 
devices(mirror),
>    or only upper or only lower flash memory devices.
> 5) Data arrangement:
>    With stripe enabled,
>    Even bytes i.e. 0, 2, 4,... are transmitted on Lower Data Bus
>    Odd bytes i.e. 1, 3, 5,.. are transmitted on Upper Data Bus.

In the dual-parallel configuration, odd and even _bits_ of each byte are 
distributed over the flash chips; I am assuming this works just as in Zynq 
QSPI (apparently, the TRM for ZynqMP isn't out yet).

Striping seems to be a different mechanism, though. Can you explain it a 
bit more? Also, the wording seems to indicate that it belongs to 
dual-stacked rather than dual-parallel.

> Suggestions on MTD layer support
> --------------------------------
> In order to add above two specified modes, we may required to get some
> support from MTD layer.
> 
> I'm trying to list the dependencies as follows:
> 1) Support for two flashes
> 2) Enable/Disable data stripe as and when required.
> 3) May need to update read_sr() to get status of both flashes
> 4) May also need to update read_fsr() to get status of both flashes
> 5) Adjustment of offset value based on the parallel/stacked mode 
configuration
> 6) Setting either parallel or stacked mode during the scan process.
> 7) In case of stacked mode, is there a MTD concatenation support?

In addition to 5), the MTD driver using a dual-parallel QSPI flash has to
5a) add padding at the start of data for unaligned addresses,
5b) add padding at the end of data for unaligned lengths.

Best regards,
Thomas Betker

^ permalink raw reply	[flat|nested] 53+ messages in thread

* Re: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
  2015-07-10  8:28   ` Mike Looijmans
  (?)
@ 2015-07-13 14:59     ` Mark Brown
  -1 siblings, 0 replies; 53+ messages in thread
From: Mark Brown @ 2015-07-13 14:59 UTC (permalink / raw)
  To: Mike Looijmans
  Cc: Ranjit Waghmode, michal.simek, soren.brinkmann, dwmw2,
	computersforpeace, zajec5, marex, shijie.huang, juhosg, ben,
	harinik, linux-kernel, linux-spi, linux-mtd, punnaia, ran27jit,
	linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 783 bytes --]

On Fri, Jul 10, 2015 at 10:28:59AM +0200, Mike Looijmans wrote:
> On 09-07-15 14:44, Ranjit Waghmode wrote:

> >ZynqMP GQSPI controller supports stacked mode with following functionalities:
> >1) The Generic Quad-SPI controller also supports two SPI flash memories
> >    in a shared bus arrangement to reduce IO pin count.
> >2) Separate chip select lines
> >3) Shared I/O lines
> >4) This mode is targeted for increasing the flash memory and no performance
> >    improvement when compared with single.

> One could also model the stacked mode as having two distinct flash chips
> with separate chip selects and shared lines.

Well, quite.  I'm confused about how the above differs from a just a SPI
controller with two chip selects which is perfectly standard.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 53+ messages in thread

* [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-13 14:59     ` Mark Brown
  0 siblings, 0 replies; 53+ messages in thread
From: Mark Brown @ 2015-07-13 14:59 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jul 10, 2015 at 10:28:59AM +0200, Mike Looijmans wrote:
> ?On 09-07-15 14:44, Ranjit Waghmode wrote:

> >ZynqMP GQSPI controller supports stacked mode with following functionalities:
> >1) The Generic Quad-SPI controller also supports two SPI flash memories
> >    in a shared bus arrangement to reduce IO pin count.
> >2) Separate chip select lines
> >3) Shared I/O lines
> >4) This mode is targeted for increasing the flash memory and no performance
> >    improvement when compared with single.

> One could also model the stacked mode as having two distinct flash chips
> with separate chip selects and shared lines.

Well, quite.  I'm confused about how the above differs from a just a SPI
controller with two chip selects which is perfectly standard.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150713/da9eee36/attachment.sig>

^ permalink raw reply	[flat|nested] 53+ messages in thread

* Re: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-13 14:59     ` Mark Brown
  0 siblings, 0 replies; 53+ messages in thread
From: Mark Brown @ 2015-07-13 14:59 UTC (permalink / raw)
  To: Mike Looijmans
  Cc: Ranjit Waghmode, michal.simek-gjFFaj9aHVfQT0dZR+AlfA,
	soren.brinkmann-gjFFaj9aHVfQT0dZR+AlfA,
	dwmw2-wEGCiKHe2LqWVfeAwA7xHQ,
	computersforpeace-Re5JQEeQqe8AvxtiuMwx3w,
	zajec5-Re5JQEeQqe8AvxtiuMwx3w, marex-ynQEQJNshbs,
	shijie.huang-ral2JQCrhuEAvxtiuMwx3w,
	juhosg-p3rKhJxN3npAfugRpC6u6w, ben-/+tVBieCtBitmTQ+vhA3Yw,
	harinik-gjFFaj9aHVfQT0dZR+AlfA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-spi-u79uwXL29TY76Z2rM5mHXA,
	linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	punnaia-gjFFaj9aHVfQT0dZR+AlfA, ran27jit-Re5JQEeQqe8AvxtiuMwx3w,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

[-- Attachment #1: Type: text/plain, Size: 783 bytes --]

On Fri, Jul 10, 2015 at 10:28:59AM +0200, Mike Looijmans wrote:
> On 09-07-15 14:44, Ranjit Waghmode wrote:

> >ZynqMP GQSPI controller supports stacked mode with following functionalities:
> >1) The Generic Quad-SPI controller also supports two SPI flash memories
> >    in a shared bus arrangement to reduce IO pin count.
> >2) Separate chip select lines
> >3) Shared I/O lines
> >4) This mode is targeted for increasing the flash memory and no performance
> >    improvement when compared with single.

> One could also model the stacked mode as having two distinct flash chips
> with separate chip selects and shared lines.

Well, quite.  I'm confused about how the above differs from a just a SPI
controller with two chip selects which is perfectly standard.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 53+ messages in thread

* Re: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
  2015-07-13 10:04   ` Thomas.Betker at rohde-schwarz.com
  (?)
@ 2015-07-14  4:24     ` Harini Katakam
  -1 siblings, 0 replies; 53+ messages in thread
From: Harini Katakam @ 2015-07-14  4:24 UTC (permalink / raw)
  To: Thomas.Betker
  Cc: Ranjit Waghmode, linux-mtd, Marek Vašut, ben, zajec5,
	linux-kernel@vger.kernel.org, linux-spi, juhosg, Mark Brown,
	linux-mtd, Sören Brinkmann, shijie.huang,
	Punnaiah Choudary Kalluri, Ranjit Waghmode, Brian Norris,
	David Woodhouse, Michal Simek,
	linux-arm-kernel@lists.infradead.org

Hi Thomas,

On Mon, Jul 13, 2015 at 3:34 PM,  <Thomas.Betker@rohde-schwarz.com> wrote:
> Hello Ranjit:
>
>> What is dual parallel mode?
>> ---------------------------
>> ZynqMP GQSPI controller supports Dual Parallel mode with following
>> functionalities:
>> 1) Supporting two SPI flash memories operating in parallel. 8 I/O lines.
>> 2) Chip selects and clock are shared to both the flash devices
>> 3) This mode is targeted for faster read/write speed and also doubles
> the size
>> 4) Commands/data can be transmitted/received from both the
> devices(mirror),
>>    or only upper or only lower flash memory devices.
>> 5) Data arrangement:
>>    With stripe enabled,
>>    Even bytes i.e. 0, 2, 4,... are transmitted on Lower Data Bus
>>    Odd bytes i.e. 1, 3, 5,.. are transmitted on Upper Data Bus.
>
> In the dual-parallel configuration, odd and even _bits_ of each byte are
> distributed over the flash chips; I am assuming this works just as in Zynq
> QSPI (apparently, the TRM for ZynqMP isn't out yet).
>
> Striping seems to be a different mechanism, though. Can you explain it a
> bit more? Also, the wording seems to indicate that it belongs to
> dual-stacked rather than dual-parallel.

This differs between Zynq and ZynqMP.
Bytes are alternated between the two flash devices in ZynqMP.
In Zynq, bits were alternated.
This is dual parallel because both the chips can be selected at the same time
and have two separate data bus connected. One of the two can be done:
1. Enable Stripe - data bytes 0,2,4... to one flash and data bytes
1,3,5.. to the other
This is typically used for read and write memory operations.
2. Disable Stripe (Mirror) - all the bytes are sent to both flash devices.
This is typically used for control operations such as WriteEnable etc.

>
>> Suggestions on MTD layer support
>> --------------------------------
>> In order to add above two specified modes, we may required to get some
>> support from MTD layer.
>>
>> I'm trying to list the dependencies as follows:
>> 1) Support for two flashes
>> 2) Enable/Disable data stripe as and when required.
>> 3) May need to update read_sr() to get status of both flashes
>> 4) May also need to update read_fsr() to get status of both flashes
>> 5) Adjustment of offset value based on the parallel/stacked mode
> configuration
>> 6) Setting either parallel or stacked mode during the scan process.
>> 7) In case of stacked mode, is there a MTD concatenation support?
>
> In addition to 5), the MTD driver using a dual-parallel QSPI flash has to
> 5a) add padding at the start of data for unaligned addresses,
> 5b) add padding at the end of data for unaligned lengths.

In dual-parallel in ZynqMP, we no longer stripe bits, eliminating
the need for padding unaligned lengths.

Regards,
Harini

>
> Best regards,
> Thomas Betker
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 53+ messages in thread

* [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-14  4:24     ` Harini Katakam
  0 siblings, 0 replies; 53+ messages in thread
From: Harini Katakam @ 2015-07-14  4:24 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Thomas,

On Mon, Jul 13, 2015 at 3:34 PM,  <Thomas.Betker@rohde-schwarz.com> wrote:
> Hello Ranjit:
>
>> What is dual parallel mode?
>> ---------------------------
>> ZynqMP GQSPI controller supports Dual Parallel mode with following
>> functionalities:
>> 1) Supporting two SPI flash memories operating in parallel. 8 I/O lines.
>> 2) Chip selects and clock are shared to both the flash devices
>> 3) This mode is targeted for faster read/write speed and also doubles
> the size
>> 4) Commands/data can be transmitted/received from both the
> devices(mirror),
>>    or only upper or only lower flash memory devices.
>> 5) Data arrangement:
>>    With stripe enabled,
>>    Even bytes i.e. 0, 2, 4,... are transmitted on Lower Data Bus
>>    Odd bytes i.e. 1, 3, 5,.. are transmitted on Upper Data Bus.
>
> In the dual-parallel configuration, odd and even _bits_ of each byte are
> distributed over the flash chips; I am assuming this works just as in Zynq
> QSPI (apparently, the TRM for ZynqMP isn't out yet).
>
> Striping seems to be a different mechanism, though. Can you explain it a
> bit more? Also, the wording seems to indicate that it belongs to
> dual-stacked rather than dual-parallel.

This differs between Zynq and ZynqMP.
Bytes are alternated between the two flash devices in ZynqMP.
In Zynq, bits were alternated.
This is dual parallel because both the chips can be selected at the same time
and have two separate data bus connected. One of the two can be done:
1. Enable Stripe - data bytes 0,2,4... to one flash and data bytes
1,3,5.. to the other
This is typically used for read and write memory operations.
2. Disable Stripe (Mirror) - all the bytes are sent to both flash devices.
This is typically used for control operations such as WriteEnable etc.

>
>> Suggestions on MTD layer support
>> --------------------------------
>> In order to add above two specified modes, we may required to get some
>> support from MTD layer.
>>
>> I'm trying to list the dependencies as follows:
>> 1) Support for two flashes
>> 2) Enable/Disable data stripe as and when required.
>> 3) May need to update read_sr() to get status of both flashes
>> 4) May also need to update read_fsr() to get status of both flashes
>> 5) Adjustment of offset value based on the parallel/stacked mode
> configuration
>> 6) Setting either parallel or stacked mode during the scan process.
>> 7) In case of stacked mode, is there a MTD concatenation support?
>
> In addition to 5), the MTD driver using a dual-parallel QSPI flash has to
> 5a) add padding at the start of data for unaligned addresses,
> 5b) add padding at the end of data for unaligned lengths.

In dual-parallel in ZynqMP, we no longer stripe bits, eliminating
the need for padding unaligned lengths.

Regards,
Harini

>
> Best regards,
> Thomas Betker
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 53+ messages in thread

* Re: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-14  4:24     ` Harini Katakam
  0 siblings, 0 replies; 53+ messages in thread
From: Harini Katakam @ 2015-07-14  4:24 UTC (permalink / raw)
  To: Thomas.Betker-Bf/A/FSCP0w3s4ca2cGeAgC/G2K4zDHf
  Cc: Ranjit Waghmode, linux-mtd, Marek Vašut,
	ben-/+tVBieCtBitmTQ+vhA3Yw, zajec5-Re5JQEeQqe8AvxtiuMwx3w,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-spi,
	juhosg-p3rKhJxN3npAfugRpC6u6w, Mark Brown,
	linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Sören Brinkmann,
	shijie.huang-ral2JQCrhuEAvxtiuMwx3w, Punnaiah Choudary Kalluri,
	Ranjit Waghmode, Brian Norris, David Woodhouse, Michal Simek,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org

Hi Thomas,

On Mon, Jul 13, 2015 at 3:34 PM,  <Thomas.Betker-Bf/A/FSCP0w3s4ca2cGeAgC/G2K4zDHf@public.gmane.org> wrote:
> Hello Ranjit:
>
>> What is dual parallel mode?
>> ---------------------------
>> ZynqMP GQSPI controller supports Dual Parallel mode with following
>> functionalities:
>> 1) Supporting two SPI flash memories operating in parallel. 8 I/O lines.
>> 2) Chip selects and clock are shared to both the flash devices
>> 3) This mode is targeted for faster read/write speed and also doubles
> the size
>> 4) Commands/data can be transmitted/received from both the
> devices(mirror),
>>    or only upper or only lower flash memory devices.
>> 5) Data arrangement:
>>    With stripe enabled,
>>    Even bytes i.e. 0, 2, 4,... are transmitted on Lower Data Bus
>>    Odd bytes i.e. 1, 3, 5,.. are transmitted on Upper Data Bus.
>
> In the dual-parallel configuration, odd and even _bits_ of each byte are
> distributed over the flash chips; I am assuming this works just as in Zynq
> QSPI (apparently, the TRM for ZynqMP isn't out yet).
>
> Striping seems to be a different mechanism, though. Can you explain it a
> bit more? Also, the wording seems to indicate that it belongs to
> dual-stacked rather than dual-parallel.

This differs between Zynq and ZynqMP.
Bytes are alternated between the two flash devices in ZynqMP.
In Zynq, bits were alternated.
This is dual parallel because both the chips can be selected at the same time
and have two separate data bus connected. One of the two can be done:
1. Enable Stripe - data bytes 0,2,4... to one flash and data bytes
1,3,5.. to the other
This is typically used for read and write memory operations.
2. Disable Stripe (Mirror) - all the bytes are sent to both flash devices.
This is typically used for control operations such as WriteEnable etc.

>
>> Suggestions on MTD layer support
>> --------------------------------
>> In order to add above two specified modes, we may required to get some
>> support from MTD layer.
>>
>> I'm trying to list the dependencies as follows:
>> 1) Support for two flashes
>> 2) Enable/Disable data stripe as and when required.
>> 3) May need to update read_sr() to get status of both flashes
>> 4) May also need to update read_fsr() to get status of both flashes
>> 5) Adjustment of offset value based on the parallel/stacked mode
> configuration
>> 6) Setting either parallel or stacked mode during the scan process.
>> 7) In case of stacked mode, is there a MTD concatenation support?
>
> In addition to 5), the MTD driver using a dual-parallel QSPI flash has to
> 5a) add padding at the start of data for unaligned addresses,
> 5b) add padding at the end of data for unaligned lengths.

In dual-parallel in ZynqMP, we no longer stripe bits, eliminating
the need for padding unaligned lengths.

Regards,
Harini

>
> Best regards,
> Thomas Betker
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 53+ messages in thread

* Re: [RFC PATCH 1/2] spi: zynqmp: gqspi: add support for dual parallel mode configuration
  2015-07-09 12:44   ` Ranjit Waghmode
  (?)
@ 2015-07-14 16:26     ` Mark Brown
  -1 siblings, 0 replies; 53+ messages in thread
From: Mark Brown @ 2015-07-14 16:26 UTC (permalink / raw)
  To: Ranjit Waghmode
  Cc: michal.simek, soren.brinkmann, dwmw2, computersforpeace, zajec5,
	marex, shijie.huang, juhosg, ben, linux-mtd, linux-spi,
	linux-arm-kernel, linux-kernel, harinik, punnaia, ran27jit

[-- Attachment #1: Type: text/plain, Size: 154 bytes --]

On Thu, Jul 09, 2015 at 06:14:54PM +0530, Ranjit Waghmode wrote:

> +	if (qspi->master->flags & SPI_BOTH_FLASH) {

There's currently no SPI_BOTH_FLASH...

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 53+ messages in thread

* [RFC PATCH 1/2] spi: zynqmp: gqspi: add support for dual parallel mode configuration
@ 2015-07-14 16:26     ` Mark Brown
  0 siblings, 0 replies; 53+ messages in thread
From: Mark Brown @ 2015-07-14 16:26 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Jul 09, 2015 at 06:14:54PM +0530, Ranjit Waghmode wrote:

> +	if (qspi->master->flags & SPI_BOTH_FLASH) {

There's currently no SPI_BOTH_FLASH...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150714/f7a86762/attachment.sig>

^ permalink raw reply	[flat|nested] 53+ messages in thread

* Re: [RFC PATCH 1/2] spi: zynqmp: gqspi: add support for dual parallel mode configuration
@ 2015-07-14 16:26     ` Mark Brown
  0 siblings, 0 replies; 53+ messages in thread
From: Mark Brown @ 2015-07-14 16:26 UTC (permalink / raw)
  To: Ranjit Waghmode
  Cc: michal.simek-gjFFaj9aHVfQT0dZR+AlfA,
	soren.brinkmann-gjFFaj9aHVfQT0dZR+AlfA,
	dwmw2-wEGCiKHe2LqWVfeAwA7xHQ,
	computersforpeace-Re5JQEeQqe8AvxtiuMwx3w,
	zajec5-Re5JQEeQqe8AvxtiuMwx3w, marex-ynQEQJNshbs,
	shijie.huang-ral2JQCrhuEAvxtiuMwx3w,
	juhosg-p3rKhJxN3npAfugRpC6u6w, ben-/+tVBieCtBitmTQ+vhA3Yw,
	linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-spi-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	harinik-gjFFaj9aHVfQT0dZR+AlfA, punnaia-gjFFaj9aHVfQT0dZR+AlfA,
	ran27jit-Re5JQEeQqe8AvxtiuMwx3w

[-- Attachment #1: Type: text/plain, Size: 154 bytes --]

On Thu, Jul 09, 2015 at 06:14:54PM +0530, Ranjit Waghmode wrote:

> +	if (qspi->master->flags & SPI_BOTH_FLASH) {

There's currently no SPI_BOTH_FLASH...

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 53+ messages in thread

* Re: [RFC PATCH 2/2] spi: zynqmp: gqspi: add support for stacked mode configuration
  2015-07-09 12:44   ` Ranjit Waghmode
  (?)
@ 2015-07-14 16:28     ` Mark Brown
  -1 siblings, 0 replies; 53+ messages in thread
From: Mark Brown @ 2015-07-14 16:28 UTC (permalink / raw)
  To: Ranjit Waghmode
  Cc: michal.simek, soren.brinkmann, dwmw2, computersforpeace, zajec5,
	marex, shijie.huang, juhosg, ben, linux-mtd, linux-spi,
	linux-arm-kernel, linux-kernel, harinik, punnaia, ran27jit

[-- Attachment #1: Type: text/plain, Size: 371 bytes --]

On Thu, Jul 09, 2015 at 06:14:55PM +0530, Ranjit Waghmode wrote:
> This patch adds support of stacked mode configuration for
> Zynq Ultrascale+ MPSoC GQSPI controller driver.

> +	} else if (qspi->master->flags & SPI_MASTER_U_PAGE) {

Same here, there's no definition of SPI_MASTER_U_PAGE.  It doesn't sound
very generic but I'm not entirely sure what "stacked mode" is.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 53+ messages in thread

* [RFC PATCH 2/2] spi: zynqmp: gqspi: add support for stacked mode configuration
@ 2015-07-14 16:28     ` Mark Brown
  0 siblings, 0 replies; 53+ messages in thread
From: Mark Brown @ 2015-07-14 16:28 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Jul 09, 2015 at 06:14:55PM +0530, Ranjit Waghmode wrote:
> This patch adds support of stacked mode configuration for
> Zynq Ultrascale+ MPSoC GQSPI controller driver.

> +	} else if (qspi->master->flags & SPI_MASTER_U_PAGE) {

Same here, there's no definition of SPI_MASTER_U_PAGE.  It doesn't sound
very generic but I'm not entirely sure what "stacked mode" is.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150714/7fcc581a/attachment-0001.sig>

^ permalink raw reply	[flat|nested] 53+ messages in thread

* Re: [RFC PATCH 2/2] spi: zynqmp: gqspi: add support for stacked mode configuration
@ 2015-07-14 16:28     ` Mark Brown
  0 siblings, 0 replies; 53+ messages in thread
From: Mark Brown @ 2015-07-14 16:28 UTC (permalink / raw)
  To: Ranjit Waghmode
  Cc: michal.simek-gjFFaj9aHVfQT0dZR+AlfA,
	soren.brinkmann-gjFFaj9aHVfQT0dZR+AlfA,
	dwmw2-wEGCiKHe2LqWVfeAwA7xHQ,
	computersforpeace-Re5JQEeQqe8AvxtiuMwx3w,
	zajec5-Re5JQEeQqe8AvxtiuMwx3w, marex-ynQEQJNshbs,
	shijie.huang-ral2JQCrhuEAvxtiuMwx3w,
	juhosg-p3rKhJxN3npAfugRpC6u6w, ben-/+tVBieCtBitmTQ+vhA3Yw,
	linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-spi-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	harinik-gjFFaj9aHVfQT0dZR+AlfA, punnaia-gjFFaj9aHVfQT0dZR+AlfA,
	ran27jit-Re5JQEeQqe8AvxtiuMwx3w

[-- Attachment #1: Type: text/plain, Size: 371 bytes --]

On Thu, Jul 09, 2015 at 06:14:55PM +0530, Ranjit Waghmode wrote:
> This patch adds support of stacked mode configuration for
> Zynq Ultrascale+ MPSoC GQSPI controller driver.

> +	} else if (qspi->master->flags & SPI_MASTER_U_PAGE) {

Same here, there's no definition of SPI_MASTER_U_PAGE.  It doesn't sound
very generic but I'm not entirely sure what "stacked mode" is.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 53+ messages in thread

* Re: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
  2015-07-09 12:44 ` Ranjit Waghmode
  (?)
@ 2015-07-14 16:40   ` Mark Brown
  -1 siblings, 0 replies; 53+ messages in thread
From: Mark Brown @ 2015-07-14 16:40 UTC (permalink / raw)
  To: Ranjit Waghmode
  Cc: michal.simek, soren.brinkmann, dwmw2, computersforpeace, zajec5,
	marex, shijie.huang, juhosg, ben, linux-mtd, linux-spi,
	linux-arm-kernel, linux-kernel, harinik, punnaia, ran27jit

[-- Attachment #1: Type: text/plain, Size: 1318 bytes --]

On Thu, Jul 09, 2015 at 06:14:53PM +0530, Ranjit Waghmode wrote:


> What is dual parallel mode?
> ---------------------------
> ZynqMP GQSPI controller supports Dual Parallel mode with following functionalities:
> 1) Supporting two SPI flash memories operating in parallel. 8 I/O lines.
> 2) Chip selects and clock are shared to both the flash devices
> 3) This mode is targeted for faster read/write speed and also doubles the size
> 4) Commands/data can be transmitted/received from both the devices(mirror),
>    or only upper or only lower flash memory devices.
> 5) Data arrangement:
>    With stripe enabled,
>    Even bytes i.e. 0, 2, 4,... are transmitted on Lower Data Bus
>    Odd bytes i.e. 1, 3, 5,.. are transmitted on Upper Data Bus.

For the SPI code this just seems like SPI with an 8 bit data width.

> What is stacked mode?
> ---------------------
> ZynqMP GQSPI controller supports stacked mode with following functionalities:
> 1) The Generic Quad-SPI controller also supports two SPI flash memories
>    in a shared bus arrangement to reduce IO pin count.
> 2) Separate chip select lines
> 3) Shared I/O lines
> 4) This mode is targeted for increasing the flash memory and no performance
>    improvement when compared with single.

This is just a normal SPI controller from a SPI point of view.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 53+ messages in thread

* [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-14 16:40   ` Mark Brown
  0 siblings, 0 replies; 53+ messages in thread
From: Mark Brown @ 2015-07-14 16:40 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Jul 09, 2015 at 06:14:53PM +0530, Ranjit Waghmode wrote:


> What is dual parallel mode?
> ---------------------------
> ZynqMP GQSPI controller supports Dual Parallel mode with following functionalities:
> 1) Supporting two SPI flash memories operating in parallel. 8 I/O lines.
> 2) Chip selects and clock are shared to both the flash devices
> 3) This mode is targeted for faster read/write speed and also doubles the size
> 4) Commands/data can be transmitted/received from both the devices(mirror),
>    or only upper or only lower flash memory devices.
> 5) Data arrangement:
>    With stripe enabled,
>    Even bytes i.e. 0, 2, 4,... are transmitted on Lower Data Bus
>    Odd bytes i.e. 1, 3, 5,.. are transmitted on Upper Data Bus.

For the SPI code this just seems like SPI with an 8 bit data width.

> What is stacked mode?
> ---------------------
> ZynqMP GQSPI controller supports stacked mode with following functionalities:
> 1) The Generic Quad-SPI controller also supports two SPI flash memories
>    in a shared bus arrangement to reduce IO pin count.
> 2) Separate chip select lines
> 3) Shared I/O lines
> 4) This mode is targeted for increasing the flash memory and no performance
>    improvement when compared with single.

This is just a normal SPI controller from a SPI point of view.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150714/6b2a0203/attachment.sig>

^ permalink raw reply	[flat|nested] 53+ messages in thread

* Re: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-14 16:40   ` Mark Brown
  0 siblings, 0 replies; 53+ messages in thread
From: Mark Brown @ 2015-07-14 16:40 UTC (permalink / raw)
  To: Ranjit Waghmode
  Cc: michal.simek-gjFFaj9aHVfQT0dZR+AlfA,
	soren.brinkmann-gjFFaj9aHVfQT0dZR+AlfA,
	dwmw2-wEGCiKHe2LqWVfeAwA7xHQ,
	computersforpeace-Re5JQEeQqe8AvxtiuMwx3w,
	zajec5-Re5JQEeQqe8AvxtiuMwx3w, marex-ynQEQJNshbs,
	shijie.huang-ral2JQCrhuEAvxtiuMwx3w,
	juhosg-p3rKhJxN3npAfugRpC6u6w, ben-/+tVBieCtBitmTQ+vhA3Yw,
	linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-spi-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	harinik-gjFFaj9aHVfQT0dZR+AlfA, punnaia-gjFFaj9aHVfQT0dZR+AlfA,
	ran27jit-Re5JQEeQqe8AvxtiuMwx3w

[-- Attachment #1: Type: text/plain, Size: 1318 bytes --]

On Thu, Jul 09, 2015 at 06:14:53PM +0530, Ranjit Waghmode wrote:


> What is dual parallel mode?
> ---------------------------
> ZynqMP GQSPI controller supports Dual Parallel mode with following functionalities:
> 1) Supporting two SPI flash memories operating in parallel. 8 I/O lines.
> 2) Chip selects and clock are shared to both the flash devices
> 3) This mode is targeted for faster read/write speed and also doubles the size
> 4) Commands/data can be transmitted/received from both the devices(mirror),
>    or only upper or only lower flash memory devices.
> 5) Data arrangement:
>    With stripe enabled,
>    Even bytes i.e. 0, 2, 4,... are transmitted on Lower Data Bus
>    Odd bytes i.e. 1, 3, 5,.. are transmitted on Upper Data Bus.

For the SPI code this just seems like SPI with an 8 bit data width.

> What is stacked mode?
> ---------------------
> ZynqMP GQSPI controller supports stacked mode with following functionalities:
> 1) The Generic Quad-SPI controller also supports two SPI flash memories
>    in a shared bus arrangement to reduce IO pin count.
> 2) Separate chip select lines
> 3) Shared I/O lines
> 4) This mode is targeted for increasing the flash memory and no performance
>    improvement when compared with single.

This is just a normal SPI controller from a SPI point of view.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 53+ messages in thread

* RE: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
  2015-07-14 16:40   ` Mark Brown
  (?)
@ 2015-07-15 14:12     ` Ranjit Abhimanyu Waghmode
  -1 siblings, 0 replies; 53+ messages in thread
From: Ranjit Abhimanyu Waghmode @ 2015-07-15 14:12 UTC (permalink / raw)
  To: Mark Brown
  Cc: Michal Simek, Soren Brinkmann, dwmw2@infradead.org,
	computersforpeace@gmail.com, zajec5@gmail.com, marex@denx.de,
	shijie.huang@intel.com, juhosg@openwrt.org, ben@decadent.org.uk,
	linux-mtd@lists.infradead.org, linux-spi@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, Harini Katakam,
	Punnaiah Choudary Kalluri, ran27jit@gmail.com

Hi Mark,

> > What is dual parallel mode?
> > ---------------------------
> > ZynqMP GQSPI controller supports Dual Parallel mode with following
> functionalities:
> > 1) Supporting two SPI flash memories operating in parallel. 8 I/O lines.
> > 2) Chip selects and clock are shared to both the flash devices
> > 3) This mode is targeted for faster read/write speed and also doubles the size
> > 4) Commands/data can be transmitted/received from both the devices(mirror),
> >    or only upper or only lower flash memory devices.
> > 5) Data arrangement:
> >    With stripe enabled,
> >    Even bytes i.e. 0, 2, 4,... are transmitted on Lower Data Bus
> >    Odd bytes i.e. 1, 3, 5,.. are transmitted on Upper Data Bus.
> 
> For the SPI code this just seems like SPI with an 8 bit data width.
> 
> > What is stacked mode?
> > ---------------------
> > ZynqMP GQSPI controller supports stacked mode with following
> functionalities:
> > 1) The Generic Quad-SPI controller also supports two SPI flash memories
> >    in a shared bus arrangement to reduce IO pin count.
> > 2) Separate chip select lines
> > 3) Shared I/O lines
> > 4) This mode is targeted for increasing the flash memory and no performance
> >    improvement when compared with single.
> 
> This is just a normal SPI controller from a SPI point of view.

How can we really represent the stacked mode in current configuration?

Thanks & Regards,
Ranjit

^ permalink raw reply	[flat|nested] 53+ messages in thread

* [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-15 14:12     ` Ranjit Abhimanyu Waghmode
  0 siblings, 0 replies; 53+ messages in thread
From: Ranjit Abhimanyu Waghmode @ 2015-07-15 14:12 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Mark,

> > What is dual parallel mode?
> > ---------------------------
> > ZynqMP GQSPI controller supports Dual Parallel mode with following
> functionalities:
> > 1) Supporting two SPI flash memories operating in parallel. 8 I/O lines.
> > 2) Chip selects and clock are shared to both the flash devices
> > 3) This mode is targeted for faster read/write speed and also doubles the size
> > 4) Commands/data can be transmitted/received from both the devices(mirror),
> >    or only upper or only lower flash memory devices.
> > 5) Data arrangement:
> >    With stripe enabled,
> >    Even bytes i.e. 0, 2, 4,... are transmitted on Lower Data Bus
> >    Odd bytes i.e. 1, 3, 5,.. are transmitted on Upper Data Bus.
> 
> For the SPI code this just seems like SPI with an 8 bit data width.
> 
> > What is stacked mode?
> > ---------------------
> > ZynqMP GQSPI controller supports stacked mode with following
> functionalities:
> > 1) The Generic Quad-SPI controller also supports two SPI flash memories
> >    in a shared bus arrangement to reduce IO pin count.
> > 2) Separate chip select lines
> > 3) Shared I/O lines
> > 4) This mode is targeted for increasing the flash memory and no performance
> >    improvement when compared with single.
> 
> This is just a normal SPI controller from a SPI point of view.

How can we really represent the stacked mode in current configuration?

Thanks & Regards,
Ranjit

^ permalink raw reply	[flat|nested] 53+ messages in thread

* RE: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-15 14:12     ` Ranjit Abhimanyu Waghmode
  0 siblings, 0 replies; 53+ messages in thread
From: Ranjit Abhimanyu Waghmode @ 2015-07-15 14:12 UTC (permalink / raw)
  To: Mark Brown
  Cc: marex@denx.de, Harini Katakam, ben@decadent.org.uk,
	zajec5@gmail.com, linux-kernel@vger.kernel.org,
	linux-spi@vger.kernel.org, juhosg@openwrt.org, Michal Simek,
	Soren Brinkmann, Punnaiah Choudary Kalluri,
	shijie.huang@intel.com, linux-mtd@lists.infradead.org,
	ran27jit@gmail.com, computersforpeace@gmail.com,
	dwmw2@infradead.org, linux-arm-kernel@lists.infradead.org

Hi Mark,

> > What is dual parallel mode?
> > ---------------------------
> > ZynqMP GQSPI controller supports Dual Parallel mode with following
> functionalities:
> > 1) Supporting two SPI flash memories operating in parallel. 8 I/O lines.
> > 2) Chip selects and clock are shared to both the flash devices
> > 3) This mode is targeted for faster read/write speed and also doubles the size
> > 4) Commands/data can be transmitted/received from both the devices(mirror),
> >    or only upper or only lower flash memory devices.
> > 5) Data arrangement:
> >    With stripe enabled,
> >    Even bytes i.e. 0, 2, 4,... are transmitted on Lower Data Bus
> >    Odd bytes i.e. 1, 3, 5,.. are transmitted on Upper Data Bus.
> 
> For the SPI code this just seems like SPI with an 8 bit data width.
> 
> > What is stacked mode?
> > ---------------------
> > ZynqMP GQSPI controller supports stacked mode with following
> functionalities:
> > 1) The Generic Quad-SPI controller also supports two SPI flash memories
> >    in a shared bus arrangement to reduce IO pin count.
> > 2) Separate chip select lines
> > 3) Shared I/O lines
> > 4) This mode is targeted for increasing the flash memory and no performance
> >    improvement when compared with single.
> 
> This is just a normal SPI controller from a SPI point of view.

How can we really represent the stacked mode in current configuration?

Thanks & Regards,
Ranjit

^ permalink raw reply	[flat|nested] 53+ messages in thread

* Re: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
  2015-07-15 14:12     ` Ranjit Abhimanyu Waghmode
  (?)
@ 2015-07-15 16:01       ` Mark Brown
  -1 siblings, 0 replies; 53+ messages in thread
From: Mark Brown @ 2015-07-15 16:01 UTC (permalink / raw)
  To: Ranjit Abhimanyu Waghmode
  Cc: Michal Simek, Soren Brinkmann, dwmw2@infradead.org,
	computersforpeace@gmail.com, zajec5@gmail.com, marex@denx.de,
	shijie.huang@intel.com, juhosg@openwrt.org, ben@decadent.org.uk,
	linux-mtd@lists.infradead.org, linux-spi@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, Harini Katakam,
	Punnaiah Choudary Kalluri, ran27jit@gmail.com

[-- Attachment #1: Type: text/plain, Size: 895 bytes --]

On Wed, Jul 15, 2015 at 02:12:54PM +0000, Ranjit Abhimanyu Waghmode wrote:

> > > What is stacked mode?
> > > ---------------------
> > > ZynqMP GQSPI controller supports stacked mode with following
> > functionalities:
> > > 1) The Generic Quad-SPI controller also supports two SPI flash memories
> > >    in a shared bus arrangement to reduce IO pin count.
> > > 2) Separate chip select lines
> > > 3) Shared I/O lines
> > > 4) This mode is targeted for increasing the flash memory and no performance
> > >    improvement when compared with single.

> > This is just a normal SPI controller from a SPI point of view.

> How can we really represent the stacked mode in current configuration?

In the same way as any other controller with two chip selects...  there
are quite a few other drivers that provide examples of this, you should
look for one that has hardware control similar to yours.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 53+ messages in thread

* [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-15 16:01       ` Mark Brown
  0 siblings, 0 replies; 53+ messages in thread
From: Mark Brown @ 2015-07-15 16:01 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Jul 15, 2015 at 02:12:54PM +0000, Ranjit Abhimanyu Waghmode wrote:

> > > What is stacked mode?
> > > ---------------------
> > > ZynqMP GQSPI controller supports stacked mode with following
> > functionalities:
> > > 1) The Generic Quad-SPI controller also supports two SPI flash memories
> > >    in a shared bus arrangement to reduce IO pin count.
> > > 2) Separate chip select lines
> > > 3) Shared I/O lines
> > > 4) This mode is targeted for increasing the flash memory and no performance
> > >    improvement when compared with single.

> > This is just a normal SPI controller from a SPI point of view.

> How can we really represent the stacked mode in current configuration?

In the same way as any other controller with two chip selects...  there
are quite a few other drivers that provide examples of this, you should
look for one that has hardware control similar to yours.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150715/3f47889c/attachment.sig>

^ permalink raw reply	[flat|nested] 53+ messages in thread

* Re: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-15 16:01       ` Mark Brown
  0 siblings, 0 replies; 53+ messages in thread
From: Mark Brown @ 2015-07-15 16:01 UTC (permalink / raw)
  To: Ranjit Abhimanyu Waghmode
  Cc: Michal Simek, Soren Brinkmann,
	dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org,
	computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	zajec5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	marex-ynQEQJNshbs@public.gmane.org,
	shijie.huang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
	juhosg-p3rKhJxN3npAfugRpC6u6w@public.gmane.org,
	ben-/+tVBieCtBitmTQ+vhA3Yw@public.gmane.org,
	linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Harini Katakam, Punnaiah Choudary Kalluri,
	ran27jit-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org

[-- Attachment #1: Type: text/plain, Size: 895 bytes --]

On Wed, Jul 15, 2015 at 02:12:54PM +0000, Ranjit Abhimanyu Waghmode wrote:

> > > What is stacked mode?
> > > ---------------------
> > > ZynqMP GQSPI controller supports stacked mode with following
> > functionalities:
> > > 1) The Generic Quad-SPI controller also supports two SPI flash memories
> > >    in a shared bus arrangement to reduce IO pin count.
> > > 2) Separate chip select lines
> > > 3) Shared I/O lines
> > > 4) This mode is targeted for increasing the flash memory and no performance
> > >    improvement when compared with single.

> > This is just a normal SPI controller from a SPI point of view.

> How can we really represent the stacked mode in current configuration?

In the same way as any other controller with two chip selects...  there
are quite a few other drivers that provide examples of this, you should
look for one that has hardware control similar to yours.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 53+ messages in thread

* RE: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
  2015-07-15 16:01       ` Mark Brown
  (?)
@ 2015-07-16  7:27         ` Ranjit Abhimanyu Waghmode
  -1 siblings, 0 replies; 53+ messages in thread
From: Ranjit Abhimanyu Waghmode @ 2015-07-16  7:27 UTC (permalink / raw)
  To: Mark Brown
  Cc: Michal Simek, Soren Brinkmann, dwmw2@infradead.org,
	computersforpeace@gmail.com, zajec5@gmail.com, marex@denx.de,
	shijie.huang@intel.com, juhosg@openwrt.org, ben@decadent.org.uk,
	linux-mtd@lists.infradead.org, linux-spi@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, Harini Katakam,
	Punnaiah Choudary Kalluri, ran27jit@gmail.com

Hi Mark,

> > > > What is stacked mode?
> > > > ---------------------
> > > > ZynqMP GQSPI controller supports stacked mode with following
> > > functionalities:
> > > > 1) The Generic Quad-SPI controller also supports two SPI flash memories
> > > >    in a shared bus arrangement to reduce IO pin count.
> > > > 2) Separate chip select lines
> > > > 3) Shared I/O lines
> > > > 4) This mode is targeted for increasing the flash memory and no
> performance
> > > >    improvement when compared with single.
> 
> > > This is just a normal SPI controller from a SPI point of view.
> 
> > How can we really represent the stacked mode in current configuration?
> 
> In the same way as any other controller with two chip selects...  there are quite
> a few other drivers that provide examples of this, you should look for one that
> has hardware control similar to yours.

Thanks Mark for your suggestion. But I have minor doubts.

For an example take two flashes connected in stacked mode.
For user it doesn't matter whether how many flashes are really connected. 
There will be situation like, single partition is spread across two flashes (partition staring at the end of one flash and continued to the second flash). But it has to be shown contiguous to user.
In this scenario, I am not clear how MTD layer will handle the case.
It would be great if you could just put some light on it.

Regards,
Ranjit

^ permalink raw reply	[flat|nested] 53+ messages in thread

* [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-16  7:27         ` Ranjit Abhimanyu Waghmode
  0 siblings, 0 replies; 53+ messages in thread
From: Ranjit Abhimanyu Waghmode @ 2015-07-16  7:27 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Mark,

> > > > What is stacked mode?
> > > > ---------------------
> > > > ZynqMP GQSPI controller supports stacked mode with following
> > > functionalities:
> > > > 1) The Generic Quad-SPI controller also supports two SPI flash memories
> > > >    in a shared bus arrangement to reduce IO pin count.
> > > > 2) Separate chip select lines
> > > > 3) Shared I/O lines
> > > > 4) This mode is targeted for increasing the flash memory and no
> performance
> > > >    improvement when compared with single.
> 
> > > This is just a normal SPI controller from a SPI point of view.
> 
> > How can we really represent the stacked mode in current configuration?
> 
> In the same way as any other controller with two chip selects...  there are quite
> a few other drivers that provide examples of this, you should look for one that
> has hardware control similar to yours.

Thanks Mark for your suggestion. But I have minor doubts.

For an example take two flashes connected in stacked mode.
For user it doesn't matter whether how many flashes are really connected. 
There will be situation like, single partition is spread across two flashes (partition staring at the end of one flash and continued to the second flash). But it has to be shown contiguous to user.
In this scenario, I am not clear how MTD layer will handle the case.
It would be great if you could just put some light on it.

Regards,
Ranjit

^ permalink raw reply	[flat|nested] 53+ messages in thread

* RE: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-16  7:27         ` Ranjit Abhimanyu Waghmode
  0 siblings, 0 replies; 53+ messages in thread
From: Ranjit Abhimanyu Waghmode @ 2015-07-16  7:27 UTC (permalink / raw)
  To: Mark Brown
  Cc: Michal Simek, Soren Brinkmann,
	dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org,
	computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	zajec5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	marex-ynQEQJNshbs@public.gmane.org,
	shijie.huang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
	juhosg-p3rKhJxN3npAfugRpC6u6w@public.gmane.org,
	ben-/+tVBieCtBitmTQ+vhA3Yw@public.gmane.org,
	linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Harini Katakam, Punnaiah Choudary Kalluri,
	ran27jit-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org

Hi Mark,

> > > > What is stacked mode?
> > > > ---------------------
> > > > ZynqMP GQSPI controller supports stacked mode with following
> > > functionalities:
> > > > 1) The Generic Quad-SPI controller also supports two SPI flash memories
> > > >    in a shared bus arrangement to reduce IO pin count.
> > > > 2) Separate chip select lines
> > > > 3) Shared I/O lines
> > > > 4) This mode is targeted for increasing the flash memory and no
> performance
> > > >    improvement when compared with single.
> 
> > > This is just a normal SPI controller from a SPI point of view.
> 
> > How can we really represent the stacked mode in current configuration?
> 
> In the same way as any other controller with two chip selects...  there are quite
> a few other drivers that provide examples of this, you should look for one that
> has hardware control similar to yours.

Thanks Mark for your suggestion. But I have minor doubts.

For an example take two flashes connected in stacked mode.
For user it doesn't matter whether how many flashes are really connected. 
There will be situation like, single partition is spread across two flashes (partition staring at the end of one flash and continued to the second flash). But it has to be shown contiguous to user.
In this scenario, I am not clear how MTD layer will handle the case.
It would be great if you could just put some light on it.

Regards,
Ranjit
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 53+ messages in thread

* Re: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
  2015-07-16  7:27         ` Ranjit Abhimanyu Waghmode
@ 2015-07-16  8:57           ` Mark Brown
  -1 siblings, 0 replies; 53+ messages in thread
From: Mark Brown @ 2015-07-16  8:57 UTC (permalink / raw)
  To: Ranjit Abhimanyu Waghmode
  Cc: Michal Simek, Soren Brinkmann, dwmw2@infradead.org,
	computersforpeace@gmail.com, zajec5@gmail.com, marex@denx.de,
	shijie.huang@intel.com, juhosg@openwrt.org, ben@decadent.org.uk,
	linux-mtd@lists.infradead.org, linux-spi@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, Harini Katakam,
	Punnaiah Choudary Kalluri, ran27jit@gmail.com

[-- Attachment #1: Type: text/plain, Size: 814 bytes --]

On Thu, Jul 16, 2015 at 07:27:34AM +0000, Ranjit Abhimanyu Waghmode wrote:

> For an example take two flashes connected in stacked mode.
> For user it doesn't matter whether how many flashes are really connected. 
> There will be situation like, single partition is spread across two flashes (partition staring at the end of one flash and continued to the second flash). But it has to be shown contiguous to user.
> In this scenario, I am not clear how MTD layer will handle the case.
> It would be great if you could just put some light on it.

That's something for the MTD layer or possibly even a layer above it to
worry about - this situation is the same as we have with disks where we
have md which combines other devices, if something similar is needed for
flash we should use a similar pattern.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 53+ messages in thread

* [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-16  8:57           ` Mark Brown
  0 siblings, 0 replies; 53+ messages in thread
From: Mark Brown @ 2015-07-16  8:57 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Jul 16, 2015 at 07:27:34AM +0000, Ranjit Abhimanyu Waghmode wrote:

> For an example take two flashes connected in stacked mode.
> For user it doesn't matter whether how many flashes are really connected. 
> There will be situation like, single partition is spread across two flashes (partition staring at the end of one flash and continued to the second flash). But it has to be shown contiguous to user.
> In this scenario, I am not clear how MTD layer will handle the case.
> It would be great if you could just put some light on it.

That's something for the MTD layer or possibly even a layer above it to
worry about - this situation is the same as we have with disks where we
have md which combines other devices, if something similar is needed for
flash we should use a similar pattern.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150716/46121986/attachment.sig>

^ permalink raw reply	[flat|nested] 53+ messages in thread

* RE: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
  2015-07-16  8:57           ` Mark Brown
  (?)
@ 2015-07-17 12:03             ` Ranjit Abhimanyu Waghmode
  -1 siblings, 0 replies; 53+ messages in thread
From: Ranjit Abhimanyu Waghmode @ 2015-07-17 12:03 UTC (permalink / raw)
  To: dwmw2@infradead.org, computersforpeace@gmail.com
  Cc: Mark Brown, Michal Simek, Soren Brinkmann, dwmw2@infradead.org,
	computersforpeace@gmail.com, zajec5@gmail.com, marex@denx.de,
	shijie.huang@intel.com, juhosg@openwrt.org, ben@decadent.org.uk,
	linux-mtd@lists.infradead.org, linux-spi@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, Harini Katakam,
	Punnaiah Choudary Kalluri, ran27jit@gmail.com

Hi,

> -----Original Message-----
> From: Mark Brown [mailto:broonie@kernel.org]
> Sent: Thursday, July 16, 2015 2:28 PM
> To: Ranjit Abhimanyu Waghmode
> Cc: Michal Simek; Soren Brinkmann; dwmw2@infradead.org;
> computersforpeace@gmail.com; zajec5@gmail.com; marex@denx.de;
> shijie.huang@intel.com; juhosg@openwrt.org; ben@decadent.org.uk; linux-
> mtd@lists.infradead.org; linux-spi@vger.kernel.org; linux-arm-
> kernel@lists.infradead.org; linux-kernel@vger.kernel.org; Harini Katakam;
> Punnaiah Choudary Kalluri; ran27jit@gmail.com
> Subject: Re: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in
> Zynq MPSoC GQSPI controller
>
> On Thu, Jul 16, 2015 at 07:27:34AM +0000, Ranjit Abhimanyu Waghmode wrote:
>
> > For an example take two flashes connected in stacked mode.
> > For user it doesn't matter whether how many flashes are really connected.
> > There will be situation like, single partition is spread across two flashes
> (partition staring at the end of one flash and continued to the second flash). But
> it has to be shown contiguous to user.
> > In this scenario, I am not clear how MTD layer will handle the case.
> > It would be great if you could just put some light on it.
>
> That's something for the MTD layer or possibly even a layer above it to worry
> about - this situation is the same as we have with disks where we have md which
> combines other devices, if something similar is needed for flash we should use a
> similar pattern.

Kindly help in understanding, how can we represent the stacked mode and parallel mode changes in MTD layer?

Thanks & Regards,
Ranjit


This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.


^ permalink raw reply	[flat|nested] 53+ messages in thread

* [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-17 12:03             ` Ranjit Abhimanyu Waghmode
  0 siblings, 0 replies; 53+ messages in thread
From: Ranjit Abhimanyu Waghmode @ 2015-07-17 12:03 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

> -----Original Message-----
> From: Mark Brown [mailto:broonie at kernel.org]
> Sent: Thursday, July 16, 2015 2:28 PM
> To: Ranjit Abhimanyu Waghmode
> Cc: Michal Simek; Soren Brinkmann; dwmw2 at infradead.org;
> computersforpeace at gmail.com; zajec5 at gmail.com; marex at denx.de;
> shijie.huang at intel.com; juhosg at openwrt.org; ben at decadent.org.uk; linux-
> mtd at lists.infradead.org; linux-spi at vger.kernel.org; linux-arm-
> kernel at lists.infradead.org; linux-kernel at vger.kernel.org; Harini Katakam;
> Punnaiah Choudary Kalluri; ran27jit at gmail.com
> Subject: Re: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in
> Zynq MPSoC GQSPI controller
>
> On Thu, Jul 16, 2015 at 07:27:34AM +0000, Ranjit Abhimanyu Waghmode wrote:
>
> > For an example take two flashes connected in stacked mode.
> > For user it doesn't matter whether how many flashes are really connected.
> > There will be situation like, single partition is spread across two flashes
> (partition staring at the end of one flash and continued to the second flash). But
> it has to be shown contiguous to user.
> > In this scenario, I am not clear how MTD layer will handle the case.
> > It would be great if you could just put some light on it.
>
> That's something for the MTD layer or possibly even a layer above it to worry
> about - this situation is the same as we have with disks where we have md which
> combines other devices, if something similar is needed for flash we should use a
> similar pattern.

Kindly help in understanding, how can we represent the stacked mode and parallel mode changes in MTD layer?

Thanks & Regards,
Ranjit


This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.

^ permalink raw reply	[flat|nested] 53+ messages in thread

* RE: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-17 12:03             ` Ranjit Abhimanyu Waghmode
  0 siblings, 0 replies; 53+ messages in thread
From: Ranjit Abhimanyu Waghmode @ 2015-07-17 12:03 UTC (permalink / raw)
  To: dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org,
	computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
  Cc: Mark Brown, Michal Simek, Soren Brinkmann,
	dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org,
	computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	zajec5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	marex-ynQEQJNshbs@public.gmane.org,
	shijie.huang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
	juhosg-p3rKhJxN3npAfugRpC6u6w@public.gmane.org,
	ben-/+tVBieCtBitmTQ+vhA3Yw@public.gmane.org,
	linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Harini Katakam, Punnaiah Choudary Kalluri,
	ran27jit-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org

Hi,

> -----Original Message-----
> From: Mark Brown [mailto:broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org]
> Sent: Thursday, July 16, 2015 2:28 PM
> To: Ranjit Abhimanyu Waghmode
> Cc: Michal Simek; Soren Brinkmann; dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org;
> computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org; zajec5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org; marex-ynQEQJNshbs@public.gmane.org;
> shijie.huang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org; juhosg-p3rKhJxN3npAfugRpC6u6w@public.gmane.org; ben-/+tVBieCtBitmTQ+vhA3Yw@public.gmane.org; linux-
> mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org; linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; linux-arm-
> kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org; linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; Harini Katakam;
> Punnaiah Choudary Kalluri; ran27jit-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
> Subject: Re: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in
> Zynq MPSoC GQSPI controller
>
> On Thu, Jul 16, 2015 at 07:27:34AM +0000, Ranjit Abhimanyu Waghmode wrote:
>
> > For an example take two flashes connected in stacked mode.
> > For user it doesn't matter whether how many flashes are really connected.
> > There will be situation like, single partition is spread across two flashes
> (partition staring at the end of one flash and continued to the second flash). But
> it has to be shown contiguous to user.
> > In this scenario, I am not clear how MTD layer will handle the case.
> > It would be great if you could just put some light on it.
>
> That's something for the MTD layer or possibly even a layer above it to worry
> about - this situation is the same as we have with disks where we have md which
> combines other devices, if something similar is needed for flash we should use a
> similar pattern.

Kindly help in understanding, how can we represent the stacked mode and parallel mode changes in MTD layer?

Thanks & Regards,
Ranjit


This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.

--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 53+ messages in thread

* RE: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
  2015-07-16  8:57           ` Mark Brown
@ 2015-07-24 10:42             ` Ranjit Abhimanyu Waghmode
  -1 siblings, 0 replies; 53+ messages in thread
From: Ranjit Abhimanyu Waghmode @ 2015-07-24 10:42 UTC (permalink / raw)
  To: Mark Brown
  Cc: Mark Brown, Michal Simek, Soren Brinkmann, zajec5@gmail.com,
	marex@denx.de, shijie.huang@intel.com, juhosg@openwrt.org,
	ben@decadent.org.uk, linux-mtd@lists.infradead.org,
	linux-spi@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, Harini Katakam,
	Punnaiah Choudary Kalluri, ran27jit@gmail.com,
	dwmw2@infradead.org, computersforpeace@gmail.com

Hi Mark,

> > > For an example take two flashes connected in stacked mode.
> > > For user it doesn't matter whether how many flashes are really connected.
> > > There will be situation like, single partition is spread across two
> > > flashes
> > (partition staring at the end of one flash and continued to the second
> > flash). But it has to be shown contiguous to user.
> > > In this scenario, I am not clear how MTD layer will handle the case.
> > > It would be great if you could just put some light on it.
> >
> > That's something for the MTD layer or possibly even a layer above it
> > to worry about - this situation is the same as we have with disks
> > where we have md which combines other devices, if something similar is
> > needed for flash we should use a similar pattern.

To support the dual parallel mode in this controller, following minor things can be added to the driver.
1) Controller needs to know in which mode it is working, then it's obvious to set the appropriate flag for the same
2) There are more than one chip selects, so need to set the same

And for supporting the same dual parallel mode, MTD layer may need to update for:
1) Adding TWO_FLASH support
2) Adding DATA_STRIPE support
3) For reading array size needs to be doubled.
4) Need to access even addresses. Basically address/2.

So kindly suggest your view on the above request.

Regards,
Ranjit

> 
> Kindly help in understanding, how can we represent the stacked mode and
> parallel mode changes in MTD layer?
> 
> Thanks & Regards,
> Ranjit

^ permalink raw reply	[flat|nested] 53+ messages in thread

* [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-24 10:42             ` Ranjit Abhimanyu Waghmode
  0 siblings, 0 replies; 53+ messages in thread
From: Ranjit Abhimanyu Waghmode @ 2015-07-24 10:42 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Mark,

> > > For an example take two flashes connected in stacked mode.
> > > For user it doesn't matter whether how many flashes are really connected.
> > > There will be situation like, single partition is spread across two
> > > flashes
> > (partition staring at the end of one flash and continued to the second
> > flash). But it has to be shown contiguous to user.
> > > In this scenario, I am not clear how MTD layer will handle the case.
> > > It would be great if you could just put some light on it.
> >
> > That's something for the MTD layer or possibly even a layer above it
> > to worry about - this situation is the same as we have with disks
> > where we have md which combines other devices, if something similar is
> > needed for flash we should use a similar pattern.

To support the dual parallel mode in this controller, following minor things can be added to the driver.
1) Controller needs to know in which mode it is working, then it's obvious to set the appropriate flag for the same
2) There are more than one chip selects, so need to set the same

And for supporting the same dual parallel mode, MTD layer may need to update for:
1) Adding TWO_FLASH support
2) Adding DATA_STRIPE support
3) For reading array size needs to be doubled.
4) Need to access even addresses. Basically address/2.

So kindly suggest your view on the above request.

Regards,
Ranjit

> 
> Kindly help in understanding, how can we represent the stacked mode and
> parallel mode changes in MTD layer?
> 
> Thanks & Regards,
> Ranjit

^ permalink raw reply	[flat|nested] 53+ messages in thread

* Re: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
  2015-07-24 10:42             ` Ranjit Abhimanyu Waghmode
@ 2015-07-24 10:52               ` Mark Brown
  -1 siblings, 0 replies; 53+ messages in thread
From: Mark Brown @ 2015-07-24 10:52 UTC (permalink / raw)
  To: Ranjit Abhimanyu Waghmode
  Cc: Michal Simek, Soren Brinkmann, zajec5@gmail.com, marex@denx.de,
	shijie.huang@intel.com, juhosg@openwrt.org, ben@decadent.org.uk,
	linux-mtd@lists.infradead.org, linux-spi@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, Harini Katakam,
	Punnaiah Choudary Kalluri, ran27jit@gmail.com,
	dwmw2@infradead.org, computersforpeace@gmail.com

[-- Attachment #1: Type: text/plain, Size: 881 bytes --]

On Fri, Jul 24, 2015 at 10:42:35AM +0000, Ranjit Abhimanyu Waghmode wrote:

As I think you've been asked before please fix your mail client to word
wrap within paragraphs so your mails are more legible.

> To support the dual parallel mode in this controller, following minor
> things can be added to the driver.

> 1) Controller needs to know in which mode it is working, then it's
> obvious to set the appropriate flag for the same
> 2) There are more than one chip selects, so need to set the same
> 
> So kindly suggest your view on the above request.

I'm not entirely sure what you're asking here from the point of view of
SPI, sorry - what exactly are you requesting?  If you want to add
support for new SPI bus modes please go ahead and do that, you need to
clearly document what any new modes you're adding are so that other
people can understand them.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 53+ messages in thread

* [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-24 10:52               ` Mark Brown
  0 siblings, 0 replies; 53+ messages in thread
From: Mark Brown @ 2015-07-24 10:52 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jul 24, 2015 at 10:42:35AM +0000, Ranjit Abhimanyu Waghmode wrote:

As I think you've been asked before please fix your mail client to word
wrap within paragraphs so your mails are more legible.

> To support the dual parallel mode in this controller, following minor
> things can be added to the driver.

> 1) Controller needs to know in which mode it is working, then it's
> obvious to set the appropriate flag for the same
> 2) There are more than one chip selects, so need to set the same
> 
> So kindly suggest your view on the above request.

I'm not entirely sure what you're asking here from the point of view of
SPI, sorry - what exactly are you requesting?  If you want to add
support for new SPI bus modes please go ahead and do that, you need to
clearly document what any new modes you're adding are so that other
people can understand them.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150724/69d936b7/attachment.sig>

^ permalink raw reply	[flat|nested] 53+ messages in thread

* RE: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
  2015-07-24 10:52               ` Mark Brown
  (?)
@ 2015-07-27 13:55                 ` Ranjit Abhimanyu Waghmode
  -1 siblings, 0 replies; 53+ messages in thread
From: Ranjit Abhimanyu Waghmode @ 2015-07-27 13:55 UTC (permalink / raw)
  To: Mark Brown
  Cc: Michal Simek, Soren Brinkmann, zajec5@gmail.com, marex@denx.de,
	shijie.huang@intel.com, juhosg@openwrt.org, ben@decadent.org.uk,
	linux-mtd@lists.infradead.org, linux-spi@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, Harini Katakam,
	Punnaiah Choudary Kalluri, ran27jit@gmail.com,
	dwmw2@infradead.org, computersforpeace@gmail.com

Hi Mark,

> -----Original Message-----
> From: Mark Brown [mailto:broonie@kernel.org]
> Sent: Friday, July 24, 2015 4:22 PM
> To: Ranjit Abhimanyu Waghmode
> Cc: Michal Simek; Soren Brinkmann; zajec5@gmail.com; marex@denx.de;
> shijie.huang@intel.com; juhosg@openwrt.org; ben@decadent.org.uk; linux-
> mtd@lists.infradead.org; linux-spi@vger.kernel.org; linux-arm-
> kernel@lists.infradead.org; linux-kernel@vger.kernel.org; Harini Katakam;
> Punnaiah Choudary Kalluri; ran27jit@gmail.com; dwmw2@infradead.org;
> computersforpeace@gmail.com
> Subject: Re: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in
> Zynq MPSoC GQSPI controller
> 
> On Fri, Jul 24, 2015 at 10:42:35AM +0000, Ranjit Abhimanyu Waghmode wrote:
> 
> As I think you've been asked before please fix your mail client to word wrap
> within paragraphs so your mails are more legible.
> 

Sorry about this, I did some changes but it's kind of broken. Will fix this.

> > To support the dual parallel mode in this controller, following minor
> > things can be added to the driver.
> 
> > 1) Controller needs to know in which mode it is working, then it's
> > obvious to set the appropriate flag for the same
> > 2) There are more than one chip selects, so need to set the same
> >
> > So kindly suggest your view on the above request.
> 
> I'm not entirely sure what you're asking here from the point of view of SPI, sorry
> - what exactly are you requesting?  If you want to add support for new SPI bus
> modes please go ahead and do that, you need to clearly document what any
> new modes you're adding are so that other people can understand them.

Ok, my description was too short to get it completely.

For adding dual parallel mode support to current driver:
Are following points enough? Or do you want to suggest something better on top of it?

Driver:
1) Controller needs to know in which mode it is working.
2) As there are more than one chip selects, may need to add code for handling that as well.

MTD:
1) Adding TWO_FLASH support
2) Adding DATA_STRIPE support
3) For reading array size needs to be doubled.
4) Need to access even addresses. Basically address/2.

Please suggest your view on above points.

Regards,
Ranjit

^ permalink raw reply	[flat|nested] 53+ messages in thread

* [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-27 13:55                 ` Ranjit Abhimanyu Waghmode
  0 siblings, 0 replies; 53+ messages in thread
From: Ranjit Abhimanyu Waghmode @ 2015-07-27 13:55 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Mark,

> -----Original Message-----
> From: Mark Brown [mailto:broonie at kernel.org]
> Sent: Friday, July 24, 2015 4:22 PM
> To: Ranjit Abhimanyu Waghmode
> Cc: Michal Simek; Soren Brinkmann; zajec5 at gmail.com; marex at denx.de;
> shijie.huang at intel.com; juhosg at openwrt.org; ben at decadent.org.uk; linux-
> mtd at lists.infradead.org; linux-spi at vger.kernel.org; linux-arm-
> kernel at lists.infradead.org; linux-kernel at vger.kernel.org; Harini Katakam;
> Punnaiah Choudary Kalluri; ran27jit at gmail.com; dwmw2 at infradead.org;
> computersforpeace at gmail.com
> Subject: Re: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in
> Zynq MPSoC GQSPI controller
> 
> On Fri, Jul 24, 2015 at 10:42:35AM +0000, Ranjit Abhimanyu Waghmode wrote:
> 
> As I think you've been asked before please fix your mail client to word wrap
> within paragraphs so your mails are more legible.
> 

Sorry about this, I did some changes but it's kind of broken. Will fix this.

> > To support the dual parallel mode in this controller, following minor
> > things can be added to the driver.
> 
> > 1) Controller needs to know in which mode it is working, then it's
> > obvious to set the appropriate flag for the same
> > 2) There are more than one chip selects, so need to set the same
> >
> > So kindly suggest your view on the above request.
> 
> I'm not entirely sure what you're asking here from the point of view of SPI, sorry
> - what exactly are you requesting?  If you want to add support for new SPI bus
> modes please go ahead and do that, you need to clearly document what any
> new modes you're adding are so that other people can understand them.

Ok, my description was too short to get it completely.

For adding dual parallel mode support to current driver:
Are following points enough? Or do you want to suggest something better on top of it?

Driver:
1) Controller needs to know in which mode it is working.
2) As there are more than one chip selects, may need to add code for handling that as well.

MTD:
1) Adding TWO_FLASH support
2) Adding DATA_STRIPE support
3) For reading array size needs to be doubled.
4) Need to access even addresses. Basically address/2.

Please suggest your view on above points.

Regards,
Ranjit

^ permalink raw reply	[flat|nested] 53+ messages in thread

* RE: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-27 13:55                 ` Ranjit Abhimanyu Waghmode
  0 siblings, 0 replies; 53+ messages in thread
From: Ranjit Abhimanyu Waghmode @ 2015-07-27 13:55 UTC (permalink / raw)
  To: Mark Brown
  Cc: marex@denx.de, Harini Katakam, dwmw2@infradead.org,
	zajec5@gmail.com, linux-kernel@vger.kernel.org,
	linux-spi@vger.kernel.org, juhosg@openwrt.org, Michal Simek,
	Soren Brinkmann, Punnaiah Choudary Kalluri,
	shijie.huang@intel.com, linux-mtd@lists.infradead.org,
	ran27jit@gmail.com, computersforpeace@gmail.com,
	ben@decadent.org.uk, linux-arm-kernel@lists.infradead.org

Hi Mark,

> -----Original Message-----
> From: Mark Brown [mailto:broonie@kernel.org]
> Sent: Friday, July 24, 2015 4:22 PM
> To: Ranjit Abhimanyu Waghmode
> Cc: Michal Simek; Soren Brinkmann; zajec5@gmail.com; marex@denx.de;
> shijie.huang@intel.com; juhosg@openwrt.org; ben@decadent.org.uk; linux-
> mtd@lists.infradead.org; linux-spi@vger.kernel.org; linux-arm-
> kernel@lists.infradead.org; linux-kernel@vger.kernel.org; Harini Katakam;
> Punnaiah Choudary Kalluri; ran27jit@gmail.com; dwmw2@infradead.org;
> computersforpeace@gmail.com
> Subject: Re: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in
> Zynq MPSoC GQSPI controller
> 
> On Fri, Jul 24, 2015 at 10:42:35AM +0000, Ranjit Abhimanyu Waghmode wrote:
> 
> As I think you've been asked before please fix your mail client to word wrap
> within paragraphs so your mails are more legible.
> 

Sorry about this, I did some changes but it's kind of broken. Will fix this.

> > To support the dual parallel mode in this controller, following minor
> > things can be added to the driver.
> 
> > 1) Controller needs to know in which mode it is working, then it's
> > obvious to set the appropriate flag for the same
> > 2) There are more than one chip selects, so need to set the same
> >
> > So kindly suggest your view on the above request.
> 
> I'm not entirely sure what you're asking here from the point of view of SPI, sorry
> - what exactly are you requesting?  If you want to add support for new SPI bus
> modes please go ahead and do that, you need to clearly document what any
> new modes you're adding are so that other people can understand them.

Ok, my description was too short to get it completely.

For adding dual parallel mode support to current driver:
Are following points enough? Or do you want to suggest something better on top of it?

Driver:
1) Controller needs to know in which mode it is working.
2) As there are more than one chip selects, may need to add code for handling that as well.

MTD:
1) Adding TWO_FLASH support
2) Adding DATA_STRIPE support
3) For reading array size needs to be doubled.
4) Need to access even addresses. Basically address/2.

Please suggest your view on above points.

Regards,
Ranjit

^ permalink raw reply	[flat|nested] 53+ messages in thread

* Re: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
  2015-07-27 13:55                 ` Ranjit Abhimanyu Waghmode
  (?)
@ 2015-07-27 14:23                   ` Mark Brown
  -1 siblings, 0 replies; 53+ messages in thread
From: Mark Brown @ 2015-07-27 14:23 UTC (permalink / raw)
  To: Ranjit Abhimanyu Waghmode
  Cc: Michal Simek, Soren Brinkmann, zajec5@gmail.com, marex@denx.de,
	shijie.huang@intel.com, juhosg@openwrt.org, ben@decadent.org.uk,
	linux-mtd@lists.infradead.org, linux-spi@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, Harini Katakam,
	Punnaiah Choudary Kalluri, ran27jit@gmail.com,
	dwmw2@infradead.org, computersforpeace@gmail.com

[-- Attachment #1: Type: text/plain, Size: 1035 bytes --]

On Mon, Jul 27, 2015 at 01:55:56PM +0000, Ranjit Abhimanyu Waghmode wrote:

> > As I think you've been asked before please fix your mail client to word wrap
> > within paragraphs so your mails are more legible.

> Sorry about this, I did some changes but it's kind of broken. Will fix this.

Still not working...

> > I'm not entirely sure what you're asking here from the point of view of SPI, sorry
> > - what exactly are you requesting?  If you want to add support for new SPI bus
> > modes please go ahead and do that, you need to clearly document what any
> > new modes you're adding are so that other people can understand them.

> Ok, my description was too short to get it completely.

> For adding dual parallel mode support to current driver:
> Are following points enough? Or do you want to suggest something better on top of it?

> Driver:
> 1) Controller needs to know in which mode it is working.
> 2) As there are more than one chip selects, may need to add code for handling that as well.

That's probably about right.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 53+ messages in thread

* [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-27 14:23                   ` Mark Brown
  0 siblings, 0 replies; 53+ messages in thread
From: Mark Brown @ 2015-07-27 14:23 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Jul 27, 2015 at 01:55:56PM +0000, Ranjit Abhimanyu Waghmode wrote:

> > As I think you've been asked before please fix your mail client to word wrap
> > within paragraphs so your mails are more legible.

> Sorry about this, I did some changes but it's kind of broken. Will fix this.

Still not working...

> > I'm not entirely sure what you're asking here from the point of view of SPI, sorry
> > - what exactly are you requesting?  If you want to add support for new SPI bus
> > modes please go ahead and do that, you need to clearly document what any
> > new modes you're adding are so that other people can understand them.

> Ok, my description was too short to get it completely.

> For adding dual parallel mode support to current driver:
> Are following points enough? Or do you want to suggest something better on top of it?

> Driver:
> 1) Controller needs to know in which mode it is working.
> 2) As there are more than one chip selects, may need to add code for handling that as well.

That's probably about right.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150727/9349d43f/attachment-0001.sig>

^ permalink raw reply	[flat|nested] 53+ messages in thread

* Re: [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller
@ 2015-07-27 14:23                   ` Mark Brown
  0 siblings, 0 replies; 53+ messages in thread
From: Mark Brown @ 2015-07-27 14:23 UTC (permalink / raw)
  To: Ranjit Abhimanyu Waghmode
  Cc: marex@denx.de, Harini Katakam, dwmw2@infradead.org,
	zajec5@gmail.com, linux-kernel@vger.kernel.org,
	linux-spi@vger.kernel.org, juhosg@openwrt.org, Michal Simek,
	Soren Brinkmann, Punnaiah Choudary Kalluri,
	shijie.huang@intel.com, linux-mtd@lists.infradead.org,
	ran27jit@gmail.com, computersforpeace@gmail.com,
	ben@decadent.org.uk, linux-arm-kernel@lists.infradead.org


[-- Attachment #1.1: Type: text/plain, Size: 1035 bytes --]

On Mon, Jul 27, 2015 at 01:55:56PM +0000, Ranjit Abhimanyu Waghmode wrote:

> > As I think you've been asked before please fix your mail client to word wrap
> > within paragraphs so your mails are more legible.

> Sorry about this, I did some changes but it's kind of broken. Will fix this.

Still not working...

> > I'm not entirely sure what you're asking here from the point of view of SPI, sorry
> > - what exactly are you requesting?  If you want to add support for new SPI bus
> > modes please go ahead and do that, you need to clearly document what any
> > new modes you're adding are so that other people can understand them.

> Ok, my description was too short to get it completely.

> For adding dual parallel mode support to current driver:
> Are following points enough? Or do you want to suggest something better on top of it?

> Driver:
> 1) Controller needs to know in which mode it is working.
> 2) As there are more than one chip selects, may need to add code for handling that as well.

That's probably about right.

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 53+ messages in thread

end of thread, other threads:[~2015-07-27 14:25 UTC | newest]

Thread overview: 53+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-09 12:44 [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller Ranjit Waghmode
2015-07-09 12:44 ` Ranjit Waghmode
2015-07-09 12:44 ` Ranjit Waghmode
2015-07-09 12:44 ` [RFC PATCH 1/2] spi: zynqmp: gqspi: add support for dual parallel mode configuration Ranjit Waghmode
2015-07-09 12:44   ` Ranjit Waghmode
2015-07-09 12:44   ` Ranjit Waghmode
2015-07-14 16:26   ` Mark Brown
2015-07-14 16:26     ` Mark Brown
2015-07-14 16:26     ` Mark Brown
2015-07-09 12:44 ` [RFC PATCH 2/2] spi: zynqmp: gqspi: add support for stacked " Ranjit Waghmode
2015-07-09 12:44   ` Ranjit Waghmode
2015-07-09 12:44   ` Ranjit Waghmode
2015-07-14 16:28   ` Mark Brown
2015-07-14 16:28     ` Mark Brown
2015-07-14 16:28     ` Mark Brown
2015-07-10  8:28 ` [RFC PATCH 0/2] spi: add dual parallel & stacked mode support in Zynq MPSoC GQSPI controller Mike Looijmans
2015-07-10  8:28   ` Mike Looijmans
2015-07-13 14:59   ` Mark Brown
2015-07-13 14:59     ` Mark Brown
2015-07-13 14:59     ` Mark Brown
2015-07-13 10:04 ` Thomas.Betker
2015-07-13 10:04   ` Thomas.Betker
2015-07-13 10:04   ` Thomas.Betker at rohde-schwarz.com
2015-07-14  4:24   ` Harini Katakam
2015-07-14  4:24     ` Harini Katakam
2015-07-14  4:24     ` Harini Katakam
2015-07-14 16:40 ` Mark Brown
2015-07-14 16:40   ` Mark Brown
2015-07-14 16:40   ` Mark Brown
2015-07-15 14:12   ` Ranjit Abhimanyu Waghmode
2015-07-15 14:12     ` Ranjit Abhimanyu Waghmode
2015-07-15 14:12     ` Ranjit Abhimanyu Waghmode
2015-07-15 16:01     ` Mark Brown
2015-07-15 16:01       ` Mark Brown
2015-07-15 16:01       ` Mark Brown
2015-07-16  7:27       ` Ranjit Abhimanyu Waghmode
2015-07-16  7:27         ` Ranjit Abhimanyu Waghmode
2015-07-16  7:27         ` Ranjit Abhimanyu Waghmode
2015-07-16  8:57         ` Mark Brown
2015-07-16  8:57           ` Mark Brown
2015-07-17 12:03           ` Ranjit Abhimanyu Waghmode
2015-07-17 12:03             ` Ranjit Abhimanyu Waghmode
2015-07-17 12:03             ` Ranjit Abhimanyu Waghmode
2015-07-24 10:42           ` Ranjit Abhimanyu Waghmode
2015-07-24 10:42             ` Ranjit Abhimanyu Waghmode
2015-07-24 10:52             ` Mark Brown
2015-07-24 10:52               ` Mark Brown
2015-07-27 13:55               ` Ranjit Abhimanyu Waghmode
2015-07-27 13:55                 ` Ranjit Abhimanyu Waghmode
2015-07-27 13:55                 ` Ranjit Abhimanyu Waghmode
2015-07-27 14:23                 ` Mark Brown
2015-07-27 14:23                   ` Mark Brown
2015-07-27 14:23                   ` Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.