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.
17 // Intel LPC Bus Device - 0:1f.0
21 Name(_ADR, 0x001f0000)
23 OperationRegion(LPC0, PCI_Config, 0x00, 0x100)
24 Field (LPC0, AnyAcc, NoLock, Preserve)
28 Offset (0x60), // Interrupt Routing Registers
39 Offset (0x80), // IO Decode Ranges
43 Offset (0xb8), // GPIO Routing Control
61 Offset (0xf0), // RCBA
67 #include "irqlinks.asl"
69 #include "acpi/ec.asl"
71 Device (DMAC) // DMA Controller
73 Name(_HID, EISAID("PNP0200"))
74 Name(_CRS, ResourceTemplate()
76 IO (Decode16, 0x00, 0x00, 0x01, 0x20)
77 IO (Decode16, 0x81, 0x81, 0x01, 0x11)
78 IO (Decode16, 0x93, 0x93, 0x01, 0x0d)
79 IO (Decode16, 0xc0, 0xc0, 0x01, 0x20)
80 DMA (Compatibility, NotBusMaster, Transfer8_16) { 4 }
84 Device (FWH) // Firmware Hub
86 Name (_HID, EISAID("INT0800"))
87 Name (_CRS, ResourceTemplate()
89 Memory32Fixed(ReadOnly, 0xff000000, 0x01000000)
95 Name (_HID, EISAID("PNP0103"))
96 Name (_CID, 0x010CD041)
98 Name(BUF0, ResourceTemplate()
100 Memory32Fixed(ReadOnly, 0xfed00000, 0x400, FED0)
103 Method (_STA, 0) // Device Status
106 // Note: Ancient versions of Windows don't want
107 // to see the HPET in order to work right
108 If (LGreaterEqual(OSYS, 2001)) {
109 Return (0xf) // Enable and show device
111 Return (0xb) // Enable and don't show device
115 Return (0x0) // Not enabled, don't show.
118 Method (_CRS, 0, Serialized) // Current resources
121 CreateDWordField(BUF0, \_SB.PCI0.LPCB.HPET.FED0._BAS, HPT0)
122 If (Lequal(HPAS, 1)) {
123 Store(0xfed01000, HPT0)
126 If (Lequal(HPAS, 2)) {
127 Store(0xfed02000, HPT0)
130 If (Lequal(HPAS, 3)) {
131 Store(0xfed03000, HPT0)
139 Device(PIC) // 8259 Interrupt Controller
141 Name(_HID,EISAID("PNP0000"))
142 Name(_CRS, ResourceTemplate()
144 IO (Decode16, 0x20, 0x20, 0x01, 0x02)
145 IO (Decode16, 0x24, 0x24, 0x01, 0x02)
146 IO (Decode16, 0x28, 0x28, 0x01, 0x02)
147 IO (Decode16, 0x2c, 0x2c, 0x01, 0x02)
148 IO (Decode16, 0x30, 0x30, 0x01, 0x02)
149 IO (Decode16, 0x34, 0x34, 0x01, 0x02)
150 IO (Decode16, 0x38, 0x38, 0x01, 0x02)
151 IO (Decode16, 0x3c, 0x3c, 0x01, 0x02)
152 IO (Decode16, 0xa0, 0xa0, 0x01, 0x02)
153 IO (Decode16, 0xa4, 0xa4, 0x01, 0x02)
154 IO (Decode16, 0xa8, 0xa8, 0x01, 0x02)
155 IO (Decode16, 0xac, 0xac, 0x01, 0x02)
156 IO (Decode16, 0xb0, 0xb0, 0x01, 0x02)
157 IO (Decode16, 0xb4, 0xb4, 0x01, 0x02)
158 IO (Decode16, 0xb8, 0xb8, 0x01, 0x02)
159 IO (Decode16, 0xbc, 0xbc, 0x01, 0x02)
160 IO (Decode16, 0x4d0, 0x4d0, 0x01, 0x02)
167 Name (_HID, EISAID("PNP0C04"))
168 Name (_CRS, ResourceTemplate()
170 IO (Decode16, 0xf0, 0xf0, 0x01, 0x01)
175 Device(LDRC) // LPC device: Resource consumption
177 Name (_HID, EISAID("PNP0C02"))
179 Name (_CRS, ResourceTemplate()
181 IO (Decode16, 0x2e, 0x2e, 0x1, 0x02) // First SuperIO
182 IO (Decode16, 0x4e, 0x4e, 0x1, 0x02) // Second SuperIO
183 IO (Decode16, 0x61, 0x61, 0x1, 0x01) // NMI Status
184 IO (Decode16, 0x63, 0x63, 0x1, 0x01) // CPU Reserved
185 IO (Decode16, 0x65, 0x65, 0x1, 0x01) // CPU Reserved
186 IO (Decode16, 0x67, 0x67, 0x1, 0x01) // CPU Reserved
187 IO (Decode16, 0x80, 0x80, 0x1, 0x01) // Port 80 Post
188 IO (Decode16, 0x92, 0x92, 0x1, 0x01) // CPU Reserved
189 IO (Decode16, 0xb2, 0xb2, 0x1, 0x02) // SWSMI
190 //IO (Decode16, 0x800, 0x800, 0x1, 0x10) // ACPI I/O trap
191 IO (Decode16, DEFAULT_PMBASE, DEFAULT_PMBASE, 0x1, 0x80) // ICH7-M ACPI
192 IO (Decode16, DEFAULT_GPIOBASE, DEFAULT_GPIOBASE, 0x1, 0x40) // ICH7-M GPIO
196 Device (RTC) // Real Time Clock
198 Name (_HID, EISAID("PNP0B00"))
199 Name (_CRS, ResourceTemplate()
201 IO (Decode16, 0x70, 0x70, 1, 8)
202 // Disable as Windows doesn't like it, and systems don't seem to use it.
203 // IRQNoFlags() { 8 }
207 Device (TIMR) // Intel 8254 timer
209 Name(_HID, EISAID("PNP0100"))
210 Name(_CRS, ResourceTemplate()
212 IO (Decode16, 0x40, 0x40, 0x01, 0x04)
213 IO (Decode16, 0x50, 0x50, 0x10, 0x04)
218 #include "acpi/superio.asl"