- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
does the FX3 support the FunctionRemoteWake-capability?
If I do a GetStatus on the first interface of a function (consisting of 3 interfaces) I get always 0x0000 for the 2 status-bytes. This would mean the device is not FunctionRemoteWake-capable (as bit D0 = 0) and I found no API where I could enable or disable this capability in the FX3-firmware?!
Regards,
Robert
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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,
sai krishna.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks, that helps!