[SeaBIOS] [RFC][PATCH 1/2] acpi: add ASL for Embedded Controller

liguang lig.fnst at cn.fujitsu.com
Wed Apr 17 09:22:59 CEST 2013


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

Signed-off-by: liguang <lig.fnst at 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




More information about the SeaBIOS mailing list