Partager via


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.

Capture d’écran de l’ID matériel pour le routeur hôte PCIe.

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

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™.