USB4 ACPI-Anforderungen
In diesem Artikel wird beschrieben, wie USB4-Geräte mit einem ACPI-Gerät (Advanced Configuration and Power Interface) verbunden werden. ACPI-Geräte werden durch die Advanced Configuration and Power Interface (ACPI) Specification definiert.
_OSC (Betriebssystemfunktionen) für USB4
Das BIOS muss dem USB4-Verbindungsmanager gemäß der ACPI 6.4-Spezifikation die Kontrolle gewähren. Das System muss die Kontrolle über die native USB4-Unterstützung in den plattformweiten Betriebssystem-Power-Management-Funktionen (OSPM) gewähren. Die Steuerung wird gewährt, wenn _OSC vom Betriebssystem aufgerufen wird, wobei das Abfrage-Flag auf 0 und die native USB4-Unterstützung auf 1 gesetzt ist.
Zusätzlich muss auch _OSC für USB implementiert werden. Das BIOS kann die Kontrolle über PCIe-Tunneling aus Sicherheitsgründen gemäß den erforderlichen Richtlinien oder Benutzereinstellungen verbieten. USB-Tunneling, DisplayPort™-Tunneling und domänenübergreifende USB4-Verbindungen müssen jedoch immer aktiviert sein. Der Verbindungsmanager versetzt das Gerät in einen Fehlerzustand, wenn USB-Tunneling, DisplayPort™-Tunneling oder Verbindungen zwischen Domänen deaktiviert sind.
Sobald beide Fähigkeiten wie oben beschrieben implementiert sind, fügt der PCIe-Bus eine Hardware-ID von „PCI\USB4_MS_CM“ zur Liste der Hardware-IDs für PCIe-enumerierte Host-Router hinzu. Dadurch kann Plug & Play den USB4-Verbindungs-Manager-Treiber laden.
Hinweis
_OSC-Einstellungen für native USB4-Unterstützung oder _OSC für USB sollten während eines Übergangs in den Ruhezustand (S4) nicht geändert werden. Wenn solche Einstellungen geändert werden, ist ein vollständiger Neustart erforderlich.
Portzuordnung (_DSD) für USB 3.x und PCIe
Damit die PCIe- und USB 3.x-Software-Stacks Strombeziehungen mit dem USB4-Host-Router herstellen können, sind gerätespezifische Daten (_DSD) für die getunnelten PCIe- und USB 3.x-Ports erforderlich. Andernfalls wird die USB4-Domäne möglicherweise heruntergefahren, ohne mit den getunnelten PCIe- und USB 3.x-Geräten zu koordinieren.
Hinweis
Die Hostschnittstelleninstanz muss immer mit einer 3-Bit-Ziffer (0-7) enden.
Im Folgenden finden Sie ein Beispiel für die Portzuordnung in der ACPI-Quellsprache (ASL):
Scope (\_SB.PCI0)
{
Device (NHI0) { } //Host interface instance must always end with a 3-bit digit (0-7).
Device (DSB0) //Tunneled PCIe port instance
{
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), //Device Properties UUID
Package () {
Package () { "usb4-host-interface", \_SB.PCI0.NHI0 },
Package () { "usb4-port-number", PortInstance#}, // PortInstance# is unused and can be 0
}
})
}
…
Device (SS01) // e.g. Tunnel capable USB 3.x super speed port under RHUB
{
…
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), //Device Properties UUID
Package () {
Package () { "usb4-host-interface", \_SB.PCI0.NHI0 },
Package () { "usb4-port-number", PortInstance#}, // PortInstance# is unused and can be 0
}
})
}
Vorhandene USB-Anforderungen zur Beschreibung der USB-Portfunktionen(_UPC) bleiben für USB4 unverändert.
Zusätzliche Anforderungen für PCIe-Ports
PCIe-Root-Ports, die USB4 zugeordnet sind, müssen so gekennzeichnet sein, dass sie Hot-Plug-Ereignisse im D3-Zustand verarbeiten können. Weitere Informationen finden Sie unter Identifizieren von PCIe-Root-Ports die Hot-Plug-in-D3 unterstützen, und Identifizieren von extern exponierten PCIe-Root-Ports.
PCIe-Root-Ports sollten entsprechend als fähig markiert werden, aus D3Cold aufzuwachen, indem die _S0W
- und _CRS
- oder _PRW
-Methoden verwendet werden. Weitere Informationen zu _S0W
und _CRS
oder _PRW
finden Sie in der ACPI-Spezifikation und den Firmware-Anforderungen für D3cold.
Gerätespezifische Methode zum Verhindern des Austauschs von Datenrollen für Host-zu-Host-Verbindungen
Auf bestimmten Plattformen versuchen Windows-System UCSI OPM-Treiber möglicherweise, die USB-Datenrolle in einer USB-Verbindung zu korrigieren, indem sie einen USB-Datenrollentausch mit dem BEFEHL „Set USB Operation Role“ (SET_UOR
) anfordern. Dies kann sich jedoch auf die Host-zu-Host-Verbindung auswirken, da beide Seiten einer solchen Verbindung diese Rollenkorrektur einleiten können. Um dieses Problem anzugehen, muss die Plattform die ACPI _DSM-Methode unter dem UCSI-Gerät wie folgt implementieren, um zu behaupten, dass die Datenrollenkorrektur in UCSI OPM deaktiviert werden sollte.
USB-gerätespezifische Methode (_DSM)
Um die USB-Datenrollenkorrektur in UCSI OPM zu deaktivieren, definiert Windows eine gerätespezifische Methode (_DSM), die die unten beschriebene Funktion hat.
Funktion 4: Deaktivieren der USB-Datenrollenkorrektur in UCSI OPM
Argumente
Arg0: UUID = 6F8398C2-7CA4-11E4-AD36-631042B5008F
Arg1: Revision ID = 0
Arg2: Funktionsindex = 4
Arg3: Leeres Paket (nicht verwendet)
Rückgabewert
Eine ganze Zahl, die einen der folgenden Werte enthält:
Element | Objekttyp | BESCHREIBUNG |
---|---|---|
Disabled | 4-byte (32-bit) unsigned long | Geben Sie an, ob die Rollenkorrektur in UCSI OPM deaktiviert werden soll. 0x00 (Standard) – Deaktiviert die USB-Datenrollenkorrektur nicht. 0x01 – Deaktiviert die USB-Datenrollenkorrektur in UCSI OPM. |
Wenn diese Funktion verwendet wird, muss die _DSM-Methode unter dem UCSI-Gerät erscheinen.
Hinweis
Der Funktionsindex 0 jedes _DSM ist eine Abfragefunktion, die den Satz unterstützter Funktionsindizes zurückgibt. Es ist immer erforderlich. Weitere Informationen finden Sie in Abschnitt 9.1.1 _DSM (Gerätespezifische Methode), in der ACPI 6.4-Spezifikation.
Weitere Informationen
- Universal Serial Bus 4
- Einführung in den USB4-Verbindungsmanager in Windows
- USB4-Designdetails und allgemeine Anforderungen
- USB4 Power Management Anforderungen
- USB4 Interdomain-Verbindungen
- USB4 erforderliche Tests
- USB4-Debugging und Fehlerbehebung
Thunderbolt ist eine Marke der Intel Corporation oder ihrer Tochtergesellschaften.
"USB4™" ist eine Marke des USB Implementers Forum und ist nur für die Verwendung mit Produkten vorgesehen, die auf der USB4-Spezifikation™ basieren und konform sind.