From: Brian Norris <computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> To: <linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org> Cc: Brian Norris <computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>, Huang Shijie <b32955-KZfg59tc24xl57MIdRCFDg@public.gmane.org>, Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>, <linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>, Marek Vasut <marex-ynQEQJNshbs@public.gmane.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-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> Signed-off-by: Brian Norris <computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> --- 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 -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
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
next prev parent reply other threads:[~2014-04-09 17:32 UTC|newest] Thread overview: 58+ 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 ` Brian Norris [not found] ` <1397064774-31784-1-git-send-email-computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-04-09 17:32 ` [PATCH 2/9] mtd: spi-nor: re-name OPCODE_* to SPINOR_OP_* Brian Norris 2014-04-09 17:32 ` Brian Norris [not found] ` <1397064774-31784-2-git-send-email-computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-04-09 17:41 ` Marek Vasut 2014-04-09 17:41 ` Marek Vasut 2014-04-10 7:42 ` Huang Shijie 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:32 ` Brian Norris [not found] ` <1397064774-31784-3-git-send-email-computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-04-09 17:41 ` Marek Vasut 2014-04-09 17:41 ` Marek Vasut 2014-04-10 7:43 ` Huang Shijie 2014-04-10 7:43 ` Huang Shijie 2014-04-10 7:47 ` Huang Shijie 2014-04-10 7:47 ` Huang Shijie 2014-04-10 19:34 ` Brian Norris 2014-04-10 19:34 ` Brian Norris 2014-04-09 17:32 ` Brian Norris [this message] 2014-04-09 17:32 ` [PATCH 4/9] Documentation: spi-nor: rewrite some portions Brian Norris [not found] ` <1397064774-31784-4-git-send-email-computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-04-09 17:44 ` Marek Vasut 2014-04-09 17:44 ` Marek Vasut [not found] ` <201404091944.15631.marex-ynQEQJNshbs@public.gmane.org> 2014-04-09 18:14 ` Brian Norris 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:32 ` Brian Norris [not found] ` <1397064774-31784-5-git-send-email-computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-04-09 17:44 ` Marek Vasut 2014-04-09 17:44 ` Marek Vasut 2014-04-10 7:39 ` Huang Shijie 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-09 17:32 ` Brian Norris [not found] ` <1397064774-31784-6-git-send-email-computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-04-10 7:57 ` Lee Jones 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-09 17:32 ` Brian Norris [not found] ` <1397064774-31784-7-git-send-email-computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-04-10 7:56 ` Lee Jones 2014-04-10 7:56 ` Lee Jones 2014-04-10 18:58 ` Brian Norris 2014-04-10 18:58 ` Brian Norris 2014-04-10 18:01 ` Geert Uytterhoeven 2014-04-10 18:01 ` Geert Uytterhoeven [not found] ` <CAMuHMdWu7YVO_RD-SUfaTw1Jp97i5bm8iX5TzKeqgWAk_iN5qQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2014-04-10 18:59 ` Brian Norris 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-09 17:32 ` Brian Norris [not found] ` <1397064774-31784-8-git-send-email-computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-04-10 7:52 ` Lee Jones 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-09 17:32 ` Brian Norris [not found] ` <1397064774-31784-9-git-send-email-computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-04-10 7:50 ` Lee Jones 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:40 ` Marek Vasut [not found] ` <201404091940.14392.marex-ynQEQJNshbs@public.gmane.org> 2014-04-09 17:56 ` Brian Norris 2014-04-09 17:56 ` Brian Norris 2014-04-10 7:34 ` Huang Shijie 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-re5jqeeqqe8avxtiumwx3w@public.gmane.org \ --cc=b32955-KZfg59tc24xl57MIdRCFDg@public.gmane.org \ --cc=lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \ --cc=linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \ --cc=linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \ --cc=marex-ynQEQJNshbs@public.gmane.org \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.