SDIO on S3C2412

José Miguel Gonçalves jose.goncalves at inov.pt
Wed Nov 25 15:26:25 EST 2009


Hi,

I'm now trying to setup a SDIO Wi-FI card (Silex SX-SDWAG) on a S3C2412.
I'm using a 2.6.27 kernel patched with latest SDIO host controller 
(s3cmci) driver sources (from git).
I'v setup my platform data as follows:

static struct s3c24xx_mci_pdata sx560_mmc_platdata = {
    .no_wprotect = 1,
    .no_detect = 1,
};

static void __init sx560_machine_init(void)
{
   ...
    s3c_device_sdi.dev.platform_data = &sx560_mmc_platdata;
}

When I load the s3cmci module everything seems fine, as the card is 
detected:

[root ~]$ modprobe s3cmci
s3c2412-sdi s3c2412-sdi: powered down.
s3c2412-sdi s3c2412-sdi: mmc0 - using pio, sw SDIO IRQ
s3c2412-sdi s3c2412-sdi: running at 0kHz (requested: 0kHz).
s3c2412-sdi s3c2412-sdi: running at 196kHz (requested: 195kHz).
s3c2412-sdi s3c2412-sdi: running at 196kHz (requested: 195kHz).
s3c2412-sdi s3c2412-sdi: running at 196kHz (requested: 195kHz).
s3c2412-sdi s3c2412-sdi: running at 196kHz (requested: 195kHz).
[root ~]$ s3c2412-sdi s3c2412-sdi: running at 196kHz (requested: 195kHz).
s3c2412-sdi s3c2412-sdi: running at 25000kHz (requested: 25000kHz).
s3c2412-sdi s3c2412-sdi: running at 25000kHz (requested: 25000kHz).
mmc0: new SDIO card at address 0001

And when I unload it, the card is successfully removed:

[root ~]$ modprobe -r s3cmci
mmc0: card 0001 removed
s3c2412-sdi s3c2412-sdi: powered down.
s3c2412-sdi s3c2412-sdi: powered down.

The problem is when I try to load the module again:

[root ~]$ modprobe s3cmci
s3c2412-sdi s3c2412-sdi: powered down.
s3c2412-sdi s3c2412-sdi: mmc0 - using pio, sw SDIO IRQ
s3c2412-sdi s3c2412-sdi: running at 0kHz (requested: 0kHz).
s3c2412-sdi s3c2412-sdi: running at 196kHz (requested: 195kHz).
s3c2412-sdi s3c2412-sdi: running at 196kHz (requested: 195kHz).
s3c2412-sdi s3c2412-sdi: running at 196kHz (requested: 195kHz).
s3c2412-sdi s3c2412-sdi: powered down.

So, the second time the card is not detected! Any ideas why?

Regards,
José Gonçalves



More information about the linux-arm mailing list