Afficher le contrôleur de fonction sur un système Windows USB Type-C
Cet article décrit les tâches d’affichage OEM pour un contrôleur de fonction doté d’un connecteur USB Type-C
API importantes
- Informations de référence sur la programmation du pilote client du contrôleur de fonction USB
- Pilote de filtre USB pour la prise en charge des chargeurs propriétaires
Le pilote du contrôleur de fonction informe le système d’exploitation des niveaux de charge que son connecteur USB Type-C prend en charge et avertit le sous-système de batterie lorsqu’il peut commencer à charger et la quantité maximale de courant que l’appareil peut dessiner.
Cette rubrique suppose que le contrôleur de fonction gère un connecteur unique (UFP) à un moment donné.
1. Charger les pilotes côté périphérique USB
Il existe deux pilotes qui gèrent les opérations d’un contrôleur de fonction. La paire est l’extension de classe de fonction USB fournie par Microsoft et son pilote client. L’extension de classe signale les informations envoyées par le pilote client au système d’exploitation. Le pilote client communique avec le matériel à l’aide d’interfaces matérielles. Consultez Pilotes côté périphérique USB dans Windows.
Si votre système utilise des contrôleurs ChipIdea et Synopsys.
- Chargez les pilotes clients fournis par Microsoft pour les contrôleurs ChipIdea et Synopsys.
- Écrivez un pilote de filtre inférieur qui obtient des événements d’attachement/détachement lorsqu’un chargeur est connecté. Le pilote détermine le type de chargeur et les propriétés de configuration. Il peut également détecter les ports de charge USB tels que définis par la spécification BC1.2. Les informations de facturation sont transmises à l’extension de classe afin qu’elle puisse les signaler au pilote d’arbitrage (CAD.sys). Pour plus d’informations, consultez Pilote de filtre USB pour la prise en charge des chargeurs propriétaires.
Si votre système utilise un contrôleur personnalisé, écrivez un pilote client. La logique de détection BC1.2 est implémentée dans le pilote client. Pour plus d'informations, consultez les pages suivantes :
Informations de référence sur la programmation du pilote client du contrôleur de fonction USB
Développement de pilotes Windows pour le contrôleur de fonction USB
2. Modifiez l’ACPI système pour indiquer au pilote du contrôleur de fonction que le connecteur est un connecteur USB Type-C
Pour ce faire, vous utilisez une méthode ACPI définie dans la spécification ACPI 6.0
_UPC (USB Port Capabilities)
Utilisez les nouvelles valeurs définies dans ACPI 6.0 pour indiquer le type correct de connecteur USB Type-C, par exemple « Type-C USB2 » et « Type-C USB2 et SS avec commutateur ». Le pilote de fonction communique ces informations à CAD.sys, de sorte qu’il utilise une logique d’arbitrage spécifique au type C USB pour déterminer une source de charge appropriée.
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()
{
...
})
...