7 Replies Latest reply on Sep 17, 2018 2:06 AM by SrinathS_16

    CY7C65630 crashes when specific device connected

      We are utilizing the CY7C65630-56LTXI in a piece of test equipment. The solution is completely embedded, with the host-port connecting to a phy & SoC. Industry standard tools have been used during design to help ensure signal integrity, length matching, impedance control, and timing. There is no configuration of the Hub, as we use it in its default state. Pull-up/downs have been placed on the SPI lines per the application notes provided from Cypress's website.

       

      We have port3 of the hub that attaches (via a USB2.0-qualified analog-switch) to an Atmel ATSAMA5D35 processor ( to its integrated Phy). The linux running on the Atmel only loads the "device-mode" drivers.

       

      When we command this switch to "connect" the ATSAMA5D35 USB to the Hub, we get intermittent issues including

        a) Port3 USB status light blinked 3 times before establishing link

        b) Port3 USB status light blinked 3 times, but no link established, led goes dark

        c) Port3 USB status light blinked once, and got legitimate link immediately.

        d) Port3 USB status light came on momentarily, then crashed entire Hub and ALL link lights go dark  <- this is our most troublesome case that I am asking about

       

      While I admit there may be a signal integrity issue that is causing a weak link between the USB Hub port3 & the Atmel ATSAMA5D35, what would cause the entire USB hub to lock up, requiring a power-cycle to clear the fault?

       

      We need assistance with this issue - are there known modes that the Hub can enter that would cause it to completely lock up

       

       

      thanks in advance

        • 1. Re: CY7C65630 crashes when specific device connected
          SrinathS_16

          Hello Andrew,

           

          Please let know if this issue is only specific to the particular processor that you have mentioned or is it across devices.

           

          Best regards,

          Srinath S

          • 2. Re: CY7C65630 crashes when specific device connected

            Hello!

             

            Because the entire implementation is embedded, we do not have the ability to swap out different devices in place of that processor.

             

            We have built up a few pieces of this test equipment, and there are some that work better than others. This tells me there is some aspect of the test equipment design that is at fault... which we will have to address.  My question to you folks is really regarding the Cypress USB hub itself, and if there are conditions that would cause it go get in to an odd spot in its state-diagram -  corner cases that cause it to lock up,  or if you have seen similar issues with it before.

            I am surprised that asserting the Reset doesnt clear the fault, and that it requires the whole test hardware to be power cycled

             

            Regards

            -andrew

            • 3. Re: CY7C65630 crashes when specific device connected
              SrinathS_16

              Hello Andrew,

               

              Please let know if you are using the hub in ganged power mode. If that is the case, when there is an over-current detected on any of the downstream ports, power supply to all the downstream ports get disabled.

               

              Best regards,

              Srinath S

              • 4. Re: CY7C65630 crashes when specific device connected

                We had a few good tests yesterday that may have revealed what was happening...

                 

                I set it up so that the host-port of the usb hub went to a cabled connection to a windows based PC. When enabling/disabling the device that typically cause things to crash... I could see the link like pulse and sometimes connect, sometimes not - but it never crashed!
                Then repeated the same test with the host-port of the usb hub connector to our embedded phy & SoC running linux, and the hub crashed.

                 

                It appears that the drivers within Linux are falling apart when a device is added with poor/marginal signal-integrity. This is somewhat surprising to me because i thought this would have been better accounted for in our embedded linux. One of our software people is investigating different ways to fix this when it occurs.

                • 5. Re: CY7C65630 crashes when specific device connected
                  SrinathS_16

                  Hello Andrew,

                   

                  Thanks for updating with your findings.

                   

                  Best regards,
                  Srinath S

                  • 6. Re: CY7C65630 crashes when specific device connected

                    During lab tests, I found out that rebooting SoC (interfaces to Phy that connects to Hub's host-port), or pressing soft "reset" button on circuit cards does NOT fix the issue - the Hub is still locked up.

                     

                    At this point i do not know if the driver fails because the Hub is corrupted,

                    or

                    the driver corrupts the hub as the driver crashes

                     

                    A power cycle is required in order to restore operation

                    • 7. Re: CY7C65630 crashes when specific device connected
                      SrinathS_16

                      Hello Andrew,

                       

                      - From your points, I understand that the upstream port of the hub itself does not function which means that the hub device itself cannot be recognized by the host. Please confirm if this is the situation.

                      - You can share the schematics (if not confidential)

                      - Also, mention the frequency of occurrence of this issue.

                      - Please ensure that you have followed the design recommendations that are common to USB hub devices as mentioned in the AN72332.

                       

                      Best regards,

                      Srinath S