Compartir a través de


Abrir el controlador de función en un sistema Windows usb de tipo C

En este artículo se describen las tareas de puesta al día de OEM para un controlador de funciones que tiene un conector usb de tipo C.

API importantes

El controlador para el controlador de función informa al sistema operativo sobre los niveles de carga que su conector USB Type-C admite y notifica al subsistema de batería cuando puede comenzar a cargar y la cantidad máxima de corriente que el dispositivo puede dibujar.

En este tema se supone que el controlador de funciones administra un único conector (UFP) en un momento dado.

1. Cargar los controladores del lado del dispositivo USB

Hay dos controladores que administran las operaciones de un controlador de función. El par es la extensión de clase de función USB proporcionada por Microsoft y su controlador de cliente. La extensión de clase informa de la información enviada por el controlador de cliente al sistema operativo. El controlador cliente se comunica con el hardware mediante interfaces de hardware. Consulte Controladores del lado del dispositivo USB en Windows.

controlador de controlador de función usb.

2. Modifique el ACPI del sistema para indicar al controlador del controlador de función que el conector es un conector USB Type-C

Esto se realiza a través de un método ACPI definido en la especificación ACPI 6.0

_UPC (USB Port Capabilities)

Use los nuevos valores definidos en ACPI 6.0 para indicar el tipo correcto de conector USB Type-C, como "Type-C USB2" y "Type-C USB2 y SS con switch". El controlador de función comunica esta información a CAD.sys, de modo que use lógica de arbitraje específica del tipo C usb para determinar un origen de carga adecuado.

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()
    {
        ...
    })

    ...