[PATCH 3/3] libertas: if_spi, driver for libertas GSPI devices

Andrey Yurovsky andrey at cozybit.com
Tue Dec 16 13:08:39 EST 2008

On Tue, Dec 16, 2008 at 9:38 AM, Dan Williams <dcbw at redhat.com> wrote:
> On Mon, 2008-12-15 at 22:44 -0500, Angel Roman wrote:
>> Hi Colin,
>> I have support for the gspi as well. I've been trying to get in contact
>> with Dan Williams in order to contribute it to the list.
> Sorry about that... it's in my queue and I'll try to get to do some
> review in the next few days.  Doing the new interface isn't a ton of
> code, and I'd expect both yours and Colin's drivers to be quite similar
> as there's only a few ways this thing can be done :)
> The submission process is basically just like Colin did; generate a
> series of patches of your latest code (split into independent patches if
> possible) based on a kernel version (ideally the latest kernel version
> or better yet, wireless-testing.git) and then post it to linux-wireless
> and maybe cc libertas-dev as well.

We've been working/testing against a kernel that's pretty close to
upstream and then also against wireless-testing to make this driver
upstream-friendly and hopefully easy to merge.  If you have access to
a Blackfin development board, you can also clone our tree with the
driver integrated:
however it should be simple enough to build for other embedded platforms.

> Is there a generic SPI layer that could be used for the board-specific
> bits too, rather than putting that stuff in the libertas tree?  I assume
> that the SPI bus is more or less generic on your hardware (ie you could
> put something else on the other end instead of the 8686), and thus it
> would be better if we could figure out way not to put some much board
> specific logic into the libertas driver itself.

The exception is the GPIO-based chip select signal that the '8686
requires, we otherwise use the generic SPI layer.  The protocol
requires the host to assert the CS# line and then hold it low for the
entire transaction (which can be of arbitrary length).  Most SPI host
controllers cannot do this and therefore a plain GPIO is used.  The
board-specific config for this is not much different from configuring
your SPI chips in your mach-xxxx/board.c

Andrey Yurovsky
cozybit Inc.

More information about the libertas-dev mailing list