Требования к USB4 ACPI
В этой статье описывается, как устройства USB4 взаимодействует с устройством расширенной конфигурации и питания (ACPI). Устройства ACPI определяются спецификацией расширенной конфигурации и интерфейса питания (ACPI).
_OSC (возможности операционной системы) для USB4
BIOS должна предоставлять управление диспетчеру подключений USB4 в рамках спецификации ACPI 6.4. Система должна предоставлять управление встроенной поддержкой USB4 в возможностях управления питанием операционной системы на уровне всей платформы (OSPM). Управление предоставляется, когда _OSC вызывается операционной системой с флагом запроса 0, а собственная поддержка USB4 — значением 1.
Кроме того, необходимо реализовать _OSC для USB . BIOS может запретить управление туннелированием PCIe по соображениям безопасности в соответствии с требуемыми политиками или параметрами пользователя. Однако туннелирование USB, туннелирование DisplayPort™ и междоменные подключения USB4 должны быть включены всегда. Диспетчер подключений переключит устройство в состояние сбоя, если туннелирование USB, туннелирование DisplayPort™ или междоменовые подключения отключены.
После реализации обеих возможностей, как описано выше, шина PCIe добавит идентификатор оборудования PCI\USB4_MS_CM в список идентификаторов оборудования для маршрутизаторов узлов, перечисленных в PCIe. Это позволит Plug and Play загрузить драйвер диспетчера подключений USB4.
Примечание
_OSC параметры встроенной поддержки USB4 или _OSC для USB не должны изменяться при переходе в режим гибернации (S4). При изменении таких параметров требуется полная перезагрузка.
Сопоставление портов (_DSD) для USB 3.x и PCIe
Чтобы программные стеки PCIe и USB 3.x устанавливали отношения питания с маршрутизатором узла USB4, требуются данные для конкретных устройств (_DSD) для туннелированных портов PCIe и USB 3.x. При отсутствии этого домен USB4 может выключить питание без координации с туннелированными устройствами PCIe и USB 3.x.
Примечание
Экземпляр главного интерфейса всегда должен заканчиваться 3-разрядной цифрой (0–7).
Ниже приведен пример сопоставления портов в исходном языке ACPI (ASL):
Scope (\_SB.PCI0)
{
Device (NHI0) { } //Host interface instance must always end with a 3-bit digit (0-7).
Device (DSB0) //Tunneled PCIe port instance
{
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), //Device Properties UUID
Package () {
Package () { "usb4-host-interface", \_SB.PCI0.NHI0 },
Package () { "usb4-port-number", PortInstance#}, // PortInstance# is unused and can be 0
}
})
}
…
Device (SS01) // e.g. Tunnel capable USB 3.x super speed port under RHUB
{
…
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), //Device Properties UUID
Package () {
Package () { "usb4-host-interface", \_SB.PCI0.NHI0 },
Package () { "usb4-port-number", PortInstance#}, // PortInstance# is unused and can be 0
}
})
}
Существующие требования к USB для описания возможностей USB-портов (_UPC) остаются неизменными для USB4.
Дополнительные требования к портам PCIe
Корневые порты PCIe, связанные с USB4, должны быть назначены как способные обрабатывать события горячего подключения в состоянии D3. Дополнительные сведения см. в разделах Определение корневых портов PCIe, поддерживающих горячее подключение в D3 и Определение внешних корневых портов PCIe.
Корневые порты PCIe должны быть соответствующим образом помечены как способные к пробуждению из D3Cold с помощью _S0W
методов и _CRS
, или _PRW
. Дополнительные сведения о _S0W
и _CRS
, или _PRW
см. в спецификации ACPI и требованиях к встроенному ПО для D3cold.
Метод для конкретного устройства для предотвращения переключения ролей данных для подключений "узел — узел"
На некоторых платформах драйверы OPM системы Windows UCSI могут попытаться исправить роль данных USB в USB-подключении, запросив переключение роли данных USB с помощью команды UCSI "Set USB Operation Role" (SET_UOR
). Однако это может повлиять на подключение типа "узел — узел", так как любая из сторон такого подключения может инициировать исправление роли. Чтобы решить эту проблему, платформа должна реализовать метод ACPI _DSM на устройстве UCSI, как показано ниже, чтобы утверждать, что исправление ролей данных в OPM UCSI должно быть отключено.
Метод, зависящий от USB-устройства (_DSM)
Чтобы отключить исправление ролей данных USB в UCSI OPM, Windows определяет метод для конкретного устройства (_DSM), который имеет функцию, описанную ниже.
Функция 4. Отключение коррекции роли данных USB в UCSI OPM
Аргументы
Arg0: UUID = 6F8398C2-7CA4-11E4-AD36-631042B5008F
Arg1: идентификатор редакции = 0
Arg2: индекс функции = 4
Arg3: пустой пакет (не используется)
Возвращаемое значение
Целое число, содержащее одно из следующих значений:
Элемент | Тип объекта | Описание: |
---|---|---|
Выключено | 4-байтовый (32-разрядный) без знака | Укажите, следует ли отключать исправление ролей в OPM UCSI. 0x00 (по умолчанию) — не отключайте исправление роли данных USB. 0x01 — отключите исправление роли данных USB в UCSI OPM. |
При использовании этой функции метод _DSM должен отображаться под устройством UCSI.
Примечание
Индекс функции 0 каждого _DSM — это функция запроса, которая возвращает набор поддерживаемых индексов функций. Это всегда обязательно. Дополнительные сведения см. в разделе 9.1.1 _DSM (метод для конкретного устройства) в спецификации ACPI 6.4.
См. также раздел
- Универсальная последовательная шина 4
- Общие сведения о диспетчере подключений USB4 в Windows
- Подробные сведения о проектировании USB4 и общие требования
- Требования к управлению питанием USB4
- Междоменовые подключения USB4
- Обязательное тестирование USB4
- Отладка и устранение неполадок USB4
Thunderbolt является товарным знаком корпорации Intel или ее дочерних компаний.
"USB4™" является товарным знаком ФОРУМА разработчиков USB и предназначен только для использования с продуктами, основанными на спецификации USB4™ и соответствующими этой спецификации.