Hi, Sorry for the delay, just noticed this one. * Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> [140324 02:34]: > Hi, > > I've tested the branch omap_hsmmc_sdio_irq_devm_cleanup on custom OMAP5 > based board. > We have mwifiex connected to MMC3. > > I used two approaches: > > * Using dat1 line as GPIO with dynamic remuxing > * Using separate GPIO connected to dat1 with static mux settings > > Both works just fine. Thanks Andreas for a great solution. > > I have just one issue - how to define GPIO IRQ using DT in OMAP5 case. > As a temporary hack for testing I used a fixed GPIO number and gpio_to_irq() > call in omap_hsmmc_configure_wake_irq(). > > OMAP5 MMC3 has the following DT entry (omap5.dtsi): > > mmc3: mmc@480ad000 { > compatible = "ti,omap4-hsmmc"; > reg = <0x480ad000 0x400>; > interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; > ti,hwmods = "mmc3"; > ti,needs-special-reset; > dmas = <&sdma 77>, <&sdma 78>; > dma-names = "tx", "rx"; > }; > > What should be by board MMC3 setup? You need to use the interrupts-extended property in omap5.dtsi for the MMC interrupt. And if using the wake-up interrupts for your board, you need to sepcify interrupts-extended in your board file again to add the second wake-up interrupt. If using the async wake-up path, the wake-up interrupt is the OMAP5_CORE_IOPAD() or OMAP5_WKUP_IOPAD() pinctrl register offset for that pin. If remuxing to GPIO for the wake-up, the wake-up interrupt is the standard gpio interrupt property. Then you also need this patch to avoid warnings during boot: http://lkml.org/lkml/2014/4/10/620 After the above gets merged, we can apply the serial wake-up patch too: http://lists.infradead.org/pipermail/linux-arm-kernel/2013-November/213873.html That shows you some examples on how to specify the wake-up interrupt. Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html