Because of the holidays, TI E2E™ design support forum responses will be delayed from Dec. 25 through Jan. 2. Thank you for your patience.

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: Request SCH review: AM57x: SS is not working

Part Number: HD3SS3220

Using an AM57x

I am testing our custom board.

I am able to get high speed host and peripheral mode working.

5415.HD3SS3220_sch.pdf

Plugging in a USB-C nvme drive results in a high speed link.

Note: I appear to have an issue with the direction of the cable being plugged in.  One direction works and the other doesn't.  But the DIR pin correctly changes.  I will have the hardware guys inspect the connector incase there was a bad solder.

[63936.517904] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[63936.523599] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
[63936.532782] xhci-hcd xhci-hcd.0.auto: hcc params 0x0220f04c hci version 0x100 quirks 0x0000000002010010
[63936.542437] xhci-hcd xhci-hcd.0.auto: irq 178, io mem 0x48890000
[63936.548981] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
[63936.557329] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[63936.564628] usb usb1: Product: xHCI Host Controller
[63936.569539] usb usb1: Manufacturer: Linux 4.19.79-00321-g29f24c68c0de-dirty xhci-hcd
[63936.578308] usb usb1: SerialNumber: xhci-hcd.0.auto
[63936.585747] hub 1-0:1.0: USB hub found
[63936.589545] hub 1-0:1.0: 1 port detected
[63936.594542] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[63936.600065] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
[63936.607948] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed
[63936.614629] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[63936.623015] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 4.19
[63936.631398] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[63936.638772] usb usb2: Product: xHCI Host Controller
[63936.643899] usb usb2: Manufacturer: Linux 4.19.79-00321-g29f24c68c0de-dirty xhci-hcd
[63936.651697] usb usb2: SerialNumber: xhci-hcd.0.auto
[63936.657374] prueth pruss2_eth: port 1: using random MAC addr: 66:c7:eb:5e:22:12
[63936.666766] hub 2-0:1.0: USB hub found
[63936.670628] hub 2-0:1.0: 1 port detected
[63936.676438] prueth pruss2_eth: port 1: using random MAC addr: aa:0f:ad:bb:f9:b9
[63937.361624] usb 1-1: new high-speed USB device number 2 using xhci-hcd
[63937.542212] usb 1-1: New USB device found, idVendor=152d, idProduct=0562, bcdDevice= 2.04
[63937.550431] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[63937.558249] usb 1-1: Product: External
[63937.562171] usb 1-1: Manufacturer: JMicron
[63937.566289] usb 1-1: SerialNumber: DD56419883893
[63937.591662] scsi host1: uas
[63937.595243] scsi 1:0:0:0: Direct-Access     JMicron  Tech             0204 PQ: 0 ANSI: 6
[63937.605170] prueth pruss2_eth: port 1: using random MAC addr: 0e:a3:17:48:11:7b
[63939.483131] prueth pruss2_eth: port 1: using random MAC addr: 52:e3:96:a8:cc:d9
[63939.491104] sd 1:0:0:0: [sda] 1953525168 512-byte logical blocks: (1.00 TB/932 GiB)
[63939.500653] sd 1:0:0:0: [sda] 4096-byte physical blocks
[63939.506227] sd 1:0:0:0: [sda] Write Protect is off
[63939.511489] sd 1:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[63939.521109] sd 1:0:0:0: [sda] Optimal transfer size 33553920 bytes not a multiple of physical block size (4096 bytes)
[63939.542517]  sda: sda1
[63939.547075] sd 1:0:0:0: [sda] Attached SCSI disk
[63940.467651] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)

