다음을 통해 공유


USB Type-C Windows 시스템에 대한 이중 역할 컨트롤러 가져오기

요약

  • OEM은 USB Type-C 커넥터가 있는 이중 역할 컨트롤러에 대한 작업을 표시합니다.

적용 대상

  • Windows 10 Mobile

중요 API

USB URS(역할 스위치 드라이버)는 이중 역할 컨트롤러의 역할 전환 기능을 처리하는 WDF 클래스 확장 및 해당 클라이언트 드라이버 집합입니다. 시스템에 이중 역할 컨트롤러가 있는 경우 시스템의 USB Type-C 커넥터의 파트너 포트에 연결된 디바이스에 따라 시스템의 역할을 전환할 수 있습니다. 이렇게 하면 유선 도킹과 같은 흥미로운 시나리오가 가능합니다.

이중 역할 USB 컨트롤러에서 호스트 또는 함수 모드로 구성하기 위해 Windows가 필요하도록 시스템을 설계할 수 있습니다. 이러한 디자인은 USB 역할 스위치 스택을 사용합니다. 시스템에서 Synopsys 또는 ChipIdea 이중 역할 컨트롤러를 사용하지 않는 경우 시스템의 이중 역할 컨트롤러에 대한 USB 역할 스위치 클라이언트 드라이버를 작성해야 합니다.

참고

이중 역할 USB 포트에 호스트 또는 함수 모드로 구성하기 위해 Windows가 필요하도록 시스템을 설계할 수 있습니다. 이러한 디자인은 USB 역할 스위치 스택을 사용합니다. 시스템에서 Synopsys 이중 역할 컨트롤러를 사용하지 않는 경우 시스템의 이중 역할 컨트롤러에 대한 USB 역할 스위치 클라이언트 드라이버를 작성해야 합니다.

클라이언트 드라이버는 하드웨어 이벤트를 처리하고 클래스 확장에 보고합니다. 역할 전환 하드웨어 이벤트의 경우 URS는 역할을 결정하고 결과적으로 해당 역할에 대한 드라이버를 로드합니다. 컨트롤러가 호스트 역할에 있는 경우 USB 호스트 쪽 드라이버 가 로드됩니다. 함수 역할의 경우 디바이스 쪽 드라이버 가 로드됩니다.

USB 마이크로 AB 커넥터가 있는 시스템에서 이중 역할 컨트롤러의 클라이언트 드라이버는 할당된 인터럽트 리소스를 사용하여 커넥터의 ID 핀을 기반으로 결정을 내립니다. USB Type-C 커넥터가 있는 시스템에서 이 결정은 커넥터에 대한 클라이언트 드라이버에 의해 결정됩니다. 해당 드라이버는 CC 핀을 기반으로 역할을 결정하고 결과를 UCM(USB 커넥터 관리자)에 보고한 다음, 결과를 역할 스위치 드라이버에 보냅니다.

usb 역할 스위치 드라이버.

1. 시스템 ACPI에서 URS 드라이버 사용

URS를 사용하려면 ACPI를 수정해야 합니다. USB 디바이스 쪽 드라이버가 로드하는 디바이스를 URS가 로드해야 하는 디바이스로 바꿉니다. ACPI 정의를 변경하는 방법에 대한 자세한 내용은 USB 이중 역할 드라이버 스택 아키텍처에 제공된 예제를 참조하세요. 인터럽트 리소스를 제거해야 합니다. USB Type-C에는 필요하지 않습니다.

2. 이중 역할 컨트롤러 드라이버에 대한 USB 역할 스위치 드라이버 로드

usb 역할 스위치 스택.

  • 시스템에서 ChipIdea 및 Synopsys 컨트롤러를 사용하는 경우 ChipIdea 및 Synopsys 컨트롤러에 대해 Microsoft에서 제공한 기본 제공 클라이언트 드라이버를 로드합니다.

    드라이버를 로드하려면 드라이버 설치 패키지를 만들어야 합니다. INF 파일에는 지원되는 컨트롤러에 대한 기본 INF를 참조하는 Include-Needs 지시문이 있어야 합니다. 기본 제공 INF에는 다른 컨트롤러의 하드웨어 ID가 이미 포함되어 있습니다. 이중 역할 컨트롤러의 하드웨어 ID가 기본 INF의 하드웨어 ID 중 하나가 아닌 경우 이 단계가 필요합니다. SoC 공급업체에 문의하세요.

    자세한 내용은 드라이버 설치 패키지의 "URS 드라이버 패키지"를 참조하세요.

  • 시스템에서 사용자 지정 컨트롤러를 사용하는 경우 역할 스위치 클라이언트 드라이버를 작성합니다. 자세한 내용은 다음을 참조하세요.

    USB 이중 역할 컨트롤러 드라이버 프로그래밍 참조