Marvell 86868 SDIO firmware loading failure
Dan Williams
dcbw at redhat.com
Tue Oct 13 17:54:39 EDT 2009
On Tue, 2009-10-13 at 23:22 +0200, Maurus Cuelenaere wrote:
> Op 13-10-09 23:17, Dan Williams schreef:
> > On Tue, 2009-10-13 at 22:40 +0200, Maurus Cuelenaere wrote:
> >
> >> Op 13-10-09 22:24, Dan Williams schreef:
> >>
> >>> On Tue, 2009-10-13 at 21:10 +0200, Maurus Cuelenaere wrote:
> >>>
> >>>
> >>>> Hi,
> >>>>
> >>>> I'm porting Linux 2.6.32 over to the SmartQ 7, an ARM11 MID running on the
> >>>> Samsung S3C6410 SoC.
> >>>>
> >>>> The board has a Universal Scientific Industrial WM-G-MR-09 wifi chip (see [1]),
> >>>> which has a Marvell 88W8686 as chipset (and is connected over SDIO).
> >>>>
> >>>> I've compiled the libertas drivers statically, but get these messages in the
> >>>> kernel log:
> >>>>
> >>>> [ 11.200000] libertas_sdio mmc2:0001:1: firmware: requesting sd8686.bin
> >>>> [ 18.880000] libertas: firmware wants 16 bytes
> >>>> [ 18.880000] libertas: firmware wants 512 bytes
> >>>> [ 18.970000] libertas: firmware wants 17 bytes
> >>>> [ 18.970000] libertas: firmware helper signalled error
> >>>> [ 19.050000] libertas: failed to load firmware
> >>>>
> >>>> (I'm using SD-8686-LINUX26-SYSKT-9.70.3.p24-26409.P45-GPL.zip, see [2])
> >>>>
> >>>>
> >>> You're using that *driver*, or just the firmware from that driver
> >>> tarball?
> >>>
> >>>
> >> Only sd8686.bin and sd8686_helper.bin
> >>
> >>
> >>> What specific SDHC are you using?
> >>>
> >> This is a Samsung S3C6410 SDHCI, which follows AFAIK pretty much the
> >> SDHCI spec.
> >>
> > Any chance you can use a regular laptop with a Ricoh SDHC to verify that
> > your 8686 hardware actually works along with the firmware you're trying?
> > The one thing we've found is that controllers rarely, if ever, follow
> > the spec to the letter. Since the spec is ambiguous in some places too,
> > there's always room for multiple interpretations.
> >
>
> Not really, as the chip is soldered onto the board..
>
> It does work however, on 2.6.24 with a Marvell driver and another SDHC
> driver (although I doubt the SDHC driver is the problem).
>
> I was hesitant on forwardporting the Marvell driver and thought libertas
> should run this chip just fine.
It should run fine, yes, but apparently there are bugs :) The libertas
driver is sensitive to various quirks in the host controllers, and I
wouldn't put it past the Marvell driver or your other SDHC to have
papered those over. Things like properly supporting 4-bit transfers,
actually supporting interrupts (yours does apparently), making sure your
SDHC properly supports DMA (some report that they do, but don't), etc.
I'm not really sure where to go with this one, but I'll hope that Andrey
may have more insight into the SDIO and SPI stack than I do at the
moment. He's done a lot more with it than I have.
Dan
More information about the libertas-dev
mailing list