다음을 통해 공유


USB Type-C Windows 시스템에서 함수 컨트롤러 가져오기

이 문서에서는 USB Type-C 커넥터가 있는 함수 컨트롤러에 대한 OEM 가져오기 작업에 대해 설명합니다.

중요 API

함수 컨트롤러의 드라이버는 USB Type-C 커넥터가 지원하는 충전 수준에 대해 운영 체제에 알리고 충전을 시작할 수 있을 때 배터리 하위 시스템에 알리고 디바이스가 그릴 수 있는 최대 전류 양을 알립니다.

이 항목에서는 함수 컨트롤러가 지정된 시간에 단일 커넥터(UFP)를 관리한다고 가정합니다.

1. USB 디바이스 쪽 드라이버 로드

함수 컨트롤러의 작업을 관리하는 두 가지 드라이버가 있습니다. 쌍은 Microsoft에서 제공하는 USB 함수 클래스 확장 및 해당 클라이언트 드라이버입니다. 클래스 확장은 클라이언트 드라이버가 운영 체제에 보낸 정보를 보고합니다. 클라이언트 드라이버는 하드웨어 인터페이스를 사용하여 하드웨어와 통신합니다. Windows의 USB 디바이스 쪽 드라이버를 참조하세요.

usb 함수 컨트롤러 드라이버.

  • 시스템에서 ChipIdea 및 Synopsys 컨트롤러를 사용하는 경우

    1. ChipIdea 및 Synopsys 컨트롤러용 Microsoft 제공 기본 제공 클라이언트 드라이버를 로드합니다.
    2. 충전기가 연결되면 연결/분리 이벤트를 가져오는 하위 필터 드라이버를 작성합니다. 드라이버는 충전기의 유형과 구성 속성을 결정합니다. BC1.2 사양에 정의된 대로 USB 충전 포트를 검색할 수도 있습니다. 충전 정보는 충전 중재 드라이버(CAD.sys)에 보고할 수 있도록 클래스 확장에 전달됩니다. 자세한 내용은 독점 충전기를 지원하기 위한 USB 필터 드라이버를 참조하세요.
  • 시스템에서 사용자 지정 컨트롤러를 사용하는 경우 클라이언트 드라이버를 작성합니다. BC1.2 검색 논리는 클라이언트 드라이버에서 구현됩니다. 자세한 내용은 다음을 참조하세요.

    USB 함수 컨트롤러 클라이언트 드라이버 프로그래밍 참조

    USB 함수 컨트롤러용 Windows 드라이버 개발

2. 커넥터가 USB Type-C 커넥터임을 함수 컨트롤러 드라이버에 나타내도록 시스템 ACPI 수정

이 작업은 ACPI 6.0 사양에 정의된 ACPI 메서드를 통해 수행됩니다.

_UPC (USB Port Capabilities)

ACPI 6.0에 정의된 새 값을 사용하여 "Type-C USB2" 및 "Type-C USB2 및 스위치가 있는 SS"와 같은 올바른 유형의 USB Type-C 커넥터를 나타냅니다. 함수 드라이버는 이 정보를 CAD.sys 전달하므로 USB 형식 C 관련 중재 논리를 사용하여 적절한 충전 소스를 결정합니다.

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

    ...