blob: b206c2b992c96363488639ae99f116590ba2d903 [file] [log] [blame]
Timothy Pearson4b373c92015-04-05 17:54:08 -05001/*
2 * This file is part of the coreboot project.
3 *
4 * Copyright (C) 2007-2009 coresystems GmbH
5 *
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
9 * 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.
Timothy Pearson4b373c92015-04-05 17:54:08 -050015 */
16
17/* This is board specific information: IRQ routing for the
18 * 0:1e.0 PCI bridge of the ICH9
19 */
20
21/* TODO: which slots are actually relevant? */
22If (PICM) {
23 Return (Package() {
24 // PCI Slot 1 routes ABCD
25 Package() { 0x0000ffff, 0, 0, 16},
26 Package() { 0x0000ffff, 1, 0, 17},
27 Package() { 0x0000ffff, 2, 0, 18},
28 Package() { 0x0000ffff, 3, 0, 19},
29
30 // PCI Slot 2 routes BCDA
31 Package() { 0x0001ffff, 0, 0, 17},
32 Package() { 0x0001ffff, 1, 0, 18},
33 Package() { 0x0001ffff, 2, 0, 19},
34 Package() { 0x0001ffff, 3, 0, 16},
35
36 // PCI Slot 3 routes CDAB
37 Package() { 0x0002ffff, 0, 0, 18},
38 Package() { 0x0002ffff, 1, 0, 19},
39 Package() { 0x0002ffff, 2, 0, 16},
40 Package() { 0x0002ffff, 3, 0, 17},
41
42 // PCI Slot 4 routes ABCD
43 Package() { 0x0003ffff, 0, 0, 16},
44 Package() { 0x0003ffff, 1, 0, 17},
45 Package() { 0x0003ffff, 2, 0, 18},
46 Package() { 0x0003ffff, 3, 0, 19},
47
48 // PCI Slot 5 routes ABCD
49 Package() { 0x0004ffff, 0, 0, 16},
50 Package() { 0x0004ffff, 1, 0, 17},
51 Package() { 0x0004ffff, 2, 0, 18},
52 Package() { 0x0004ffff, 3, 0, 19},
53
54 // PCI Slot 6 routes BCDA
55 Package() { 0x0005ffff, 0, 0, 17},
56 Package() { 0x0005ffff, 1, 0, 18},
57 Package() { 0x0005ffff, 2, 0, 19},
58 Package() { 0x0005ffff, 3, 0, 16},
59
60 // FIXME: what's this supposed to mean? (adopted from ich7)
61 //Package() { 0x0008ffff, 0, 0, 20},
62 })
63} Else {
64 Return (Package() {
65 // PCI Slot 1 routes ABCD
66 Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKA, 0},
67 Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKB, 0},
68 Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKC, 0},
69 Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKD, 0},
70
71 // PCI Slot 2 routes BCDA
72 Package() { 0x0001ffff, 0, \_SB.PCI0.LPCB.LNKB, 0},
73 Package() { 0x0001ffff, 1, \_SB.PCI0.LPCB.LNKC, 0},
74 Package() { 0x0001ffff, 2, \_SB.PCI0.LPCB.LNKD, 0},
75 Package() { 0x0001ffff, 3, \_SB.PCI0.LPCB.LNKA, 0},
76
77 // PCI Slot 3 routes CDAB
78 Package() { 0x0002ffff, 0, \_SB.PCI0.LPCB.LNKC, 0},
79 Package() { 0x0002ffff, 1, \_SB.PCI0.LPCB.LNKD, 0},
80 Package() { 0x0002ffff, 2, \_SB.PCI0.LPCB.LNKA, 0},
81 Package() { 0x0002ffff, 3, \_SB.PCI0.LPCB.LNKB, 0},
82
83 // PCI Slot 4 routes ABCD
84 Package() { 0x0003ffff, 0, \_SB.PCI0.LPCB.LNKA, 0},
85 Package() { 0x0003ffff, 1, \_SB.PCI0.LPCB.LNKB, 0},
86 Package() { 0x0003ffff, 2, \_SB.PCI0.LPCB.LNKC, 0},
87 Package() { 0x0003ffff, 3, \_SB.PCI0.LPCB.LNKD, 0},
88
89 // PCI Slot 5 routes ABCD
90 Package() { 0x0004ffff, 0, \_SB.PCI0.LPCB.LNKA, 0},
91 Package() { 0x0004ffff, 1, \_SB.PCI0.LPCB.LNKB, 0},
92 Package() { 0x0004ffff, 2, \_SB.PCI0.LPCB.LNKC, 0},
93 Package() { 0x0004ffff, 3, \_SB.PCI0.LPCB.LNKD, 0},
94
95 // PCI Slot 6 routes BCDA
96 Package() { 0x0005ffff, 0, \_SB.PCI0.LPCB.LNKB, 0},
97 Package() { 0x0005ffff, 1, \_SB.PCI0.LPCB.LNKC, 0},
98 Package() { 0x0005ffff, 2, \_SB.PCI0.LPCB.LNKD, 0},
99 Package() { 0x0005ffff, 3, \_SB.PCI0.LPCB.LNKA, 0},
100
101 // FIXME
102 // Package() { 0x0008ffff, 0, \_SB.PCI0.LPCB.LNKE, 0},
103 })
104}