структура PNP_SERIAL_BUS_DESCRIPTOR (reshub.h)
Структура PNP_SERIAL_BUS_DESCRIPTOR описывает физическое подключение целевого устройства к последовательной шине (I2C, SPI или UART).
Синтаксис
typedef struct _PNP_SERIAL_BUS_DESCRIPTOR {
UCHAR Tag;
USHORT Length;
UCHAR RevisionId;
UCHAR ResourceSourceIndex;
UCHAR SerialBusType;
UCHAR GeneralFlags;
USHORT TypeSpecificFlags;
UCHAR TypeSpecificRevisionId;
USHORT TypeDataLength;
} PNP_SERIAL_BUS_DESCRIPTOR, *PPNP_SERIAL_BUS_DESCRIPTOR;
Члены
Tag
Тип последовательной шины. Этот элемент имеет значение 0x8e для подключения последовательной шины (I2C, SPI или UART). Дополнительные сведения см. в описании дескриптора подключения последовательной шины в спецификации ACPI 5.0.
Length
Длина дескриптора подключения последовательной шины в байтах. Чтобы соответствовать спецификации ACPI 5.0, число байтов в элементе Length в структуре PNP_SERIAL_BUS_DESCRIPTOR равно размеру структуры, минус три байта в Тег и длина элементов в начале структуры, а также количество байтов данных, относящихся к типу шины, и строке источника ресурсов, следуйте структуре. Строка источника ресурсов, которая является обязательным полем, имеет минимальный размер двух байтов (для имени источника ресурса одного символа и конца null). Таким образом, минимально допустимое значение длина равно 11. Дополнительные сведения см. в спецификации ACPI 5.0.
RevisionId
Идентификатор редакции дескриптора подключения последовательной шины. Этот элемент имеет значение SERIAL_BUS_DESCRIPTOR_REVISION константы, которая определена в файле заголовка Reshub.h.
ResourceSourceIndex
Зарезервировано для дальнейшего использования. Этот элемент не используется и имеет значение нулю.
SerialBusType
Тип последовательной шины. Этот элемент имеет значение 1 (для I2C), 2 (для SPI) или 3 (для UART). Другие значения зарезервированы для дальнейшего использования или определяются поставщиком оборудования. Дополнительные сведения см. в спецификации ACPI 5.0.
GeneralFlags
Флаги, которые являются общими для всех типов последовательной шины. Бит 0 — это флаг подчиненного режима. Если для этого бита задано значение 1, обмен данным подключением инициируется контроллером шины; в противном случае связь инициируется целевым устройством. Бит 1 — это флаг потребителя или производителя и всегда имеет значение 1. В настоящее время никакие другие биты флага не определены. Дополнительные сведения см. в спецификации ACPI 5.0.
TypeSpecificFlags
Флаги, относящиеся к типу последовательной шины. Для шины I2C бит 0 устанавливается, если подключение использует 10-разрядные адреса; В противном случае подключение использует 7-разрядные адреса. В настоящее время для I2C не определены другие биты флагов. Дополнительные сведения см. в спецификации ACPI 5.0.
TypeSpecificRevisionId
Идентификатор редакции варианта этой структуры, используемой для типа последовательной шины (I2C, SPI и UART), указанного элементом тега. Каждый тип последовательной шины расширяет структуру PNP_SERIAL_BUS_DESCRIPTOR путем добавления полей, относящихся к типу шины. Дополнительные сведения см. в спецификации ACPI 5.0.
TypeDataLength
Длина в байтах данных, относящихся к типу шины, которая соответствует структуре PNP_SERIAL_BUS_DESCRIPTOR. Это значение длины включает данные между концем элемента TypeDataLength и началом строки источника ресурса, но не включает строку источника ресурса. Дополнительные сведения см. в спецификации ACPI 5.0.
Замечания
Эта структура определяет поля данных в дескрипторе подключения последовательной шины, как описано в разделе 6.4.3.8.2 спецификации ACPI 5.0. Этот дескриптор описывает подключение шины к целевому устройству, подключенное к последовательной шине (I2C, SPI или UART).
Например, для устройства на шине I2C структура PNP_SERIAL_BUS_DESCRIPTOR (и его расширение типа шины) указывает адрес шины устройства, режим адресов (7-разрядная или 10-разрядная), а также частоту запуска часов шины при доступе к устройству. Пример кода, показывающий, как драйвер контроллера I2C извлекает эти сведения из структуры, см. в разделе Получение параметров подключения для устройства.
Определение структуры PNP_SERIAL_BUS_DESCRIPTOR в файле заголовка Reshub.h предшествует инструкции include для файла заголовка Pshpack1.h, который настраивает компилятор упаковывать смежные члены структуры в границы байтов, не пересекаясь с пробелами. Затем программное обеспечение может наложить упакованную структуру на образ памяти дескриптора подключения последовательной шины, чтобы получить доступ к отдельным полям этого дескриптора. Элементы USHORT структуры могут не выравнивать даже границы байтов в памяти. Байты в членах USHORT хранятся в небольшом порядке для архитектуры процессора x86, x64 и ARM.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Поддерживается начиная с Windows 8. |
заголовка | reshub.h |