devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Huang Shijie <b32955-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
Cc: Huang Shijie <shijie8-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
	"Gupta, Pekon" <pekon-l0cyMroinI0@public.gmane.org>,
	"thomas.langer-th3ZBGNqt+7QT0dZR+AlfA@public.gmane.org"
	<thomas.langer-th3ZBGNqt+7QT0dZR+AlfA@public.gmane.org>,
	"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org"
	<shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	"b44548-KZfg59tc24xl57MIdRCFDg@public.gmane.org"
	<b44548-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
	"dedekind1-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org"
	<dedekind1-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	"linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"b18965-KZfg59tc24xl57MIdRCFDg@public.gmane.org"
	<b18965-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
	"linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
	<linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	"kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org"
	<kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
	"lznuaa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org"
	<lznuaa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	"computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org"
	<computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>
Subject: Re: [PATCH v3 0/8] Add the Quadspi driver for vf610-twr
Date: Fri, 13 Sep 2013 11:21:27 +0100	[thread overview]
Message-ID: <20130913102127.GD29403@sirena.org.uk> (raw)
In-Reply-To: <52329AD3.2050608-KZfg59tc24xl57MIdRCFDg@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 2058 bytes --]

On Fri, Sep 13, 2013 at 12:55:47PM +0800, Huang Shijie wrote:
> 于 2013年09月13日 04:56, Mark Brown 写道:

> > I think this is part of the problem - you're trying to represent
> > something that isn't really a SPI controller as a SPI controller (or at
> > least trying to implement functionality beyond that which a SPI
> > controller has).

> The QuadSpi is not a traditional SPI controller, but i think it is still
> a SPI controller.
> It connects and controls the SPI NOR FLASH, so what do you think it is?

I think it is a SPI flash controller because...

> But the Quadspi controller can not work with the byte streams directly,
> it works with the LUT instruction sequences, so we have to parse the
> byte streams,
> and then uses the right LUT to trigger the transaction.

...it has a programming model that seems strongly oriented around that.
The device can offer a SPI interface too but as you say that's going to
be less efficient.  Externally it is still SPI but in terms of what it
is offering to the processor the functionality you are trying to support
looks like it will work a lot better if the code using it understands
that it is talking to a flash rather than having a SPI driver which
tries to reverse engineer the data that's being sent to it.

> > I think what you should be doing is refactoring the MTD code which
> > interfaces to SPI flashes to split out the code so that there's an
> > abstraction which can express what this controller (and presumably
> > other controllers) can do and then implement this functionaltiy at
> > that level.

> If i follow this advice, i have to create a new file cloned by the m25p80.c,
> and replace all the SPI APIs with other APIs.

Not quite, you need to split that file up so that there is an API
between the flash chip code and the SPI code - the code for the flash
chip should be shared between regular SPI and other controllers like
this one.

> I have no idea what APIs can be used to replace the SPI APIs.

