public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* [RFC PATCH] mtd: spi-nor: Added flag check for quad io protocol for micron flash parts
@ 2015-06-18 14:58 Anurag Kumar Vulisha
  2015-06-19 19:11 ` Graham Moore
  2015-06-20 19:13 ` Rafał Miłecki
  0 siblings, 2 replies; 4+ messages in thread
From: Anurag Kumar Vulisha @ 2015-06-18 14:58 UTC (permalink / raw)
  To: dwmw2, computersforpeace, marex, shijie.huang, zajec5, ben,
	mika.westerberg, beanhuo, grmoore
  Cc: harinik, Anurag Kumar Vulisha, svemula, linux-kernel, broonie,
	linux-mtd, anirudh, punnaia

micron flash parts by default operates in extended spi protocol,which accepts
command on single line and can accept address & data on one,two and four lines
depending on the command sent.In set_quad_enable() we are enabling the quad io
protocol for micron flash parts by updating the EVCR register,in this method the
flash expects the command,address and data to be transmitted on all four data
lines which may not be supported on all qspi controllers.So READ_1_1_4 command
does not necessarily go out using those bus widths.

So i have added SPI_QUAD_IO_PROTOCOL flag,which should be checked before enabling
the quad io protocol.

Signed-off-by: Anurag Kumar Vulisha <anuragku@xilinx.com>
---
 drivers/mtd/spi-nor/spi-nor.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
index 14a5d23..a6fa8dc 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -55,6 +55,7 @@ struct flash_info {
 #define	SPI_NOR_DUAL_READ	0x20    /* Flash supports Dual Read */
 #define	SPI_NOR_QUAD_READ	0x40    /* Flash supports Quad Read */
 #define	USE_FSR			0x80	/* use flag status register */
+#define SPI_QUAD_IO_PROTOCOL	0x100	/* use quad io protocol */
 };
 
 #define JEDEC_MFR(info)	((info)->id[0])
@@ -962,6 +963,8 @@ static int set_quad_mode(struct spi_nor *nor, struct flash_info *info)
 		}
 		return status;
 	case CFI_MFR_ST:
+		if (!(info->flags & SPI_QUAD_IO_PROTOCOL))
+			return 0;
 		status = micron_quad_enable(nor);
 		if (status) {
 			dev_err(nor->dev, "Micron quad-read not enabled\n");
-- 
1.7.4

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

end of thread, other threads:[~2015-06-20 19:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-18 14:58 [RFC PATCH] mtd: spi-nor: Added flag check for quad io protocol for micron flash parts Anurag Kumar Vulisha
2015-06-19 19:11 ` Graham Moore
2015-06-20  2:30   ` Punnaiah Choudary Kalluri
2015-06-20 19:13 ` Rafał Miłecki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox