Compartilhar via


Colocar o controlador de função em um sistema USB Type-C Windows

Este artigo descreve as tarefas de introdução do OEM para um controlador de função que tem um conector USB Type-C

APIs importantes

O driver do controlador de funções informa ao sistema operacional sobre os níveis de carregamento que seu conector USB Type-C dá suporte e notifica o subsistema da bateria quando ele pode começar a carregar e a quantidade máxima de atual que o dispositivo pode desenhar.

Este tópico pressupõe que o controlador de funções gerencie um único conector (UFP) a qualquer momento.

1. Carregar os drivers do lado do dispositivo USB

Há dois drivers que gerenciam as operações de um controlador de funções. O par é a extensão de classe de função USB fornecida pela Microsoft e seu driver cliente. A extensão de classe relata informações enviadas pelo driver cliente para o sistema operacional. O driver cliente se comunica com o hardware usando interfaces de hardware. Confira Drivers do lado do dispositivo USB no Windows.

driver do controlador de funções usb.

2. Modificar o ACPI do sistema para indicar ao driver do controlador de função que o conector é um conector USB Tipo C

Isso é feito por meio de um método ACPI definido na especificação do ACPI 6.0

_UPC (USB Port Capabilities)

Use os novos valores definidos no ACPI 6.0 para indicar o tipo correto de conector USB Type-C, como "Type-C USB2" e "Type-C USB2 e SS with switch". O driver de funções comunica essas informações para CAD.sys, de modo que ele usa a lógica de arbitragem específica do Tipo C usb para determinar uma fonte de carregamento apropriada.

Device (UFN0)
{
    ...

    Name (_UPC, Package()
    {
        0x1,    // Connectable
        0x9,    // Type-C USB2 and Type-C USB2 and SS with switch
        0x0,    // Reserved
        0x0     // Reserved
    })

    Name (_CRS, ResourceTemplate()
    {
        ...
    })

    ...