aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorHuang Shijie <b32955@freescale.com>2014-02-28 02:58:00 -0500
committerBrian Norris <computersforpeace@gmail.com>2014-04-14 14:22:58 -0400
commit1ef391084b22d75110171d34f565f57e4be9b2a6 (patch)
tree527d90e9cd4e05959fbb20b567c970f9723be49f /Documentation
parentb199489d37b21c5e294f95bf265acc5dde3fc3a2 (diff)
Documentation: add the document for the SPI NOR framework
This patch adds the document for the SPI NOR framework. Signed-off-by: Huang Shijie <b32955@freescale.com> Acked-by: Marek Vasut <marex@denx.de> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/mtd/spi-nor.txt59
1 files changed, 59 insertions, 0 deletions
diff --git a/Documentation/mtd/spi-nor.txt b/Documentation/mtd/spi-nor.txt
new file mode 100644
index 000000000000..294d5b06f892
--- /dev/null
+++ b/Documentation/mtd/spi-nor.txt
@@ -0,0 +1,59 @@
1 SPI NOR framework
2 ============================================
3
4Part I - why we need this framework?
5-------------------------------------
6
7The SPI bus controller only deals with the byte stream.
8Some controller does not works like a SPI bus controller, it works
9like a SPI NOR controller instead, such as the Freescale's QuadSPI controller.
10
11The Freescale's QuadSPI controller should know the NOR commands to
12find the right LUT sequence. Unfortunately, the old code can not meet
13this requirement.
14
15Part II - How does the framework work?
16-------------------------------------
17
18This framework just adds a new layer between the MTD and the SPI bus driver.
19With this new layer, the SPI NOR controller driver does not depend on the
20m25p80 code anymore.
21
22 Before this framework, the layer is like:
23
24 MTD
25 ------------------------
26 m25p80
27 ------------------------
28 SPI bus driver
29 ------------------------
30 SPI NOR chip
31
32 After this framework, the layer is like:
33 MTD
34 ------------------------
35 SPI NOR framework
36 ------------------------
37 m25p80
38 ------------------------
39 SPI bus driver
40 ------------------------
41 SPI NOR chip
42
43 With the SPI NOR controller driver(Freescale QuadSPI), it looks like:
44 MTD
45 ------------------------
46 SPI NOR framework
47 ------------------------
48 fsl-quadSPI
49 ------------------------
50 SPI NOR chip
51
52Part III - How can the drivers use the framework
53-------------------------------------
54
55The main API is the spi_nor_scan(). Before you call the hook, you should
56initialize the necessary fields for spi_nor{}.
57Please see the drivers/mtd/spi-nor/spi-nor.c for detail.
58Please also reference to the fsl-quadspi.c when you want to write a new driver
59for a SPI NOR controller.