Add support for Intel Panther Point PCH
[coreboot.git] / src / southbridge / intel / bd82x6x / acpi / pcie.asl
1 /*
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.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
19  * MA 02110-1301 USA
20  */
21
22 /* Intel Cougar Point PCH PCIe support */
23
24 // PCI Express Ports
25
26 Device (RP01)
27 {
28         NAME(_ADR, 0x001c0000) // FIXME: Have a macro for PCI Devices -> ACPI notation?
29         //#include "pcie_port.asl"
30         Method(_PRT)
31         {
32                 If (PICM) {
33                         Return (Package() {
34                                 Package() { 0x0000ffff, 0, 0, 16 },
35                                 Package() { 0x0000ffff, 1, 0, 17 },
36                                 Package() { 0x0000ffff, 2, 0, 18 },
37                                 Package() { 0x0000ffff, 3, 0, 19 }
38                         })
39                 } Else {
40                         Return (Package() {
41                                 Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKA, 0 },
42                                 Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKB, 0 },
43                                 Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKC, 0 },
44                                 Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKD, 0 }
45                         })
46
47                 }
48
49         }
50 }
51
52 Device (RP02)
53 {
54         NAME(_ADR, 0x001c0001) // FIXME: Have a macro for PCI Devices -> ACPI notation?
55         //#include "pcie_port.asl"
56         Method(_PRT)
57         {
58                 If (PICM) {
59                         Return (Package() {
60                                 Package() { 0x0000ffff, 0, 0, 17 },
61                                 Package() { 0x0000ffff, 1, 0, 18 },
62                                 Package() { 0x0000ffff, 2, 0, 19 },
63                                 Package() { 0x0000ffff, 3, 0, 16 }
64                         })
65                 } Else {
66                         Return (Package() {
67                                 Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKB, 0 },
68                                 Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKC, 0 },
69                                 Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKD, 0 },
70                                 Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKA, 0 }
71                         })
72
73                 }
74
75         }
76 }
77
78 Device (RP03)
79 {
80         NAME(_ADR, 0x001c0002) // FIXME: Have a macro for PCI Devices -> ACPI notation?
81         //#include "pcie_port.asl"
82         Method(_PRT)
83         {
84                 If (PICM) {
85                         Return (Package() {
86                                 Package() { 0x0000ffff, 0, 0, 18 },
87                                 Package() { 0x0000ffff, 1, 0, 19 },
88                                 Package() { 0x0000ffff, 2, 0, 16 },
89                                 Package() { 0x0000ffff, 3, 0, 17 }
90                         })
91                 } Else {
92                         Return (Package() {
93                                 Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKC, 0 },
94                                 Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKD, 0 },
95                                 Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKA, 0 },
96                                 Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKB, 0 }
97                         })
98
99                 }
100
101         }
102 }
103
104 Device (RP04)
105 {
106         NAME(_ADR, 0x001c0003) // FIXME: Have a macro for PCI Devices -> ACPI notation?
107         //#include "pcie_port.asl"
108         Method(_PRT)
109         {
110                 If (PICM) {
111                         Return (Package() {
112                                 Package() { 0x0000ffff, 0, 0, 17 },
113                                 Package() { 0x0000ffff, 1, 0, 18 },
114                                 Package() { 0x0000ffff, 2, 0, 19 },
115                                 Package() { 0x0000ffff, 3, 0, 16 }
116                         })
117                 } Else {
118                         Return (Package() {
119                                 Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKB, 0 },
120                                 Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKC, 0 },
121                                 Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKD, 0 },
122                                 Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKA, 0 }
123                         })
124
125                 }
126
127         }
128 }
129
130 Device (RP05)
131 {
132         NAME(_ADR, 0x001c0004) // FIXME: Have a macro for PCI Devices -> ACPI notation?
133         //#include "pcie_port.asl"
134         Method(_PRT)
135         {
136                 If (PICM) {
137                         Return (Package() {
138                                 Package() { 0x0000ffff, 0, 0, 16 },
139                                 Package() { 0x0000ffff, 1, 0, 17 },
140                                 Package() { 0x0000ffff, 2, 0, 18 },
141                                 Package() { 0x0000ffff, 3, 0, 19 }
142                         })
143                 } Else {
144                         Return (Package() {
145                                 Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKA, 0 },
146                                 Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKB, 0 },
147                                 Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKC, 0 },
148                                 Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKD, 0 }
149                         })
150
151                 }
152
153         }
154 }
155
156 Device (RP06)
157 {
158         NAME(_ADR, 0x001c0005) // FIXME: Have a macro for PCI Devices -> ACPI notation?
159         //#include "pcie_port.asl"
160         Method(_PRT)
161         {
162                 If (PICM) {
163                         Return (Package() {
164                                 Package() { 0x0000ffff, 0, 0, 17 },
165                                 Package() { 0x0000ffff, 1, 0, 18 },
166                                 Package() { 0x0000ffff, 2, 0, 19 },
167                                 Package() { 0x0000ffff, 3, 0, 16 }
168                         })
169                 } Else {
170                         Return (Package() {
171                                 Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKB, 0 },
172                                 Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKC, 0 },
173                                 Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKD, 0 },
174                                 Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKA, 0 }
175                         })
176
177                 }
178
179         }
180 }
181
182 Device (RP07)
183 {
184         NAME(_ADR, 0x001c0006) // FIXME: Have a macro for PCI Devices -> ACPI notation?
185         //#include "pcie_port.asl"
186         Method(_PRT)
187         {
188                 If (PICM) {
189                         Return (Package() {
190                                 Package() { 0x0000ffff, 0, 0, 18 },
191                                 Package() { 0x0000ffff, 1, 0, 19 },
192                                 Package() { 0x0000ffff, 2, 0, 16 },
193                                 Package() { 0x0000ffff, 3, 0, 17 }
194                         })
195                 } Else {
196                         Return (Package() {
197                                 Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKC, 0 },
198                                 Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKD, 0 },
199                                 Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKA, 0 },
200                                 Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKB, 0 }
201                         })
202
203                 }
204
205         }
206 }
207
208 Device (RP08)
209 {
210         NAME(_ADR, 0x001c0007) // FIXME: Have a macro for PCI Devices -> ACPI notation?
211         //#include "pcie_port.asl"
212         Method(_PRT)
213         {
214                 If (PICM) {
215                         Return (Package() {
216                                 Package() { 0x0000ffff, 0, 0, 19 },
217                                 Package() { 0x0000ffff, 1, 0, 16 },
218                                 Package() { 0x0000ffff, 2, 0, 17 },
219                                 Package() { 0x0000ffff, 3, 0, 18 }
220                         })
221                 } Else {
222                         Return (Package() {
223                                 Package() { 0x0000ffff, 0, \_SB.PCI0.LPCB.LNKD, 0 },
224                                 Package() { 0x0000ffff, 1, \_SB.PCI0.LPCB.LNKA, 0 },
225                                 Package() { 0x0000ffff, 2, \_SB.PCI0.LPCB.LNKB, 0 },
226                                 Package() { 0x0000ffff, 3, \_SB.PCI0.LPCB.LNKC, 0 }
227                         })
228
229                 }
230
231         }
232 }
233
234