2 * This file is part of the coreboot project.
4 * Copyright (C) 2007-2009 coresystems GmbH
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License as
8 * published by the Free Software Foundation; version 2 of
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
22 // Intel LPC Bus Device - 0:1f.0
26 Name(_ADR, 0x001f0000)
28 OperationRegion(LPC0, PCI_Config, 0x00, 0x100)
29 Field (LPC0, AnyAcc, NoLock, Preserve)
33 Offset (0x60), // Interrupt Routing Registers
44 Offset (0x80), // IO Decode Ranges
48 Offset (0xf0), // RCBA
54 // #include "../../../southbridge/intel/sch/acpi/irqlinks.asl"
55 #include "irqlinks.asl"
57 #include "acpi/ec.asl"
59 Device (DMAC) // DMA Controller
61 Name(_HID, EISAID("PNP0200"))
62 Name(_CRS, ResourceTemplate()
64 IO (Decode16, 0x00, 0x00, 0x01, 0x20)
65 IO (Decode16, 0x81, 0x81, 0x01, 0x11)
66 IO (Decode16, 0x93, 0x93, 0x01, 0x0d)
67 IO (Decode16, 0xc0, 0xc0, 0x01, 0x20)
68 DMA (Compatibility, NotBusMaster, Transfer8_16) { 4 }
72 Device (FWH) // Firmware Hub
74 Name (_HID, EISAID("INT0800"))
75 Name (_CRS, ResourceTemplate()
77 Memory32Fixed(ReadOnly, 0xff000000, 0x01000000)
83 Name (_HID, EISAID("PNP0103"))
84 Name (_CID, 0x010CD041)
86 Name(BUF0, ResourceTemplate()
88 Memory32Fixed(ReadOnly, 0xfed00000, 0x400, FED0)
91 Method (_STA, 0) // Device Status
94 // Note: Ancient versions of Windows don't want
95 // to see the HPET in order to work right
96 If (LGreaterEqual(OSYS, 2001)) {
97 Return (0xf) // Enable and show device
99 Return (0xb) // Enable and don't show device
103 Return (0x0) // Not enabled, don't show.
106 Method (_CRS, 0, Serialized) // Current resources
109 CreateDWordField(BUF0, \_SB.PCI0.LPCB.HPET.FED0._BAS, HPT0)
110 If (Lequal(HPAS, 1)) {
111 Store(0xfed01000, HPT0)
114 If (Lequal(HPAS, 2)) {
115 Store(0xfed02000, HPT0)
118 If (Lequal(HPAS, 3)) {
119 Store(0xfed03000, HPT0)
127 Device(PIC) // 8259 Interrupt Controller
129 Name(_HID,EISAID("PNP0000"))
130 Name(_CRS, ResourceTemplate()
132 IO (Decode16, 0x20, 0x20, 0x01, 0x02)
133 IO (Decode16, 0x24, 0x24, 0x01, 0x02)
134 IO (Decode16, 0x28, 0x28, 0x01, 0x02)
135 IO (Decode16, 0x2c, 0x2c, 0x01, 0x02)
136 IO (Decode16, 0x30, 0x30, 0x01, 0x02)
137 IO (Decode16, 0x34, 0x34, 0x01, 0x02)
138 IO (Decode16, 0x38, 0x38, 0x01, 0x02)
139 IO (Decode16, 0x3c, 0x3c, 0x01, 0x02)
140 IO (Decode16, 0xa0, 0xa0, 0x01, 0x02)
141 IO (Decode16, 0xa4, 0xa4, 0x01, 0x02)
142 IO (Decode16, 0xa8, 0xa8, 0x01, 0x02)
143 IO (Decode16, 0xac, 0xac, 0x01, 0x02)
144 IO (Decode16, 0xb0, 0xb0, 0x01, 0x02)
145 IO (Decode16, 0xb4, 0xb4, 0x01, 0x02)
146 IO (Decode16, 0xb8, 0xb8, 0x01, 0x02)
147 IO (Decode16, 0xbc, 0xbc, 0x01, 0x02)
148 IO (Decode16, 0x4d0, 0x4d0, 0x01, 0x02)
155 Name (_HID, EISAID("PNP0C04"))
156 Name (_CRS, ResourceTemplate()
158 IO (Decode16, 0xf0, 0xf0, 0x01, 0x01)
163 Device(LDRC) // LPC device: Resource consumption
165 Name (_HID, EISAID("PNP0C02"))
167 Name (_CRS, ResourceTemplate()
169 IO (Decode16, 0x2e, 0x2e, 0x1, 0x02) // First SuperIO
170 IO (Decode16, 0x4e, 0x4e, 0x1, 0x02) // Second SuperIO
171 IO (Decode16, 0x61, 0x61, 0x1, 0x01) // NMI Status
172 IO (Decode16, 0x63, 0x63, 0x1, 0x01) // CPU Reserved
173 IO (Decode16, 0x65, 0x65, 0x1, 0x01) // CPU Reserved
174 IO (Decode16, 0x67, 0x67, 0x1, 0x01) // CPU Reserved
175 IO (Decode16, 0x80, 0x80, 0x1, 0x01) // Port 80 Post
176 IO (Decode16, 0x92, 0x92, 0x1, 0x01) // CPU Reserved
177 IO (Decode16, 0xb2, 0xb2, 0x1, 0x02) // SWSMI
178 // IO (Decode16, 0x680, 0x680, 0x1, 0x70) // IO ???
179 IO (Decode16, 0x800, 0x800, 0x1, 0x10) // ACPI I/O trap
180 IO (Decode16, 0x0500, 0x0500, 0x1, 0x80) // ICH7-M ACPI
181 IO (Decode16, 0x0480, 0x0480, 0x1, 0x40) // ICH7-M GPIO
182 // IO (Decode16, 0x1640, 0x1640, 0x1, 0x10) // IO ???
186 Device (RTC) // Real Time Clock
188 Name (_HID, EISAID("PNP0B00"))
189 Name (_CRS, ResourceTemplate()
191 IO (Decode16, 0x70, 0x70, 1, 8)
196 Device (TIMR) // Intel 8254 timer
198 Name(_HID, EISAID("PNP0100"))
199 Name(_CRS, ResourceTemplate()
201 IO (Decode16, 0x40, 0x40, 0x01, 0x04)
202 IO (Decode16, 0x50, 0x50, 0x10, 0x04)
207 #include "acpi/superio.asl"
209 Device (PS2K) // Keyboard
211 Name(_HID, EISAID("PNP0303"))
212 Name(_CID, EISAID("PNP030B"))
214 Name(_CRS, ResourceTemplate()
216 IO (Decode16, 0x60, 0x60, 0x01, 0x01)
217 IO (Decode16, 0x64, 0x64, 0x01, 0x01)
218 IRQ (Edge, ActiveHigh, Exclusive) { 0x01 } // IRQ 1
227 Device (PS2M) // Mouse
229 Name(_HID, EISAID("PNP0F13"))
230 Name(_CRS, ResourceTemplate()
232 IRQ (Edge, ActiveHigh, Exclusive) { 0x0c } // IRQ 12
241 Device (FDC0) // Floppy controller
243 Name (_HID, EisaId ("PNP0700"))
244 Method (_STA, 0, NotSerialized)
246 Return (0x0f) // FIXME
249 Name(_CRS, ResourceTemplate()
251 IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06)
252 IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
254 DMA (Compatibility, NotBusMaster, Transfer8) {2}
257 Name(_PRS, ResourceTemplate()
259 IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06)
260 IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
262 DMA (Compatibility, NotBusMaster, Transfer8) {2}