Quantcast
Channel: Processors
Viewing all articles
Browse latest Browse all 148998

Forum Post: Linux SPI kernal driver available?

$
0
0

Hi All -

I've included snippets from a couple emails from a customer below.  In a nutshell, he's trying to speed up SPI access and is wondering if a kernal SPI driver is available for him to modify to achieve his desired throughput.  Any help would be appreciated!

----------

My application is relatively simple in concept. I need to acquire data from two A/D converters and send it out a Wifi link.  On the acquisition side, each A/D converter uses SPI to transfer data to a TI AM3359 CPU.  I’m running linux provided by TI so I have access to a Wifi radio with throughput at a sustained 30Mbps.  The Wifi is a TI WL1271 module built by Murata (LBEE5ZSTNC-523).   I’ve been able to set up SPI transfers to the A/D converters using spidev in linux.  The A/D converter requires some tight timing requirements to transfer all the data samples within one sample period.  It basically requires every SPI SCLK cycle during acquisition to be used @24MHz.  It also requires that the Chip Select line be toggled between SPI word transfers as part of its internal processing.  If I send single word transfers, the CS line toggles as needed but the time between transfers is too slow.  I’m trying to understand what I need to do in linux to tighten this timing.  Also, I need to find out if toggling the CS line is built into the chips SPI control. 

I’ve run into some performance issues with the userspace Linux SPI driver (McSPI and spidev) that TI supports for SPI communications in Linux.  Userspace drivers have performance limitations due to the access they have through the kernel.  I think it’s going to take a custom kernel SPI driver to interface the A/D chips we’re using.  Is there a kernel driver available for SPI communications?  I’m running at 24MHz SPI clock but the timing between transfers (both for data words and whole messages) has SPI signal pause times that are much too long.  Our A/D chips require almost constant communication at 24MHz to transfer all the data.


Viewing all articles
Browse latest Browse all 148998

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>