一、HID I2C设备的”_DSM”方法
_DSM方法一共有4个参数,分别为Arg0、Arg1、Arg2、Arg3。该方法的具体定义以及每个参数的含义请参看ACPI 5.0规范的9.14.1小节(可直接参看本文最后附录)。
该方法主要是提供了一些与设备相关的数据和操作方法,以供驱动去调用。根据微软给出的"WindowsACPI Design Guide for SOC Platforms”中的定义,对于HIDI2C设备,驱动在调用_DSM方法时传递的参数为:
· Arg0: UUID = 3cdff6f7-4267-4555-ad05-b30a3d8938de
· Arg1: Revision ID = 1
· Arg2: Function index = 1
· Arg3: None
对于HIDI2C设置该方法的返回值是一个包含HID描述符地址的整数。这个地址也即HID I2C Driver向固件读取HID描述符的I2C寄存器地址,目前的Nanjing固件支持的HID描述符地址为:0x0000。
二、_DSM方法中各参数的意义
_DSM方法提供的都是与具体设备相关的操作及数据,该方法一共具备4个参数,我们对其中用到较多的前三个参数做一下详细的解释。
Arg0 – A Buffercontaining a UUID
Arg0是一个UUID,用于标识不同的设备,在Windows上对于不同的设备该UUID是有固定值的,具体可参看“WindowsACPI Design Guide for SOC Platforms”。
Arg1 – An Integercontaining the Revision ID
Arg1是Function的版本ID,它是于UUID相关联的。
Arg2 – An Integercontaining the Function Index
Arg2是