ea9ce6fcf91af6f92d2f05c42bf14097c6166c9d
[coreboot.git] / src / mainboard / amd / serengeti_cheetah_fam10 / dx / amd8132.asl
1 //
2 // This file is part of the LinuxBIOS project.
3 //
4 // Copyright (C) 2007 Advanced Micro Devices, Inc.
5 //
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.
9 //
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.
14 //
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
18 //
19
20         Device (PG0A)
21         {
22                 // 8132 pcix bridge
23                 Method (_ADR, 0, NotSerialized)
24                 {
25                         Return (DADD(GHCD(HCIN, 0), 0x00000000))
26                 }
27
28                 Method (_PRW, 0, NotSerialized)
29                 {
30                         If (CondRefOf (\_S3, Local0)) { Return (Package (0x02) { 0x29, 0x03 }) }
31                         Else { Return (Package (0x02) { 0x29, 0x01 }) }
32                 }
33
34                 Name (APIC, Package (0x14)
35                 {
36                         // Slot A - PIRQ BCDA
37                         Package (0x04) { 0x0001FFFF, 0x00, 0x00, 0x19 }, //Slot 2
38                         Package (0x04) { 0x0001FFFF, 0x01, 0x00, 0x1A },
39                         Package (0x04) { 0x0001FFFF, 0x02, 0x00, 0x1B },
40                         Package (0x04) { 0x0001FFFF, 0x03, 0x00, 0x18 },
41
42                         //Cypress Slot A - PIRQ BCDA
43                         Package (0x04) { 0x0003FFFF, 0x00, 0x00, 0x19 }, //?
44                         Package (0x04) { 0x0003FFFF, 0x01, 0x00, 0x1A },
45                         Package (0x04) { 0x0003FFFF, 0x02, 0x00, 0x1B },
46                         Package (0x04) { 0x0003FFFF, 0x03, 0x00, 0x18 },
47
48                         //Cypress Slot B - PIRQ CDAB
49                         Package (0x04) { 0x0004FFFF, 0x00, 0x00, 0x1A }, //?
50                         Package (0x04) { 0x0004FFFF, 0x01, 0x00, 0x1B },
51                         Package (0x04) { 0x0004FFFF, 0x02, 0x00, 0x18 },
52                         Package (0x04) { 0x0004FFFF, 0x03, 0x00, 0x19 },
53
54                         //Cypress Slot C - PIRQ DABC
55                         Package (0x04) { 0x0005FFFF, 0x00, 0x00, 0x1B }, //?
56                         Package (0x04) { 0x0005FFFF, 0x01, 0x00, 0x18 },
57                         Package (0x04) { 0x0005FFFF, 0x02, 0x00, 0x19 },
58                         Package (0x04) { 0x0005FFFF, 0x03, 0x00, 0x1A },
59
60                         //Cypress Slot D - PIRQ ABCD
61                         Package (0x04) { 0x0006FFFF, 0x00, 0x00, 0x18 }, //?
62                         Package (0x04) { 0x0006FFFF, 0x01, 0x00, 0x19 },
63                         Package (0x04) { 0x0006FFFF, 0x02, 0x00, 0x1A },
64                         Package (0x04) { 0x0006FFFF, 0x03, 0x00, 0x1B }
65                 })
66                 Name (PICM, Package (0x14)
67                 {
68                         Package (0x04) { 0x0001FFFF, 0x00, \_SB.PCI0.LNKB, 0x00 },//Slot 2
69                         Package (0x04) { 0x0001FFFF, 0x01, \_SB.PCI0.LNKC, 0x00 },
70                         Package (0x04) { 0x0001FFFF, 0x02, \_SB.PCI0.LNKD, 0x00 },
71                         Package (0x04) { 0x0001FFFF, 0x03, \_SB.PCI0.LNKA, 0x00 },
72
73                         Package (0x04) { 0x0003FFFF, 0x00, \_SB.PCI0.LNKB, 0x00 },
74                         Package (0x04) { 0x0003FFFF, 0x01, \_SB.PCI0.LNKC, 0x00 },
75                         Package (0x04) { 0x0003FFFF, 0x02, \_SB.PCI0.LNKD, 0x00 },
76                         Package (0x04) { 0x0003FFFF, 0x03, \_SB.PCI0.LNKA, 0x00 },
77
78                         Package (0x04) { 0x0004FFFF, 0x00, \_SB.PCI0.LNKC, 0x00 },
79                         Package (0x04) { 0x0004FFFF, 0x01, \_SB.PCI0.LNKD, 0x00 },
80                         Package (0x04) { 0x0004FFFF, 0x02, \_SB.PCI0.LNKA, 0x00 },
81                         Package (0x04) { 0x0004FFFF, 0x03, \_SB.PCI0.LNKB, 0x00 },
82
83                         Package (0x04) { 0x0005FFFF, 0x00, \_SB.PCI0.LNKD, 0x00 },
84                         Package (0x04) { 0x0005FFFF, 0x01, \_SB.PCI0.LNKA, 0x00 },
85                         Package (0x04) { 0x0005FFFF, 0x02, \_SB.PCI0.LNKB, 0x00 },
86                         Package (0x04) { 0x0005FFFF, 0x03, \_SB.PCI0.LNKC, 0x00 },
87
88                         Package (0x04) { 0x0006FFFF, 0x00, \_SB.PCI0.LNKA, 0x00 },
89                         Package (0x04) { 0x0006FFFF, 0x01, \_SB.PCI0.LNKB, 0x00 },
90                         Package (0x04) { 0x0006FFFF, 0x02, \_SB.PCI0.LNKC, 0x00 },
91                         Package (0x04) { 0x0006FFFF, 0x03, \_SB.PCI0.LNKD, 0x00 }
92                 })
93                 Method (_PRT, 0, NotSerialized)
94                 {
95                         If (LNot (PICF)) { Return (PICM) }
96                         Else { Return (APIC) }
97                 }
98         }
99
100         Device (PG0B)
101         {
102                 // 8132 pcix bridge 2
103                 Method (_ADR, 0, NotSerialized)
104                 {
105                         Return (DADD(GHCD(HCIN, 0), 0x00010000))
106                 }
107
108                 Method (_PRW, 0, NotSerialized)
109                 {
110                         If (CondRefOf (\_S3, Local0)) { Return (Package (0x02) { 0x22, 0x03 }) }
111                         Else { Return (Package (0x02) { 0x22, 0x01 }) }
112                 }
113
114                 Name (APIC, Package (0x04)
115                 {
116                         // Slot A - PIRQ ABCD
117                         Package (0x04) { 0x0001FFFF, 0x00, 0x00, 0x1F },// Slot 1
118                         Package (0x04) { 0x0001FFFF, 0x01, 0x00, 0x20 },
119                         Package (0x04) { 0x0001FFFF, 0x02, 0x00, 0x21 },
120                         Package (0x04) { 0x0001FFFF, 0x03, 0x00, 0x22 }
121                 })
122                 Name (PICM, Package (0x04)
123                 {
124                         Package (0x04) { 0x0001FFFF, 0x00, \_SB.PCI0.LNKA, 0x00 },//Slot 1
125                         Package (0x04) { 0x0001FFFF, 0x01, \_SB.PCI0.LNKB, 0x00 },
126                         Package (0x04) { 0x0001FFFF, 0x02, \_SB.PCI0.LNKC, 0x00 },
127                         Package (0x04) { 0x0001FFFF, 0x03, \_SB.PCI0.LNKD, 0x00 }
128                 })
129                 Method (_PRT, 0, NotSerialized)
130                 {
131                         If (LNot (PICF)) { Return (PICM) }
132                         Else { Return (APIC) }
133                 }
134         }