linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: computersforpeace@gmail.com (Brian Norris)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/4] mtd: spi-nor: add a new framework for SPI NOR
Date: Tue, 10 Dec 2013 01:08:54 -0800	[thread overview]
Message-ID: <20131210090854.GD11489@norris.computersforpeace.net> (raw)
In-Reply-To: <52A08F43.6060307@st.com>

On Thu, Dec 05, 2013 at 02:35:47PM +0000, Angus Clark wrote:
> On 12/04/2013 06:44 PM, Brian Norris wrote:
> > On this topic, I have one more stick to throw on this fire; I have some
> > Broadcom hardware that consists of two pieces:
> > 
> >   (1) a true SPI controller, with single-line-I/O and
> >   (2) a Serial Flash controller that can accelerate flash read, using
> >       dual/quad I/O.
> 
> We support one platform with properties similar to the hardware you describe,
> and such a hybrid configuration was in mind when I was thinking about the
> spi-nor framework.  I am not sure how well this will come across over email, but
> I envisage something like this:
> 
>                              spi-nor
>                                 |
>                                 v
>                           [spi-nor-xfer]
>                                 |
>          ------------------------------------------------
>         |                       |                        |
>         v                       v                        v
>    spi-wrapper (<------)  hybrid-driver          serial-flash-driver
>         |                       |                        |
>       [SPI]                     |                        |
>         |                       |                        |
>         v                       |                        |
> generic-spi-driver              |                        |
>         |                       |                        |
>         v                       v                        v
> [generic-SPI-Cntrl]   [SPI-Flash-Read Cntrl]   [SPI-Flash-Controller]
> 
> The 'spi-nor' layer is responsible for Serial Flash domain knowledge, and how to
> generate 'spi-nor-xfer' messages.  The 'spi-wrapper' would provide an interface
> to the generic SPI framework, flattening the 'spi-nor-xfer' message to standard
> SPI calls.  The combination of 'spi-nor' and 'spi-wrapper' should achieve what
> we have today for the m25p80 driver.  The 'serial-flash-driver' in the example
> provides an implementation for a dedicated Serial Flash Controller, making use
> of the spi-nor-xfer semantics where required.  The 'hybrid-driver' could use the
> 'spi-wrapper' implementation for write and erase hooks, and optimised
> implementations for read hooks.

OK, that sounds reasonable. But how do I bind my "generic SPI driver"
with my "SPI NOR accelerated read driver" to represent this? Does the
hybrid driver (my accelerated-read driver) have to register itself as a
SPI protocol driver (struct spi_driver)? The "controller" boundaries
seem to get a little fuzzy under this design.

Brian

  parent reply	other threads:[~2013-12-10  9:08 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-26  6:32 [PATCH 0/4] mtd: spi-nor: add a new framework for SPI NOR Huang Shijie
2013-11-26  6:32 ` [PATCH 1/4] mtd: spi-nor: move the SPI NOR commands to a new header file Huang Shijie
2013-11-26  7:42   ` Gupta, Pekon
2013-11-26  8:53     ` Huang Shijie
2013-11-26 14:48       ` Angus Clark
2013-11-26  6:32 ` [PATCH 2/4] mtd: spi-nor: add a new data structrue spi_nor{} Huang Shijie
2013-11-26 11:42   ` Gupta, Pekon
2013-11-27  4:35     ` Huang Shijie
2013-11-27  9:32       ` Marek Vasut
2013-11-27 10:24         ` Huang Shijie
2013-11-27 10:27           ` Marek Vasut
2013-11-26  6:32 ` [PATCH 3/4] mtd: spi-nor: add the framework for SPI NOR Huang Shijie
2013-11-26 10:03   ` Gupta, Pekon
2013-11-27  9:39   ` Marek Vasut
2013-11-26  6:32 ` [PATCH 4/4] mtd: m25p80: use the new spi-nor APIs Huang Shijie
2013-11-26 12:57 ` [PATCH 0/4] mtd: spi-nor: add a new framework for SPI NOR Angus Clark
2013-11-27  4:32 ` Brian Norris
2013-11-27  4:39   ` Huang Shijie
2013-11-29 14:52   ` Angus Clark
2013-12-02 10:06     ` Huang Shijie
2013-12-02 11:01       ` Gupta, Pekon
2013-12-02 11:19       ` Angus Clark
2013-12-03  6:20         ` Huang Shijie
2013-12-03  8:23           ` Lee Jones
2013-12-10  8:25             ` Brian Norris
2013-12-10 10:00               ` Lee Jones
2013-12-03  0:32     ` Marek Vasut
2013-12-03 10:36       ` Huang Shijie
2013-12-03 14:51     ` David Woodhouse
2013-12-04 18:44       ` Brian Norris
2013-12-05  7:12         ` Huang Shijie
2013-12-05  8:11           ` Brian Norris
2013-12-05  7:59             ` Huang Shijie
2013-12-05  9:20               ` Brian Norris
2013-12-06  3:07                 ` Huang Shijie
2013-12-05 14:35         ` Angus Clark
2013-12-06  8:18           ` Huang Shijie
2013-12-10  9:08           ` Brian Norris [this message]
2013-12-04  2:46     ` Huang Shijie
2013-12-04  6:58       ` Angus Clark
2013-12-04  7:19         ` Gupta, Pekon
2013-12-04  8:21           ` Angus Clark
2013-12-04 15:36             ` Marek Vasut
2013-12-05  2:42               ` Huang Shijie
2013-12-05  5:43                 ` Gupta, Pekon
2013-12-05  7:33                   ` Huang Shijie
2013-11-27  9:27 ` Marek Vasut
2013-11-27  9:47   ` Sourav Poddar
2013-11-27 10:06     ` Marek Vasut
2013-11-27 10:56       ` Sourav Poddar
2013-12-02 23:59         ` Marek Vasut
2013-12-03 10:01           ` Sourav Poddar
2013-12-03 13:42             ` Marek Vasut
2013-12-03 13:50               ` Sourav Poddar
2013-12-03 14:19                 ` Marek Vasut
2013-12-03 14:31                   ` Sourav Poddar
2013-12-03 15:09                     ` Marek Vasut
2013-12-03 15:16                       ` Sourav Poddar
2013-12-03 15:35                         ` Marek Vasut
2013-12-03 15:23                       ` David Woodhouse
2013-12-03 18:28                         ` Brian Norris
2013-12-03 23:41                           ` Marek Vasut
2013-11-27 10:19   ` Huang Shijie
2013-12-03  0:00     ` Marek Vasut

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=20131210090854.GD11489@norris.computersforpeace.net \
    --to=computersforpeace@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.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: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).