Question about SD/MMC driver in Neo 1973

Leon lee astroli.leon at gmail.com
Wed Mar 19 18:49:50 CET 2008


Hi,
     I tried to port our SDIO card to Neo 1973.
I find that driver/mmc, driver/sdio and drivers/mfd/glamo/ built at
the same time.
Should only driver/mmc exist with Linux 2.6.24 ?

I check the source code.
It seems that driver/mmc/host/s3cmci.c only supports SD memory functionality.
pio_tasklet will clear SDIIMSK[12] - IOIntDet Interrupt Enable.
Therefore no interrupt will come from the card.
finalize_request called by pio_tasklet will reset the clock and interrupt mask.
Not sure it is right for SDIO.

In drivers/sdio/hcd/s3c24xx/s3c24xx_hcd.c
    s3c24xx_hcd_irq_work
         disable_irq(context->io_irq);
         writel(S3C2410_SDIDSTA_SDIOIRQDETECT, context->base + S3C2410_SDIDSTA);
         enable_irq(context->io_irq);

s3c24xx_hcd_irq_work and pio_tasklet should do the same job.

In drivers/sdio/hcd/s3c24xx/s3c24xx_hcd.c
    s3c24xx_hcd_hw_init
        con = readl(context->base + S3C2410_SDICON);
        con |= S3C2410_SDICON_SDIOIRQ;

Should we do such thing in driver/mmc/host/s3cmci.c ?

Does the current host driver in mmc support SDIO functionality ?

Thanks,
Leon




More information about the openmoko-kernel mailing list