defined at ACPI SPEC v5 chapter 12:
"ACPI Embedded Controller Interface Specification"
Signed-off-by: liguang <lig.fnst(a)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 0)
+ 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