blob: 0bb93ca117f06d64ec1b871a1bc594f2ce42eafd [file] [log] [blame]
Uwe Hermann2e9323e2010-11-14 21:48:14 +00001/*
2 * This file is part of the coreboot project.
3 *
4 * Copyright (C) 2004 Nick Barker <Nick.Barker9@btinternet.com>
5 * Copyright (C) 2007 Rudolf Marek <r.marek@assembler.cz>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; version 2 of the License.
10 *
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.
Uwe Hermann2e9323e2010-11-14 21:48:14 +000015 */
16
17/*
18 * ISA portions taken from QEMU acpi-dsdt.dsl.
19 */
20
Stefan Reinauer03f82bd2011-09-20 22:36:32 +020021DefinitionBlock ("DSDT.aml", "DSDT", 1, "CORE ", "COREBOOT", 1)
Uwe Hermann2e9323e2010-11-14 21:48:14 +000022{
Uwe Hermann2e9323e2010-11-14 21:48:14 +000023 /* For now only define 2 power states:
24 * - S0 which is fully on
25 * - S5 which is soft off
26 * Any others would involve declaring the wake up methods.
27 */
28 Name (\_S0, Package () { 0x00, 0x00, 0x00, 0x00 })
29 Name (\_S5, Package () { 0x02, 0x02, 0x00, 0x00 })
30
31 /* Root of the bus hierarchy */
32 Scope (\_SB)
33 {
34 /* Top PCI device */
35 Device (PCI0)
36 {
37 Name (_HID, EisaId ("PNP0A03"))
38 Name (_ADR, 0x00)
39 Name (_UID, 0x00)
40 Name (_BBN, 0x00)
41
42 /* PCI Routing Table */
43 /* aaa */
44 Name (_PRT, Package () {
45 Package (0x04) { 0x000BFFFF, 0x00, 0x00, 0x10 }, /* Slot 0xB */
46 Package (0x04) { 0x000BFFFF, 0x01, 0x00, 0x11 },
47 Package (0x04) { 0x000BFFFF, 0x02, 0x00, 0x12 },
48 Package (0x04) { 0x000BFFFF, 0x03, 0x00, 0x13 },
49 Package (0x04) { 0x000CFFFF, 0x00, 0x00, 0x11 }, /* Slot 0xC */
50 Package (0x04) { 0x000CFFFF, 0x01, 0x00, 0x12 },
51 Package (0x04) { 0x000CFFFF, 0x02, 0x00, 0x13 },
52 Package (0x04) { 0x000CFFFF, 0x03, 0x00, 0x10 },
53 Package (0x04) { 0x000DFFFF, 0x00, 0x00, 0x12 }, /* Slot 0xD */
54 Package (0x04) { 0x000DFFFF, 0x01, 0x00, 0x13 },
55 Package (0x04) { 0x000DFFFF, 0x02, 0x00, 0x10 },
56 Package (0x04) { 0x000DFFFF, 0x03, 0x00, 0x11 },
57 Package (0x04) { 0x000FFFFF, 0x01, 0x00, 0x14 }, /* 0xf SATA IRQ 20 */
58 Package (0x04) { 0x000FFFFF, 0x00, 0x00, 0x14 }, /* 0xf Native IDE IRQ 20 */
59 Package (0x04) { 0x0010FFFF, 0x00, 0x00, 0x15 }, /* USB routing */
60 Package (0x04) { 0x0010FFFF, 0x01, 0x00, 0x15 },
61 Package (0x04) { 0x0010FFFF, 0x02, 0x00, 0x15 },
62 Package (0x04) { 0x0010FFFF, 0x03, 0x00, 0x15 },
63 Package (0x04) { 0x0011FFFF, 0x02, 0x00, 0x16 }, /* AC97, MC97 */
64 Package (0x04) { 0x0002FFFF, 0x00, 0x00, 0x1B }, /* PCIE16 bridge IRQ27 */
65 Package (0x04) { 0x0002FFFF, 0x01, 0x00, 0x1B },
66 Package (0x04) { 0x0002FFFF, 0x02, 0x00, 0x1B },
67 Package (0x04) { 0x0002FFFF, 0x03, 0x00, 0x1B },
68 Package (0x04) { 0x0003FFFF, 0x00, 0x00, 0x1F }, /* PCIE bridge IRQ31 */
69 Package (0x04) { 0x0003FFFF, 0x01, 0x00, 0x23 }, /* IRQ36 */
70 Package (0x04) { 0x0003FFFF, 0x02, 0x00, 0x27 }, /* IRQ39 */
71 Package (0x04) { 0x0003FFFF, 0x03, 0x00, 0x2B } /* IRQ43 */
72 })
73
74 Device (PEGG)
75 {
76 Name (_ADR, 0x00020000)
77 Name (_UID, 0x00)
78 Name (_BBN, 0x02)
79 Name (_PRT, Package () {
80 Package (0x04) { 0x0000FFFF, 0x00, 0x00, 0x18 }, /* PCIE IRQ24-IRQ27 */
81 Package (0x04) { 0x0000FFFF, 0x01, 0x00, 0x19 },
82 Package (0x04) { 0x0000FFFF, 0x02, 0x00, 0x1A },
83 Package (0x04) { 0x0000FFFF, 0x03, 0x00, 0x1B },
84 })
85 }
86
87 Device (PEX0)
88 {
89 Name (_ADR, 0x00030000)
90 Name (_UID, 0x00)
91 Name (_BBN, 0x03)
92 Name (_PRT, Package () {
93 Package (0x04) { 0x0000FFFF, 0x00, 0x00, 0x1C }, /* PCIE IRQ28-IRQ31 */
94 Package (0x04) { 0x0000FFFF, 0x01, 0x00, 0x1D },
95 Package (0x04) { 0x0000FFFF, 0x02, 0x00, 0x1E },
96 Package (0x04) { 0x0000FFFF, 0x03, 0x00, 0x1F },
97 })
98 }
99
100 Device (PEX1)
101 {
102 Name (_ADR, 0x00030001)
103 Name (_UID, 0x00)
104 Name (_BBN, 0x04)
105 Name (_PRT, Package () {
106 Package (0x04) { 0x0000FFFF, 0x00, 0x00, 0x20 }, /* PCIE IRQ32-IRQ35 */
107 Package (0x04) { 0x0000FFFF, 0x01, 0x00, 0x21 },
108 Package (0x04) { 0x0000FFFF, 0x02, 0x00, 0x22 },
109 Package (0x04) { 0x0000FFFF, 0x03, 0x00, 0x23 },
110 })
111 }
112
113 Device (PEX2)
114 {
115 Name (_ADR, 0x00030002)
116 Name (_UID, 0x00)
117 Name (_BBN, 0x05)
118 Name (_PRT, Package () {
119 Package (0x04) { 0x0000FFFF, 0x00, 0x00, 0x24 }, /* PCIE IRQ36-IRQ39 */
120 Package (0x04) { 0x0000FFFF, 0x01, 0x00, 0x25 },
121 Package (0x04) { 0x0000FFFF, 0x02, 0x00, 0x26 },
122 Package (0x04) { 0x0000FFFF, 0x03, 0x00, 0x27 },
123 })
124 }
125
126 Device (PEX3)
127 {
128 Name (_ADR, 0x00030003)
129 Name (_UID, 0x00)
130 Name (_BBN, 0x06)
131 Name (_PRT, Package () {
132 Package (0x04) { 0x0000FFFF, 0x00, 0x00, 0x28 }, /* PCIE IRQ40-IRQ43 */
133 Package (0x04) { 0x0000FFFF, 0x01, 0x00, 0x29 },
134 Package (0x04) { 0x0000FFFF, 0x02, 0x00, 0x2A },
135 Package (0x04) { 0x0000FFFF, 0x03, 0x00, 0x2B },
136 })
137 }
138
139 Device (ISA) {
140 Name (_ADR, 0x00110000)
141
142 /* PS/2 keyboard (seems to be important for WinXP install) */
143 Device (KBD)
144 {
145 Name (_HID, EisaId ("PNP0303"))
146 Method (_STA, 0, NotSerialized)
147 {
148 Return (0x0f)
149 }
150 Method (_CRS, 0, NotSerialized)
151 {
152 Name (TMP, ResourceTemplate () {
153 IO (Decode16, 0x0060, 0x0060, 0x01, 0x01)
154 IO (Decode16, 0x0064, 0x0064, 0x01, 0x01)
155 IRQNoFlags () {1}
156 })
157 Return (TMP)
158 }
159 }
160
161 /* PS/2 mouse */
162 Device (MOU)
163 {
164 Name (_HID, EisaId ("PNP0F13"))
165 Method (_STA, 0, NotSerialized)
166 {
167 Return (0x0f)
168 }
169 Method (_CRS, 0, NotSerialized)
170 {
171 Name (TMP, ResourceTemplate () {
172 IRQNoFlags () {12}
173 })
174 Return (TMP)
175 }
176 }
177
178 /* PS/2 floppy controller */
179 Device (FDC0)
180 {
181 Name (_HID, EisaId ("PNP0700"))
182 Method (_STA, 0, NotSerialized)
183 {
184 Return (0x0f)
185 }
186 Method (_CRS, 0, NotSerialized)
187 {
188 Name (BUF0, ResourceTemplate () {
189 IO (Decode16, 0x03F2, 0x03F2, 0x00, 0x04)
190 IO (Decode16, 0x03F7, 0x03F7, 0x00, 0x01)
191 IRQNoFlags () {6}
192 DMA (Compatibility, NotBusMaster, Transfer8) {2}
193 })
194 Return (BUF0)
195 }
196 }
197 }
198 }
199 }
200}