1 of 1 people found this helpful
Yes. FX3 does support Function remote wake capability.
We have a pair of APIs that can help the device signal remote wake:
"CyU3PUsbSetLinkPowerState (CyU3PUsbLPM_U0)" should be called to initiate the LFPS signalling to get the USB link back to U0 from U3.
"CyU3PUsbSendDevNotification (1, 0, 0)" should be called to send a DEV_NOTIFICATION(FUNCTION_WAKE) TP to the host after the link is back in U0.
One constraint we have is that the driver will only send 0s in response to a GET_STATUS command addressed to the interface. This means that it is not possible for the application to indicate FUNCTION_WAKE support when fast enumeration is in use.
The work-around to this is to disable fast enumeration, and then implement only the GET_STATUS command in the Setup CB. The application can return CyFalse for all other setup commands, thus letting the driver handle them.
I am attaching a piece of code where this is done, and remote wakeup is performed based on GPIO interrupt.
Thanks, that helps!