linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/7] mtd: spi-nor: add a new framework for SPI NOR
@ 2013-12-25  5:50 Huang Shijie
       [not found] ` <1387950629-27448-1-git-send-email-b32955-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
                   ` (2 more replies)
  0 siblings, 3 replies; 22+ messages in thread
From: Huang Shijie @ 2013-12-25  5:50 UTC (permalink / raw)
  To: dwmw2-wEGCiKHe2LqWVfeAwA7xHQ
  Cc: computersforpeace-Re5JQEeQqe8AvxtiuMwx3w, angus.clark-qxv4g6HH51o,
	lee.jones-QSEj5FYQhm4dnm+yROfE0A, pekon-l0cyMroinI0,
	sourav.poddar-l0cyMroinI0, broonie-QSEj5FYQhm4dnm+yROfE0A,
	linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-spi-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-doc-u79uwXL29TY76Z2rM5mHXA, b44548-KZfg59tc24xl57MIdRCFDg,
	b18965-KZfg59tc24xl57MIdRCFDg, shawn.guo-QSEj5FYQhm4dnm+yROfE0A,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Huang Shijie

1.) Why add a new framework for SPI NOR?
  The SPI-NOR controller such as Freescale's Quadspi controller is working
  in a different way from the SPI bus. It should knows the NOR commands to
  find the right LUT sequence. Unfortunately, the current code can not meet
  this requirement.

2.) How does this patch set do?
   This patch set adds a new spi-nor layer.
   Before this patch, the layer is like:

                   MTD
         ------------------------
                  m25p80
         ------------------------
	       spi bus driver
         ------------------------
	        SPI NOR chip

   After this patch, the layer is like:
                   MTD
         ------------------------
                  spi-nor
         ------------------------
                  m25p80
         ------------------------
	       spi bus driver
         ------------------------
	       SPI NOR chip

  With the spi-nor controller driver(Freescale Quadspi), it looks like:
                   MTD
         ------------------------
                  spi-nor
         ------------------------
                fsl-quadspi
         ------------------------
	       SPI NOR chip

3.) more details
    This patch set adds a new data structrue spi_nor{}, clones most the common
  code to spi-nor.c. Add spi_nor_xfer_cfg {} for the fundamental primitives:
  read_xfer/write_xfer.

    Make the m25p80.c/fsl_quaspi.c use the new APIs. 

4.) Change log:
v3 --> v4:
	[1] move the wait_till_ready to the @read hook.
	[2] convert to linux-doc style comment.
	[3] remove the some DT property for QuadSPI driver, such as
	    "fsl,nor-size".
	[4] others    

v2 --> v3:
	[1] add prepare/unprepare hooks for spi_nor{}.
	[2] add a new "priv" field for spi_nor{}.
	[3] add the Freescale Quadspi driver which supports the Quad read by
             default. 

v1 --> v2:
	[1] follow Angus's advice, add more hooks and data structrures.
	[2] others.


Huang Shijie (7):
  mtd: spi-nor: copy the SPI NOR commands to a new header file
  mtd: spi-nor: add the basic data structures
  mtd: spi-nor: add the framework for SPI NOR
  mtd: m25p80: use the SPI nor framework
  mtd: spi-nor: add a helper to find the spi_device_id
  Documentation: add the binding file for Freescale QuadSPI driver
  mtd: spi-nor: Add Freescale QuadSPI driver

 .../devicetree/bindings/mtd/fsl-quadspi.txt        |   26 +
 drivers/mtd/Kconfig                                |    2 +
 drivers/mtd/Makefile                               |    1 +
 drivers/mtd/devices/Kconfig                        |    2 +-
 drivers/mtd/devices/m25p80.c                       | 1275 ++------------------
 drivers/mtd/spi-nor/Kconfig                        |   12 +
 drivers/mtd/spi-nor/Makefile                       |    2 +
 drivers/mtd/spi-nor/fsl-quadspi.c                  |  957 +++++++++++++++
 drivers/mtd/spi-nor/spi-nor.c                      | 1093 +++++++++++++++++
 include/linux/mtd/spi-nor.h                        |  194 +++
 10 files changed, 2387 insertions(+), 1177 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mtd/fsl-quadspi.txt
 create mode 100644 drivers/mtd/spi-nor/Kconfig
 create mode 100644 drivers/mtd/spi-nor/Makefile
 create mode 100644 drivers/mtd/spi-nor/fsl-quadspi.c
 create mode 100644 drivers/mtd/spi-nor/spi-nor.c
 create mode 100644 include/linux/mtd/spi-nor.h

-- 
1.7.2.rc3


--
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] 22+ messages in thread

end of thread, other threads:[~2014-01-21  2:29 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-25  5:50 [PATCH v4 0/7] mtd: spi-nor: add a new framework for SPI NOR Huang Shijie
     [not found] ` <1387950629-27448-1-git-send-email-b32955-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2013-12-25  5:50   ` [PATCH v4 1/7] mtd: spi-nor: copy the SPI NOR commands to a new header file Huang Shijie
2013-12-25  5:50   ` [PATCH v4 2/7] mtd: spi-nor: add the basic data structures Huang Shijie
2013-12-25  5:50   ` [PATCH v4 3/7] mtd: spi-nor: add the framework for SPI NOR Huang Shijie
2013-12-25  5:50   ` [PATCH v4 4/7] mtd: m25p80: use the SPI nor framework Huang Shijie
2013-12-25  5:50   ` [PATCH v4 5/7] mtd: spi-nor: add a helper to find the spi_device_id Huang Shijie
2013-12-25  5:50   ` [PATCH v4 6/7] Documentation: add the binding file for Freescale QuadSPI driver Huang Shijie
2013-12-25  5:50 ` [PATCH v4 7/7] mtd: spi-nor: Add " Huang Shijie
2014-01-15 19:15 ` [PATCH v4 0/7] mtd: spi-nor: add a new framework for SPI NOR Jagan Teki
     [not found]   ` <CAD6G_RTnNQgeJM8Tc16Sc1_n29d=V9sJN1ePrOAn5YzM+GujMQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-16  9:11     ` Huang Shijie
     [not found]       ` <52D7A237.8-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2014-01-16  9:39         ` Jagan Teki
     [not found]           ` <CAD6G_RRNg-uRtKnnVgJYpUGPsKecAUm9mwETVJsCsaGSuL2eCw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-17  2:02             ` Huang Shijie
2014-01-17  7:06               ` Jagan Teki
     [not found]                 ` <CAD6G_RR7vgmHGFj4GqwCYLQQO6tbsZAeCzVBivbcxnCGSwgiWQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-17  6:54                   ` Huang Shijie
2014-01-17  8:39                     ` Jagan Teki
2014-01-17 17:06                       ` Jagan Teki
2014-01-17 17:40                         ` Gupta, Pekon
2014-01-19  2:44                           ` Huang Shijie
2014-01-19  2:28                       ` Huang Shijie
     [not found]                         ` <52DB3864.2040606-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-01-19 10:09                           ` Jagan Teki
     [not found]                             ` <CAD6G_RTwMJ5DgkCB7wcYw+2p---DqU4KCVJ3CUnHFfCJ0ui_Jw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-21  2:29                               ` Huang Shijie
2014-01-17  7:17                 ` sourav

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).