/* * This file is part of the coreboot project. * * Copyright (c) 2011 Sven Schnelle * * 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 */ #include "smi.h" Device(EC) { Name (_HID, EISAID("PNP0C09")) Name (_UID, 0) Name (_GPE, 28) Mutex (ECLK, 0) OperationRegion(ERAM, EmbeddedControl, 0x00, 0x100) Field (ERAM, ByteAcc, NoLock, Preserve) { Offset (0x05), HSPA, 1, Offset (0x0C), LEDS, 8, /* LED state */ Offset (0x3a), AMUT, 1, /* Audio Mute */ Offset (0x3B), , 1, KBLT, 1, /* Keyboard Light */ , 2, USPW, 1, /* USB Power enable */ Offset (0x4e), WAKE, 16, Offset (0x78), TMP0, 8, /* Thermal Zone 0 temperature */ TMP1, 8, /* Thermal Zone 1 temperature */ Offset (0x81), PAGE, 8 /* Information Page Selector */ } Method (_CRS, 0) { Name (ECMD, ResourceTemplate() { IO (Decode16, 0x62, 0x62, 1, 1) IO (Decode16, 0x66, 0x66, 1, 1) }) Return (ECMD) } Method (LED, 1, NotSerialized) { Store(Arg0, LEDS) } Method (_INI, 0, NotSerialized) { } Method (MUTE, 1, NotSerialized) { Store(Arg0, AMUT) } Method (USBP, 1, NotSerialized) { Store(Arg0, USPW) } /* Sleep Button pressed */ Method(_Q13, 0, NotSerialized) { Notify(\_SB.PCI0.LPCB.EC.SLPB, 0x80) } /* Brightness up GPE */ Method(_Q14, 0, NotSerialized) { \DSPC.BRTU () } /* Brightness down GPE */ Method(_Q15, 0, NotSerialized) { \DSPC.BRTD() } /* AC status change: present */ Method(_Q26, 0, NotSerialized) { Notify (AC, 0x80) } /* AC status change: not present */ Method(_Q27, 0, NotSerialized) { Notify (AC, 0x80) } Method(_Q2A, 0, NotSerialized) { Notify(\_SB.PCI0.LPCB.EC.LID, 0x80) } Method(_Q2B, 0, NotSerialized) { Notify(\_SB.PCI0.LPCB.EC.LID, 0x80) } #include "ac.asl" #include "battery.asl" #include "sleepbutton.asl" #include "lid.asl" #include "beep.asl" #include "thermal.asl" #include "systemstatus.asl" }