12.12. Defining an EC SMBus Host Controller in ACPI Namespace¶
An EC-SMB-HC device is defined using the named device object. The EC-SMB- HC’s device object requires the following elements:
Object |
Description |
---|---|
_HID |
Named object that provides the EC-SMB- HC’s Plug and Play identifier. This value is be set to ACPI0001. _HID is a standard device configuration control method defined in _HID (Hardware ID). |
_EC |
Named object that evaluates to a WORD that defines the SMBus attributes needed by the SMBus driver. _EC is the Embedded Controller Offset Query Control Method. The most significant byte is the address offset in embedded controller space of the SMBus controller; the least significant byte is the query value for all SMBus events. |
12.12.1. Example: EC SMBus Host Controller ASL-Code¶
Example ASL code that defines an SMB-HC from within an embedded controller device is shown below:
Device(EC0)
{
Name(_HID, EISAID("PNP0C09"))
Name(_CRS, ResourceTemplate()
{
IO(Decode16, 0x62, 0x62, 0, 1), // Status port
IO(Decode16, 0x66, 0x66, 0, 1) // command port
})
Name(_GPE, 0)
Device (SMB0)
{
Name(_HID, "ACPI0001") // EC-SMB-HC
Name(_UID, 0) // Unique device identifier
Name(_EC, 0x2030) // EC offset 0x20, query bit 0x30
:
}
Device (SMB1)
{
Name(_HID, "ACPI0001") // EC-SMB-HC
Name(_UID, 1) // Unique device identifier
Name(_EC, 0x8031) // EC offset 0x80, query bit 0x31
:
}
} // end of EC0.