e50ee6b50c10659e1c61d9825ea4935ab396f8fd
[coreboot.git] / src / mainboard / via / epia-n / dsdt.asl
1 /*
2  * Minimalist ACPI DSDT table for EPIA-N / NL
3  * (C) Copyright 2009 Jon Harrison <jon.harrison@blueyonder.co.uk>
4  * Heavily based on EPIA-M dstd.asl
5  * (C) Copyright 2004 Nick Barker <Nick.Barker9@btinternet.com>
6  *
7  */
8 DefinitionBlock ("dsdt.aml", "DSDT", 1, "CBT-V2", "CBT-DSDT", 1)
9 {
10     Scope (\_PR)
11     {
12         Processor (\_PR.CPU0, 0x00, 0x00000000, 0x00) {}
13     }
14
15         /* For now only define 2 power states:
16          *  - S0 which is fully on
17          *  - S5 which is soft off
18          * any others would involve declaring the wake up methods
19          */
20     Name (\_S0, Package (0x04)
21     {
22         0x00,
23         0x00,
24         0x00,
25         0x00
26     })
27     Name (\_S5, Package (0x04)
28     {
29         0x02,
30         0x02,
31         0x02,
32         0x02
33     })
34
35         /* Global Flag Used to Indicate State of */
36         /* ATA Interface                         */
37     Name (ATFL, 0x00)
38
39         /* Root of the bus hierarchy */
40         Scope (\_SB)
41     {
42
43        Device (PCI0)
44        {
45            Name (_HID, EisaId ("PNP0A03"))
46            Name (_ADR, 0x00)
47            Name (_UID, 0x01)
48            Name (_BBN, 0x00)
49
50                /* PCI Routing Table */
51                Name (_PRT, Package () {
52
53                    Package (0x04) {0x000FFFFF, 0x00, ATAI, 0x00}, // SATA Link A
54                    Package (0x04) {0x000FFFFF, 0x01, ATAI, 0x00}, // SATA Link B
55                    Package (0x04) {0x000FFFFF, 0x02, ATAI, 0x00}, // SATA Link C
56                    Package (0x04) {0x000FFFFF, 0x03, ATAI, 0x00}, // SATA Link D
57
58                    Package (0x04) {0x0010FFFF, 0x00, USBI, 0x00}, // USB Link A
59                    Package (0x04) {0x0010FFFF, 0x01, USBI, 0x00}, // USB Link B
60                    Package (0x04) {0x0010FFFF, 0x02, USBI, 0x00}, // USB Link C
61                    Package (0x04) {0x0010FFFF, 0x03, USBI, 0x00}, // USB Link D
62
63                    Package (0x04) {0x0011FFFF, 0x00, VT8I, 0x00}, // VT8237 Link A
64                    Package (0x04) {0x0011FFFF, 0x01, VT8I, 0x00}, // VT8237 Link B
65                    Package (0x04) {0x0011FFFF, 0x02, VT8I, 0x00}, // VT8237 Link C
66                    Package (0x04) {0x0011FFFF, 0x03, VT8I, 0x00}, // VT8237 Link D
67
68                    Package (0x04) {0x0012FFFF, 0x00, NICI, 0x00}, // LAN Link A
69                    Package (0x04) {0x0012FFFF, 0x01, NICI, 0x00}, // LAN Link B
70                    Package (0x04) {0x0012FFFF, 0x02, NICI, 0x00}, // LAN Link C
71                    Package (0x04) {0x0012FFFF, 0x03, NICI, 0x00}, // LAN Link D
72
73                    Package (0x04) {0x0001FFFF, 0x00, 0, 0x10}, // VGA Link A (GSI)
74                    Package (0x04) {0x0001FFFF, 0x01, 0, 0x11}, // VGA Link B (GSI)
75                    Package (0x04) {0x0001FFFF, 0x02, 0, 0x12}, // VGA Link C (GSI)
76                    Package (0x04) {0x0001FFFF, 0x03, 0, 0x13}, // VGA Link D (GSI)
77
78                    Package (0x04) {0x0014FFFF, 0x00, 0, 0x12}, // Slot 1 Link C (GSI)
79                    Package (0x04) {0x0014FFFF, 0x01, 0, 0x13}, // Slot 1 Link D (GSI)
80                    Package (0x04) {0x0014FFFF, 0x02, 0, 0x10}, // Slot 1 Link A (GSI)
81                    Package (0x04) {0x0014FFFF, 0x03, 0, 0x11}, // Slot 1 Link B (GSI)
82
83                    Package (0x04) {0x0013FFFF, 0x00, 0, 0x13}, // Riser Slot Link D (GSI)
84                    Package (0x04) {0x0013FFFF, 0x01, 0, 0x12}, // Riser Slot Link C (GSI)
85                    Package (0x04) {0x0013FFFF, 0x02, 0, 0x11}, // Riser Slot Link B (GSI)
86                    Package (0x04) {0x0013FFFF, 0x03, 0, 0x10} // Riser Slot Link A (GSI)
87
88                })
89
90                    /* PCI Devices Included Here */
91                    #include "acpi/sb_physical.asl"
92
93                    /* Legacy PNP Devices Defined Here */
94
95                    /* Disable PS2 Mouse Support */
96            Device (PS2M)
97            {
98                    Name (_HID, EisaId ("PNP0F13"))
99                    Method (_STA, 0, NotSerialized)
100                    {
101                            Return (0x09)
102                    }
103
104                    Method (_CRS, 0, NotSerialized)
105                    {
106                            Name (BUF1, ResourceTemplate ()
107                            {
108                                    IRQNoFlags ()
109                                            {12}
110                            })
111                            Return (BUF1)
112                    }
113            }
114
115                    /* Disable Legacy PS2 Keyboard Support */
116            Device (PS2K)
117            {
118                    Name (_HID, EisaId ("PNP0303"))
119                    Name (_CID, 0x0B03D041)
120                    Method (_STA, 0, NotSerialized)
121                    {
122                                 Return (0x09)
123                    }
124
125                    Name (_CRS, ResourceTemplate ()
126                    {
127                            IO (Decode16,
128                                    0x0060,                 // Range Minimum
129                                    0x0060,                 // Range Maximum
130                                    0x01,                           // Alignment
131                                    0x01,                           // Length
132                                    )
133                            IO (Decode16,
134                                    0x0064,                 // Range Minimum
135                                    0x0064,                 // Range Maximum
136                                    0x01,                           // Alignment
137                                    0x01,                           // Length
138                                    )
139                            IRQNoFlags ()
140                                    {1}
141                    })
142            }
143
144                    /* Legacy PIC Description */
145            Device (PIC)
146            {
147                    Name (_HID, EisaId ("PNP0000"))
148                    Name (_CRS, ResourceTemplate ()
149                    {
150                            IO (Decode16,
151                                    0x0020,                 // Range Minimum
152                                    0x0020,                 // Range Maximum
153                                    0x01,                           // Alignment
154                                    0x02,                           // Length
155                                    )
156                            IO (Decode16,
157                                    0x00A0,                 // Range Minimum
158                                    0x00A0,                 // Range Maximum
159                                    0x01,                           // Alignment
160                                    0x02,                           // Length
161                                    )
162                            IRQNoFlags ()
163                                    {2}
164                    })
165            }
166
167                    /* Legacy DMA Description */
168            Device (DMA1)
169            {
170                    Name (_HID, EisaId ("PNP0200"))
171                    Name (_CRS, ResourceTemplate ()
172                    {
173                            DMA (Compatibility, BusMaster, Transfer8, )
174                                    {4}
175                            IO (Decode16,
176                                    0x0000,                 // Range Minimum
177                                    0x0000,                 // Range Maximum
178                                    0x01,                           // Alignment
179                                    0x10,                           // Length
180                                    )
181                            IO (Decode16,
182                                    0x0080,                 // Range Minimum
183                                    0x0080,                 // Range Maximum
184                                    0x01,                           // Alignment
185                                    0x11,                           // Length
186                                    )
187                            IO (Decode16,
188                                    0x0094,                 // Range Minimum
189                                    0x0094,                 // Range Maximum
190                                    0x01,                           // Alignment
191                                    0x0C,                           // Length
192                                    )
193                            IO (Decode16,
194                                    0x00C0,                 // Range Minimum
195                                    0x00C0,                 // Range Maximum
196                                    0x01,                           // Alignment
197                                    0x20,                           // Length
198                                    )
199                    })
200            }
201
202                    /* Legacy Timer Description */
203            Device (TMR)
204            {
205                    Name (_HID, EisaId ("PNP0100"))
206                    Name (_CRS, ResourceTemplate ()
207                    {
208                            IO (Decode16,
209                                    0x0040,                 // Range Minimum
210                                    0x0040,                 // Range Maximum
211                                    0x01,                           // Alignment
212                                    0x04,                           // Length
213                                    )
214                            IRQNoFlags ()
215                                    {0}
216                    })
217            }
218
219                    /* Legacy RTC Description */
220            Device (RTC)
221            {
222                    Name (_HID, EisaId ("PNP0B00"))
223                    Name (_CRS, ResourceTemplate ()
224                    {
225                            IO (Decode16,
226                                    0x0070,                 // Range Minimum
227                                    0x0070,                 // Range Maximum
228                                    0x04,                           // Alignment
229                                    0x04,                           // Length
230                                    )
231                            IRQNoFlags ()
232                                    {8}
233                    })
234            }
235
236                    /* Legacy Speaker Description */
237            Device (SPKR)
238            {
239                    Name (_HID, EisaId ("PNP0800"))
240                    Name (_CRS, ResourceTemplate ()
241                    {
242                            IO (Decode16,
243                                    0x0061,                 // Range Minimum
244                                    0x0061,                 // Range Maximum
245                                    0x01,                           // Alignment
246                                    0x01,                           // Length
247                                    )
248                    })
249            }
250
251                    /* Legacy Math Co-Processor Description */
252            Device (COPR)
253            {
254                    Name (_HID, EisaId ("PNP0C04"))
255                    Name (_CRS, ResourceTemplate ()
256                    {
257                            IO (Decode16,
258                                    0x00F0,                 // Range Minimum
259                                    0x00F0,                 // Range Maximum
260                                    0x01,                           // Alignment
261                                    0x10,                           // Length
262                                    )
263                            IRQNoFlags ()
264                                    {13}
265                    })
266            }
267
268                    /* General Legacy IO Reservations                   */
269                    /* Covering items that are not explicitly reserved  */
270                    /* from coreboot.                                   */
271            Device (SYSR)
272            {
273                Name (_HID, EisaId ("PNP0C02"))
274                Name (_UID, 0x01)
275                Name (_CRS, ResourceTemplate ()
276                {
277                    IO (Decode16,
278                            0x0010,                 // Range Minimum
279                            0x0010,                 // Range Maximum
280                            0x01,                           // Alignment
281                            0x10,                           // Length
282                            )
283                    IO (Decode16,
284                            0x0022,                 // Range Minimum
285                            0x0022,                 // Range Maximum
286                            0x01,                           // Alignment
287                            0x1E,                           // Length
288                            )
289                    IO (Decode16,
290                            0x0044,                 // Range Minimum
291                            0x0044,                 // Range Maximum
292                            0x01,                           // Alignment
293                            0x1C,                           // Length
294                            )
295                    IO (Decode16,
296                            0x0062,                 // Range Minimum
297                            0x0062,                 // Range Maximum
298                            0x01,                           // Alignment
299                            0x02,                           // Length
300                            )
301                    IO (Decode16,
302                            0x0065,                 // Range Minimum
303                            0x0065,                 // Range Maximum
304                            0x01,                           // Alignment
305                            0x0B,                           // Length
306                            )
307                    IO (Decode16,
308                            0x0074,                 // Range Minimum
309                            0x0074,                 // Range Maximum
310                            0x01,                           // Alignment
311                            0x0C,                           // Length
312                            )
313                    IO (Decode16,
314                            0x0091,                 // Range Minimum
315                            0x0091,                 // Range Maximum
316                            0x01,                           // Alignment
317                            0x03,                           // Length
318                            )
319                    IO (Decode16,
320                            0x00A2,                 // Range Minimum
321                            0x00A2,                 // Range Maximum
322                            0x01,                           // Alignment
323                            0x1E,                           // Length
324                            )
325                    IO (Decode16,
326                            0x00E0,                 // Range Minimum
327                            0x00E0,                 // Range Maximum
328                            0x01,                           // Alignment
329                            0x10,                           // Length
330                            )
331                    IO (Decode16,
332                            0x04D0,                 // Range Minimum
333                            0x04D0,                 // Range Maximum
334                            0x01,                           // Alignment
335                            0x02,                           // Length
336                            )
337                    IO (Decode16,
338                            0x0294,                 // Range Minimum
339                            0x0294,                 // Range Maximum
340                            0x01,                           // Alignment
341                            0x04,                           // Length
342                            )
343                })
344            }
345
346                    #include "acpi/irq_links.asl"
347                    #include "acpi/pci_init.asl"
348
349            } //End of PCI0
350
351         } // End of _SB
352
353 } // End of Definition Block
354