on our new custom board, I decided to use a Verdin-IMX8MP module.
Almost everything is already working, including USB HighSpeed on the USB-C-Connector connected to Verdin’s USB1.
Now I would like to use the port in SuperSpeed mode, could you kindly point me in the right direction on what device tree changes would be needed?
- Verdin iMX8M Plus Quad 4GB IT module
- Ti HD3SS3220 DRP Controller/MUX
- USB1.ID (SODIMM 161) connected to HD3SS3220 ID pin
- USB 2.0 connections as with the Toradex Development board (SODIMM 155/157/163/156/159)
- MSP_39-42 (SODIMM 178/180/184/186) shall be used as USB RX/TX lines, connected to HD3SS3220
- HD3SS3220 I²C connected to Verdin I2C_1 (SODIMM 12/14), INT connected to SODIMM 16
Right now, I don’t really know where to start.
- Do I even have to configure the RX/TX pins, they do not seem to be muxed?
- What device tree settings are needed for the USB Controller / PHY?
- Do I have to use the HD3SS3220 linux driver at all, or should it also work in standalone mode?
- Should a USB-C connector be added to the device tree?
Thanks for your help,
Please be aware that USB 1 is also used for recovery mode. We advise against connecting any USB controller or USB hub to it to ensure you don’t lose the capability to do a module recover. If you only need Host mode (DFP) for Super Speed, we recommend using USB 2 instead. All the necessary pins for Super Speed are muxed by default there. Additionally, you won’t need a special driver if the HD3SS3220 is strapped for DFP mode (Port pin pulled up to Vcc).
Thanks for your reply!
I’m already using USB port 2 in host mode with a hub, but I would like to use the USB port 1 as USB-C superspeed dual role port - as UFP for recovery and USB gadget (e.g. ethernet), and ideally also as a DFP, e.g. for external SSDs.
Recovery mode works fine at the moment, as only the superspeed RX/TX signals go through the MUX, USB D+/D- are connected normally.
Right now, I don’t see (yet?) why this wouldn’t work - I think it “should be” “just” a matter of a correct kernel/devicetree configuration?
Once I fixed my cabling issues, USB1 works as a 5GBit superspeed host (tough only as highspeed device).
Not much testing done yet, but I guess that’s good enough for me.