AnsweredAssumed Answered

iMX7D USB Wakeup

Question asked by Demetrius Pampouktsis Pampouktsis on Oct 21, 2017
Latest reply on Oct 27, 2017 by CarlosCasillas

I'm working on a custom embedded project using the iMX7D. To save power we are utilizing Deep Sleep Mode (DSM). There is a radio that is powered while in DSM, and data transferred via USB. When the SoC is in DSM, and a data packet arrives over USB I'd like to wake up the SoC. 

 

I've been able to do this successfully with a push button connected to a GPIO line. By adding... 

gpio-key,wakeup;

...to the push button GPIO block in my dts. 

 

After reading some dts documentation I found...

wakeup-source;

...and inserted that into the USB block in the dts, assuming it would work the same as GPIO. This doesn't seem to be the case, and I'm probably missing a step. 

 

&usbotg2 {
vbus-supply = <&reg_usb_otg2_vbus>;
dr_mode = "host";
status = "okay";
wakeup-source;
};

 

As far as the HW connections. The radio is constantly powered by VSYS (3.6V @ 2A). It is a pretty straight forward connection.

 

I have not edited the pinmux or dts for USB aside from adding wakeup source, as USB on our custom design in the same as on the iMX7D Sabre SD reference design. With the radio connected to usbotg2.  

 

Is there anything else that needs to be done to enable USB as a wakeup source? Something i'm missing?

Outcomes