What EC is this for? The device and interface is defined by the spec, but the offsets and methods are custom for every EC.
Marc
On Wed, Apr 17, 2013 at 1:22 AM, liguang lig.fnst@cn.fujitsu.com wrote:
defined at ACPI SPEC v5 chapter 12: "ACPI Embedded Controller Interface Specification"
Signed-off-by: liguang lig.fnst@cn.fujitsu.com
src/acpi-dsdt-ec.dsl | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 106 insertions(+), 0 deletions(-) create mode 100644 src/acpi-dsdt-ec.dsl
diff --git a/src/acpi-dsdt-ec.dsl b/src/acpi-dsdt-ec.dsl new file mode 100644 index 0000000..6bd8edd --- /dev/null +++ b/src/acpi-dsdt-ec.dsl @@ -0,0 +1,106 @@ +/*
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; version 2 of the License.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
USA
- */
+Device (EC0) +{
Name (_HID, EISAID ("PNP0C09"))
Name(_UID, 1)
Method(_CRS, 0)
{
Name(BFFR, ResourceTemplate()
{
IO(Decode16, 0x62, 0x62, 0, 1) // ACPI DATA IN/OUT
IO(Decode16, 0x66, 0x66, 0, 1) // CMD/STS
IRQ(Edge, ActiveHigh, Exclusive) {0x0B}
})
- Return(BFFR)
}
OperationRegion(ECF0, EmbeddedControl, 0, 0xFF)
- Field(ECF2, ByteAcc, Lock, Preserve)
{
Offset(1),
STMP, 8, // 1, Sensor Temperature
ACPW, 8, // 2, AC Power (AC Present = 1, else
LIDS, 8, // 3, Lid State (Lid Open = 1, else 0)
PBNS, 8, // 4, Power Button State (Pressed =
1, else 0)
BTST, 8, // 5, Battery Status
BTCR, 8, // 6, Battery Current Rate
BTCC, 8, // 7, Battery Current Capacity
BTVT, 8, // 8, Battery Voltage
offset(0x10),
SPTR, 8, // 5, SMBus Protocol Register
SSTS, 8, // 5, SMBus Status Register
SADR, 8, // 6, SMBus Address Register
SCMD, 8, // 7, SMBus Command Register
SBFR, 256, // 8, SMBus Block Buffer
SCNT, 8, // 40, SMBus Block Count
}
Method(_REG, 2)
{
}
/* AC status: present */
Method(_Q01, 0, NotSerialized)
{
Notify (AC, 0x80)
}
/* AC status: dispear*/
Method(_Q02, 0, NotSerialized)
{
Notify (AC, 0x80)
}
- Method(_Q04, 0, NotSerialized)
- {
Notify(LID, 0x80)
- }
- Method(_Q04, 0, NotSerialized)
- {
Notify(LID, 0x80)
- }
Device(AC)
{
Name(_HID, "ACPI0003")
Name(_UID, 0x00)
Name(_PCL, Package() { \_SB } )
Method(_PSR, 0, NotSerialized)
{
return (ACPW)
}
Method(_STA, 0, NotSerialized)
{
Return (0x0f)
}
}
Device(LID)
{
Name(_HID, "PNP0C0D")
Method(_LID, 0, NotSerialized)
{
return (LIDS)
}
}
+}
1.7.2.5
SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios