Point to sample SPI for MMC card driver?
Robert S. Grimes
rsg at alum.mit.edu
Wed Oct 15 23:52:19 UTC 2008
Gene Smith wrote:
> Robert S. Grimes wrote:
>> Gene Smith wrote:
>>>> Sorry, can't help you here, but you do want to be fairly current.
>>>> The libi2c SPI support has matured somewhat since I started (around
>>>> 4.8), and if you want to use the spi-sd-card driver, you'll need to
>>>> make sure you're based on at least 4.9 libi2c. In particular, you'll
>>>> want to support the idle_char field of the transfer parameters
>>>> structure rtems_libi2c_tfr_mode_t. See my latest posts regarding
>>>> "Card Specific Data".
> Yes, I am using 4.9.0 now so no problem. I remember you said something
> about adding a new field to a struct for some reason. Is this what you
> are referring to?
Yes. Your driver will implement a read/write function, which because of
the strict bidirectional nature of SPI, will always send data, even when
the client code only wants to read from the wire. If a write buffer is
not supplied, then the function sends idle_char's instead. When
monitoring for a busy SD card going not busy, you need to keep the MOSI
(master out, slave in) line high; hence, the spi-sd-card driver sets
idle_char to 0xff.
> I need to go back and re-read your threads, print them out, tape them to
> the wall, whatever it takes. :)
Don't forget coffee and/or beer! ;-)
> I thought in your first post on this a while back you said you based
> your SPI driver on "vertex". But when I look under vertex in libbsp I
> see nothing about SPI. Just curious about that.
Yes. I haven't submitted what I've done (yet). As I said earlier, I
don't have the knowledge or time to package it properly into the virtex
BSP, but would be happy to let someone else take a whack at it, or to
use it as I am (essentially, as part of my applications). I certainly
hope to submit it properly some day...
> OK, so I will just use these two as my examples and stop looking at
> others. They seem like a good starting point.
They worked for me! ;-)
Good luck, and have fun!
More information about the users