6 Replies Latest reply on Aug 21, 2013 6:36 PM by anandsrinivasana_

    Looking to implement Remote Wakeup in CY7C64013



      We are working with the CY7C64013. When we attach our device to a Windows 8 machine, and Win8 goes to Sleep, Our device goes into Suspend. I have been looking at old code Mouse code based upon the CY7C637xx, and see that there is a dedicated interrupt for this - Wakeup Interrupt Vector at 0016. There is also code for this mouse application that uses


      "jmp clear_device_feature"




      "jmp set_device_feature"


      The sample code I started with had these as "jmp request_not_supported".


      I would like to know if the CY7C64013 is able to duplicate the functionality of remote wakeup when the PC goes to sleep and any sample code for it?


      Thanks in advance,



        • 1. Re: Looking to implement Remote Wakeup in CY7C64013
                  Hi, When you say 0x0016 you're talking about GPIO/HAPI interrupt right? That is for waking up the chip from suspend not for signaling remote wakeup. The chip doesn't have remote wakeup functionality. Regards, Anand   
          • 2. Re: Looking to implement Remote Wakeup in CY7C64013
                    Also please let me know if this is a new design?   
            1 of 1 people found this helpful
            • 3. Re: Looking to implement Remote Wakeup in CY7C64013
                      Also please let me know if this is a new design? and what is your intended end functionality? that way we can help you choose a appropriate chip   
              1 of 1 people found this helpful
              • 4. Re: Looking to implement Remote Wakeup in CY7C64013

                Thanks for your reply. The 0016 interrupt vector I was referring to was for the CY7C637xx. I didn't know if the CY7C64013 implemented this functionality in a different way. We are creating a special purpose composite device - mouse/keyboard also able to communicate with a compiled VB program via endpoint2. I see Suspend and Resume nomenclature in the CY7C64013 documentation. Can this be used to implement a Remote Wakeup condition?


                Also, the code I have been using has been based upon an old Cypress example, and the portion that I believe I need to modify, (if at all possible), starts here:


                            jmp        request_not_supported    ; 00
                            jmp        request_not_supported    ; clear_interface_feature 01
                            jmp        request_not_supported    ; 02
                            jmp        request_not_supported    ; set_interface_feature     03
                            jmp        request_not_supported    ; 04
                            jmp        request_not_supported    ; 05
                            jmp        request_not_supported    ; 06
                            jmp        request_not_supported    ; 07
                            jmp        request_not_supported    ; 08
                            jmp        request_not_supported    ; 09
                            jmp        request_not_supported    ; 0A
                            jmp        set_interface_interface    ; 0B


                The requests 01 and 03 apparently are, (or were), valid jumps. Would these jumps be part of the puzzle for implementing Remote Wakeup?


                Also, we are dedicated to the CY7C64013 at the moment, but if you can suggest a plug-in replacement microcontroller we would appreciate it.



                • 5. Re: Looking to implement Remote Wakeup in CY7C64013

                  So, I need to just confirm that the CY7C64013 DOES NOT support remote wakeup, as the Cypress employee mentioned back in July. I would like to try some code, but I do not want to fool myself in believing that if it works, it will work 100% of the time. (Please see my previous post for where I am.)


                  Also, what is the next logical replacement micro if the 64013 is to become obsoleted?


                  Thanks all,



                  • 6. Re: Looking to implement Remote Wakeup in CY7C64013

                     Hi George,


                    During remote wakeup (if the feature of remote wakeup has been set by the host through set feature before the bus goes into the suspend) the device does resume signaling (driving the bus to K state) to inform the host that it wants to resume traffic on the USB bus. It should be signalled for a time no lesser than 1ms and  no greater than 15ms.
                    The device does not give the level of control needed to do that. If you look at the suspend bit in the register that suspend and resume is with regards to the CPU execution not the USB suspend/resume.

                    Unfortunately there is not drop in replacement for this part number.
                    Please explain your application and reason you need this feature, I might be able to recommend an alternate method to achieve the same or another part number which would suit your application.



                    1 of 1 people found this helpful