linux-mtd.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Brian Norris <computersforpeace@gmail.com>
To: <linux-mtd@lists.infradead.org>
Cc: Marek Vasut <marex@denx.de>, Huang Shijie <b32955@freescale.com>,
	Brian Norris <computersforpeace@gmail.com>,
	Lee Jones <lee.jones@linaro.org>,
	linux-spi@vger.kernel.org
Subject: [PATCH 4/9] Documentation: spi-nor: rewrite some portions
Date: Wed,  9 Apr 2014 10:32:49 -0700	[thread overview]
Message-ID: <1397064774-31784-4-git-send-email-computersforpeace@gmail.com> (raw)
In-Reply-To: <1397064774-31784-1-git-send-email-computersforpeace@gmail.com>

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
---
WIP. This could be improved more (e.g., don't spend too much time documenting
history; just document the current framework)

 Documentation/mtd/spi-nor.txt | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/Documentation/mtd/spi-nor.txt b/Documentation/mtd/spi-nor.txt
index 294d5b06f892..bfcdeb94e053 100644
--- a/Documentation/mtd/spi-nor.txt
+++ b/Documentation/mtd/spi-nor.txt
@@ -1,16 +1,20 @@
                           SPI NOR framework
                ============================================
 
-Part I - why we need this framework?
+Part I - Why do we need this framework?
 -------------------------------------
 
-The SPI bus controller only deals with the byte stream.
-Some controller does not works like a SPI bus controller, it works
-like a SPI NOR controller instead, such as the Freescale's QuadSPI controller.
+SPI bus controllers (drivers/spi/) only deal with streams of bytes; the bus
+controller operates agnostic of the specific device attached. However, some
+controllers (such as Freescale's QuadSPI controller) cannot easily handle
+arbitrary streams of bytes, but rather are designed specifically for SPI NOR.
 
-The Freescale's QuadSPI controller should know the NOR commands to
-find the right LUT sequence. Unfortunately, the old code can not meet
-this requirement.
+Specifically, Freescale's QuadSPI controller must know the NOR commands to
+find the right LUT sequence. Unfortunately, the SPI subsystem has no notion of
+opcodes, addresses, or data payloads; a SPI controller simply knows to send or
+receive bytes (Tx and Rx). Therefore, we must define a new layering scheme under
+which the controller driver is aware of the opcodes, addressing, and other
+details of the SPI NOR protocol.
 
 Part II - How does the framework work?
 -------------------------------------
@@ -40,7 +44,7 @@ m25p80 code anymore.
          ------------------------
 	       SPI NOR chip
 
-  With the SPI NOR controller driver(Freescale QuadSPI), it looks like:
+  With the SPI NOR controller driver (Freescale QuadSPI), it looks like:
                    MTD
          ------------------------
               SPI NOR framework
@@ -53,7 +57,6 @@ Part III - How can the drivers use the framework
 -------------------------------------
 
 The main API is the spi_nor_scan(). Before you call the hook, you should
-initialize the necessary fields for spi_nor{}.
-Please see the drivers/mtd/spi-nor/spi-nor.c for detail.
-Please also reference to the fsl-quadspi.c when you want to write a new driver
-for a SPI NOR controller.
+initialize the necessary fields for spi_nor{}. Please see the
+drivers/mtd/spi-nor/spi-nor.c for detail. Please also refer to the fsl-quadspi.c
+when you want to write a new driver for a SPI NOR controller.
-- 
1.8.3.2

  parent reply	other threads:[~2014-04-09 17:33 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-09 17:32 [PATCH 1/9] mtd: spi-nor: drop \t after #define Brian Norris
2014-04-09 17:32 ` [PATCH 2/9] mtd: spi-nor: re-name OPCODE_* to SPINOR_OP_* Brian Norris
2014-04-09 17:41   ` Marek Vasut
2014-04-10  7:42   ` Huang Shijie
2014-04-09 17:32 ` [PATCH 3/9] mtd: spi-nor: unify read opcode variants with ST SPI FSM Brian Norris
2014-04-09 17:41   ` Marek Vasut
2014-04-10  7:43   ` Huang Shijie
2014-04-10  7:47   ` Huang Shijie
2014-04-10 19:34     ` Brian Norris
2014-04-09 17:32 ` Brian Norris [this message]
2014-04-09 17:44   ` [PATCH 4/9] Documentation: spi-nor: rewrite some portions Marek Vasut
2014-04-09 18:14     ` Brian Norris
2014-04-09 17:32 ` [PATCH 5/9] mtd: spi-nor: shorten Kconfig naming Brian Norris
2014-04-09 17:44   ` Marek Vasut
2014-04-10  7:39   ` Huang Shijie
2014-04-09 17:32 ` [PATCH 6/9] mtd: st_spi_fsm: fixup Kconfig dependency Brian Norris
2014-04-10  7:57   ` Lee Jones
2014-04-09 17:32 ` [PATCH 7/9] mtd: st_spi_fsm: kill duplicate CMD definitions Brian Norris
2014-04-10  7:56   ` Lee Jones
2014-04-10 18:58     ` Brian Norris
2014-04-10 18:01   ` Geert Uytterhoeven
2014-04-10 18:59     ` Brian Norris
2014-04-09 17:32 ` [PATCH 8/9] mtd: st_spi_fsm: replace FLACH_CMD_* with SPINOR_OP_* Brian Norris
2014-04-10  7:52   ` Lee Jones
2014-04-09 17:32 ` [PATCH 9/9] mtd: st_spi_fsm: begin using spi-nor.h opcodes Brian Norris
2014-04-10  7:50   ` Lee Jones
2014-04-09 17:40 ` [PATCH 1/9] mtd: spi-nor: drop \t after #define Marek Vasut
2014-04-09 17:56   ` Brian Norris
2014-04-10  7:34 ` Huang Shijie

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=1397064774-31784-4-git-send-email-computersforpeace@gmail.com \
    --to=computersforpeace@gmail.com \
    --cc=b32955@freescale.com \
    --cc=lee.jones@linaro.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=marex@denx.de \
    /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).