ACPI 中文文档ACPI 中文文档
首页
第 1 章
第 2 章
第 3 章
第 4 章
第 5 章
第 6 章
第 7 章
第 8 章
第 9 章
第 10 章
第 11 章
第 12 章
第 13 章
第 14 章
第 15 章
第 16 章
第 17 章
第 18 章
第 19 章
第 20 章
第 21 章
附录 A
首页
第 1 章
第 2 章
第 3 章
第 4 章
第 5 章
第 6 章
第 7 章
第 8 章
第 9 章
第 10 章
第 11 章
第 12 章
第 13 章
第 14 章
第 15 章
第 16 章
第 17 章
第 18 章
第 19 章
第 20 章
第 21 章
附录 A
  • 第 12 章

    • 总览
    • 12.1. 嵌入式控制器接口描述
    • 12.2. 嵌入式控制器寄存器描述
    • 12.3. 嵌入式控制器命令集
    • 12.4. SMBus 主控制器通知头(可选),OS_SMB_EVT
    • 12.5. 嵌入式控制器固件
    • 12.6. 中断模型
    • 12.7. 嵌入式控制器接口算法
    • 12.8. 嵌入式控制器描述信息
    • 12.9. 通过嵌入式控制器的 SMBus 主控制器接口
    • 12.10. SMBus 设备
    • 12.11. 在 ACPI 命名空间中定义嵌入式控制器设备
    • 12.12. 在 ACPI 命名空间中定义 EC SMBus 主控制器

12.11. 在 ACPI 命名空间中定义嵌入式控制器设备

嵌入式控制器设备使用命名设备对象创建。嵌入式控制器的设备对象需要以下元素:

表 12.19 嵌入式控制器设备对象控制方法

对象描述
_CRS返回嵌入式控制器当前资源设置的命名对象。嵌入式控制器被视为静态资源;因此只返回其定义的资源。嵌入式控制器仅驻留在系统 I/O 或内存空间中。返回的第一个地址区域是数据端口,返回的第二个地址区域是嵌入式控制器的状态/命令端口。如果 EC 用于 硬件精简 ACPI 平台,则需要第三种资源,即用于 EC 的 SCI 中断的 GPIO Interrupt Connection 资源。CRS 是在 _CRS (Current Resource Settings) 中定义的标准设备配置控制方法。
_HID提供嵌入式控制器即插即用标识符的命名对象。该值设置为 PNP0C09。_HID 是在 _HID (Hardware ID) 中定义的标准设备配置控制方法。
_GPE求值结果为整数或 package 的命名对象。如果 _GPE 求值为整数,则该值是嵌入式控制器将触发的、由 FADT 描述的某个 GPE 块中的 GPEx_STS 寄存器内 SCI 中断的位分配。如果 _GPE 求值为 package,则该 package 包含两个元素。第一个元素是对 GPE Block 设备的对象引用,该设备包含将由嵌入式控制器触发的 GPE 寄存器。第二个元素是数值(整数),用于指定 package 中第一个元素所引用的 GPE Block 设备的 GPEx_STS 寄存器内 SCI 中断的位分配。此控制方法特定于嵌入式控制器。在硬件精简 ACPI 平台上不需要此方法。

12.11.1. 示例:EC 定义 ASL 代码

下面显示了定义嵌入式控制器设备的 ASL 代码示例:

Device(EC0) {
                                        // PnP ID
    Name(_HID, EISAID("PNP0C09"))
                                        // Returns the "Current Resources" of EC
    Name(_CRS,
        ResourceTemplate(){ // port 0x62 and 0x66
            IO(Decode16, 0x62, 0x62, 0, 1),
            IO(Decode16, 0x66, 0x66, 0, 1)
        /* For 硬件精简 ACPI Platforms, include a GPIO Interrupt Connection resource,
            e.g. GPIO controller #2, pin 43.
            GpioInt(Edge, ActiveHigh, ExclusiveAndWake,PullUp 0, "\\_SB.GPI2"){43}
        */
            }
        )
                                        // Define that the EC SCI is bit 0 of the GP_STS register
        Name(_GPE, 0)                   // Not required for 硬件精简 ACPI platforms
        OperationRegion(ECOR, EmbeddedControl, 0, 0xFF)
        Field(ECOR, ByteAcc, Lock, Preserve) {
                                        // Field definitions go here
            }
        }
Prev
12.10. SMBus 设备
Next
12.12. 在 ACPI 命名空间中定义 EC SMBus 主控制器