简单外设总线 (SPB)

芯片上的系统 (SoC) 集成电路广泛使用简单、低引脚计数和低功率串行互连连接到平台外围设备。 示例包括 I2C、SPI 和 UART。 对于基于 SoC 的平台,Windows 为简单外围总线 (SPB) 硬件提供一般抽象,并且这种抽象需要高级配置和电源接口 (ACPI) 命名空间的新支持。

SPB 控制器设备

SPB 控制器设备与供应商分配的硬件 ID (_HID) 和消耗的一组资源集 (_CRS) 一起在命名空间中标识。

SPB 命名空间对象

ACPI 枚举 SPB 控制器和连接的外围设备。 使用串行总线连接资源描述符来描述它们之间的连接。 有关详细信息,请参阅 ACPI 5.0 规范第 6.4.3.8 节“连接描述符”。

SPB 资源描述符

与 GPIO 连接的情况一样,使用的设备通过新的资源描述符将 SPB 连接描述为操作系统。 通用串行总线资源描述符用于声明 I2C 连接、SPI 连接和 UART 连接,并且可扩展以支持将来的其他串行总线类型。

ACPI 5.0 规范第 19.5.55 节“I2CSerialBus(I2C 串行总线连接资源描述符宏)”中介绍了这些描述符的资源模板宏。

GenericSerialBus OpRegions

同样类似于 GPIO,ACPI 5.0 定义了用于 SPB 控制器 GenericSerialBus 的 OpRegion(ACPI 5.0 规范第 5.5.2.4.5 节)。 由于 SPB 是通信总线,GenericSerialBus OpRegions 支持各种访问 SPB 目标设备的协议。 有关详细信息,请参阅 ACPI 5.0 规范第 5.5.2.4.5.3 节“使用 GenericSerialBus 协议”。

通常,使用 SPB 时,ASL 控制方法需要使用该设备的操作系统驱动程序共享对 SPB 目标设备的访问。 为了确保这些访问同步,ACPI 5.0 定义了设备锁互斥体 (_DLM) 对象。 有关详细信息,请参阅 ACPI 5.0 规范第 5.7.5 节。