SPI trouble on Colibri 270 (PXA)...

Jakob Viketoft jakob at viketoft.se
Fri Apr 23 15:57:15 EDT 2010


Vernon Sauder wrote:
> Jakob Viketoft wrote, On 04/22/2010 10:36 AM:
<...>
>> The original code currently combines the two transfers in one message as
>> you say (leaving CS asserted unless cs_change is set). However, I don't
>> know if it's a problem with scheduling or that the interrupt takes too
>> long to serve, but on my platform the two transfers (in the same
>> message) doesn't go back-to-back as they should and CS gets deasserted
>> in the middle. Thus I have combined the two transfers into one and the
>> message only hold this single transfer. Now things work at my end, but
>> it's annoying that I don't have time to track down the real issue at the
>> moment...
>>
>>     /Jakob
>>
> 
> As part of this thread:
> http://permalink.gmane.org/gmane.linux.kernel.spi.devel/1517
> I added the following note to Documentation/spi/pxa2xx. I have not
> checked to see if the patch hit mainline. Is this part of the answer to
> your question?
> 
>> +NOTE: the SPI driver cannot control the chip select if SSPFRM is used, so the
>> +chipselect is dropped after each spi_transfer.  Most devices need chip select
>> +asserted around the complete message.  Use SSPFRM as a GPIO (through cs_control)
>> +to accomodate these chips.
> 
> That was my solution to using the pxa2xx SPI with M25Pxx flash.
> 

Yes, I saw that note in the documentation. Unfortunately it wasn't what 
was causing my problem. I think a code patch has been applied to control 
  the SSPFRM as a gpio through the .gpio_cs option, but this seem to be 
missing from the documentation.

 From the sound of it, I think I'm running into the same kind of trouble 
as shown by the SPI controller on the EP93xx.

	/Jakob



More information about the linux-arm-kernel mailing list