24.02.2014, 15:26, "Huang Shijie" <b32955@xxxxxxxxxxxxx>: > This patch adds the document for the SPI NOR framework. > > Signed-off-by: Huang Shijie <b32955@xxxxxxxxxxxxx> > --- > 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 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html