diff options
author | Huang Shijie <b32955@freescale.com> | 2014-02-28 08:58:00 +0100 |
---|---|---|
committer | Brian Norris <computersforpeace@gmail.com> | 2014-04-14 20:22:58 +0200 |
commit | 1ef391084b22d75110171d34f565f57e4be9b2a6 (patch) | |
tree | 527d90e9cd4e05959fbb20b567c970f9723be49f /Documentation/mtd | |
parent | mtd: spi-nor: add the framework for SPI NOR (diff) | |
download | linux-1ef391084b22d75110171d34f565f57e4be9b2a6.tar.xz linux-1ef391084b22d75110171d34f565f57e4be9b2a6.zip |
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/mtd')
-rw-r--r-- | Documentation/mtd/spi-nor.txt | 59 |
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 @@ + 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 know 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. |