2 * This file is part of the coreboot project.
4 * Copyright (C) 2004 Nick Barker <Nick.Barker9@btinternet.com>
5 * Copyright (C) 2007-2009 coresystems GmbH
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License as
9 * published by the Free Software Foundation; version 2 of
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
23 DefinitionBlock ("dsdt.aml", "DSDT", 1, "CX700 ", "COREBOOT", 0x00000001)
26 * Define the main processor
30 Processor (\_PR.CPU0, 0x00, 0x00000410, 0x06) {}
33 /* For now only define 2 power states:
34 * - S0 which is fully on
35 * - S5 which is soft off
36 * any others would involve declaring the wake up methods
38 Name (\_S0, Package () {0x00, 0x00, 0x00, 0x00 })
39 Name (\_S5, Package () {0x02, 0x02, 0x00, 0x00 })
42 Name (PICF , 0) // Global flag indicating whether to use PIC or APIC mode
43 Method ( _PIC,1) // The OS is calling this
49 /* Root of the bus hierarchy */
52 /* Define how interrupt Link A is plumbed in */
55 Name (_HID, EisaId ("PNP0C0F"))
58 /* Status - always return ready */
59 Method (_STA, 0, NotSerialized)
64 /* Current Resources - return irq set up in BIOS */
65 Method (_CRS, 0, NotSerialized)
67 Name (CRSP, ResourceTemplate () {
68 IRQ (Level, ActiveLow, Shared) {11}
70 Name (CRSA, ResourceTemplate () {
71 Interrupt (ResourceConsumer, Level, ActiveLow, Shared) {16}
80 /* Possible Resources - return the range of irqs
81 * we are using for PCI - only here to keep Linux ACPI
84 Method (_PRS, 0, NotSerialized)
86 Name (PRSP, ResourceTemplate () {
87 IRQ (Level, ActiveLow, Shared) {3,4,6,7,10,11,12}
89 Name (PRSA, ResourceTemplate () {
90 Interrupt (ResourceConsumer, Level, ActiveLow, Shared) {16,17,18,19,20,21,22,23}
100 /* Set Resources - dummy function to keep Linux ACPI happy
101 * Linux is more than happy not to tinker with irq
102 * assignments as long as the CRS and STA functions
105 Method (_SRS, 1, NotSerialized ) {}
106 /* Disable - dummy function to keep Linux ACPI happy */
107 Method (_DIS, 0, NotSerialized ) {}
111 /* Define how interrupt Link B is plumbed in */
114 Name (_HID, EisaId ("PNP0C0F"))
117 /* Status - always return ready */
118 Method (_STA, 0, NotSerialized)
123 /* Current Resources - return irq set up in BIOS */
124 Method (_CRS, 0, NotSerialized)
126 Name (CRSP, ResourceTemplate () {
127 IRQ (Level, ActiveLow, Shared) {11}
129 Name (CRSA, ResourceTemplate () {
130 Interrupt (ResourceConsumer, Level, ActiveLow, Shared) {17}
139 /* Possible Resources - return the range of irqs
140 * we are using for PCI - only here to keep Linux ACPI
143 Method (_PRS, 0, NotSerialized)
145 Name (PRSP, ResourceTemplate () {
146 IRQ (Level, ActiveLow, Shared) {3,4,6,7,10,11,12}
148 Name (PRSA, ResourceTemplate () {
149 Interrupt (ResourceConsumer, Level, ActiveLow, Shared) {16,17,18,19,20,21,22,23}
160 /* Set Resources - dummy function to keep Linux ACPI happy
161 * Linux is more than happy not to tinker with irq
162 * assignments as long as the CRS and STA functions
165 Method (_SRS, 1, NotSerialized ) {}
166 /* Disable - dummy function to keep Linux ACPI happy */
167 Method (_DIS, 0, NotSerialized ) {}
171 /* Define how interrupt Link C is plumbed in */
174 Name (_HID, EisaId ("PNP0C0F"))
177 /* Status - always return ready */
178 Method (_STA, 0, NotSerialized)
183 /* Current Resources - return irq set up in BIOS */
184 Method (_CRS, 0, NotSerialized)
186 Name (CRSP, ResourceTemplate () {
187 IRQ (Level, ActiveLow, Shared) {10}
189 Name (CRSA, ResourceTemplate () {
190 Interrupt (ResourceConsumer, Level, ActiveLow, Shared) {18}
199 /* Possible Resources - return the range of irqs
200 * we are using for PCI - only here to keep Linux ACPI
203 Method (_PRS, 0, NotSerialized)
205 Name (PRSP, ResourceTemplate () {
206 IRQ (Level, ActiveLow, Shared) {3,4,6,7,10,11,12}
208 Name (PRSA, ResourceTemplate () {
209 Interrupt (ResourceConsumer, Level, ActiveLow, Shared) {16,17,18,19,20,21,22,23}
220 /* Set Resources - dummy function to keep Linux ACPI happy
221 * Linux is more than happy not to tinker with irq
222 * assignments as long as the CRS and STA functions
225 Method (_SRS, 1, NotSerialized ) {}
226 /* Disable - dummy function to keep Linux ACPI happy */
227 Method (_DIS, 0, NotSerialized ) {}
231 /* Define how interrupt Link D is plumbed in */
234 Name (_HID, EisaId ("PNP0C0F"))
237 /* Status - always return ready */
238 Method (_STA, 0, NotSerialized)
243 /* Current Resources - return irq set up in BIOS */
244 Method (_CRS, 0, NotSerialized)
246 Name (CRSP, ResourceTemplate () {
247 IRQ (Level, ActiveLow, Shared) {10}
249 Name (CRSA, ResourceTemplate () {
250 Interrupt (ResourceConsumer, Level, ActiveLow, Shared) {19}
259 /* Possible Resources - return the range of irqs
260 * we are using for PCI - only here to keep Linux ACPI
263 Method (_PRS, 0, NotSerialized)
265 Name (PRSP, ResourceTemplate () {
266 IRQ (Level, ActiveLow, Shared) {3,4,6,7,10,11,12}
268 Name (PRSA, ResourceTemplate () {
269 Interrupt (ResourceConsumer, Level, ActiveLow, Shared) {16,17,18,19,20,21,22,23}
280 /* Set Resources - dummy function to keep Linux ACPI happy
281 * Linux is more than happy not to tinker with irq
282 * assignments as long as the CRS and STA functions
285 Method (_SRS, 1, NotSerialized ) {}
286 /* Disable - dummy function to keep Linux ACPI happy */
287 Method (_DIS, 0, NotSerialized ) {}
291 /* PCI Root Bridge */
294 Name (_HID, EisaId ("PNP0A08"))
295 Name (_CID, EisaId ("PNP0A03"))
300 // Mainboard specific IRQ routing
301 #include "acpi/irq.asl"
303 /* PCI Routing Table */
304 Method (_PRT, 0, NotSerialized)
316 Device (P2PB) /* PCI to PCI bridge */
318 Name (_ADR, 0x00130001)
320 #include "acpi/irq-p2p-bridge.asl"
321 Method (_PRT, 0, NotSerialized)
332 /* Status - always return ready */
333 Method (_STA, 0, NotSerialized)
340 } // End of Definition Block