2 * This file is part of the coreboot project.
4 * Copyright (C) 2011 Advanced Micro Devices, Inc.
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; version 2 of the License.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21 DefinitionBlock ("DSDT.AML","DSDT",0x01,"XXXXXX","XXXXXXXX",0x00010001
24 #include "routing.asl"
28 /* Routing is in System Bus scope */
32 /* Bus 0, Dev 0 - RS780 Host Controller */
33 /* Bus 0, Dev 1 - PCI Bridge for Internal Graphics */
34 /* Bus 0, Dev 2 - PCIe Bridge for x8 PCIe Slot (GFX0) */
35 Package(){0x0002FFFF, 0, INTC, 0 },
36 Package(){0x0002FFFF, 1, INTD, 0 },
37 Package(){0x0002FFFF, 2, INTA, 0 },
38 Package(){0x0002FFFF, 3, INTB, 0 },
39 /* Bus 0, Dev 3 - PCIe graphics port 1 bridge */
40 /* Bus 0, Dev 4 - PCIe Bridge for Express Card Slot */
41 Package(){0x0004FFFF, 0, INTA, 0 },
42 Package(){0x0004FFFF, 1, INTB, 0 },
43 Package(){0x0004FFFF, 2, INTC, 0 },
44 Package(){0x0004FFFF, 3, INTD, 0 },
45 /* Bus 0, Dev 5 - General purpose PCIe bridge 5 */
46 /* Package(){0x0005FFFF, 0, INTB, 0 }, */
47 /* Package(){0x0005FFFF, 1, INTC, 0 }, */
48 /* Package(){0x0005FFFF, 2, INTD, 0 }, */
49 /* Package(){0x0005FFFF, 3, INTA, 0 }, */
50 /* Bus 0, Dev 6 - PCIe Bridge for Ethernet Chip */
51 Package(){0x0006FFFF, 0, INTC, 0 },
52 Package(){0x0006FFFF, 1, INTD, 0 },
53 Package(){0x0006FFFF, 2, INTA, 0 },
54 Package(){0x0006FFFF, 3, INTB, 0 },
55 /* Bus 0, Dev 7 - PCIe Bridge for x1 PCIe Slot */
56 Package(){0x0007FFFF, 0, INTD, 0 },
57 Package(){0x0007FFFF, 1, INTA, 0 },
58 Package(){0x0007FFFF, 2, INTB, 0 },
59 Package(){0x0007FFFF, 3, INTC, 0 },
61 Package(){0x0009FFFF, 0, INTB, 0 },
62 Package(){0x0009FFFF, 1, INTC, 0 },
63 Package(){0x0009FFFF, 2, INTD, 0 },
64 Package(){0x0009FFFF, 3, INTA, 0 },
66 Package(){0x000AFFFF, 0, INTC, 0 },
67 Package(){0x000AFFFF, 1, INTD, 0 },
68 Package(){0x000AFFFF, 2, INTA, 0 },
69 Package(){0x000AFFFF, 3, INTB, 0 },
71 Package(){0x000BFFFF, 0, INTD, 0 },
72 Package(){0x000BFFFF, 1, INTA, 0 },
73 Package(){0x000BFFFF, 2, INTB, 0 },
74 Package(){0x000BFFFF, 3, INTC, 0 },
76 Package(){0x000CFFFF, 0, INTA, 0 },
77 Package(){0x000CFFFF, 1, INTB, 0 },
78 Package(){0x000CFFFF, 2, INTC, 0 },
79 Package(){0x000CFFFF, 3, INTD, 0 },
81 /* Bus 0, Funct 8 - Southbridge port (normally hidden) */
84 /* Bus 0, Dev 17 - SATA controller #2 */
85 /* Bus 0, Dev 18 - SATA controller #1 */
86 Package(){0x0011FFFF, 0, INTD, 0 },
88 /* Bus 0, Dev 19 - USB: OHCI, dev 18,19 func 0-2, dev 20 func 5;
89 * EHCI, dev 18, 19 func 2 */
90 Package(){0x0012FFFF, 0, INTC, 0 },
91 Package(){0x0012FFFF, 1, INTB, 0 },
93 Package(){0x0013FFFF, 0, INTC, 0 },
94 Package(){0x0013FFFF, 1, INTB, 0 },
96 Package(){0x0016FFFF, 0, INTC, 0 },
97 Package(){0x0016FFFF, 1, INTB, 0 },
99 /* Package(){0x0014FFFF, 1, INTA, 0 }, */
101 /* Bus 0, Dev 20 - F0:SMBus/ACPI,F1:IDE;F2:HDAudio;F3:LPC;F4:PCIBridge;F5:USB */
102 Package(){0x0014FFFF, 0, INTA, 0 },
103 Package(){0x0014FFFF, 1, INTB, 0 },
104 Package(){0x0014FFFF, 2, INTC, 0 },
105 Package(){0x0014FFFF, 3, INTD, 0 },
107 Package(){0x0015FFFF, 0, INTA, 0 },
108 Package(){0x0015FFFF, 1, INTB, 0 },
109 Package(){0x0015FFFF, 2, INTC, 0 },
110 Package(){0x0015FFFF, 3, INTD, 0 },
113 Name(APR0, Package(){
114 /* NB devices in APIC mode */
115 /* Bus 0, Dev 0 - RS780 Host Controller */
117 /* Bus 0, Dev 1 - PCI Bridge for Internal Graphics */
118 Package(){0x0001FFFF, 0, 0, 18 },
119 package(){0x0001FFFF, 1, 0, 19 },
121 /* Bus 0, Dev 2 - PCIe Bridge for x8 PCIe Slot (GFX0) */
122 Package(){0x0002FFFF, 0, 0, 18 },
123 /* Package(){0x0002FFFF, 1, 0, 19 }, */
124 /* Package(){0x0002FFFF, 2, 0, 16 }, */
125 /* Package(){0x0002FFFF, 3, 0, 17 }, */
127 /* Bus 0, Dev 3 - PCIe graphics port 1 bridge */
128 Package(){0x0003FFFF, 0, 0, 19 },
130 /* Bus 0, Dev 4 - PCIe Bridge for Express Card Slot */
131 Package(){0x0004FFFF, 0, 0, 16 },
132 /* Package(){0x0004FFFF, 1, 0, 17 }, */
133 /* Package(){0x0004FFFF, 2, 0, 18 }, */
134 /* Package(){0x0004FFFF, 3, 0, 19 }, */
136 /* Bus 0, Dev 5 - General purpose PCIe bridge 5 */
137 /* Package(){0x0005FFFF, 0, 0, 17 }, */
138 /* Package(){0x0005FFFF, 1, 0, 18 }, */
139 /* Package(){0x0005FFFF, 2, 0, 19 }, */
140 /* Package(){0x0005FFFF, 3, 0, 16 }, */
142 /* Bus 0, Dev 6 - General purpose PCIe bridge 6 */
143 /* Package(){0x0006FFFF, 0, 0, 18 }, */
144 /* Package(){0x0006FFFF, 1, 0, 19 }, */
145 /* Package(){0x0006FFFF, 2, 0, 16 }, */
146 /* Package(){0x0006FFFF, 3, 0, 17 }, */
148 /* Bus 0, Dev 7 - PCIe Bridge for network card */
149 /* Package(){0x0007FFFF, 0, 0, 19 }, */
150 /* Package(){0x0007FFFF, 1, 0, 16 }, */
151 /* Package(){0x0007FFFF, 2, 0, 17 }, */
152 /* Package(){0x0007FFFF, 3, 0, 18 }, */
154 /* Bus 0, Dev 9 - PCIe Bridge for network card */
155 Package(){0x0009FFFF, 0, 0, 17 },
156 /* Package(){0x0009FFFF, 1, 0, 16 }, */
157 /* Package(){0x0009FFFF, 2, 0, 17 }, */
158 /* Package(){0x0009FFFF, 3, 0, 18 }, */
159 /* Bus 0, Dev A - PCIe Bridge for network card */
160 Package(){0x000AFFFF, 0, 0, 18 },
161 /* Package(){0x000AFFFF, 1, 0, 16 }, */
162 /* Package(){0x000AFFFF, 2, 0, 17 }, */
163 /* Package(){0x000AFFFF, 3, 0, 18 }, */
164 /* Bus 0, Funct 8 - Southbridge port (normally hidden) */
166 /* SB devices in APIC mode */
167 /* Bus 0, Dev 17 - SATA controller #2 */
168 /* Bus 0, Dev 18 - SATA controller #1 */
169 Package(){0x0011FFFF, 0, 0, 19 },
171 /* Bus 0, Dev 19 - USB: OHCI, dev 18,19 func 0-2, dev 20 func 5;
172 * EHCI, dev 18, 19 func 2 */
173 Package(){0x0012FFFF, 0, 0, 18 },
174 Package(){0x0012FFFF, 1, 0, 17 },
175 /* Package(){0x0012FFFF, 2, 0, 18 }, */
177 Package(){0x0013FFFF, 0, 0, 18 },
178 Package(){0x0013FFFF, 1, 0, 17 },
179 /* Package(){0x0013FFFF, 2, 0, 16 }, */
181 /* Package(){0x00140000, 0, 0, 16 }, */
183 Package(){0x0016FFFF, 0, 0, 18 },
184 Package(){0x0016FFFF, 1, 0, 17 },
186 /* Bus 0, Dev 20 - F0:SMBus/ACPI, F1:IDE; F2:HDAudio; F3:LPC; F4:PCIBridge; F5:USB */
187 Package(){0x0014FFFF, 0, 0, 16 },
188 Package(){0x0014FFFF, 1, 0, 17 },
189 Package(){0x0014FFFF, 2, 0, 18 },
190 Package(){0x0014FFFF, 3, 0, 19 },
191 /* Package(){0x00140004, 2, 0, 18 }, */
192 /* Package(){0x00140004, 3, 0, 19 }, */
193 /* Package(){0x00140005, 1, 0, 17 }, */
194 /* Package(){0x00140006, 1, 0, 17 }, */
197 Package(){0x0015FFFF, 0, 0, 16 },
198 Package(){0x0015FFFF, 1, 0, 17 },
199 Package(){0x0015FFFF, 2, 0, 18 },
200 Package(){0x0015FFFF, 3, 0, 19 },
204 /* Internal graphics - RS780 VGA, Bus1, Dev5 */
205 Package(){0x0005FFFF, 0, INTA, 0 },
206 Package(){0x0005FFFF, 1, INTB, 0 },
207 Package(){0x0005FFFF, 2, INTC, 0 },
208 Package(){0x0005FFFF, 3, INTD, 0 },
210 Name(APR1, Package(){
211 /* Internal graphics - RS780 VGA, Bus1, Dev5 */
212 Package(){0x0005FFFF, 0, 0, 18 },
213 Package(){0x0005FFFF, 1, 0, 19 },
214 /* Package(){0x0005FFFF, 2, 0, 20 }, */
215 /* Package(){0x0005FFFF, 3, 0, 17 }, */
219 /* The external GFX - Hooked to PCIe slot 2 */
220 Package(){0x0000FFFF, 0, INTC, 0 },
221 Package(){0x0000FFFF, 1, INTD, 0 },
222 Package(){0x0000FFFF, 2, INTA, 0 },
223 Package(){0x0000FFFF, 3, INTB, 0 },
225 Name(APS2, Package(){
226 /* The external GFX - Hooked to PCIe slot 2 */
227 Package(){0x0000FFFF, 0, 0, 18 },
228 Package(){0x0000FFFF, 1, 0, 19 },
229 Package(){0x0000FFFF, 2, 0, 16 },
230 Package(){0x0000FFFF, 3, 0, 17 },
234 /* PCIe slot - Hooked to PCIe slot 4 */
235 Package(){0x0000FFFF, 0, INTA, 0 },
236 Package(){0x0000FFFF, 1, INTB, 0 },
237 Package(){0x0000FFFF, 2, INTC, 0 },
238 Package(){0x0000FFFF, 3, INTD, 0 },
240 Name(APS4, Package(){
241 /* PCIe slot - Hooked to PCIe slot 4 */
242 Package(){0x0000FFFF, 0, 0, 16 },
243 Package(){0x0000FFFF, 1, 0, 17 },
244 Package(){0x0000FFFF, 2, 0, 18 },
245 Package(){0x0000FFFF, 3, 0, 19 },
249 /* PCIe slot - Hooked to PCIe slot 5 */
250 Package(){0x0000FFFF, 0, INTB, 0 },
251 Package(){0x0000FFFF, 1, INTC, 0 },
252 Package(){0x0000FFFF, 2, INTD, 0 },
253 Package(){0x0000FFFF, 3, INTA, 0 },
255 Name(APS5, Package(){
256 /* PCIe slot - Hooked to PCIe slot 5 */
257 Package(){0x0000FFFF, 0, 0, 17 },
258 Package(){0x0000FFFF, 1, 0, 18 },
259 Package(){0x0000FFFF, 2, 0, 19 },
260 Package(){0x0000FFFF, 3, 0, 16 },
264 /* PCIe slot - Hooked to PCIe slot 6 */
265 Package(){0x0000FFFF, 0, INTC, 0 },
266 Package(){0x0000FFFF, 1, INTD, 0 },
267 Package(){0x0000FFFF, 2, INTA, 0 },
268 Package(){0x0000FFFF, 3, INTB, 0 },
270 Name(APS6, Package(){
271 /* PCIe slot - Hooked to PCIe slot 6 */
272 Package(){0x0000FFFF, 0, 0, 18 },
273 Package(){0x0000FFFF, 1, 0, 19 },
274 Package(){0x0000FFFF, 2, 0, 16 },
275 Package(){0x0000FFFF, 3, 0, 17 },
279 /* The onboard Ethernet chip - Hooked to PCIe slot 7 */
280 Package(){0x0000FFFF, 0, INTD, 0 },
281 Package(){0x0000FFFF, 1, INTA, 0 },
282 Package(){0x0000FFFF, 2, INTB, 0 },
283 Package(){0x0000FFFF, 3, INTC, 0 },
285 Name(APS7, Package(){
286 /* The onboard Ethernet chip - Hooked to PCIe slot 7 */
287 Package(){0x0000FFFF, 0, 0, 19 },
288 Package(){0x0000FFFF, 1, 0, 16 },
289 Package(){0x0000FFFF, 2, 0, 17 },
290 Package(){0x0000FFFF, 3, 0, 18 },
294 /* PCIe slot - Hooked to PCIe slot 9 */
295 Package(){0x0000FFFF, 0, INTD, 0 },
296 Package(){0x0000FFFF, 1, INTA, 0 },
297 Package(){0x0000FFFF, 2, INTB, 0 },
298 Package(){0x0000FFFF, 3, INTC, 0 },
300 Name(APS9, Package(){
301 /* PCIe slot - Hooked to PCIe slot 9 */
302 Package(){0x0000FFFF, 0, 0, 17 },
303 Package(){0x0000FFFF, 1, 0, 18 },
304 Package(){0x0000FFFF, 2, 0, 19 },
305 Package(){0x0000FFFF, 3, 0, 16 },
309 /* PCIe slot - Hooked to PCIe slot 10 */
310 Package(){0x0000FFFF, 0, INTD, 0 },
311 Package(){0x0000FFFF, 1, INTA, 0 },
312 Package(){0x0000FFFF, 2, INTB, 0 },
313 Package(){0x0000FFFF, 3, INTC, 0 },
315 Name(APSa, Package(){
316 /* PCIe slot - Hooked to PCIe slot 10 */
317 Package(){0x0000FFFF, 0, 0, 18 },
318 Package(){0x0000FFFF, 1, 0, 19 },
319 Package(){0x0000FFFF, 2, 0, 16 },
320 Package(){0x0000FFFF, 3, 0, 17 },
324 /* PCIe slot - Hooked to PCIe slot 10 */
325 Package(){0x0000FFFF, 0, INTA, 0 },
326 Package(){0x0000FFFF, 1, INTB, 0 },
327 Package(){0x0000FFFF, 2, INTC, 0 },
328 Package(){0x0000FFFF, 3, INTD, 0 },
330 Name(APE0, Package(){
331 /* PCIe slot - Hooked to PCIe */
332 Package(){0x0000FFFF, 0, 0, 16 },
333 Package(){0x0000FFFF, 1, 0, 17 },
334 Package(){0x0000FFFF, 2, 0, 18 },
335 Package(){0x0000FFFF, 3, 0, 19 },
339 /* PCIe slot - Hooked to PCIe slot 10 */
340 Package(){0x0000FFFF, 0, INTB, 0 },
341 Package(){0x0000FFFF, 1, INTC, 0 },
342 Package(){0x0000FFFF, 2, INTD, 0 },
343 Package(){0x0000FFFF, 3, INTA, 0 },
345 Name(APE1, Package(){
346 /* PCIe slot - Hooked to PCIe */
347 Package(){0x0000FFFF, 0, 0, 17 },
348 Package(){0x0000FFFF, 1, 0, 18 },
349 Package(){0x0000FFFF, 2, 0, 19 },
350 Package(){0x0000FFFF, 3, 0, 16 },
354 /* PCIe slot - Hooked to PCIe slot 10 */
355 Package(){0x0000FFFF, 0, INTC, 0 },
356 Package(){0x0000FFFF, 1, INTD, 0 },
357 Package(){0x0000FFFF, 2, INTA, 0 },
358 Package(){0x0000FFFF, 3, INTB, 0 },
360 Name(APE2, Package(){
361 /* PCIe slot - Hooked to PCIe */
362 Package(){0x0000FFFF, 0, 0, 18 },
363 Package(){0x0000FFFF, 1, 0, 19 },
364 Package(){0x0000FFFF, 2, 0, 16 },
365 Package(){0x0000FFFF, 3, 0, 17 },
369 /* PCIe slot - Hooked to PCIe slot 10 */
370 Package(){0x0000FFFF, 0, INTD, 0 },
371 Package(){0x0000FFFF, 1, INTA, 0 },
372 Package(){0x0000FFFF, 2, INTB, 0 },
373 Package(){0x0000FFFF, 3, INTC, 0 },
375 Name(APE3, Package(){
376 /* PCIe slot - Hooked to PCIe */
377 Package(){0x0000FFFF, 0, 0, 19 },
378 Package(){0x0000FFFF, 1, 0, 16 },
379 Package(){0x0000FFFF, 2, 0, 17 },
380 Package(){0x0000FFFF, 3, 0, 18 },
383 Name(PCIB, Package(){
384 /* PCI slots: slot 0, slot 1, slot 2 behind Dev14, Fun4. */
385 Package(){0x0005FFFF, 0, 0, 0x14 },
386 Package(){0x0005FFFF, 1, 0, 0x15 },
387 Package(){0x0005FFFF, 2, 0, 0x16 },
388 Package(){0x0005FFFF, 3, 0, 0x17 },
389 Package(){0x0006FFFF, 0, 0, 0x15 },
390 Package(){0x0006FFFF, 1, 0, 0x16 },
391 Package(){0x0006FFFF, 2, 0, 0x17 },
392 Package(){0x0006FFFF, 3, 0, 0x14 },
393 Package(){0x0007FFFF, 0, 0, 0x16 },
394 Package(){0x0007FFFF, 1, 0, 0x17 },
395 Package(){0x0007FFFF, 2, 0, 0x14 },
396 Package(){0x0007FFFF, 3, 0, 0x15 },