From: Stephen Street <stephen@streetfiresound.com>
To: Vitaly Wool <vwool@ru.mvista.com>
Cc: linux-kernel@vger.kernel.org,
David Brownell <david-b@pacbell.net>,
dpervushin@gmail.com, akpm@osdl.org, greg@kroah.com,
basicmark@yahoo.com, komal_shah802003@yahoo.com,
spi-devel-general@lists.sourceforge.net, Joachim_Jaeger@digi.com
Subject: Re: [PATCH 2.6-git] SPI core refresh
Date: Thu, 01 Dec 2005 10:04:17 -0800 [thread overview]
Message-ID: <1133460257.4528.44.camel@localhost.localdomain> (raw)
In-Reply-To: <20051201191109.40f2d04b.vwool@ru.mvista.com>
On Thu, 2005-12-01 at 19:11 +0300, Vitaly Wool wrote:
> Again, some advantages of our core compared to David's I'd like to mention
>
> - it can be compiled as a module
> - it is priority inversion-free
> - it can gain more performance with multiple controllers
> - it's more adapted for use in real-time environments
> - it's not so lightweight, but it leaves less effort for the bus driver developer.
>
> (As a response to the last bullet David claims that we limit the flexibility. It's not correct.
> The core method for message retrieval is just a default one and can easily be overridden by the bus driver. It's a common practice, for instance, see MTD/NAND interface.)
>
> It's also been proven to work on SPI EEPROMs and SPI WiFi module (the latter was a really good survival test! :)).
I have a question about your proposed core. But first a little
background:
My board has a 3 Cirrus Logic SPI devices (CS8415A, CS8405A and a
CS4341) connected to a PXA255 NSSP port. I have implemented the PXA2xx
NSSP SPI driver with DMA support using Davids framework and implemented
an working CS8415A driver.
Page 18 of the CS8415A data sheet discusses the SPI IO operation. Three
paragraphs and 1 timing diagram.
http://www.cirrus.com/en/pubs/proDatasheet/CS8415A_F4.pdf
The critical things to get from the datasheet are:
1) The chip has an internal register file pointer MAP which must be
positioned before write and read register operations.
2) The MAP has a auto-increment feature.
3) Register writes can be performed in one chip select cycles while
register reads MAY require a MAP write cycle first and thus require two
chip select cycles.
Now assume the CS8415A register operations will be generated from two
different sources: "process context" and "interrupt context". This
assumption forces a "guaranteed message order" requirement onto the IO
Model because of the possibility that an "interrupt context" will move
the MAP in between an "process context" write MAP message and read
register message. If this is not clear, let me know because it is
important.
I'm using David's SPI IO model to enforce "guaranteed message order" by
building multiple write/read transfers in a single SPI message which is
guaranteed execute in the correct order.
How do I accomplish the same with your core?
-Stephen
next prev parent reply other threads:[~2005-12-01 18:04 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-12-01 16:11 [PATCH 2.6-git] SPI core refresh Vitaly Wool
2005-12-01 16:18 ` [PATCH 2.6-git] MTD/SPI dataflash driver Vitaly Wool
2005-12-01 18:33 ` David Brownell
2005-12-02 6:01 ` Vitaly Wool
2005-12-02 22:07 ` David Brownell
2005-12-01 16:21 ` [PATCH 2.6-git] SPI core refresh Russell King
2005-12-01 16:30 ` Vitaly Wool
2005-12-01 18:04 ` Stephen Street [this message]
2005-12-01 18:22 ` Greg KH
2005-12-02 6:06 ` Vitaly Wool
2005-12-02 18:50 ` Mark Underwood
2005-12-02 20:13 ` Greg KH
2005-12-05 18:01 ` Vitaly Wool
2005-12-08 1:59 ` David Brownell
2005-12-08 6:33 ` Vitaly Wool
2005-12-09 22:55 ` David Brownell
2005-12-10 11:15 ` Vitaly Wool
2005-12-11 12:36 ` Vitaly Wool
2005-12-11 17:03 ` [spi-devel-general] " Vitaly Wool
2005-12-11 20:17 ` David Brownell
2005-12-11 22:13 ` Vitaly Wool
2005-12-11 23:54 ` David Brownell
2005-12-12 7:09 ` Vitaly Wool
2005-12-11 22:15 ` Vitaly Wool
2005-12-11 22:18 ` Vitaly Wool
-- strict thread matches above, loose matches on Subject: below --
2005-12-03 11:49 vitalhome
2005-12-03 17:10 ` Mark Underwood
2005-12-03 23:50 ` David Brownell
2005-12-03 11:44 vitalhome
2005-11-30 16:50 Vitaly Wool
2005-11-30 19:17 ` Russell King
2005-11-30 19:54 ` Greg KH
2005-11-30 20:29 ` Mark Underwood
2005-12-01 7:17 ` Vitaly Wool
2005-12-01 18:31 ` David Brownell
2005-12-02 5:48 ` Vitaly Wool
2005-12-02 18:37 ` Mark Underwood
2005-11-30 21:26 ` David Brownell
2005-11-30 21:27 ` David Brownell
2005-12-12 16:57 ` Vitaly Wool
2005-12-13 22:16 ` David Brownell
2005-11-30 21:36 ` David Brownell
2005-11-30 21:59 ` Stephen Street
2005-12-01 7:31 ` Vitaly Wool
2005-12-01 7:24 ` Vitaly Wool
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=1133460257.4528.44.camel@localhost.localdomain \
--to=stephen@streetfiresound.com \
--cc=Joachim_Jaeger@digi.com \
--cc=akpm@osdl.org \
--cc=basicmark@yahoo.com \
--cc=david-b@pacbell.net \
--cc=dpervushin@gmail.com \
--cc=greg@kroah.com \
--cc=komal_shah802003@yahoo.com \
--cc=linux-kernel@vger.kernel.org \
--cc=spi-devel-general@lists.sourceforge.net \
--cc=vwool@ru.mvista.com \
/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