You will need to create them.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

  parent reply	other threads:[~2013-09-13 10:21 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-30  2:07 [PATCH v3 0/8] Add the Quadspi driver for vf610-twr Huang Shijie
2013-08-30  2:07 ` [PATCH v3 1/8] mtd: m25p80: move the spi-nor commands to a header Huang Shijie
2013-08-30  2:07 ` [PATCH v3 2/8] mtd: m25p80: add support for Spansion s25fl128s chip Huang Shijie
2013-08-30  2:07 ` [PATCH v3 3/8] mtd: m25p80: add the quad-read support Huang Shijie
2013-08-30  2:07 ` [PATCH v3 4/8] mtd: m25p80: add the DDR " Huang Shijie
2013-08-30  2:07 ` [PATCH v3 5/8] spi: Add Freescale QuadSpi driver Huang Shijie
2013-09-10 18:09   ` Mark Brown
2013-09-11  2:40     ` Huang Shijie
2013-09-11 10:39       ` Mark Brown
2013-08-30  2:07 ` [PATCH v3 6/8] Documentation: add the binding file for Quadspi driver Huang Shijie
2013-08-30  2:07 ` [PATCH v3 7/8] ARM: dts: vf610: change the PAD values for Quadspi Huang Shijie
2013-08-30  2:07 ` [PATCH v3 8/8] ARM: dts: vf610-twr: Add SPI NOR support Huang Shijie
2013-09-04  2:16 ` [PATCH v3 0/8] Add the Quadspi driver for vf610-twr Huang Shijie
2013-09-04  9:55   ` Mark Brown
2013-09-04 10:29     ` Huang Shijie
2013-09-04 11:33       ` Mark Brown
2013-09-05  1:43         ` Huang Shijie
2013-09-04 13:45           ` thomas.langer
2013-09-05  2:04             ` Huang Shijie
2013-09-05  4:25               ` Gupta, Pekon
2013-09-05  5:34                 ` Huang Shijie
2013-09-05  6:32                   ` Gupta, Pekon
2013-09-05  7:45                     ` Huang Shijie
2013-09-05  9:11                       ` Gupta, Pekon
2013-09-05  9:30                         ` Huang Shijie
2013-09-05 13:50                           ` Mark Brown
2013-09-06  2:36                             ` Huang Shijie
2013-09-08 13:47                               ` Mark Brown
2013-09-09  3:07                                 ` Huang Shijie
2013-09-09 15:14                                   ` Mark Brown
2013-09-10  6:59                                     ` Huang Shijie
2013-09-10 18:07                                       ` Mark Brown
2013-09-11  2:38                                         ` Huang Shijie
2013-09-11 10:41                                           ` Mark Brown
2013-09-11 10:54                                             ` Huang Shijie
2013-09-11 11:30                                               ` Mark Brown
2013-09-11 12:26                                                 ` Gupta, Pekon
2013-09-11 12:35                                                   ` Mark Brown
2013-09-12  9:18                                                 ` Huang Shijie
2013-09-12 10:20                                                   ` Mark Brown
2013-09-13  3:30                                                     ` Huang Shijie
2013-09-12 15:32                                                       ` David Woodhouse
2013-09-12 10:39                                                   ` David Woodhouse
2013-09-12 10:56                                                     ` Gupta, Pekon
2013-09-12 11:17                                                       ` David Woodhouse
2013-09-12 11:48                                                         ` Mark Brown
2013-09-12 11:55                                                           ` Russell King - ARM Linux
2013-09-12 13:24                                                             ` Mark Brown
2013-09-12 13:25                                                             ` Ricard Wanderlof
2013-09-12 14:10                                                               ` Russell King - ARM Linux
2013-09-12 12:02                                                           ` David Woodhouse
2013-09-12 13:43                                                             ` Mark Brown
2013-09-12 14:03                                                               ` David Woodhouse
2013-09-12 14:40                                                                 ` Mark Brown
2013-09-13  3:14                                                                 ` Huang Shijie
2013-09-11 14:05                                               ` David Woodhouse
2013-09-11 15:07                                                 ` Mark Brown
     [not found]                                   ` <20130909151450 <52318953.6090405@freescale.com>
     [not found]                                     ` <52318953.6090405@freescale.com>
2013-09-12  9:50                                       ` David Woodhouse
2013-09-12 10:19                                         ` Mark Brown
2013-09-13  2:58                                         ` Huang Shijie
2013-09-12 15:22                                           ` David Woodhouse
2013-09-13  4:12                                             ` Huang Shijie
2013-09-12 16:26                                               ` David Woodhouse
2013-09-13  3:06                                                 ` Huang Shijie
2013-09-12 16:27                                               ` Fabio Estevam
     [not found]                                                 ` <CAOMZO5C54wCdEOHJmwVLk_zkh-twjis1ys20Gd1+T+ygM+A6bg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-09-13  2:21                                                   ` Huang Shijie
2013-09-12 20:56                                               ` Mark Brown
     [not found]                                                 ` <20130912205644.GW29403-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-09-13  4:55                                                   ` Huang Shijie
     [not found]                                                     ` <52329AD3.2050608-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2013-09-13 10:21                                                       ` Mark Brown [this message]
     [not found]                                                         ` <20130913102127.GD29403-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-09-16  2:40                                                           ` Huang Shijie
2013-09-16 10:19                                                             ` Mark Brown
     [not found]                                                               ` <20130916101912.GY29403-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-09-16 10:27                                                                 ` Huang Shijie
     [not found]                                                                   ` <5236DD17.5090203-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2013-09-16 11:06                                                                     ` Mark Brown
     [not found]                                                                       ` <20130916110634.GC29403-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-09-17  2:14                                                                         ` Huang Shijie
     [not found]                                                                           ` <5237BB01.3080700-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2013-09-17 10:51                                                                             ` Mark Brown
     [not found]                                                                               ` <20130917105142.GO21013-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-09-17 15:05                                                                                 ` Gerhard Sittig
2013-09-17 16:49                                                                                   ` Gerhard Sittig
2013-09-17 19:54                                                                                     ` Sourav Poddar
     [not found]                                                                                   ` <20130917150548.GE14747-kDjWylLy9wD0K7fsECOQyeGNnDKD8DIp@public.gmane.org>
2013-09-17 19:13                                                                                     ` Mark Brown
     [not found]                                                                                       ` <20130917191318.GJ21013-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-09-18 15:40                                                                                         ` David Woodhouse
     [not found]                                                                                           ` <1379518822.753.91.camel-Fexsq3y4057IgHVZqg5X0TlWvGAXklZc@public.gmane.org>
2013-09-18 16:00                                                                                             ` Mark Brown

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=20130913102127.GD29403@sirena.org.uk \
    --to=broonie-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
    --cc=b18965-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
    --cc=b32955-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
    --cc=b44548-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
    --cc=computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=dedekind1-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
    --cc=kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=lznuaa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=pekon-l0cyMroinI0@public.gmane.org \
    --cc=shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=shijie8-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=thomas.langer-th3ZBGNqt+7QT0dZR+AlfA@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: 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).