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

Colin McCabe colin at cozybit.com
Tue Dec 23 15:25:40 EST 2008


Hi Peter,

If you look in include/linux/spi/spi.h, there is a comment that says:
/*
 * likely need more hooks for more protocol options affecting how
 * the controller talks to each chip, like:
 *  - memory packing (12 bit samples into low bits, others zeroed)
 *  - priority
 *  - drop chipselect after each word
 *  - chipselect delays
 *  - ...
 */

So the chip select features that our hardware needs (don't drop
chipselect after each word, busy-waits during the transaction) are not
yet part of the generic SPI layer. But they are "TBD."

I agree that we should move them into the generic SPI layer. Maybe
I'll come up with a patch to the SPI layer itself to do exactly that,
once I get back from vacation.

cheers,
Colin.


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
>



More information about the libertas-dev mailing list