Compartilhar via


Requisitos de ACPI do USB4

Este artigo descreve como os dispositivos USB4 fazem interface com um dispositivo ACPI (Interface de Energia e Configuração Avançada). Os dispositivos ACPI são definidos pela Especificação de ACPI (Interface de Energia e Configuração Avançada).

_OSC (funcionalidades do sistema operacional) para USB4

O BIOS deve conceder controle ao gerenciador de conexões USB4 de acordo com a especificação de ACPI 6.4. O sistema deve conceder o controle de suporte USB4 nativo em funcionalidades de OSPM (gerenciamento de energia do sistema operacional) em toda a plataforma. O controle é concedido quando _OSC é chamado pelo sistema operacional com o Sinalizador de Consulta definido como 0 e o Suporte nativo de USB4 definido como 1.

Além disso, _OSC para USB também devem ser implementado. O BIOS pode não permitir o controle sobre o túnel de PCIe por motivos de segurança de acordo com as políticas exigidas ou as configurações do usuário. No entanto, o túnel de USB, o túnel DisplayPort™ e as conexões USB4 de interdomínio devem estar sempre habilitados. O gerenciador de conexões colocará o dispositivo em um estado com falha se o túnel de USB, o túnel DisplayPort™ ou as conexões de interdomínio estiverem desabilitadas.

Depois que ambas as funcionalidades forem implementadas conforme descrito acima, o barramento PCIe adicionará uma ID de hardware de "PCI\USB4_MS_CM" à lista de IDs de hardware para roteadores de host enumerados de PCIe. Isso permitirá que Plug and Play carreguem o driver do gerenciador de conexões USB4.

Captura de tela da ID de hardware para o roteador de host baseado em PCIe.

Observação

Configurações de _OSC para suporte nativo de USB4 ou _OSC para USB não devem ser alteradas em uma transição S4 (hibernação). Uma reinicialização completa é necessária quando essas configurações são alteradas.

Mapeamento de porta (_DSD) para USB 3.x e PCIe

Para que as pilhas de software PCIe e USB 3.x estabeleçam relações de energia com o roteador de host USB4, são necessários dados específicos do dispositivo (_DSD) para as portas PCIe e USB 3.x em túnel. Na ausência disso, o domínio USB4 pode desligar sem coordenar com os dispositivos PCIe e USB 3.x em túnel.

Observação

A instância da interface do host sempre deve terminar com um dígito de 3 bits (0-7).

Veja a seguir um exemplo de mapeamento de porta no ASL (linguagem de origem de ACPI):

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
      }
    })
  }

Os requisitos de USB existentes para descrever os recursos de porta USB (_UPC) permanecem inalterados para USB4.

Requisitos adicionais para portas PCIe

As portas raiz PCIe associadas ao USB4 devem ser designadas como capazes de lidar com eventos de acesso frequente enquanto estiverem no estado D3. Para obter mais informações, consulte Identificando portas raiz PCIe com suporte a acesso frequente em D3 e Identificando portas raiz PCIe com exposição externa.

As portas raiz PCIe devem ser marcadas adequadamente como capazes de ativar após D3Cold usando os métodos _S0W, _CRS ou _PRW. Para obter mais informações sobre _S0W e _CRS ou _PRW, consulte a especificação de ACPI e os requisitos de firmware para D3cold.

Método específico do dispositivo para impedir a troca de função de dados para conexões host a host

Em determinadas plataformas, os drivers OPM UCSI do sistema Windows podem tentar corrigir a função de dados USB em uma conexão USB solicitando uma troca de função de dados USB usando o comando UCSI "Definir função de operação USB" (SET_UOR). No entanto, isso pode afetar a conexão host a host, pois ambos os lados dessa conexão podem iniciar essa correção de função. Para resolver esse problema, a plataforma deve implementar o método ACPI _DSM no dispositivo UCSI da seguinte maneira para alegar que a correção de função de dados no UCSI OPM deve ser desabilitada.

Método específico do dispositivo USB (_DSM)

Para desabilitar a correção de função de dados USB no UCSI OPM, o Windows define um método específico do dispositivo (_DSM) que tem a função descrita abaixo.

Função 4: desabilitar a correção da função de dados USB no UCSI OPM

Argumentos

Arg0: UUID = 6F8398C2-7CA4-11E4-AD36-631042B5008F

Arg1: ID de revisão = 0

Arg2: índice de função = 4

Arg3: pacote vazio (não usado)

Retornar valor

Um número inteiro contendo um dos seguintes valores:

Elemento Tipo de Objeto Descrição
Desabilitado longo sem sinal de 4 bytes (32 bits) Especifique se a correção de função no UCSI OPM deve ser desabilitada.
0x00 (Padrão) – não desabilite a correção da função de dados USB.
0x01 – Desabilite a correção da função de dados USB no UCSI OPM.

Quando essa função é usada, o método _DSM deve aparecer no dispositivo UCSI.

Observação

O índice de função 0 de cada _DSM é uma função de consulta que retorna o conjunto de índices de função com suporte. Ele é sempre necessário. Para obter mais informações, consulte a seção 9.1.1 _DSM (Método Específico do Dispositivo), na especificação de ACPI 6.4.

Confira também

Thunderbolt é uma marca registrada da Intel Corporation ou de suas subsidiárias.

"USB4™" é uma marca registrada do USB Implementers Forum e deve ser usada apenas com produtos baseados na especificação USB4™ e em conformidade com ela.