Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo descreve as tarefas de implementação OEM para um controlador de função que possui um conector USB Type-C.
APIs importantes
- Referência de programação do driver cliente do controlador de funções USB
- driver de filtro USB para suportar carregadores proprietários
O driver do controlador de função informa o sistema operacional sobre os níveis de carregamento que seu conector USB Type-C suporta e notifica o subsistema de bateria quando ele pode começar a carregar e a quantidade máxima de corrente que o dispositivo pode tirar.
Este tópico pressupõe que o controlador de função gerencia um único conector (UFP) a qualquer momento.
1. Carregue os drivers do lado do dispositivo USB
Existem dois drivers que gerenciam as operações de um controlador de função. O par é a extensão de classe de função USB fornecida pela Microsoft e o seu driver de cliente. A extensão de classe relata informações enviadas pelo driver do cliente para o sistema operacional. O driver do cliente se comunica com o hardware usando interfaces de hardware. Consulte drivers do lado do dispositivo USB no Windows.
Se o seu sistema usa controladores ChipIdea e Synopsys.
- Carregue os drivers de cliente fornecidos pela Microsoft para os controladores ChipIdea e Synopsys.
- Escreva um driver de filtro inferior que obtenha eventos de conexão/desanexação quando um carregador estiver conectado. O driver determina o tipo de carregador e as propriedades de configuração. Ele também pode detetar portas de carregamento USB, conforme definido pela especificação BC1.2. As informações de carregamento são passadas para a extensão da classe para que ela possa reportá-las ao controlador de arbitragem de carregamento (CAD.sys). Para obter mais informações, consulte driver de filtro USB para suportar carregadores proprietários.
Se o seu sistema usa um controlador personalizado, escreva um driver de cliente. A lógica de deteção BC1.2 é implementada no driver do cliente. Para obter mais informações, consulte:
Referência de programação do driver do cliente do controlador de função USB
Desenvolvendo drivers do Windows para o controlador de função USB
2. Modifique a ACPI do sistema para indicar ao controlador de função que o conector é um conector USB Type-C
Isto é feito através de um método ACPI definido na especificação ACPI 6.0
_UPC (USB Port Capabilities)
Use os novos valores definidos na ACPI 6.0 para indicar o tipo correto de conector USB Type-C, como "Type-C USB2" e "Type-C USB2 e SS com switch". O driver da função comunica essas informações ao CAD.sys, para que ele use a lógica de arbitragem específica do USB Type-C 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()
{
...
})
...