From: Huang Shijie <b32955@freescale.com>
To: <dwmw2@infradead.org>
Cc: <computersforpeace@gmail.com>, <angus.clark@st.com>,
<lee.jones@linaro.org>, <pekon@ti.com>, <sourav.poddar@ti.com>,
<broonie@linaro.org>, <linux-mtd@lists.infradead.org>,
<linux-spi@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-doc@vger.kernel.org>, <b44548@freescale.com>,
<b18965@freescale.com>, <devicetree@vger.kernel.org>,
<shawn.guo@linaro.org>, Huang Shijie <b32955@freescale.com>
Subject: [PATCH v5 0/8] mtd: spi-nor: add a new framework for SPI NOR
Date: Mon, 24 Feb 2014 18:37:34 +0800 [thread overview]
Message-ID: <1393238262-8622-1-git-send-email-b32955@freescale.com> (raw)
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:
v4 --> v5:
[1] rebase the patch set on the l2-mtd tree.
[2] fixed bugs in the fsl-quadspi driver.
[3] tested the fsl-quadspi with imx6sx board.
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.
*** BLURB HERE ***
Huang Shijie (8):
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
Documentation: add the document for the SPI NOR framework
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 | 35 +
Documentation/mtd/spi-nor.txt | 59 +
drivers/mtd/Kconfig | 2 +
drivers/mtd/Makefile | 1 +
drivers/mtd/devices/m25p80.c | 1302 ++------------------
drivers/mtd/spi-nor/Kconfig | 12 +
drivers/mtd/spi-nor/Makefile | 2 +
drivers/mtd/spi-nor/fsl-quadspi.c | 1009 +++++++++++++++
drivers/mtd/spi-nor/spi-nor.c | 1099 +++++++++++++++++
include/linux/mtd/spi-nor.h | 197 +++
10 files changed, 2521 insertions(+), 1197 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mtd/fsl-quadspi.txt
create mode 100644 Documentation/mtd/spi-nor.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
next reply other threads:[~2014-02-24 10:37 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-24 10:37 Huang Shijie [this message]
2014-02-24 10:37 ` [PATCH v5 1/8] mtd: spi-nor: copy the SPI NOR commands to a new header file Huang Shijie
[not found] ` <1393238262-8622-2-git-send-email-b32955-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2014-03-04 22:13 ` Marek Vasut
2014-03-05 2:59 ` Huang Shijie
[not found] ` <5316932C.5040405-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2014-03-05 3:43 ` Marek Vasut
2014-03-05 5:45 ` Huang Shijie
2014-03-05 7:24 ` Gupta, Pekon
2014-03-05 13:36 ` Marek Vasut
2014-04-09 17:40 ` Brian Norris
2014-02-24 10:37 ` [PATCH v5 4/8] Documentation: add the document for the SPI NOR framework Huang Shijie
2014-02-24 15:17 ` Konstantin Tokarev
[not found] ` <203101393255036-NPKjhoV82L1xpj1cXAZ9Bg@public.gmane.org>
2014-02-25 2:23 ` Huang Shijie
2014-02-28 7:58 ` [PATCH v5 4/8 fix] " Huang Shijie
[not found] ` <1393238262-8622-1-git-send-email-b32955-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2014-02-24 10:37 ` [PATCH v5 2/8] mtd: spi-nor: add the basic data structures Huang Shijie
2014-02-24 10:37 ` [PATCH v5 3/8] mtd: spi-nor: add the framework for SPI NOR Huang Shijie
2014-04-09 17:48 ` Brian Norris
2014-04-10 7:27 ` Huang Shijie
2014-02-24 10:37 ` [PATCH v5 5/8] mtd: m25p80: use the SPI nor framework Huang Shijie
2014-02-28 7:55 ` [PATCH v5 5/8 fix] " Huang Shijie
2014-04-09 21:37 ` Brian Norris
2014-04-10 7:25 ` Huang Shijie
2014-04-10 19:29 ` Brian Norris
2014-04-11 0:32 ` Huang Shijie
2014-04-11 7:04 ` Lee Jones
2014-02-24 10:37 ` [PATCH v5 6/8] mtd: spi-nor: add a helper to find the spi_device_id Huang Shijie
2014-02-24 10:37 ` [PATCH v5 7/8] Documentation: add the binding file for Freescale QuadSPI driver Huang Shijie
2014-03-12 8:13 ` [PATCH v5 0/8] mtd: spi-nor: add a new framework for SPI NOR Huang Shijie
[not found] ` <20140312081350.GC30808-Fb7DQEYuewWctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2014-03-13 6:39 ` Brian Norris
2014-04-09 3:36 ` Brian Norris
2014-04-09 4:29 ` Huang Shijie
2014-04-09 17:47 ` Marek Vasut
2014-04-10 7:42 ` Lee Jones
2014-04-10 19:31 ` Brian Norris
2014-02-24 10:37 ` [PATCH v5 8/8] mtd: spi-nor: Add Freescale QuadSPI driver Huang Shijie
2014-03-04 22:17 ` [PATCH v5 0/8] mtd: spi-nor: add a new framework for SPI NOR Marek Vasut
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1393238262-8622-1-git-send-email-b32955@freescale.com \
--to=b32955@freescale.com \
--cc=angus.clark@st.com \
--cc=b18965@freescale.com \
--cc=b44548@freescale.com \
--cc=broonie@linaro.org \
--cc=computersforpeace@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=dwmw2@infradead.org \
--cc=lee.jones@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=linux-spi@vger.kernel.org \
--cc=pekon@ti.com \
--cc=shawn.guo@linaro.org \
--cc=sourav.poddar@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).