This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

HD3SS3220: Port controller only enumerating in HS mode not SS mode

Part Number: HD3SS3220
Other Parts Discussed in Thread: TPS2559

Tool/software:

I have connected the HD3SS3220 port controller between a USB hub and a USB type C connector.  I know my hub can enumerate SS devices on its other ports but on the port with the Port controller and Type C it only enumerates a device as HS mode and only in one direction (if I flip the connector it only works one way).  I thought maybe I needed to force it to DFP mode by connected the PORT pin to 5V but that didn't help either. 

Can you tell me if you see a problem with my schematic?  thank you!

Jonathan

  • Hi Jonathan,

    How do you have the ID pin on the HD3SS3220 routed? Is it connected to the host or a voltage switch to communicate when VBUS should be sent? I see you have the TPS2559 on the schematic, is that being enabled when the ID pin of the HD3SS3220 goes low? Could you monitor the ID, DIR, and the CC lines to track the voltage levels?

    Thanks,

    Ryan

  • Hi Ryan, appreciate your help here, sorry for the slow reply, things hectic on this program.  The ID pin from the port controller goes into one of our 1.8V GPIOs on our main processor.  The TPS should be turned on by our software when ID is low that is correct.  We did find a problem with our schematic as well, we had the Tx and Rx lines crossed from the hub to the port controller.  After uncrossing them with a rework I can now see a flash drive enumerate in SS mode.  However I noticed it only works plugged in one direction, could that point to a problem with the CC pins or something else?  I also pulled up the PORT pin since I am not programming any registers over I2C to set the mode.

  • Hi Jonathan,

    Is the DIR pin changing based on the cable orientation? If not, then that would indicate that the mux is not flipping based on the cable orientation, and that there may be something with the CC lines. Could you monitor the CC lines, ID pin, and DIR pin to see what the activity and voltage levels looks like on those pins?

    Thanks,

    Ryan

  • thanks Ryan,

    I found that the DIR pin is always high no matter the direction of the flash drive.  I also have a second port controller on this board (same part) and it does toggle low/high properly.  The only key difference between the two is the working one connects direction to our processor and the non-working one connects to a hub.  Also on the non-working one I can see the CC pins change from floating to 5k to ground (and toggle depending on direction) which I think is normal.  The ID pin measures just a bit above zero volts all the time.  Another odd thing, I noticed on the working one the CC pins measure about 1.4V when nothing is plugged in.  On the non-working part they are floating around zero.  Maybe a clue.  Let me attach a picture of the working one to compare.  thanks again

  • also not shown in the schematic but I put a 10k pull up to 5V on the PORT pin to try to force it to DFP mode (only did that on the non-working one), reading a bit it looks like both CC lines should be high with nothing connected, I am not seeing that on the non-working one.

  • found a couple other things, my ENN_CC pin was getting pulled high (had a solder short), after fixing that the CC pins toggle between 5V/0V and 0V/5V which I think is normal.  I still see the DIR pin not always working though, sometimes it will toggle between 3.3V/0V but most of the time its always stuck at 3.3V.  I tried removing the pullup on the PORT pin but still same behavior.  Also noticed that when it is stuck at 3.3V if I power cycle it will get unstuck and go to 0V when in that orientation.  When it gets in the stuck mode it only enumerates my flash drive as HS which I guess would be expected because the SS pins aren't flipping.  I am starting to wonder if maybe my port controller is damaged, I may try replacing it next. 

    One more question, should the TX pins (6/7) on the port controller go to the TX of my hub or the Rx? in the schematic now we figured we messed up because we have it hooked to the Tx on the hub so I reworked it to flip that.  Hopefully that is correct now, I think it wouldn't ever enumerate a downstream SS device if that was wrong?

  • Hi Jonathan,

    Could you get some traces of the ID, DIR, and CC pins when a device is connected and when the HD3SS3220 is reset? I'd like to see what the activity looks like on those pins and see if there is anything weird there. You could try replacing the HD3SS3220 as well, and see if that fixes the issue. My main suspicion right now is that there's some weird communication going on with the CC pins, which is causing the HD3SS3220 to act weird. Also, could you try resetting the HD3SS3220 in an orientation that would pull the DIR pin high, and see if maybe the DIR pin is starting low on reset?

    One more question, should the TX pins (6/7) on the port controller go to the TX of my hub or the Rx? in the schematic now we figured we messed up because we have it hooked to the Tx on the hub so I reworked it to flip that.  Hopefully that is correct now, I think it wouldn't ever enumerate a downstream SS device if that was wrong?

    Is it connected to the upstream or downstream facing port on the hub? If it is connected to the downstream facing port of the hub, then you should be able to route TX through TX and RX through RX.

    Thanks,

    Ryan