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

Andrey Yurovsky andrey at cozybit.com
Fri Dec 19 13:17:36 EST 2008

Thanks Peter.  The Blackfin SPI controller provides built-in Chip
Select signals and one can choose to assign one of several CS lines to
a device.  However we need a GPIO-style CS rather than one generated
by the controller and while I see that there's certainly room to
implement that in the SPI controller driver, I don't see a way to have
both that and the automatically-generated CS as options.  That is, if
I understand correctly, there's no way to configure spi_board_info
with, say, a flag that tells the driver "hey, use this specific GPIO
line", instead you can pick between 0 and num_chipselect for your
chip_select value and, in Blackfin's case, this would configure one of
the automatically-generated lines.  We appreciate additional feedback
about this.  Thanks,

On Fri, Dec 19, 2008 at 8:57 AM, Peter Wippich <pewi at gw-instruments.de> wrote:
> Hi Andrey,
>> The '8686 requires us to assert CS# and then hold it asserted for the
>> entire transaction.  The transaction is an arbitrary number of SPI
>> transfers.  Most host controllers cannot do this (they'll toggle CS#
>> between individual transactions) and therefore we chose to not use the
>> controller CS# line and use a GPIO.  Can you suggest a different way
>> to do this given the current SPI framework?
> This can be handled by the SPI driver. See pxa2xx_spi.c as an example.
> Look for cs_control() to get the picture.....
> Perhaps this should go to the general driver and not be handled by the
> chip specific code. Seems a problem general enough.
> Chears,
> Peter

Andrey Yurovsky
cozybit Inc.

More information about the libertas-dev mailing list