root@mitysom-am57x:~# lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
    |__ Port 1: Dev 9, If 0, Class=Vendor Specific Class, Driver=, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=uas, 480M

  • Depending on the device, I've seen the following kernel error when plugged in the "BAD" direction.

    [65792.461651] usb usb2-port1: Cannot enable. Maybe the USB cable is bad?

  • 1: C63/C65 are not needed

    2: what mode for the design, DRP ? a vbus switch is required for DRP and DFP

    2: nor pullup for ID pin

  • 1. thanks I will try without them.  Do they hurt?

    2. The vbus switch should be U14 correct?

    3. Yeah I enabled pullup in the pinmux to work around it but I agree it should be popped.

    Is there any steps I can take to diagnose why SS isn't working?

  • 1: yes, it's out of AC spec

    2: ID is used to control Vbus switch. ID should low first then turn on Vbus.

  • 1. Okay thanks.

    2. ID is going to the AM57x which is using USB1_DRVVBUS connected to USB1_VbusEnable to enable VBUS.  This all appears to be working.

    Drat, still no SS link

    root@mitysom-am57x:~# [  231.976098] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
    [  231.983355] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 3
    [  231.995235] xhci-hcd xhci-hcd.1.auto: hcc params 0x0220f04c hci version 0x100 quirks 0x0000000002010010
    [  232.004886] xhci-hcd xhci-hcd.1.auto: irq 178, io mem 0x48890000
    [  232.011439] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
    [  232.021317] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [  232.028853] usb usb3: Product: xHCI Host Controller
    [  232.034010] usb usb3: Manufacturer: Linux 4.19.79-00321-g29f24c68c0de-dirty xhci-hcd
    [  232.042014] usb usb3: SerialNumber: xhci-hcd.1.auto
    [  232.047286] hub 3-0:1.0: USB hub found
    [  232.051082] hub 3-0:1.0: 1 port detected
    [  232.057163] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
    [  232.063320] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 4
    [  232.071025] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed
    [  232.078776] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
    [  232.087240] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 4.19
    [  232.095781] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [  232.103296] usb usb4: Product: xHCI Host Controller
    [  232.108195] usb usb4: Manufacturer: Linux 4.19.79-00321-g29f24c68c0de-dirty xhci-hcd
    [  232.116380] usb usb4: SerialNumber: xhci-hcd.1.auto
    [  232.122275] hub 4-0:1.0: USB hub found
    [  232.126089] hub 4-0:1.0: 1 port detected
    [  232.130981] prueth pruss2_eth: port 1: using random MAC addr: c2:db:7c:df:58:da
    [  232.831611] usb 3-1: new high-speed USB device number 2 using xhci-hcd
    [  233.012662] usb 3-1: New USB device found, idVendor=090c, idProduct=1000, bcdDevice=11.00
    [  233.020881] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [  233.028684] usb 3-1: Product: Flash Drive
    [  233.033042] usb 3-1: Manufacturer: Samsung
    [  233.037158] usb 3-1: SerialNumber: 0315420010005422
    [  233.046477] prueth pruss2_eth: port 1: using random MAC addr: b6:25:3d:a9:64:88
    [  233.095865] usb-storage 3-1:1.0: USB Mass Storage device detected
    [  233.102777] scsi host1: usb-storage 3-1:1.0
    [  233.108373] prueth pruss2_eth: port 1: using random MAC addr: 8e:6f:e8:07:77:ba
    [  233.111975] usbcore: registered new interface driver usb-storage
    [  233.124854] usbcore: registered new interface driver uas
    [  234.508831] scsi 1:0:0:0: Direct-Access     Samsung  Flash Drive      1100 PQ: 0 ANSI: 6
    [  234.522549] prueth pruss2_eth: port 1: using random MAC addr: 6a:6b:29:7b:8c:65
    [  234.526379] sd 1:0:0:0: [sda] 62656641 512-byte logical blocks: (32.1 GB/29.9 GiB)
    [  234.538320] sd 1:0:0:0: [sda] Write Protect is off
    [  234.546660] sd 1:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
    
    [  234.566343]  sda: sda1
    [  234.572385] sd 1:0:0:0: [sda] Attached SCSI removable disk
    root@mitysom-am57x:~# lsusb -t
    /:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
    /:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
        |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M
    /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
    /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
        |__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=, 480M
    

  • Found an issue with our hardware.  We have crossed the RX and TX since we were looking at a reference design which goes to a hub.  Going to try to unswap them tomorrow and hopefully that improves things.

    Do you know if the AM57x has the ability to swap RX and TX in the PHY?  I wasn't able to find anything in the TRM so I assume not.

  • I don't know AM57x , but for USB3, you can't swap TX and RX.

  • Swapped the RX and TX lines and now I can enumerate at 5000M.  Still need to run some benchmarks but this was likely our issue along with the extra caps on the TX lines.