diff mbox

[v5,4/8] Documentation: add the document for the SPI NOR framework

Message ID 1393238262-8622-5-git-send-email-b32955@freescale.com (mailing list archive)
State New, archived
Headers show

Commit Message

Huang Shijie Feb. 24, 2014, 10:37 a.m. UTC
This patch adds the document for the SPI NOR framework.

Signed-off-by: Huang Shijie <b32955@freescale.com>
---
 Documentation/mtd/spi-nor.txt |   59 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 59 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/mtd/spi-nor.txt

Comments

Konstantin Tokarev Feb. 24, 2014, 3:17 p.m. UTC | #1
24.02.2014, 15:26, "Huang Shijie" <b32955@freescale.com>:
> This patch adds the document for the SPI NOR framework.
>
> Signed-off-by: Huang Shijie <b32955@freescale.com>
> ---
>  Documentation/mtd/spi-nor.txt |   59 +++++++++++++++++++++++++++++++++++++++++
>  1 files changed, 59 insertions(+), 0 deletions(-)
>  create mode 100644 Documentation/mtd/spi-nor.txt
>
> diff --git a/Documentation/mtd/spi-nor.txt b/Documentation/mtd/spi-nor.txt
> new file mode 100644
> index 0000000..b9585f8
> --- /dev/null
> +++ b/Documentation/mtd/spi-nor.txt
> @@ -0,0 +1,59 @@
> +                          SPI NOR framework
> +               ============================================
> +
> +Part I - why 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.
> +
> +The Freescale's QuadSPI controller should knows the NOR commands to
> +find the right LUT sequence. Unfortunately, the old code can not meet
> +this requirement.

should know

> +
> +Part II - How does the framework work?
> +-------------------------------------
> +
> +This framework just adds a new layer between the MTD and the SPI bus driver.
> +With this new layer, the SPI NOR controller driver does not depend on the
> +m25p80 code anymore.
> +
> +   Before this framework, the layer is like:
> +
> +                   MTD
> +         ------------------------
> +                  m25p80
> +         ------------------------
> +       SPI bus driver
> +         ------------------------
> +        SPI NOR chip
> +
> +   After this framework, the layer is like:
> +                   MTD
> +         ------------------------
> +              SPI NOR framework
> +         ------------------------
> +                  m25p80
> +         ------------------------
> +       SPI bus driver
> +         ------------------------
> +       SPI NOR chip
> +
> +  With the SPI NOR controller driver(Freescale QuadSPI), it looks like:
> +                   MTD
> +         ------------------------
> +              SPI NOR framework
> +         ------------------------
> +                fsl-quadSPI
> +         ------------------------
> +       SPI NOR chip
> +
> +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.
> --
> 1.7.2.rc3
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/

Regards,
Konstantin
Huang Shijie Feb. 25, 2014, 2:23 a.m. UTC | #2
? 2014?02?24? 23:17, Konstantin Tokarev ??:
> should know
sorry for my poor english. thanks a lot.

Huang Shijie
diff mbox

Patch

diff --git a/Documentation/mtd/spi-nor.txt b/Documentation/mtd/spi-nor.txt
new file mode 100644
index 0000000..b9585f8
--- /dev/null
+++ b/Documentation/mtd/spi-nor.txt
@@ -0,0 +1,59 @@ 
+                          SPI NOR framework
+               ============================================
+
+Part I - why 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.
+
+The Freescale's QuadSPI controller should knows the NOR commands to
+find the right LUT sequence. Unfortunately, the old code can not meet
+this requirement.
+
+Part II - How does the framework work?
+-------------------------------------
+
+This framework just adds a new layer between the MTD and the SPI bus driver.
+With this new layer, the SPI NOR controller driver does not depend on the
+m25p80 code anymore.
+
+   Before this framework, the layer is like:
+
+                   MTD
+         ------------------------
+                  m25p80
+         ------------------------
+	       SPI bus driver
+         ------------------------
+	        SPI NOR chip
+
+   After this framework, the layer is like:
+                   MTD
+         ------------------------
+              SPI NOR framework
+         ------------------------
+                  m25p80
+         ------------------------
+	       SPI bus driver
+         ------------------------
+	       SPI NOR chip
+
+  With the SPI NOR controller driver(Freescale QuadSPI), it looks like:
+                   MTD
+         ------------------------
+              SPI NOR framework
+         ------------------------
+                fsl-quadSPI
+         ------------------------
+	       SPI NOR chip
+
+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.