3 Replies Latest reply on Jan 24, 2013 10:00 PM by userc_39074

    support of FunctionRemoteWake




      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?!







        • 1. Re: support of FunctionRemoteWake

          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.




          sai krishna.

          1 of 1 people found this helpful
          • 3. Re: support of FunctionRemoteWake

            Thanks, that helps!