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@xxxxxxxxxxxxxxxxx> 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 > -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html