Configuration requise pour USB4 ACPI
Cet article décrit comment les appareils USB4 s’interfacent avec un appareil ACPI (Advanced Configuration and Power Interface). Les appareils ACPI sont définis par la spécification ACPI (Advanced Configuration and Power Interface).
_OSC (Operating System Capabilities) pour USB4
Le BIOS doit accorder le contrôle au gestionnaire de connexions USB4 conformément à la spécification ACPI 6.4. Le système doit accorder le contrôle de la prise en charge native d’USB4 dans les fonctionnalités de gestion de l’alimentation du système d’exploitation (OSPM) à l’échelle de la plateforme. Le contrôle est accordé lorsque _OSC est appelé par le système d’exploitation avec l’Indicateur de requête défini sur 0 et la Prise en charge USB4 native définie sur 1.
En outre, _OSC pour USB doit également être implémenté. Le BIOS peut interdire le contrôle du tunneling PCIe pour des raisons de sécurité, conformément aux stratégies ou aux paramètres utilisateur requis. Toutefois, le tunneling USB, le tunneling DisplayPort™ et les connexions USB4 interdomaines doivent toujours être activés. Le gestionnaire de connexions place l’appareil dans un état d’échec si le tunneling USB, le tunneling DisplayPort™ ou les connexions interdomaines sont désactivés.
Une fois que les deux fonctionnalités sont implémentées comme décrit ci-dessus, le bus PCIe ajoute un ID matériel de « PCI\USB4_MS_CM » à la liste des ID matériels pour les routeurs hôtes énumérés PCIe. Cela permet à Plug-and-Play de charger le pilote du gestionnaire de connexions USB4.
Notes
Les paramètres _OSC pour la prise en charge native d’USB4 ou _OSC pour USB ne doivent pas être modifiés au cours d’une transition de mise en veille prolongée (S4). Un redémarrage complet est nécessaire lorsque de tels paramètres sont modifiés.
Mappage de ports (_DSD) pour USB 3.x et PCIe
Pour que les assemblages logiciels PCIe et USB 3.x établissent des relations d’alimentation avec le routeur hôte USB4, des données spécifiques à l’appareil (_DSD) pour les ports PCIe et USB 3.x tunnelés sont requises. En l’absence de cela, le domaine USB4 peut s’éteindre sans coordination avec les périphériques PCIe et USB 3.x tunnelés.
Notes
L’instance d’interface hôte doit toujours se terminer par un chiffre 3 bits (0-7).
Voici un exemple de mappage de port en langage source ACPI (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
}
})
}
Les exigences USB existantes pour décrire les fonctionnalités de port USB (_UPC) restent inchangées pour USB4.
Configurations requises supplémentaires pour les ports PCIe
Les ports racines PCIe associés à USB4 doivent être désignés comme capables de gérer les événements enfichables à chaud à l’état D3. Pour plus d’informations, consultez Identification des ports racines PCIe prenant en charge l’enfichage à chaud D3 et Identification des ports racines PCIe exposés en externe.
Les ports racines PCIe doivent être correctement marqués comme capables de se réveiller à partir de D3Cold à l’aide des méthodes _S0W
et _CRS
ou _PRW
. Pour plus d’informations sur _S0W
et _CRS
, ou _PRW
, consultez la spécification ACPI et la configuration requise du microprogramme pour D3cold.
Méthode spécifique à l’appareil pour empêcher l’échange de rôle de données pour les connexions hôte à hôte
Sur certaines plateformes, les pilotes OPM UCSI système Windows peuvent essayer de corriger le rôle des données USB dans une connexion USB en demandant un échange de rôle de données USB à l’aide de la commande UCSI « Set USB Operation Role » (SET_UOR
). Toutefois, cela peut avoir un impact sur la connexion d’hôte à hôte, car l’un ou l’autre côté d’une telle connexion peut lancer cette correction de rôle. Pour résoudre ce problème, la plateforme doit implémenter ACPI _DSM méthode sous l’appareil UCSI comme suit pour demander que la correction du rôle de données dans UCSI OPM soit désactivée.
Méthode spécifique au périphérique USB (_DSM)
Pour désactiver la correction du rôle de données USB dans UCSI OPM, Windows définit une méthode spécifique à l’appareil (_DSM) qui a la fonction décrite ci-dessous.
Fonction 4 : Désactiver la correction du rôle de données USB dans UCSI OPM
Arguments
Arg0 : UUID = 6F8398C2-7CA4-11E4-AD36-631042B5008F
Arg1 : ID de révision = 0
Arg2 : Index de fonction = 4
Arg3 : package vide (non utilisé)
Valeur retournée
Un entier contenant l’une des valeurs suivantes :
Élément | Type d’objet | Description |
---|---|---|
Désactivé | 4 octets (32 bits) non signé long | Spécifiez si la correction de rôle dans UCSI OPM doit être désactivée. 0x00 (valeur par défaut) : ne désactivez pas la correction du rôle de données USB. 0x01 : désactivez la correction du rôle de données USB dans UCSI OPM. |
Lorsque cette fonction est utilisée, la méthode _DSM doit apparaître sous l’appareil UCSI.
Notes
L’index de fonction 0 de chaque _DSM est une fonction de requête qui retourne l’ensemble d’index de fonction pris en charge. C’est toujours obligatoire. Pour plus d’informations, consultez la section 9.1.1 _DSM (méthode spécifique à l’appareil) dans la spécification ACPI 6.4.
Voir aussi
- Universal Serial Bus 4
- Présentation du gestionnaire de connexions USB4 dans Windows
- Détails de la conception USB4 et exigences générales
- Configuration requise pour la gestion de l’alimentation USB4
- Connexions interdomaines USB4
- Test USB4 requis
- Débogage et résolution des problèmes d’USB4
Thunderbolt est une marque commerciale d’Intel Corporation ou de ses filiales.
« USB4™ » est une marque commerciale de USB Implementers Forum et est uniquement destiné à être utilisé avec des produits basés sur et conformes à la spécification USB4™.