Hi everyone ,

I had porting the Libertas driver (
Drivers/libertas) at kernel 2.6.26 with muru path. I verify the driver
the SDIO marvell 88W8686 module.
The driver work now , but the performance is bad. The ping time near
20 ms and the ftp below 70KB/s.
The TI SDIO host driver implementation (omap_hsmmc.c) of linux kernel
don't support SDIO card interrupt cause the result. The default linux
SDIO stack use polling to make the SDIO workable even the host don't
support SDIO.

Do anyone or anywhere could get the example code to disable/enable the
SDIO card interrupt at OMAP 3430/3530 ?

Thanks for your advise.

Claud Yu

Hi Claud,

    I'll check the status of SDIO with Beagleboard ASAP.


Hi Alecrim ,

Following is experience of SDIO I know. The office SDIO stack appear at 2.6.24 and the libertas driver used.

The SD/SDIO host driver (ex. omap_hsmmc.c or pxamci.c) need to declare the host has SDIO capacity and add enable/disable SDIO card interrupt function.
And the host driver need to take care the SDIO interrupt in Interrupt handler.

Basically the office SDIO stack using polling that make the non-SDIO host work with SDIO peripheral. But the performance always bad but work.

     is this code tested? I did the same thing, but I saw that, even
if there are NO interrupts from the card, IRQ line is asserted and
there is a never-ending stream of interrupts. [I even forced to reset
all the interrupts from card in the init as well] I was trying to
optimize the mmc polling implementation [in 2.6.28 git linux kernel]
to interrupt based implementation. any other registers to read/write?
     Also I believe the level is mentioned as active low in both SDIO
spec and Ti 3530 TRM SDIO. Any issues with that? may be I've to check
with a bus analyzer.