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 规范一致,PNP_SERIAL_BUS_DESCRIPTOR 结构的 Length 成员中的字节计数等于结构大小,减去 标记 中的三个字节,并在结构开头 长度 成员,以及遵循结构的总线类型特定数据和资源源字符串的字节数。 资源源字符串(必需字段)的最小大小为两个字节(对于一个字符的资源源名称和终止 null)。 因此,最小有效 长度 值为 11。 有关详细信息,请参阅 ACPI 5.0 规范。

RevisionId

串行总线连接描述符的修订 ID。 此成员设置为在 Reshub.h 头文件中定义的SERIAL_BUS_DESCRIPTOR_REVISION常量。

ResourceSourceIndex

保留以供将来使用。 此成员未使用,并且设置为零。

SerialBusType

串行总线类型。 此成员设置为 1(对于 I2C)、2(对于 SPI),或 3(对于 UART)。 其他值要么保留供将来使用,要么由硬件供应商定义。 有关详细信息,请参阅 ACPI 5.0 规范。

GeneralFlags

所有串行总线类型通用的标志。 位 0 是从属模式标志。 如果此位设置为 1,则此连接的通信由总线控制器启动;否则,通信由目标设备启动。 位 1 是使用者/生成者标志,始终设置为 1。 当前未定义其他标志位。 有关详细信息,请参阅 ACPI 5.0 规范。

TypeSpecificFlags

特定于串行总线类型的标志。 对于 I2C 总线,如果连接使用 10 位地址,则设置位 0;否则,连接使用 7 位地址。 目前没有为 I2C 定义其他标志位。 有关详细信息,请参阅 ACPI 5.0 规范。

TypeSpecificRevisionId

此结构的变体的修订 ID,该变体用于 标记 成员指定的串行总线类型(I2C、SPI 和 UART)。 每个串行总线类型通过添加特定于总线类型的字段来扩展 PNP_SERIAL_BUS_DESCRIPTOR 结构。 有关详细信息,请参阅 ACPI 5.0 规范。

TypeDataLength

遵循 PNP_SERIAL_BUS_DESCRIPTOR 结构的总线类型特定数据的长度(以字节为单位)。 此长度值包括 TypeDataLength 成员和资源源字符串开头之间的数据,但不包括资源源字符串。 有关详细信息,请参阅 ACPI 5.0 规范。

言论

此结构定义串行总线连接描述符中的数据字段,如 ACPI 5.0 规范的第 6.4.3.8.2 节中所述。 此描述符描述与连接到串行总线(I2C、SPI 或 UART)的目标设备的总线连接。

例如,对于 I2C 总线上的设备,PNP_SERIAL_BUS_DESCRIPTOR 结构(及其特定于总线类型的扩展)指定设备的总线地址、地址模式(7 位或 10 位),以及访问设备时运行总线时钟的频率。 有关显示 I2C 控制器驱动程序如何从结构中提取此信息的代码示例,请参阅 如何获取设备的连接设置。

Reshub.h 头文件中的 PNP_SERIAL_BUS_DESCRIPTOR 结构定义前面是 Pshpack1.h 头文件的 include 语句,该语句将编译器配置为将相邻结构成员打包到字节边界,而不会干预间隙。 然后,软件可以将打包的结构覆盖到串行总线连接描述符的内存映像上,以访问此描述符的各个字段。 结构的 USHORT 成员可能无法与内存中的字节边界对齐。 USHORT 成员中的字节以小端顺序存储 x86、x64 和 ARM 处理器体系结构。

要求

要求 价值
最低支持的客户端 从 Windows 8 开始支持。
标头 reshub.h