Since some people disapprove of white space cleanups mixed in regular commits
[coreboot.git] / src / mainboard / iwill / dk8_htx / acpi / amd8131_2.asl
1 /*
2  * Copyright 2005 AMD
3  */
4
5             Device (PG0A)
6             {
7                 /*  8132 pcix bridge*/
8                 Method (_ADR, 0, NotSerialized)
9                 {
10                         Return (DADD(GHCD(HCIN, 0), 0x00000000))
11                 }
12
13                 Method (_PRW, 0, NotSerialized)
14                 {
15                     If (CondRefOf (\_S3, Local0)) { Return (Package (0x02) { 0x29, 0x03 }) }
16                     Else { Return (Package (0x02) { 0x29, 0x01 }) }
17                 }
18
19                 Name (APIC, Package (0x04)
20                 {
21                     // Slot A - PIRQ BCDA
22                     Package (0x04) { 0x0000FFFF, 0x00, 0x00, 0x0018 }, //Slot 2
23                     Package (0x04) { 0x0000FFFF, 0x01, 0x00, 0x0019 },
24                     Package (0x04) { 0x0000FFFF, 0x02, 0x00, 0x001A },
25                     Package (0x04) { 0x0000FFFF, 0x03, 0x00, 0x001B },
26
27                 })
28                 Name (PICM, Package (0x04)
29                 {
30                     Package (0x04) { 0x0000FFFF, 0x00, \_SB.PCI0.LNKA, 0x00 },//Slot 2
31                     Package (0x04) { 0x0000FFFF, 0x01, \_SB.PCI0.LNKB, 0x00 },
32                     Package (0x04) { 0x0000FFFF, 0x02, \_SB.PCI0.LNKC, 0x00 },
33                     Package (0x04) { 0x0000FFFF, 0x03, \_SB.PCI0.LNKD, 0x00 },
34                 })
35
36                 Name (DNCG, Ones)
37
38                 Method (_PRT, 0, NotSerialized)
39                 {
40                     If (LEqual (^DNCG, Ones)) {
41                             Multiply (HCIN, 0x0008, Local2) // GSI for 8132 is 4 so we get 8
42                             Store (0x00, Local1)
43                             While (LLess (Local1, 0x04))
44                             {
45                                 // Update the GSI according to HCIN
46                                 Store(DeRefOf(Index (DeRefOf (Index (APIC, Local1)), 3)), Local0)
47                                 Add(Local2, Local0, Local0)
48                                 Store(Local0, Index (DeRefOf (Index (APIC, Local1)), 3))
49                                 Increment (Local1)
50                             }
51
52                         Store (0x00, ^DNCG)
53
54                     }
55
56                     If (LNot (PICF)) { Return (PICM) }
57                     Else { Return (APIC) }
58                 }
59             }
60
61             Device (PG0B)
62             {
63                 /* 8132 pcix bridge 2 */
64                 Method (_ADR, 0, NotSerialized)
65                 {
66                         Return (DADD(GHCD(HCIN, 0), 0x00010000))
67                 }
68
69                 Method (_PRW, 0, NotSerialized)
70                 {
71                     If (CondRefOf (\_S3, Local0)) { Return (Package (0x02) { 0x22, 0x03 }) }
72                     Else { Return (Package (0x02) { 0x22, 0x01 }) }
73                 }
74
75                 Name (APIC, Package (0x04)
76                 {
77                     // Slot A - PIRQ ABCD
78                     Package (0x04) { 0x0000FFFF, 0x00, 0x00, 0x001F },// Slot 1
79                     Package (0x04) { 0x0000FFFF, 0x01, 0x00, 0x0020 },
80                     Package (0x04) { 0x0000FFFF, 0x02, 0x00, 0x0021 },
81                     Package (0x04) { 0x0000FFFF, 0x03, 0x00, 0x0022 }
82                 })
83                 Name (PICM, Package (0x04)
84                 {
85                     Package (0x04) { 0x0000FFFF, 0x00, \_SB.PCI0.LNKA, 0x00 },//Slot 1
86                     Package (0x04) { 0x0000FFFF, 0x01, \_SB.PCI0.LNKB, 0x00 },
87                     Package (0x04) { 0x0000FFFF, 0x02, \_SB.PCI0.LNKC, 0x00 },
88                     Package (0x04) { 0x0000FFFF, 0x03, \_SB.PCI0.LNKD, 0x00 }
89                 })
90
91                 Name (DNCG, Ones)
92
93                 Method (_PRT, 0, NotSerialized)
94                 {
95                     If (LEqual (^DNCG, Ones)) {
96                             Multiply (HCIN, 0x0008, Local2) // GSI for 8132 is 4 so we get 8
97                             Store (0x00, Local1)
98                             While (LLess (Local1, 0x04))
99                             {
100                                 // Update the GSI according to HCIN
101                                 Store(DeRefOf(Index (DeRefOf (Index (APIC, Local1)), 3)), Local0)
102                                 Add(Local2, Local0, Local0)
103                                 Store(Local0, Index (DeRefOf (Index (APIC, Local1)), 3))
104                                 Increment (Local1)
105                             }
106
107                         Store (0x00, ^DNCG)
108
109                     }
110
111                     If (LNot (PICF)) { Return (PICM) }
112                     Else { Return (APIC) }
113                 }
114             }