$ cat /etc/distiller-platform-info
DISTILLER_PLATFORM_VERSION=2.1.0
DISTILLER_INSTALL_DATE=2026-01-26T15:32:37-05:00
1. Symptom
Only when the USB Type-C plug is inserted in one specific orientation, the device can be detected as USB 3.0.
When inserted in the opposite orientation, the device can only operate in USB 2.0 mode.
2. Root Cause Analysis
The fundamental root cause is a timing conflict between USB VBUS power enable and cable orientation detection/switching.
Expected / Correct Timing
CC logic chip detects CC1/CC2 → CC logic chip switches orientation → orientation switch confirmed OK → then enable VBUS power to USB Type-C
Flowchart (translated)
[CC logic chip detects CC1/CC2 pins]
→ [CC logic chip decides whether orientation switching is needed]
→ (Yes) [CC logic chip switches orientation]
→ [Control Power Switch to supply VBUS to USB Type-C]
If (No) → directly [Control Power Switch to supply VBUS to USB Type-C]
3. Current / Actual Timing (Observed)
After system boot, CM5’s VBUS_EN signal is immediately pulled high, causing the Type-C port to continuously provide power (VBUS).
At that moment, the orientation detection and switching process (handled by HD3SS3220) is not completed or not stable yet.
Because power is applied too early, the USB device is powered and starts communicating before the host has correctly identified and configured the high-speed (USB 3.0) signal path.
As a result, during enumeration the host fails to complete the USB 3.0 handshake, and is forced to fall back to USB 2.0 mode.
4. Conclusion
The current design violates the correct USB Type-C sequence:
:white_check_mark: Correct sequence should be: “Detect orientation first, then enable VBUS.”
Therefore, the VBUS enable signal (VBUS_EN) must only become active after the CC logic chip confirms the cable orientation and outputs stable control signals, ensuring the USB 3.0 SuperSpeed signal routing is correctly configured before power/connection is established.
[@Utsav Balar](https://pamir-hq.slack.com/team/U08GWNCKP8C) [@Jiang](https://pamir-hq.slack.com/team/U0A2ETKJUAF)
Please check CM5’s VBUS_EN behavior and timing at boot.
We need VBUS_EN to be delayed/gated until HD3SS3220 finishes CC orientation detection & switching, otherwise USB3 negotiation may fail in one plug orientation and fall back to USB2. (edited)
VERSION:
below message from Kevin in slack