As I have mentioned in a few other threads, I am trying to understand how the SPIDEV driver works as to understand it's performance and feature set.
Some of the things I would like to understand include:
Why the limit for the speed appears to be about: 6.25mhz. If I try to a set to 8mhz it does not change the output speed and if I then do a query for the max speed it still reports the 6.25mhz
Why when I to output multiple bytes there is a gap of time between bytes which is typically longer than the time it took to output the actual bytes.
How if at all can I control the CS pin(s). There is a field in the transfer structure for doing some of this, but my impression is that it does not currently do anything.
wordsize (msg.bits_per_word) - is it implemented?
...
So assumption is if I build a complete image from the sources (which I did), that the source files for the spidev is somewhere in the tree. Any Hints?
Also when I was first looking through the sources, I think I found it once, but the actual driver then appeared to simply call off to some other probably lower level drivers. Which ones? Are the sources there somewhere?
Also is there some form of document which describes the SPI subsystem of the Edison? Is it similar to what is shown for the Atom processor as described in the Galileo documents?
Thanks