libertas_sdio on at91sam9263

Hans-Jürgen Koch hjk at linutronix.de
Tue Dec 18 08:13:46 EST 2007


Am Tue, 18 Dec 2007 11:39:00 +0100
schrieb Marc Pignat <marc.pignat at hevs.ch>:

> Hi!
> 
> On Tuesday 18 December 2007, Hans-Jürgen Koch wrote:
> > I have a board very similar to the AT91SAM9263-EK evaluation kit.
> > There's a 8686 soldered on the board, connected to MMC1, slot A.
> > ATM, I'm using netdev-2.6.25, but I get similar effects with other
> > recent kernels.
> 
> The current version of the at91_mci driver doesn't handle data
> transfer when size%4 != 0.
> The size of all data xfer should be rounded up to a multiple of 4
> bytes.

Hmm, yes, but looking at at91_mci.c, I guess it should show an
"Unsupported block size" error message and then fail. Can't remember I
ever saw that.

> 
> Please note that the at91_mci driver can be fixed for at91sam series,
> but not for at91rm9200... I think the better way is to always round
> data transfer size, this will introduce a very small overhead, but
> the libertas_sdio driver will work with more sd hosts.

Agreed, but where would you do that? Loading the firmware doesn't seem
to be handled by libertas_sdio itself, it just calls request_firmware().

> 
> ...
> > Any ideas what I could try next to debug this?
> try enabling debug in the libertas driver and disable it in the
> mmc/sd stack. I think there is a timing problem when downloading the
> firmware, if there is a lot of printk, the firmware upload will
> fail...

Thanks for that hint!

Regards

Hans



More information about the libertas-dev mailing list