I am using IMX6UL in a customized board. The device works as a USB-powered gadget that receives commands from host using control and bulk transfers. I want to put the device into "suspend" mode for power saving when there is no data activity on DM and DP and wake it up when host initiates some data transaction. I follow "Linux Reference Manual" for Power Management and USB wakeup usage. However it seems that the wake up feature of USB only works when there is external usb device plugged in/out of OTG port. Is there any way that I can wake my device up when it is plugged into a host and there is activity initiated from host without plugging it in/out. Thank you very much!
Thank you for your reply but I dont see any /sys/bus/usb/devices/usb1/power/wakeup in my kernel. How can I enable it and is /sys/bus/usb/devices/usb1 is for USB Host? When I call "suspend", the USB gadget (imx6-based device) is automatically unplugged from host. And I have no idea how to wake it up just by DM and DP. And in the document, NXP said that I can wake the device up by VBus and ID pin. Does that mean the device is only wake up when it is in host mode?
Please try such command:
# echo enabled > /sys/bus/usb/devices/usb1/power/wakeup
Have a great day,
Victor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------