Opened 15 months ago
Last modified 10 months ago
#18538 reopened enhancement
Support for USB 4.0
Reported by: | kallisti5 | Owned by: | mmlr |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | Drivers | Version: | R1/beta4 |
Keywords: | Cc: | ||
Blocked By: | #12889 | Blocking: | |
Platform: | All |
Description
USB 4.0 is just around the corner and has a *lot* of changes. Thunderbolt 4 is a major part of USB 4 now.
The following platforms have USB 4:
- Some Intel 11th Gen Tiger Lake hardware
- Intel 12th Gen hardware
- Intel 13th Gen hardware
- AMD Ryzen™ 7040
We should likely start evaluating how Haiku is going to function on these platforms. At the time of this writing, no USB 4.0 PCIe add-on cards are available.
My framework laptop is an 11th Gen Tiger Lake, but unfortunately it's the USB 3.2 / Thunderbolt 3 variant. I'll upgrade at some point to test.
Change History (11)
comment:1 by , 15 months ago
Resolution: | → no change required |
---|---|
Status: | new → closed |
comment:2 by , 15 months ago
Yeah, good point. There are a lot of questions about Thunderbolt 4 vs Thunderbolt 3, but those are another topic. I've also confirmed the Framework 11th gen actually does include USB 4 support, and the USB 3.2 stuff works via XHCI on all ports fine today.
Given the limited availability of USB 4 / TB 4 equipment mixed with current functionality, this closure is fair.
comment:3 by , 10 months ago
XHCI is about USB 3. USB 4 is completely different thing and it us used as tunnel for various protocols: USB 3, PCIe, DisplayPort etc.. Special OS support for USB 4 bridges is required to get all features and maximum supported speed.
Some recent Linux commit about USB 4: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=81af2952e60603d12415e1a6fd200f8073a2ad8b
In order to claim USB 4 support, implementing Thunderbolt HCI support at OS level is required.
comment:4 by , 10 months ago
Resolution: | no change required |
---|---|
Status: | closed → reopened |
comment:5 by , 10 months ago
Component: | Drivers/USB → Drivers |
---|---|
Keywords: | USB4 removed |
comment:7 by , 10 months ago
Maybe yes. USB 4 is basically renamed Thunderbolt 4 with minor electric signal differences. I am not sure do OS need to have any Tbunderbolt vs USB 4 specific handling or it are completely the same from software point of view.
Classic USB devices continue to use USB 3 protocol and XHCI, but tunneled over USB 4.
comment:8 by , 10 months ago
Blocked By: | 12889 added |
---|---|
Resolution: | → duplicate |
Status: | reopened → closed |
Well, let's close as a dupe for now. Once we get TB3 we can revisit and see if we need more machinery for "USB4".
comment:9 by , 10 months ago
Resolution: | duplicate |
---|---|
Status: | closed → reopened |
Type: | bug → enhancement |
I don't see why we should close this. It is certainly blocked by Thunderbolt, but I wouldn't go as far as marking it a duplicate of that. There seem to be some more to USB4 than separately supporting Thunderbolt and USB3, right?
comment:10 by , 10 months ago
I don't think so, no. Linux does not have any separate "USB4" driver, it just has a Thunderbolt driver which supports "USB4": https://xref.landonf.org/source/xref/linux-master/Documentation/admin-guide/thunderbolt.rst#3
comment:11 by , 10 months ago
They are compatible, but not the same (i.e. implementations will vary). Thunderbolt is USB 4.0+ (full specs w/additions) and USB 4.0 is the basic spec (basic USB 4.0 spec). USB 4.0 has lower power requirements and may provide the minimum of the USB 4.0 spec when implemented.
One key speed factor is this: "Two-lane operation using existing USB Type-C cables and up to 80 Gbps operation over 80 Gbps certified cables."
Note: One driver may handle both USB4/Thunderbolt4 port conditions (USB-C, etc)...
https://forum.osdev.org/viewtopic.php?f=1&t=55955
We already support xHC 1.20 controllers, so there's nothing more we need to do here.