Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Feb 2013 17:30:03 +0100
From:      Bernd Walter <ticso@cicely7.cicely.de>
To:        Patrick Kelsey <kelsey@ieee.org>
Cc:        Aleksandr Rybalko <ray@freebsd.org>, Bernd Walter <ticso@cicely7.cicely.de>, freebsd-arm@freebsd.org, freebsd-mips@freebsd.org, ticso@cicely.de
Subject:   Re: SPI, _sz fields in struct spi_command
Message-ID:  <20130221163003.GC12189@cicely7.cicely.de>
In-Reply-To: <CAD44qMU6-GUDy%2BTUJ1Ndtcy7S42BCeSsFis0dMtj9LDOeDLwGA@mail.gmail.com>
References:  <20130220142140.f8e5a616c75d72e2519dbc69@freebsd.org> <54C08D8E-4C5F-49AF-BEE6-D78EC05D2A24@bsdimp.com> <CAD44qMXkFH9iR=ym1XBtD88HRadpGkO=WRYvz5xhAVucEuoLEA@mail.gmail.com> <20130220174449.GB6976@cicely7.cicely.de> <CAD44qMXsdrhuNRbpA1a9ikj4BGffVfhv1WY6hsqCxHwVzQAdsg@mail.gmail.com> <20130221022655.6f693eb6.ray@freebsd.org> <20130221014433.GA12189@cicely7.cicely.de> <20130221163026.dbeb03f9c38de3d24a7ab30f@freebsd.org> <CAD44qMU6-GUDy%2BTUJ1Ndtcy7S42BCeSsFis0dMtj9LDOeDLwGA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Feb 21, 2013 at 10:21:00AM -0500, Patrick Kelsey wrote:
> >On Thu, Feb 21, 2013 at 9:30 AM, Aleksandr Rybalko <ray@freebsd.org> wrote:
> >> On Thu, 21 Feb 2013 02:44:33 +0100
> >> Bernd Walter <ticso@cicely7.cicely.de> wrote:
> >>
> >> On Thu, Feb 21, 2013 at 02:26:55AM +0200, Aleksandr Rybalko wrote:
> >> > 2. teach consumers to give only correct numbers (very nice we have only
> >> > two SPI devices in tree)
> >> >
> >> > After that we will be able to make drivers for some (potential) devices
> >> > which will require bidirectional communication. And controllers which
> >> > can't do that, will just report error in that. I believe peoples thinks
> >> > before attach such devices to controllers, so we will not have such
> >> > incompatibility.
> >>
> >> I don't think there are many devices requiring RX/TX at the same time.
> >
> > Anyway, we will be able to do that, and we don't care now because don't
> > have such drivers yet.
> >
> 
> Taking the view that "RX/TX at the same time" means that one wants to
> send meaningful data to the slave device at the same time one is
> interested in what data is returned during that transmission, there
> are such devices in use out there.  Linear Technologies has several
> ADCs, such as the LTC2446, for which you obtain the previous
> conversion result while sending the configuration bits for the next
> conversion to be performed.

Forgot about ADC with channel selection.

> Although this is slightly out of focus for the specific issue
> originally raised, while on the topic of things that need to get done
> on SPI in real systems, there are also devices out there that require
> specific data or some number of clocks to be provided while chip
> select is deasserted.  One example of the former is the LTC2404, which
> is a multichannel ADC for which the input channel for the next
> conversion is selected by the last four bits clocked in *before* chip
> select is asserted.  One example of the latter is the spec for SPI
> access to MMC/SD cards, which requires a certain number of clocks to
> be applied with chip select deasserted in order to initialize the
> card.  If you ever find yourself wondering why an SPI software
> interface provides independent bus acquisition and chip select
> control, the reason is to support these types of devices.

With many ADC you also want probing support.
Assign CS and GPIO-read MISO for ready without clocking.
Some flash chips also work this way.
Not sure if AT45DB support this and how our driver works.
With own projects I usually ask AT45DB about ready state by transfering
a status word.

-- 
B.Walter <bernd@bwct.de> http://www.bwct.de
Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130221163003.GC12189>