• Andreas Fenkart's avatar
    mmc: omap_hsmmc: Enable SDIO interrupt · 2cd3a2a5
    Andreas Fenkart authored
    There have been various patches floating around for enabling
    the SDIO IRQ for hsmmc, but none of them ever got merged.
    
    Probably the reason for not merging the SDIO interrupt patches
    has been the lack of wake-up path for SDIO on some omaps that
    has also needed remuxing the SDIO DAT1 line to a GPIO making
    the patches complex.
    
    This patch adds the minimal SDIO IRQ support to hsmmc for
    omaps that do have the wake-up path. For those omaps, the
    DAT1 line need to have the wake-up enable bit set, and the
    wake-up interrupt is the same as for the MMC controller.
    
    This patch has been tested on am3730 es1.2 with mwifiex
    connected to MMC3 with mwifiex waking to Ethernet traffic
    from off-idle mode. Note that for omaps that do not have
    the SDIO wake-up path, this patch will not work for idle
    modes and further patches for remuxing DAT1 to GPIO are
    needed.
    
    Based on earlier patches [1][2] by David Vrabel
    <david.vrabel@csr.com>, Steve Sakoman <steve@sakoman.com>
    
    For now, only support SDIO interrupt if we are booted with
    a separate wake-irq configued via device tree. This is
    because omaps need the wake-irq for idle states, and some
    omaps need special quirks. And we don't want to add new
    legacy mux platform init code callbacks any longer as we
    are moving to DT based booting anyways.
    
    To use it, you need to specify the wake-irq using the
    interrupts-extended property.
    
    [1] http://www.sakoman.com/cgi-bin/gitweb.cgi?p=linux.git;a=commitdiff_plain;h=010810d22f6f49ac03da4ba384969432e0320453
    [2] http://comments.gmane.org/gmane.linux.kernel.mmc/20446Acked-by: default avatarBalaji T K <balajitk@ti.com>
    Signed-off-by: default avatarAndreas Fenkart <afenkart@gmail.com>
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    2cd3a2a5
omap_hsmmc.c 60.9 KB