2 // This file is part of the coreboot project.
4 // Copyright (C) 2007 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
20 //AMD8111 pic LNKA B C D
24 Name (_HID, EisaId ("PNP0C0F"))
26 Method (_STA, 0, NotSerialized)
28 And (\_SB.PCI0.SBC3.PIBA, 0x0F, Local0)
29 If (LEqual (Local0, 0x00)) { Return (0x09) } //Disabled
30 Else { Return (0x0B) } //Enabled
33 Method (_PRS, 0, NotSerialized)
35 Name (BUFA, ResourceTemplate ()
37 IRQ (Level, ActiveLow, Shared) {3,5,10,11}
42 Method (_DIS, 0, NotSerialized)
45 And (\_SB.PCI0.SBC3.PIBA, 0x0F, Local1)
46 Store (Local1, Local2)
47 If (LGreater (Local1, 0x07))
49 Subtract (Local1, 0x08, Local1)
52 ShiftLeft (Local3, Local1, Local3)
54 And (\_SB.PCI0.SBC3.PIBA, 0xF0, \_SB.PCI0.SBC3.PIBA)
57 Method (_CRS, 0, NotSerialized)
59 Name (BUFA, ResourceTemplate ()
61 IRQ (Level, ActiveLow, Shared) {}
63 CreateByteField (BUFA, 0x01, IRA1)
64 CreateByteField (BUFA, 0x02, IRA2)
67 And (\_SB.PCI0.SBC3.PIBA, 0x0F, Local1)
68 If (LNot (LEqual (Local1, 0x00)))
70 If (LGreater (Local1, 0x07))
72 Subtract (Local1, 0x08, Local2)
73 ShiftLeft (One, Local2, Local4)
77 If (LGreater (Local1, 0x00))
79 ShiftLeft (One, Local1, Local3)
90 Method (_SRS, 1, NotSerialized)
92 CreateByteField (Arg0, 0x01, IRA1)
93 CreateByteField (Arg0, 0x02, IRA2)
94 ShiftLeft (IRA2, 0x08, Local0)
95 Or (Local0, IRA1, Local0)
97 ShiftRight (Local0, 0x01, Local0)
98 While (LGreater (Local0, 0x00))
101 ShiftRight (Local0, 0x01, Local0)
104 And (\_SB.PCI0.SBC3.PIBA, 0xF0, \_SB.PCI0.SBC3.PIBA)
105 Or (\_SB.PCI0.SBC3.PIBA, Local1, \_SB.PCI0.SBC3.PIBA)
111 Name (_HID, EisaId ("PNP0C0F"))
113 Method (_STA, 0, NotSerialized)
115 And (\_SB.PCI0.SBC3.PIBA, 0xF0, Local0)
116 If (LEqual (Local0, 0x00)) { Return (0x09) }
117 Else { Return (0x0B) }
120 Method (_PRS, 0, NotSerialized)
122 Name (BUFB, ResourceTemplate ()
124 IRQ (Level, ActiveLow, Shared) {3,5,10,11}
129 Method (_DIS, 0, NotSerialized)
132 And (\_SB.PCI0.SBC3.PIBA, 0xF0, Local1)
133 ShiftRight (Local1, 0x04, Local1)
134 Store (Local1, Local2)
135 If (LGreater (Local1, 0x07))
137 Subtract (Local1, 0x08, Local1)
140 ShiftLeft (Local3, Local1, Local3)
142 And (\_SB.PCI0.SBC3.PIBA, 0x0F, \_SB.PCI0.SBC3.PIBA)
145 Method (_CRS, 0, NotSerialized)
147 Name (BUFB, ResourceTemplate ()
149 IRQ (Level, ActiveLow, Shared) {}
151 CreateByteField (BUFB, 0x01, IRB1)
152 CreateByteField (BUFB, 0x02, IRB2)
155 And (\_SB.PCI0.SBC3.PIBA, 0xF0, Local1)
156 ShiftRight (Local1, 0x04, Local1)
157 If (LNot (LEqual (Local1, 0x00)))
159 If (LGreater (Local1, 0x07))
161 Subtract (Local1, 0x08, Local2)
162 ShiftLeft (One, Local2, Local4)
166 If (LGreater (Local1, 0x00))
168 ShiftLeft (One, Local1, Local3)
179 Method (_SRS, 1, NotSerialized)
181 CreateByteField (Arg0, 0x01, IRB1)
182 CreateByteField (Arg0, 0x02, IRB2)
183 ShiftLeft (IRB2, 0x08, Local0)
184 Or (Local0, IRB1, Local0)
186 ShiftRight (Local0, 0x01, Local0)
187 While (LGreater (Local0, 0x00))
190 ShiftRight (Local0, 0x01, Local0)
193 And (\_SB.PCI0.SBC3.PIBA, 0x0F, \_SB.PCI0.SBC3.PIBA)
194 ShiftLeft (Local1, 0x04, Local1)
195 Or (\_SB.PCI0.SBC3.PIBA, Local1, \_SB.PCI0.SBC3.PIBA)
201 Name (_HID, EisaId ("PNP0C0F"))
203 Method (_STA, 0, NotSerialized)
205 And (\_SB.PCI0.SBC3.PIDC, 0x0F, Local0)
206 If (LEqual (Local0, 0x00)) { Return (0x09) }
207 Else { Return (0x0B) }
210 Method (_PRS, 0, NotSerialized)
212 Name (BUFA, ResourceTemplate ()
214 IRQ (Level, ActiveLow, Shared) {3,5,10,11}
219 Method (_DIS, 0, NotSerialized)
222 And (\_SB.PCI0.SBC3.PIDC, 0x0F, Local1)
223 Store (Local1, Local2)
224 If (LGreater (Local1, 0x07))
226 Subtract (Local1, 0x08, Local1)
229 ShiftLeft (Local3, Local1, Local3)
231 And (\_SB.PCI0.SBC3.PIDC, 0xF0, \_SB.PCI0.SBC3.PIDC)
234 Method (_CRS, 0, NotSerialized)
236 Name (BUFA, ResourceTemplate ()
238 IRQ (Level, ActiveLow, Shared) {}
240 CreateByteField (BUFA, 0x01, IRA1)
241 CreateByteField (BUFA, 0x02, IRA2)
244 And (\_SB.PCI0.SBC3.PIDC, 0x0F, Local1)
245 If (LNot (LEqual (Local1, 0x00)))
247 If (LGreater (Local1, 0x07))
249 Subtract (Local1, 0x08, Local2)
250 ShiftLeft (One, Local2, Local4)
254 If (LGreater (Local1, 0x00))
256 ShiftLeft (One, Local1, Local3)
267 Method (_SRS, 1, NotSerialized)
269 CreateByteField (Arg0, 0x01, IRA1)
270 CreateByteField (Arg0, 0x02, IRA2)
271 ShiftLeft (IRA2, 0x08, Local0)
272 Or (Local0, IRA1, Local0)
274 ShiftRight (Local0, 0x01, Local0)
275 While (LGreater (Local0, 0x00))
278 ShiftRight (Local0, 0x01, Local0)
281 And (\_SB.PCI0.SBC3.PIDC, 0xF0, \_SB.PCI0.SBC3.PIDC)
282 Or (\_SB.PCI0.SBC3.PIDC, Local1, \_SB.PCI0.SBC3.PIDC)
288 Name (_HID, EisaId ("PNP0C0F"))
290 Method (_STA, 0, NotSerialized)
292 And (\_SB.PCI0.SBC3.PIDC, 0xF0, Local0)
293 If (LEqual (Local0, 0x00)) { Return (0x09) }
294 Else { Return (0x0B) }
297 Method (_PRS, 0, NotSerialized)
299 Name (BUFB, ResourceTemplate ()
301 IRQ (Level, ActiveLow, Shared) {3,5,10,11}
306 Method (_DIS, 0, NotSerialized)
309 And (\_SB.PCI0.SBC3.PIDC, 0xF0, Local1)
310 ShiftRight (Local1, 0x04, Local1)
311 Store (Local1, Local2)
312 If (LGreater (Local1, 0x07))
314 Subtract (Local1, 0x08, Local1)
317 ShiftLeft (Local3, Local1, Local3)
319 And (\_SB.PCI0.SBC3.PIDC, 0x0F, \_SB.PCI0.SBC3.PIDC)
322 Method (_CRS, 0, NotSerialized)
324 Name (BUFB, ResourceTemplate ()
326 IRQ (Level, ActiveLow, Shared) {}
328 CreateByteField (BUFB, 0x01, IRB1)
329 CreateByteField (BUFB, 0x02, IRB2)
332 And (\_SB.PCI0.SBC3.PIDC, 0xF0, Local1)
333 ShiftRight (Local1, 0x04, Local1)
334 If (LNot (LEqual (Local1, 0x00)))
336 If (LGreater (Local1, 0x07))
338 Subtract (Local1, 0x08, Local2)
339 ShiftLeft (One, Local2, Local4)
343 If (LGreater (Local1, 0x00))
345 ShiftLeft (One, Local1, Local3)
356 Method (_SRS, 1, NotSerialized)
358 CreateByteField (Arg0, 0x01, IRB1)
359 CreateByteField (Arg0, 0x02, IRB2)
360 ShiftLeft (IRB2, 0x08, Local0)
361 Or (Local0, IRB1, Local0)
363 ShiftRight (Local0, 0x01, Local0)
364 While (LGreater (Local0, 0x00))
367 ShiftRight (Local0, 0x01, Local0)
370 And (\_SB.PCI0.SBC3.PIDC, 0x0F, \_SB.PCI0.SBC3.PIDC)
371 ShiftLeft (Local1, 0x04, Local1)
372 Or (\_SB.PCI0.SBC3.PIDC, Local1, \_SB.PCI0.SBC3.PIDC)