qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [RFC][SeaBIOS][PATCH 1/2] acpi: add ASL for Embedded Contro


From: liguang
Subject: [Qemu-devel] [RFC][SeaBIOS][PATCH 1/2] acpi: add ASL for Embedded Controller
Date: Wed, 17 Apr 2013 15:22:59 +0800

defined at ACPI SPEC v5 chapter 12:
"ACPI Embedded Controller Interface Specification"

Signed-off-by: liguang <address@hidden>
---
 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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]