In our custom board, we have one USB port (usbotg3 in dts) which is Directly connected to LTE module. CDNS host controller used.
Below are the test scenario followed for system wakeup using USB test
1.Make USB (Directly connected to LTE module.CDNS host controller used) as Wake source.
2.Suspend the device using mem command
3.Send SMS to the SIM mounted on LTE module.
4.System is not waking up.
5.Wakeup the system using serial
6.Suspend the device using mem command (without rebooting the board)
7.Send SMS to the SIM mounted on LTE module.
8.System is waking up
From above test scenario we are able to conclude that system wakeup is happening using USB as wakeup source only in the second suspend - resume attempt.
After digging into the cdns driver code, I got hint that when I am giving first time suspend, cdns3_irq function is getting called and it is executing the code which is inside the cdns->in_lpm check. For second suspend (without rebooting the board) it is not going inside the cdns3_irq function when i give suspend command and when SMS comes system is able to wake up and I am able to see the cdns3_irq function getting called in resume time.
Please provide some input
Regards,
Sharmila
Hi Sharmila
one can try with latest L4.19.35 kernel
questions for usb cadence cdns driver code may be posted on linux-usb mail list
Majordomo Lists at VGER.KERNEL.ORG
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi igor,
With the latest kernel also I am facing the similar issue.
My host controller is USB2 and I am using cdns driver which is for USB3. Whether I need to add or delete some configuration to work.
Please suggest.
Regards,
Sharmila