Since some people disapprove of white space cleanups mixed in regular commits
[coreboot.git] / src / mainboard / via / epia-m / dsdt.asl
1 /*
2  * Minimalist ACPI DSDT table for EPIA-M / MII
3  * (C) Copyright 2004 Nick Barker <Nick.Barker9@btinternet.com>
4  *
5  *
6  */
7
8 DefinitionBlock ("DSDT.aml", "DSDT", 1, "LXBIOS", "LXB-DSDT", 1)
9 {
10         /*
11          * Define the main processor
12          */
13         Scope (\_PR)
14         {
15                 Processor (\_PR.CPU0, 0x00, 0x00000410, 0x06) {}
16         }
17
18         /* For now only define 2 power states:
19          *  - S0 which is fully on
20          *  - S5 which is soft off
21          * any others would involve declaring the wake up methods
22          */
23         Name (\_S0, Package () {0x00, 0x00, 0x00, 0x00 })
24         Name (\_S5, Package () {0x02, 0x02, 0x00, 0x00 })
25
26         /* Root of the bus hierarchy */
27         Scope (\_SB)
28         {
29                 /* Define how interrupt Link A is plumbed in */
30                 Device (LNKA)
31                 {
32                         Name (_HID, EisaId ("PNP0C0F"))
33                         Name (_UID, 0x01)
34                         /* Status - always return ready */
35                         Method (_STA, 0, NotSerialized)
36                         {
37                                 Return (0x0B)
38                         }
39                         /* Current Resources - return irq set up in BIOS */
40                         Method (_CRS, 0, NotSerialized)
41                         {
42                                 Name (BUFF, ResourceTemplate ()
43                                 {
44                                         IRQ (Level, ActiveLow, Shared) {5}
45                                 })
46                                 Return (BUFF)
47                         }
48                         /* Possible Resources - return the range of irqs
49                          * we are using for PCI - only here to keep Linux ACPI
50                          * happy
51                          */
52                         Method (_PRS, 0, NotSerialized)
53                         {
54                                 Name (BUFF, ResourceTemplate ()
55                                 {
56                                         IRQ (Level, ActiveLow, Shared) {5,9,10}
57                                 })
58                                 Return (BUFF)
59                         }
60                         /* Set Resources - dummy function to keep Linux ACPI happy
61                          * Linux is more than happy not to tinker with irq
62                          * assignments as long as the CRS and STA functions
63                          * return good values
64                          */
65                         Method (_SRS, 1, NotSerialized ) {}
66                         /* Disable - dummy function to keep Linux ACPI happy */
67                         Method (_DIS, 0, NotSerialized ) {}
68
69                 } // End of LNKA
70
71                 /* Define how interrupt Link B is plumbed in */
72                 Device (LNKB)
73                 {
74                         Name (_HID, EisaId ("PNP0C0F"))
75                         Name (_UID, 0x02)
76                         /* Status - always return ready */
77                         Method (_STA, 0, NotSerialized)
78                         {
79                                 Return (0x0B)
80                         }
81                         /* Current Resources - return irq set up in BIOS */
82                         Method (_CRS, 0, NotSerialized)
83                         {
84                                 Name (BUFF, ResourceTemplate ()
85                                 {
86                                         IRQ (Level, ActiveLow, Shared) {9}
87                                 })
88                                 Return (BUFF)
89                         }
90                         /* Possible Resources - return the range of irqs
91                          * we are using for PCI - only here to keep Linux ACPI
92                          * happy
93                          */
94                         Method (_PRS, 0, NotSerialized)
95                         {
96                                 Name (BUFF, ResourceTemplate ()
97                                 {
98                                         IRQ (Level, ActiveLow, Shared) {5,9,10}
99                                 })
100                                 Return (BUFF)
101                         }
102                         /* Set Resources - dummy function to keep Linux ACPI happy
103                          * Linux is more than happy not to tinker with irq
104                          * assignments as long as the CRS and STA functions
105                          * return good values
106                          */
107                         Method (_SRS, 1, NotSerialized ) {}
108                         /* Disable - dummy function to keep Linux ACPI happy */
109                         Method (_DIS, 0, NotSerialized ) {}
110
111                 } // End of LNKB
112
113                 /* Define how interrupt Link C is plumbed in */
114                 Device (LNKC)
115                 {
116                         Name (_HID, EisaId ("PNP0C0F"))
117                         Name (_UID, 0x03)
118                         /* Status - always return ready */
119                         Method (_STA, 0, NotSerialized)
120                         {
121                                 Return (0x0B)
122                         }
123                         /* Current Resources - return irq set up in BIOS */
124                         Method (_CRS, 0, NotSerialized)
125                         {
126                                 Name (BUFF, ResourceTemplate ()
127                                 {
128                                         IRQ (Level, ActiveLow, Shared) {9}
129                                 })
130                                 Return (BUFF)
131                         }
132                         /* Possible Resources - return the range of irqs
133                          * we are using for PCI - only here to keep Linux ACPI
134                          * happy
135                          */
136                         Method (_PRS, 0, NotSerialized)
137                         {
138                                 Name (BUFF, ResourceTemplate ()
139                                 {
140                                         IRQ (Level, ActiveLow, Shared) {5,9,10}
141                                 })
142                                 Return (BUFF)
143                         }
144                         /* Set Resources - dummy function to keep Linux ACPI happy
145                          * Linux is more than happy not to tinker with irq
146                          * assignments as long as the CRS and STA functions
147                          * return good values
148                          */
149                         Method (_SRS, 1, NotSerialized ) {}
150                         /* Disable - dummy function to keep Linux ACPI happy */
151                         Method (_DIS, 0, NotSerialized ) {}
152
153                 } // End of LNKC
154
155                 /* Define how interrupt Link D is plumbed in */
156                 Device (LNKD)
157                 {
158                         Name (_HID, EisaId ("PNP0C0F"))
159                         Name (_UID, 0x04)
160                         /* Status - always return ready */
161                         Method (_STA, 0, NotSerialized)
162                         {
163                                 Return (0x0B)
164                         }
165                         /* Current Resources - return irq set up in BIOS */
166                         Method (_CRS, 0, NotSerialized)
167                         {
168                                 Name (BUFF, ResourceTemplate ()
169                                 {
170                                         IRQ (Level, ActiveLow, Shared) {5}
171                                 })
172                                 Return (BUFF)
173                         }
174                         /* Possible Resources - return the range of irqs
175                          * we are using for PCI - only here to keep Linux ACPI
176                          * happy
177                          */
178                         Method (_PRS, 0, NotSerialized)
179                         {
180                                 Name (BUFF, ResourceTemplate ()
181                                 {
182                                         IRQ (Level, ActiveLow, Shared) {5,9,10}
183                                 })
184                                 Return (BUFF)
185                         }
186                         /* Set Resources - dummy function to keep Linux ACPI happy
187                          * Linux is more than happy not to tinker with irq
188                          * assignments as long as the CRS and STA functions
189                          * return good values
190                          */
191                         Method (_SRS, 1, NotSerialized ) {}
192                         /* Disable - dummy function to keep Linux ACPI happy */
193                         Method (_DIS, 0, NotSerialized ) {}
194
195                 } // End of LNKD
196
197
198                 /* top PCI device */
199                 Device (PCI0)
200                 {
201                         Name (_HID, EisaId ("PNP0A03"))
202                         Name (_ADR, 0x00)
203                         Name (_UID, 0x00)
204                         Name (_BBN, 0x00)
205
206                         /* PCI Routing Table */
207                         Name (_PRT, Package () {
208                                 /* Epia-MII 6000e cardbus: */
209                                 Package () {0x000AFFFF, 0x00, LNKA, 0x00}, // Cardbus Link A
210                                 Package () {0x000AFFFF, 0x01, LNKB, 0x00}, // Cardbus Link B
211                                 Package () {0x000AFFFF, 0x02, LNKC, 0x00}, // Cardbus Link C
212                                 Package () {0x000AFFFF, 0x03, LNKD, 0x00}, // Cardbus Link D
213
214                                 Package () {0x000DFFFF, 0x00, LNKB, 0x00}, // Firewire Link B
215                                 Package () {0x000DFFFF, 0x01, LNKC, 0x00}, // Firewire Link C
216                                 Package () {0x000DFFFF, 0x02, LNKD, 0x00}, // Firewire Linc D
217                                 Package () {0x000DFFFF, 0x03, LNKA, 0x00}, // Firewire Link A
218
219                                 Package () {0x0010FFFF, 0x00, LNKA, 0x00}, // USB Link A
220                                 Package () {0x0010FFFF, 0x01, LNKB, 0x00}, // USB Link B
221                                 Package () {0x0010FFFF, 0x02, LNKC, 0x00}, // USB Link C
222                                 Package () {0x0010FFFF, 0x03, LNKD, 0x00}, // USB Link D
223
224                                 Package () {0x0011FFFF, 0x00, LNKA, 0x00}, // vt8623 Link A
225                                 Package () {0x0011FFFF, 0x01, LNKB, 0x00}, // vt8623 Link B
226                                 Package () {0x0011FFFF, 0x02, LNKC, 0x00}, // vt8623 Link C
227                                 Package () {0x0011FFFF, 0x03, LNKD, 0x00}, // vt8623 Link D
228
229                                 Package () {0x0012FFFF, 0x00, LNKA, 0x00}, // LAN Link A
230                                 Package () {0x0012FFFF, 0x01, LNKB, 0x00}, // LAN Link B
231                                 Package () {0x0012FFFF, 0x02, LNKC, 0x00}, // LAN Link C
232                                 Package () {0x0012FFFF, 0x03, LNKD, 0x00}, // LAN Link D
233
234                                 Package () {0x0013FFFF, 0x00, LNKA, 0x00}, // Riser slot LinkA
235                                 Package () {0x0013FFFF, 0x01, LNKB, 0x00}, // Riser slot LinkB
236                                 Package () {0x0013FFFF, 0x02, LNKC, 0x00}, // Riser slot LinkC
237                                 Package () {0x0013FFFF, 0x03, LNKD, 0x00}, // Riser slot LinkD
238
239                                 Package () {0x0014FFFF, 0x00, LNKB, 0x00}, // Slot 1, Link B
240                                 Package () {0x0014FFFF, 0x01, LNKC, 0x00}, // Slot 1, Link C
241                                 Package () {0x0014FFFF, 0x02, LNKD, 0x00}, // Slot 1, Link D
242                                 Package () {0x0014FFFF, 0x03, LNKA, 0x00}, // Slot 1, Link A
243
244                                 Package () {0x0001FFFF, 0x00, LNKA, 0x00}, // VGA Link A
245                                 Package () {0x0001FFFF, 0x01, LNKB, 0x00}, // VGA Link B
246                                 Package () {0x0001FFFF, 0x02, LNKC, 0x00}, // VGA Link C
247                                 Package () {0x0001FFFF, 0x03, LNKD, 0x00} // VGA Link D
248
249                         })
250
251
252                 } // End of PCI0
253
254         } // End of _SB
255
256 } // End of Definition Block
257