在ACPI规范中,I2CSerialBusV2
是一个用于描述I2C总线连接的资源宏,它是ACPI 5.0版本引入的新资源之一,用于在ACPI表中定义I2C设备的硬件特性。这个宏用于创建ACPI表中的资源模板,以供操作系统识别和配置I2C设备。
根据ACPI规范,I2CSerialBusV2
宏的确切定义和参数通常包括:
- 总线地址(Bus Address):I2C总线上设备的地址。
- 访问模式(Access Mode):可以是
ControllerInitiated
或DeviceInitiated
。 - 速度(Speed):I2C总线的速度,例如标准模式(100kHz)、快速模式(400kHz)、快速模式加(1MHz)或高速模式(3.4MHz)。
- 地址模式(Addressing Mode):通常是
7Bit
,表示7位地址。 - 资源源(Resource Source):例如
"\_SB.PCI0.I2C0"
,表示资源由特定的ACPI对象提供。 - 最小数据缓冲区大小(Min Data Buffer Size):用于指定驱动程序需要的最小数据缓冲区大小。
- 附加功能(Additional Function):可选参数,用于提供额外的控制或配置信息。
在ACPI Source Language (ASL) 中,I2CSerialBusV2
的使用可能如下所示:
I2cSerialBusV2 (
0x70, // Slave Address
ControllerInitiated,// Access Mode
I2C_SPEED, // Speed
AddressingMode7Bit, // Addressing Mode
"\_SB.I2C0", // Resource Source
0x00, // Min Data Buffer Size
, // Additional Function (optional)
ResourceConsumer // Resource Type )
{ // Resource usage description }