Re: omap_hsmmc: sdio: issue with generic wakeup IRQ handling

Vishal Thanki
2016-02-25T12:18:55Z

On Thu, Feb 25, 2016 at 12:47 PM, Grygorii Strashko
<grygorii.strashko@ti.com> wrote:
> On 02/25/2016 01:18 PM, Vishal Thanki wrote:
>
> [...]
>
>
>>>
>>> Suspend or Runtime suspend?
>>
>>
>> The it is the runtime suspend routine for omap_hsmmc.c
>>
>> mmc1_pins: pinmux_mmc1_pins {
>> pinctrl-single,pins = <
>> 0x0fc 0x38 /* MMC0_DAT0 */
>> 0x0f8 0x38 /* MMC0_DAT1 */
>> 0x0f4 0x38 /* MMC0_DAT2 */
>> 0x0f0 0x38 /* MMC0_DAT3 */
>> 0x100 0x38 /* MMC0_CLK */
>> 0x104 0x38 /* MMC0_CMD */
>> 0x88 0x07 /* GPMC_CSN3 -> GPIO2_0 */
>> >;
>> };
>>
>> mmc1_sleep_pins: pinmux_mmc1_sleep_pins {
>> pinctrl-single,pins = <
>> 0x0fc 0x3f /* MMC0_DAT0 */
>> 0x0f8 0x3f /* MMC0_DAT1 */
>> 0x0f4 0x3f /* MMC0_DAT2 */
>> 0x0f0 0x3f /* MMC0_DAT3 */
>> 0x100 0x3f /* MMC0_CLK */
>> 0x104 0x3f /* MMC0_CMD */
>> 0x88 0x17 /* GPMC_CSN3 -> GPIO2_0 PULL UP */
>> >;
>> };
>>
>> mmc1_cirq_pin: pinmux_cirq_pin {
>> pinctrl-single,pins = <
>> 0x0f8 0x3f /* MMC0_DAT1 as GPIO2_28 */
>> >;
>> };
>>
>> wlan0_pwrseq: pwrseq {
>> compatible = "mmc-pwrseq-simple";
>> reset-gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
>> clocks = <&clk_32768_ck>;
>> clock-names = "ext_clock";
>> };
>>
>> &mmc1 {
>> status = "okay";
>> pinctrl-names = "default", "idle", "sleep";
>> pinctrl-0 = <&mmc1_pins>;
>> pinctrl-1 = <&mmc1_cirq_pin>;
>> pinctrl-2 = <&mmc1_sleep_pins>;
>> interrupts-extended = <&intc 64 &gpio2 28 0>;
>
>
> ^^ you can define IRQ type here
>
> &gpio2 28 IRQ_TYPE_LEVEL_LOW
>

Thank you very much Grygorii for pointing it out.
With that change, I am not seeing any problem now.

Thanks,
Vishal

>> ti,non-removable;
>> bus-width = <4>;
>> vmmc-supply = <&ldo2_reg>;
>> vmmc_aux-supply = <&vmmc>;
>> keep-power-in-suspend;
>> enable-sdio-wakeup;
>> mmc-pwrseq = <&wlan0_pwrseq>;
>> };
>>
>>
>>>
>>>>>
>>>>
>>>> Is there any other suggestion for mwifiex that I should try out? Or
>>>> is there any way in omap_hsmmc to specify the wakeup interrupt
>>>> type (IRQF_TRIGGER_LOW) while using generic wakeup IRQ
>>>> mechanism. I could not find it, but I may be missing something.
>>>
>>>
>>> How your irqs defined in DT? Could you provide mmc+wifi nodes?
>>
>>
>>
>>
>>>
>>>
>
> [..]
>
> --
> regards,
> -grygorii