
On Tue, Apr 12, 2011 at 1:58 AM, Mike Frysinger vapier@gentoo.org wrote:
On Friday, December 24, 2010 02:16:05 Thomas Chou wrote:
This is the v9 update of the mmc_spi driver. Please enable DEBUG on the top of mmc_spi.c and help me perform the tests.
A new spi_set_speed() is added to meet the 400KHz clock requirement during mmc card initialization. An example update to bfin_spi is included. The altera_spi core does not support speed change, so I am going to post a new opencore ip for this.
The driver now claims and releases the spi bus for each mmc command, as Mike suggested.
Thomas Chou (4): lib: add crc7 from Linux spi: add spi_set_speed func bfin_spi: add spi_set_speed mmc: add generic mmc spi driver
Andy: i think we've hit a fairly stable point. could you merge this now ?
I'm going to merge this, but I'll note that the reason you had to run mmcinfo before this will work is because this code never invoks mmc_init(). If you look at the mmc command in common/cmd_mmc.c, and see how the various sub-commands operate (under GENERIC_MMC), all of them call mmc_init() before running the command. It's suboptimal in terms of performance, but has the advantage of being robust and actually detecting if you put a card in, or took one out. If someone could find the appropriate places to call mmc_init(mmc), I'll be happy to also merge in the follow-up patch.
Also, I'm assuming, at the moment, that this supersedes the legacy mmc_spi patch you submitted earlier? If not, I'll put that in, now, too.
Andy