AnsweredAssumed Answered

IMX6SLL-EVK Board Suspend Not waking from SDIO Interrupt

Question asked by Pandi Vijayaraj on Feb 9, 2018
Latest reply on Feb 11, 2018 by Pandi Vijayaraj

Hi All,

 

I am using MCIMX6SLL-EVK board as the Linux Host system in my testing. It is running the Linux kernel 4.9.11.

I am interfacing an external WiFi module via SDIO interface using the SD card slot SD3.

The WiFi module driver sets the MMC capability bit MMC_CAPS_NONREMOVABLE in the SDIO probe function to enable the WoWLAN Suspend/ Resume functionality. Also in SDIO probe fuction, the deivice wakeup is configured using the API device_init_wakeup(dev, true).

Also in SDIO suspend function, MMC_PM_KEEP_POWER & MMC_PM_WAKE_SDIO_IRQ capabilities are set. UART wake-up and the WoWLAN wake-up is configured before going to the suspend.

 

System suspend is tested using the commands,

      echo enabled > /sys/class/tty/ttymxc0/power/wakeup

      echo mem > /sys/power/state

 

The observation is that WiFi module SDIO interface power is sustained across Suspend/Resume tests. But the SDIO interrupts are not received in the host system. Host system doesn't wake-up from suspend based on SDIO interrupt, it wakes-up only based on UART interrupt.

Outcomes